jeudi 7 février 2008

Comment créer un système Debian Live pour une clef USB

Le projet Debian Live permet de créer une installation de Debian GNU/Linux qui fonction en "live", c'est à dire en démarrant sur un CD, un DVD ou une clef USB.

Ceci est intéressant quand par exemple, sur le lieu de travail, on met une machine à votre disposition mais qu'elle est sous Windows. Avec un système Debian-Live, vous ne touchez aucunement au disque dur. C'est également très utile lorsque vous passez chez une connaissance et que vous voulez lui montrer comment Debian tourne sur sa machine, évidemment sans toucher à son disque dur.

De plus votre système Debian Live fonctionne en "lecture seule", de la sorte il est impossible qu'un programme malveillant (virus, worm, rootkit) ne s'installe.

Avant tout il vous faut installer le package live-helper qui contient tous les outils permettant de générer un système Debian-Live. Ce live-helper existe pour lenny et sid, mais il est recommandé d'installer la dernière version à partir du site de Debian-Live.

Voici la commande (attention c'est long):

#!/bin/sh
#
# Script qui génère un système Debian-Live
# au format usb-hdd (système de fichier sur clef USB)
#
# Pierre Bauduin
# Le 7 février 2008
#
lh_config --mirror-binary http://debian-mirror:7777/debian/ --mirror-binary-security http://debian-mirror:7777/debian-security/ --mirror-bootstrap http://debian-mirror:7777/debian/ --mirror-bootstrap-security http://debian-mirror:7777/debian-security/ -b usb-hdd -d lenny --bootappend-live "quickreboot locale=fr_BE@euro keyb=be2-latin1" --hostname debian-live --packages "akregator alsa-base alsaplayer-text alsa-tools alsa-utils amarok audacity aumix avidemux bzip2 cupsys cupsys-bsd cupsys-client debian-goodies dillo dvdrip eject elinks enscript finger fortunes fortunes-fr frozen-bubble gimp gwenview htop iceweasel iceweasel-l10n-fr iceweasel-l10n-nl imagemagick irssi k3b k3b-i18n kalarm kate kcalc kcheckgmail kde-i18n-fr kde-i18n-nl kdebase kdeprint keytouch kgoldrunner khangman kmahjongg kmix kompose kpat kpdf kpersonalizer kpoker krdc kreversi kscreensaver kscreensaver-xsavers ksirtet ksnapshot kweather kwin4 laptop-detect less lftp libdvdcss2 loadmeter lsdvd lshw lsof lynx mc memtest86+ mondo mpg123 mpg123-alsa mpg321 msttcorefonts mtools munin-node mutt ncftp nmap ntpdate openoffice.org openoffice.org-l10n-fr openoffice.org-l10n-nl openssh-server pidgin screen slay smb4k smbclient strace sun-java5-bin sun-java5-jre sun-java5-plugin sysstat tcpdump tcsh telnet tofrodos traceroute unzip vim w32codecs wamerican wdutch wfrench wget wine wireshark x-window-system-core xbill xchat xchm xdaliclock xine-ui x-ttcidfont-conf xmms xscreensaver xserver-xorg xsysinfo" && time nice --adjustment=1 lh_build

Remarquez que:
  • il est fortement recommandé d'utiliser un miroir local de Debian
  • dans cet exemple mon miroir s'appelle debian-mirror, il faut donc adapter le script (ou encore définir dans votre serveur DNS que debian-mirror est l'alias de votre machine miroir)
  • tous les fichiers seront créés dans le répertoire courant, je vous conseille donc fortement de faire mkdir debian-live && cd debian-live avant de lancer la commande
  • sur ma machine il faut environ 40 minutes pour générer le système Debian Live
  • pour des raisons de performance, il est fortement recommandé d'exécuter cette commande sur un filesystem local (c'est à dire, un disque qui existe physiquement, pas sur un tmpfs, ni nfs, ni smbfs)
  • veillez à exécuter cette commande sur un filesystem qui a suffisamment d'espace libre: dans le cas de la commande ci-dessus, la génération du Debian Live consomme 5,4 GB d'espace !
  • surtout, n'exécutez pas cette commande directement sur votre clef USB ! En effet, une clef USB est moins performante au niveau des temps d'accés et de la vitesse de lecture écriture. Mais surtout, les nombreuses opérations de lecture/écriture lors de la génération du système Debian Live diminuent fortement la durée de vie de votre clef USB !
  • au final, vous obtenez un fichier binary.img d'environ 720 MB que vous pourrez transférer avec une commande du genre dd if=binary.img of=/dev/sdXsdX est le bon périphérique pour votre clef usb
  • faites très attention de ne pas vous tromper de périphérique lors de la commande dd. Si vous n'avez que des disques PATA, la clef USB sera probablement le périphérique /dev/sda. Mais si vous avez des disques SCSI ou SATA, le périphérique /dev/sda est votre premier disque dur ! Votre clef USB sera quelquechose comme /dev/sdb ou /dev/sdc ou /dev/sdd, etc... N'allez pas écrire binary.img sur votre disque dur, vous perdriez toutes vos données !
  • copier le binary.img sur ma clef USB prend environ 10 minutes (mais c'est une clef de marque Peak, ce n'est pas très performant...)

Aucun commentaire: