Divers

 

Convertir des images récursivement

Le package imagemagick contient des outils permettant de convertir facilement des images (taille, qualité, type de fichier).

En combinant find et convert (ou mogrify dans mon cas), on peut modifier un lot d’images dans des sous-répertoires via la commande suivante :

$ find . -iname "*.jpg" -print0 | xargs -0 mogrify -resize x600

Cela permet de redimensionner les images jpg des sous-répertoires à partir du répertoire courant avec une largeur de 600px.

J’utilise mogrify pour modifier directement les images. Pour travailler sur des copies, il faudra utiliser convert.

Pour plus d’infos sur les possibilités de mogrify/convert, voir le site d’imagemagick.


 

Reconnaître sa distribution Linux

En shell, au moins une de ces 4 commandes permet de savoir quelle distribution Linux est installée sur son PC :

$ cat /etc/issue
$ cat /proc/version
$ cat /etc/*elease*
$ lsb_release --all

Exemple pour Debian :

$ lsb_release --all
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 4.0 (etch)
Release: 4.0
Codename: etch


 

Voir les messages générés lors du boot

Sous Debian, il est possible de logger les message générés lors du boot de la machine. Ainsi, on peut plus facilement débugger / optimiser les services au démarrage.

Ceci est possible grâce à bootlogd !

Activer bootlogd

Il suffit simplement d’éditer le fichier /etc/default/bootlogd, et y mettre la variable BOOTLOGD_ENABLE à Yes.

Voir les logs du boot

Au prochain démarrage, il sera ainsi possible de voir les messages de boot dans le fichier /var/log/boot :

...
Tue Jan 23 01:35:19 2007: Setting the system clock again..
Tue Jan 23 00:35:21 2007: Cleaning up ifupdown....
Tue Jan 23 00:35:21 2007: Loading kernel modules...done.
Tue Jan 23 00:35:21 2007: Loading device-mapper support.
Tue Jan 23 00:35:21 2007: Checking file systems...fsck 1.40-WIP (14-Nov-2006)
Tue Jan 23 00:35:21 2007: done.
Tue Jan 23 00:35:21 2007: Setting kernel variables...done.
Tue Jan 23 00:35:21 2007: Mounting local filesystems...done.
Tue Jan 23 00:35:22 2007: Activating swapfile swap...done.
Tue Jan 23 00:35:22 2007: Detecting hardware...FATAL: Error inserting i8xx_tco (/lib/modules/2.6.18-3-686/kernel/drivers/char/watchdog/i8xx_tco.ko): No such device
...


 

Sauvegarder une image de disque dur

Voici la procédure pour réaliser une image d’un disque et pour la restaurer via le réseau (la procédure est quasiement pareil pour une sauvegarde sur CD, bande, …).

Créer l’image

Par exemple pour sauvegarder le disque /dev/hda de la machine testBox sur la machine backupBox, il faut booter testBox avec un rescue disk (une knoppix fait parfaitement l’affaire).

Ensuite, il suffit de faire un :
# dd if=/dev/hda | ssh root@backupBox "dd of=/var/tmp/backup_testBox"

Cette commande permet de récupérer tout le disque dur, MBR inclus, dans le fichier backup_testBox. Ce fichier aura la taille du disque dur. Il est aussi possible d’ajouter une compression en pipant vers la commande gzip par exemple.

Rétablir l’image

Pour rétablir l’image sur testBox, il faut à nouveau booter sur un rescue disk, et faire :
ssh root@backupBox "dd if=/var/tmp/bakup_testBox" | dd of=/dev/hda

une autre solution pour dupliquer une machine, sans utiliser ssh, mais la commande nc (paquet netcat) :

sur la machine de destination :
# nc -l -p 10000 > /dev/sda

sur la machine source :
# cat /dev/sda | nc ipmachinedestination 1000

Et voilà !


 

Démarrer X automatiquement sans Display Manager

Certains (moi le 1er) ont besoin/envie de démarrer directement en mode graphique, sans pour autant avoir à installer de paquets superflus comme GDM ou KDM & co.

Voici la marche à suivre pour booter directement sous X :

Avec ca, vous vous loggez directement lors du démarrage avec le spécifié. Maintenant, pour lancer X :

Voila, vous avez une interface graphique qui se lance au démarrage, que du bonheur !

Note : cet manip a été faite sous Debian. Pour plus de facilité en démarrant automatiquement, les Display Manager (gdm/kdm) proposent de booter directement sans passer par la phase de login.