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

2011/12/28

Mettre ses disques durs en veille

Quand on a plusieurs disques durs dans son ordinateurs, on peut se sentir embêté quand on sait que certains ne servent principalement que pour de la sauvegarde et tournent toujours même si on ne les utilisent que rarement.

Laisser ses disques durs tourner pour rien crée deux problèmes :
  1. Un gaspillage d'énergie.
  2. Une usure inutile des pièces mécaniques des disques durs.
Cependant, ralentir et repartir des disques durs trop souvent peux aussi créer plus d'usure sur ces derniers. Il faut donc bien y penser avant de créer des règles de mises en veilles qui pourraient être plus néfastes que bénéfiques.

Sous Linux, quelques bons outils sont à notre disposition pour régler ces deux problèmes. Ils permettent de mettre les disques durs inutilisés pendant un certain nombre de temps en veille. Les plateaux arrêtent de tourner ce qui diminue l'usure des moteurs ainsi que la chaleur produite par ceux-ci.

La première étape est de déterminer quels disques durs on veut mettre en veille. Pour avoir une liste complète des disques durs installés dans son ordinateur, il suffit d'utiliser la commande sudo fdisk -l. Cette commande crée une liste de tous les disques durs vus par l'OS.

Pour dire à Linux quels disques on veut arrêter il faudra noter leur chemin d'accès. Typiquement ce chemin est de cette forme : /dev/sda où la partie « sda » peut varier. Les disques durs sous Linux sont nommés par une variation de la dernière lettre de cette partie (sda, sdb, ... sdz pour 26 disques durs par exmple).

Dans mon cas, les disques durs que je veux mettre en veille sont les disques durs /dev/sda, /dev/sdb et /dev/sdc. Mon OS est sur le dernier disque soit /dev/sdd, c'est le seul pour lequel je ne créerai pas de règle de mise en veille.

Ensuite, il suffit d'inscire notre règle de mise en veille d'une des deux manières suivantes pour qu'elle prenne effet au redémarrage du système :
  1. Modification du fichier /etc/hdparm.conf :
    On ajoute une petite section par disque dur pour spécifier les paramètres de mises en veille. Par exemple,
    /dev/sda {
       spindown_time = 60
    }
    /dev/sdb {
       spindown_time = 120
    }
    /dev/sdc{
       spindown_time = 10
    }

    (Tiré du site externe en anglais : http://www.spencerstirling.com/computergeek/powersaving.html)
    L'avantage du fichier hdparm.conf est qu'il permet de spécifier plus que des politiques de mise en veille pour chacun de nos disques durs. Il permet de fixer d'autres paramètres qui sont décrit dans le manuel du programme hdparm et dans l'entête du fichier hdparm.conf. Si on ne veut pas jouer avec toute la puissance de hdparm, on est aussi bien avec la méthode suivante.
  2. Modification du fichier /etc/init.d/rc.local :
    Sous la section nommée « start », on écrit les lignes nécessaires, soit, dans mon cas,
    ...
    case "$1" in
       start)
          ...
          /sbin/hdparm -S60 /dev/sda
          /sbin/hdparm -S120 /dev/sdb
          /sbin/hdparm -S10 /dev/sdc

          ...
          do_start
    ...
    Les lignes en gras sont celles que j'ai ajoutées. Il faut faire bien attention de mettre un -S majuscule et non pas -s minuscule ces deux options ne sont pas du tout les mêmes.

Bien sûr, il faut éditer l'un ou l'autre de ces fichiers en tant qu'administrateur. Les commandes sudo nano chemin/nomDeFichier ou sudo vim chemin/nomDeFichier feront l'affaire.



À noter, j'utilise un temps de 5 minutes (-S60 équivaut à 60 * 5 secondes) pour mon disque sda qui est utilisé que pour quelques vidéos et surtout des fichiers de sauvegarde, un temps de 10 minutes pour mon disque sdb qui est utilisé pour de la musique et quelques fichiers de sauvegarde et un temps de 50 secondes pour mon disque sdc qui est en fait un SSD. Pour un disque dur mécanique, le temps recommandé minimal avant extinction pour ne pas mettre trop de stress sur les moteurs des plateaux est de 3 à 5 minutes.


Il est possible que la dernière commande liée au disque SSD soit inutile puisqu'un disque SSD n'a aucune pièce mécanique, mais je ne l'utilise jamais sous Linux (il ne contient que mon très lourd Windows 7 avec mes jeux PC). La commande ne cause aucun problème à mon SSD donc je la laisse des fois que le SSD interprète le signal et entre dans un mode d'économie ou quelque chose comme ça.

Avec ça, vous devriez pouvoir bien vous débrouillez pour créer des politiques d'économies d'énergie pour vos disques durs.

Notes sur la commande « hdparm » :
Ce programme permet en autre d'arrêter les disques durs après un certain temps d'inactivité avec la commande sudo hdparm -SXX /dev/sdZ. XX peut avoir une valeur entre 1 et 240 pour un groupement indiquer un nombre de groupements de 5 secondes ou une valeur entre 241 et 251 pour un nombre de groupements de 30 minutes. Les valeurs entre 252 et 255 peuvent aussi être utilisés, mais peuvent être imprévisibles selon le disque dur (voir man hdparm). Z doit être remplacé par la lettre de son disque dur. Le temps XX détermine le temps à attendre après un accès pour mettre le disque dur en veille.

2011/07/31

Installer Age of Empires II sous Ubuntu avec PlayOnLinux et Wine

Un des jeux assez vieux auquel je joue encore assez souvent est Age of Empires II. C'est un bon jeu de stratégie en temps réel qui est apparu aux alentours de 1999 pour Windows. Voyons maintenant comment le faire tourner sous Ubuntu!

On peut passer par Wine directement, comme je l'ai déjà fait pour Diablo II, et l'installation ressemblera beaucoup à une installation normale sous Windows. On peut aussi passer par PlayOnLinux qui offre une marche à suivre guidée de l'installation. Je pensais ne montrer que la façon PlayOnLinux cette fois, mais Ubuntu 11.04 m'a fait une étrange surprise. Je vais donc voir les deux méthodes.

Le matériel :
  • PlayOnLinux
  • Wine
  • Kubuntu 10.10 et Ubuntu 11.04 (Les distributions de Linux sur lesquelles on peut installer PlayOnLinux et Wine devraient aussi fonctionner.)
  • Age of Empires II - Gold Edition (Une version normale devrait fonctionner aussi bien.)

    Installation de Age of Empires II - Gold Edition sous Kubuntu 10.10 avec PlayOnLinux :
    1. Ouvrir PlayOnLinux.
    2. Cliquer sur le bouton « Installer ».
    3. Aller dans la section « Jeu » et sélectionner « Age of Empires II - The Age of Kings » dans la liste.
    4. Cliquer sur le bouton « Appliquer ». Une nouvelle fenêtre s'ouvre. C'est le début de l'installation guidée.
    5. S'il n'est pas déjà installé, PlayOnLinux installe Wine 1.2.1 automatiquement.
    6. PlayOnLinux nous demande si on veut installer « Gecko ». On clique sur le bouton « Installer » pour continuer.
    7. On nous demande de choisir quelle version du jeu on a. J'ai la version CD. Je choisis « Version CD » et je clique sur le bouton « Suivant ».
    8. On arrive devant un écran blanc. Probablement une petite erreur de programmation, mais c'est le bon moment pour entrer notre CD-ROM. On attend qu'Ubuntu aie fini de le monter et on clique encore sur « Suivant ».
    9. On nous demande le point de montage de notre CD-ROM. Dans la liste, on devrait avoir une entrée nommée « AOE2 ». On clique dessus et on clique sur « Suivant ».
    10. On nous indique de cliquer sur « Suivant » seulement lorsque l'installation sera terminée. L'écran d'installation d'Age of Kings devrait apparaître automatiquement comme dans Windows. On continue l'installation. On quitte le menu d'installation du jeu pour revenir dans PlayOnLinux. On clique sur « Suivant ».
    11. On entre la quantité de mémoire de notre carte graphique. On clique sur « Suivant ».
    12. On nous demande si on veut un raccourci. C'est au choix. De toute manière, on peut toujours démarrer le jeu à partir de la fenêtre principale de PlayOnLinux. On clique sur « Suivant ».
    13. On nous informe que l'installation est réussie. On clique une dernière fois sur « Suivant ».
    14. On installe « Age of Empires II - The Conquerors » en suivant la même logique.
    Normalement, c'est tout. Cependant, dans Ubuntu 11.04 le jeu n'a pas arrêté de me demander le disque pour jouer en solo même après avoir ajouté le chemin du CD dans la liste des lecteurs de Wine par l'utilitaire de configuration. (Voir l'article Diablo II section « Supplément 1 » pour ajouter un chemin de lecteur dans Wine et l'image 1 qui suit pour ouvrir l'utilitaire de configuration Wine dans PlayOnLinux.)

    Image 1 : Comment ouvrir l'utilitaire de configuration Wine dans PlayOnLinux

    Installer  Age of Empires II - Gold Edition sous Ubuntu 11.04 avec Wine 1.3 :
    1. Insérer le premier disque nommé « Age of Empires II - The Age of Kings ».
    2. Parcourir le disque et démarrer le programme nommé « aoesetup.exe » avec Wine en faisant un clic droit sur le programme et en sélectionnant l'option « Ouvrir avec Wine - Chargeur de programmes Windows ».
    3. Exécuter l'installation normalement comme si on était dans Windows.
    4. Procéder de la même manière pour l'expansion « The Conquerors ». Il faut simplement lancer le programme « aocsetup.exe » cette fois.
    5. Ensuite, il faut ajouter le chemin du CD nécessaire pour démarrer le jeu avec l'utilitaire de configuration de Wine. Sinon, le jeu ne le reconnaît pas. (Voir l'article Diablo II section « Supplément 1 »)
    Après l'installation, j'ai été agréablement surpris de voir que le jeu fonctionnait aussi fluidement que dans Windows.

    En résumé, je pense qu'avec certains jeux, il n'y a pas de solution rapide et facile. Il faut tester les méthodes qui s'offrent à nous et user d'ingéniosité pour trouver la petite option qui fait toute la différence. Bonne chance dans votre recherche!

    Voici les configurations sur lesquelles j'ai testé le jeu :

    Première configuration :
    Installation faite par PlayOnLinux
    Système : Kubuntu 10.10
    Processeur : AMD Phenom X4 à 2,5GHz
    Carte graphique : ATI/AMD graphics Radeon HD 5670 avec 512 Mo
    Mémoire vive : 8 Go
    Notes : J'utilise normalement un bureau composé de 3 moniteurs ayant les définitions suivantes : 1280x1024, 1920x1080 et 1680x1050. Pour avoir une vitesse de jeu fluide, je désactive deux écrans sur 3 et ne garde que celui à 1280x1024. De plus, je fais fonctionner le jeu à une résolution de 1024x768. C'est aussi une bonne idée d'aller dans le panneau de configuration et de désactiver les effets du bureau.

    Seconde configuration :
    Installation faite par Wine 1.3
    Système : Ubunutu 11.04
    Processeur : Intel Centrino double coeur à 2,2 GHz
    Carte graphique : Nvidia 8400M GS avec 256 Mo
    Mémoire vive : 4 Go
    Notes : Il n'y qu'un écran de 1280x800. La résolution utilisée est de 1024x768. Tout est fluide.

    Supplément - Quelques images
    Image 2 : Menu principal d'Age of Empires II dans Wine en mode fenêtre - Ubuntu 11.04
    Dans cette image, on voit que les caractères du menu sont très sombres. C'est un inconvénient, mais ça n'empêche pas le jeu de bien fonctionner.
    Image 3 : Age of Empires II en 1024x768 en mode fenêtre dans Wine - Ubuntu 11.04

    Site externe complémentaire :
    Base de donnée officielle de Wine en ce qui concerne Age of Empires II et ses expansions (site en anglais)