2022/04/30

Ubuntu 22.04 et Wake On Lan

 Pourquoi?

Mettre un ordinateur en veille par ssh et le réveiller à distance.

Les commandes...

Sur l'ordinateur qu'on veut faire dormir et réveiller:

sudo apt update
sudo apt install ethtool
ip a
sudo ethtool enp1s0
echo 'ethtool -s enp1s0 wol g' >> /etc/network/if-up.d/avahi-autoipd
sudo reboot
sudo systemctl suspend

Sur un autre ordinateur:

sudo apt install etherwake
sudo etherwake -i enp1s0 AB:CD:01:02:03:FF
ssh utilisateur@10.0.0.5

Il faut remplacer enp1s0 par l'interface qui connecte les deux ordinateurs.

L'adresse 10.0.0.5 doit être remplacée par l'adresse de l'ordinateur qu'on fait dormir et qu'on réveille. 

Références

https://doc.ubuntu-fr.org/wakeonlan

2022/04/05

folding at home, AMD et i386

Pourquoi?

Si vous voulez installer les pilotes graphiques sous Ubuntu 20.04.4 et tenter d'utiliser le conteneur docker de folding at home. J'avais une R9 390 dans mon cas. J'ai utilisé le fichier deb téléchargeable sous la section Ubuntu x86 64-Bit sur le site d'AMD.

Les commandes...

Il faut vérifier si l'architecture i386 est bien présente dans foreign architectures. Dans mon exemple, j'avais Ubuntu 64bit, donc --print-architecture montrait amd64.

dpkg --print-architecture
dpkg --print-foreign-architectures
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade

sudo apt-get install ./amdgpu-install-VERSION.deb
sudo apt-get update

sudo amdgpu-install

docker run --name fah0 -d --user "$(id -u):$(id -g)" --volume $HOME/fah/c1:/fah foldingathome/fah-gpu:latest

La config xml qui doit se trouver dans le dossier c1 si on veut utiliser que le CPU:

<config>
  <!-- Set with your user, passkey, team-->
  <user value="anonymous"/>
  <passkey value=""/>
  <team value="0"/>

  <power value="full"/>
  <exit-when-done v='true'/>

  <web-enable v='false'/>
  <disable-viz v='true'/>
  <gui-enabled v='false'/>

  <!-- 16-1= 15 = 3*5 for decomposition -->
  <slot id='0' type='SMP'> <cpus v='15'/> </slot>

</config>

J'avais un CPU 8 coeurs dans ce cas-ci et je me suis fié à l'exemple ici.

La configuration xml pour un GPU (non-testé) devrait avoir l'air de ceci:

<config>
  <!-- Set with your user, passkey, team-->
  <user value="anonymous"/>
  <passkey value=""/>
  <team value="0"/>

  <power value="full"/>
  <exit-when-done v='true'/>

  <web-enable v='false'/>
  <disable-viz v='true'/>
  <gui-enabled v='false'/>

  <!-- 1 slot for GPU -->
  <slot id='0' type='GPU'> </slot>

  <!-- 16-1= 15 = 3*5 for decomposition -->
  <slot id='1' type='SMP'> <cpus v='15'/> </slot>

</config>

Les références...

https://www.linode.com/community/questions/19916/how-do-i-enable-32-bit-support-on-my-64-bit-os

https://www.amd.com/fr/support/graphics/amd-radeon-r9-series/amd-radeon-r9-300-series/amd-radeon-r9-390

https://amdgpu-install.readthedocs.io/en/latest/install-prereq.html#installing-the-installer-package

https://amdgpu-install.readthedocs.io/en/latest/install-script.html

https://hub.docker.com/r/foldingathome/fah-gpu

2022/04/03

docker

Les commandes...

Sur la première machine qui génère l'image:
docker build . -t repository:v1
docker push repository:v1

Sur l'autre machine qui roule l'image:
docker pull repository:v1
docker image
docker run -d --network host 523ab341 sleep infinity
docker ps
docker exec -it 4128974ab3 bash

Pour arrêter:
docker ps
docker stop 4128974ab3

Références

https://docs.docker.com/network/network-tutorial-host/

pipenv

Les commandes...

Sur une première machine:

pipenv shell
pipenv install numpy
pipenv lock
git add *
git commit -m "Ajout de Pipfile et Pipfile.lock"
git push

Ensuite, sur une autre machine:

git pull
pipenv shell
pipenv install --ignore-pipfile

Référence

https://realpython.com/pipenv-guide/#is-pipenv-worth-checking-out

2022/03/27

Ubuntu et rust (rust-lang)

 Commandes

Dans le terminal Ubuntu 20.04:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup --version
rustup update
rustc --version

Si on veut apprendre rapidement les concepts rust avec rustlings:
git clone https://github.com/rust-lang/rust.vim ~/.vim/pack/plugins/start/rust.vim
curl -L https://git.io/install-rustlings | bash
cd rustlings/
rustlings watch

vscode

Dans Ubuntu 20.04 qui roule dans Windows 10 et plus, en étant dans le répertoire rustlings:
code .
Ça ouvre vscode avec comme répertoire de travail celui de rustlings dans ce cas-ci.
À noter aussi que vscode sera connecté à Ubuntu et en ouvrant un terminal, on se retrouve avec le terminal d'Ubuntu. En bas à gauche, on peut confirmer que vscode est bien connecté à Ubuntu quand on voit ceci:
 
En exécutant:
rustlings watch
On se retrouve avec un environnement agréable pour faire les exercices rustlings et apprendre le language.

Références

https://doc.rust-lang.org/book/ch01-01-installation.html
https://www.rust-lang.org/tools/install
https://github.com/rust-lang/rustlings

Ubuntu et Kafka

Commandes à exécuter

À noter, j'ai utilisé avec la version kafka_2.13-3.1.0 et Ubuntu 20.04.

Pré-requis, une version de JAVA moderne:

sudo apt install openjdk-17-jre-headless

Pour partir un serveur à partir de Debian où Kafka n'est pas installé:

wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz.KEYS
wget https://downloads.apache.org/kafka/KEYS
gpg --import KEYS

wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz
wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz.asc

gpg --keyserver pgpkeys.mit.edu --recv-key DE885DD3
gpg --verify kafka_2.13-3.1.0.tgz.asc kafka_2.13-3.1.0.tgz

wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz.sha512
gpg --print-md SHA512 kafka_2.13-3.1.0.tgz | cmp kafka_2.13-3.1.0.tgz.sha512

tar -xzf kafka_2.13-3.1.0.tgz
cd kafka_2.13-3.1.0/
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 \
--replication-factor 1 --partitions 1 --topic streams-plaintext-input

Pour partir un client:

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 \
--partitions 1 --topic streams-wordcount-output --config cleanup.policy=compact

Références

https://kafka.apache.org/31/documentation/streams/quickstart
https://www.apache.org/dyn/closer.cgi?path=/kafka/3.1.0/kafka_2.13-3.1.0.tgz
https://dist.apache.org/repos/dist/release/kafka/KEYS
https://www.apache.org/info/verification.html

2012/03/18

Installer VMware Player

VMware Player est un logiciel de virtualisation aussi facile à installer qu'à utiliser. Il est totalement gratuit si on n'en fait qu'une utilisation domestique. C'est le logiciel que je préfère lorsque je veux virtualiser un système d'exploitation.

Comment installer sous Windows :
  1. Créer un compte gratuitement sur le site de VMware
  2. Télécharger la dernière version du programme d'installation
  3. Exécuter le programme
Comment installer sous Linux :
  1. Créer un compte gratuitement sur le site de VMware
  2. Télécharger la dernière version du programme d'installation pour sa distribution de Linux
  3. Exécuter le programme avec la commande « sudo sh VMware-Player-VERSION.bundle » (Tiré du document «Getting Started with VMware Player 4» qui se trouve sur le site de la documention de VMware Player)
 Pour le reste, qu'on soit sous Linux ou sous Windows, la manière d'utiliser ce programme reste la même. 

Pour créer une nouvelle machine virtuelle, exemple avec Kubuntu 11.10 :
  1. Ouvrir VMware Player
  2. Choisir « Créer une nouvelle machine virtuelle »
  3. Choisir où se trouve le disque d'installation de notre OS ou un .ISO (c'est un fichier image du disque d'installation). Puis, cliquer « suivant ».
  4. C'est ici qu'on commence à apprécier la convivialité du logiciel. On nous demande d'entrer déjà notre nom d'utilisateur et mot de passe. On remplie les champs et on clique « suivant ».
  5. On spécifie le nom qu'on veut donner à la machine et le dossier dans lequel on veut que tous les fichiers de virtualisation soient sauvegardés. On clique ensuite sur « suivant ».
  6. On choisi l'espace maximum du disque dur et s'il doit être enregistré en fichier simple ou multiples selon le besoin. Puis, « suivant ».
  7. On nous affiche un beau résumé de ce qui va être installé. Si on a des besoins plus poussés, on peut cliquer sur le bouton « modifier les composantes matérielles » et on aura accès au nombre de processeurs, à la quantité de mémoire vive et de mémoire graphique et aux autres options qu'il est possible de configurer pour notre ordinateur virtuel. Le matériel peut toujours être modifié plus tard en cliquan dans le menu « Machine Virtuelle » de l'écran principal.
  8. On clique « Terminer » et on devrait voir le système s'installer parfaitement en demandant un minimum d'interaction sinon aucune interaction de notre part. Il se peut que VMware nous demande d'installer des outils supplémentaires nécessaires au bon déroulement de l'installation dès l'allumage de la machine virtuelle. Il suffit d'accepter de les installer, puis on n'a qu'à aller s'occuper tranquilement pendant que le logiciel termine l'installation de la machine virtuelle.
C'est aussi simple que ça. Pour le reste des fonctions, la documentation en anglais peut vous aiguiller. Un dernier conseil, la plupart des ordinateurs récents disposent dans leur BIOS (voir la procédure au 5e paragraphe de ce lien pour avoir une idée de comment entrer dans le BIOS) d'une option de « virtualisation par matériel ». Il est avantageux d'activer cette option pour ensuite pouvoir activer la virtualisation par matériel dans VMware Player. Cette option améliorera les performances de votre ordinateur virtuel.

Quelques photos tirées de mon utilisation de VMware Player 4.0.2 sur Kubuntu 11.10:
1. Écran principal de VMware Player

2. Installateur - choix du média d'installation


3. Choix des performances matérielles à allouer

4. Configuration supplémentaire pour Kubuntu virtuel
5. Installation des outils supplémentaires pour une installation plus facile