Faire une debian miniature – Linux Attitude
Tentons d’installer une debian miniature. Voyons jusqu’à quelle taille nous pouvons descendre.
Commençons par le commencement :
$ debootstrap etch /toto
Voila on commence déjà à 140Mo.
Supprimons quelques trucs inutiles
$ chroot /toto
$ export LANG=C
$ dpkg –get-selections | more
$ apt-get remove –purge cron logrotate aptitude tasksel tasksel-data dmidecode laptop-detect
$ rm -f /var/lib/apt/lists/{ftp,http}.* /var/cache/apt/*.bin # au besoin apt-get update
$ rm -rf /usr/share/{man,doc}/* # pas besoin 😉
$ rm -rf /usr/share/{locale,zoneinfo}/* # pas besoin :-p
$ rm -rf /usr/lib/gconv/* # encore des locale
$ passwd root
Et voila, nous sommes descendus à 51Mo. Et on est même en présence d’une vraie debian upgradable, modifiable a volonté.
Pratique pour booter en urgence !
Par contre, pour garder la ligne, pensez à faire un apt-get clean et un
$ rm -f /var/lib/apt/lists/{ftp,http}.* /var/cache/apt/*.bin
après chaque modification (update, upgrade, install)
Bien sur si vous avez besoin d’une vraie micro distribution, il y a bien mieux que debian. Mais c’est facile, c’est rapide et vous connaissez déjà debian 🙂 Sinon vous pouvez tenter tiny core.
Si vous n’avez pas encore de noyau pour booter, je vous conseille de faire le votre en monolithique pour ne pas avoir à trimballer les modules dans votre mini-distrib. Cela vous permettra au passage d’optimiser sa taille.
Maintenant si vous voulez booter cette mini distribution dans un initramfs (initrd pour les anciens, système de fichier en ram chargé par le bootloader pour les nouveaux) :
$ cd /toto
$ find . | cpio -o -H newc | gzip -9 > /initrd.gz
À passer en paramètre au noyau booté (initrd=/initrd.gz)
Veni vidi vici (comme disait un illustre inconnu)