Apprendre à construire ou modifier un live CD/USB

Philippe Ronflette

Dans ce tutoriel, nous apprendrons à construire ou modifier pas à pas un live CD/USB. Nous le ferons à travers un projet concret de réalisation d'une distribution live de sauvegarde et dépannage qui pourra vous être utile.

Commentez

- Titre : Apprendre à construire ou modifier un live CD/USB

- Auteur : Philippe Ronflette

- Parution : 7 octobre 2017

- Public visé :

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2017 Philippe Ronflette. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Construire une machine virtuelle

- III. Installer un système Ubuntu minimal

- IV. Installation d'un environnement graphique

- V. Personnalisation des applications de la distribution

- V-A. Outils de dépannage

- V-B. Outils de sauvegarde

- V-C. Outils d'informations système

- V-D. Outils de visualisation et de traitement de fichiers

- V-E. Autres outils

- V-F. Résumé

- VI. Personnalisation de l'interface

- VII. Nettoyage de la distribution

- VII-A. Suppression et nettoyage des paquets inutiles

- VII-B. Nettoyage avec l'outil Bleachbit

- VII-C. Suppressions des fichiers inutiles

- VII-D. Nettoyage de la distribution

- VII-E. Résumé des opérations à effectuer

- VIII. Construction de l'image système

- VIII-A. Création des répertoires de travail

- VIII-B. Copie des fichiers du système

- VIII-C. Construction de l'image compressée du système

- IX. Construction de l'image disque

- IX-A. Copie des fichiers nécessaires au système

- IX-B. Installation des outils nécessaires

- IX-C. Construction de l'iso

- X. Pour aller plus loin

- XI. Remerciements

I - Introduction

Ce tutoriel se propose de vous apprendre à construire ou modifier un live CD/USB basé sur une distribution Linux Ubuntu. Il l'aborde sous l'angle pratique de la construction d'une distribution de dépannage entièrement personnalisée. Cette approche concrète, sous forme de projet réalisé étape par étape, pas à pas, permet d'aborder les connaissances nécessaires de manière utile et pratique.

Ces tutoriels sont, à mon sens, abordables par toute personne familière de Linux ne maîtrisant pas forcément la ligne de commande, mais ne craignant pas de s'y confronter. Les commandes utilisées seront détaillées et expliquées afin de permettre leur compréhension et donc leur appropriation. Aussi, il est recommandé de prendre le temps d'intégrer les notions abordées sans chercher à obtenir le plus vite possible sa distribution personnalisée ; le chemin importe plus que le but.

Si vous estimez que ce tutoriel, abordable par des débutants, ne répond pas à vos besoins compte tenu de votre bagage technique, vous pouvez vous reporter aux tutoriels Apprendre à traduire en français le logiciel de sauvegarde Redo Backup & Recovery et Apprendre à construire et mettre à jour une ISO de RedoBackup & Recovery, centrés sur Redobackup & Recovery, mais plus complets techniquement sur la construction et la modification d'un live CD/USB.

Il faut savoir que la démarche de construction de la distribution proposée ici n'est pas la seule possible.

Le projet proposé est le suivant :

Nous construirons une distribution à partir d'une Ubuntu minimale, c'est-à-dire ne comportant que le noyau et une console en mode texte. Nous lui adjoindrons une interface graphique légère, et nous la compléterons avec des outils de sauvegarde et de dépannage. Après avoir ajouté toutes les applications que nous souhaitons, nous construirons une image de la distribution prête à être gravée sur CD ou clé USB.

Nous pourrions tout aussi bien utiliser une distribution Debian minimale, les commandes utilisées dans ce tutoriel étant valables pour toute cette famille de distributions (Ubuntu est bâtie sur Debian).
La méthode est applicable aux distributions Linux d'autres familles. Il faudra alors modifier certaines commandes, notamment celles permettant la gestion des paquets, ainsi que certains paramètres de la machine virtuelle.

II - Construire une machine virtuelle

Nous aurons besoin d'installer un système d'exploitation Linux. Pour avoir davantage de souplesse qu'une installation en dur sur un PC, nous utiliserons une machine virtuelle. Une machine virtuelle est tout simplement un système capable de simuler le fonctionnement d'un ordinateur et son environnement matériel. C'est une sorte de machine au sein d'une autre. L'avantage de la solution virtuelle est qu'elle permet de construire autant de machines que nécessaire, d'installer rapidement de nombreux OS, de faire facilement des sauvegardes du système à différentes étapes afin de pouvoir revenir rapidement à une étape antérieure si nécessaire.

Nous utiliserons VirtualBox, logiciel d'Oracle sous licence libre, disponible aussi bien sous Linux que sous Windows. L'interface du logiciel est la même entre les deux systèmes.

Téléchargez et installez VirtualBox à partir du site officiel. Téléchargez et installez également le pack d'extension (Oracle VM VirtualBox Extension Pack, sous licence PUEL) offrant quelques fonctionnalités supplémentaires, notamment l'accès à des périphériques USB 2 et 3 à partir de la machine virtuelle.

Au premier démarrage, on obtient cet écran :

On clique sur le bouton "Nouvelle" afin de créer et configurer notre première machine virtuelle :

La première fenêtre qui s'ouvre nous demande un nom et un type de système d'exploitation. Dans notre exemple, nous l'avons nommée "Construction CD dépannage", mais vous pouvez donner le nom que vous voulez. Nous choisissons ensuite un système Linux basé sur Ubuntu (32 bits) en cliquant sur les champs appropriés :

La boîte de dialogue suivante nous propose de définir la quantité de mémoire vive que nous désirons attribuer à notre machine virtuelle. VirtualBox propose par défaut une valeur tenant compte du système choisi, ainsi que de la quantité de RAM disponible sur votre PC. Vous pouvez laisser la valeur proposée par défaut :

Il nous faudra créer un disque dur pour notre machine. Nous allons le créer dès maintenant :

La boîte de dialogue suivante permet de choisir le format de fichier du disque dur virtuel. Nous conservons le format VirtualBox proposé par défaut :

Puis nous choisissons la création d'un disque de taille dynamique (les explications de la boîte de dialogue sont claires) :

Enfin nous choisissons l'emplacement du fichier de disque dur virtuel sur le disque dur réel du PC. Par défaut, VirtualBox l'enregistrera dans un dossier qu'il a créé dans le répertoire de l'utilisateur courant. Vous pouvez laisser la taille maximum à la taille proposée par défaut.

Il ne nous reste plus qu'à cliquer sur le bouton "Créer". Notre machine apparaît maintenant dans le volet de gauche de la fenêtre.

Nous allons affiner la configuration de cette nouvelle machine. Nous cliquons sur le bouton "Configuration" :

Nous pouvons laisser la taille de la mémoire vidéo telle que proposée par défaut.

Nous allons nous rendre ensuite dans la partie "Réseau" où nous configurerons le mode d'accès réseau en "Accès par pont" pour faciliter l'accès à Internet et à un éventuel réseau local :

Notre machine est prête !

III - Installer un système Ubuntu minimal

Nous allons installer un système d'exploitation sur notre machine virtuelle.

Linux est un système d'exploitation modulaire composé d'un noyau de base et de "briques" que l'on peut ajouter selon ses besoins. L'environnement graphique est une brique parmi d'autres et, contrairement à Windows, Linux permet de choisir parmi divers environnements graphiques selon ses goûts ou ses besoins.

Comme nous souhaitons construire un live CD/USB personnalisé de sauvegarde-dépannage, nous chercherons à obtenir une taille minimale avec un système le moins consommateur possible en ressources système afin de l'adapter au maximum de PC. Linux est proposé dans de très nombreuses distributions. Nous choisirons un système Ubuntu, et nous n'installerons que le minimum, à savoir le noyau et une interface en mode texte. Nous pourrons ensuite le personnaliser à notre convenance.

Une version d'Ubuntu permet de faire automatiquement cette installation minimale : la version serveur. Nota: il est également possible d'utiliser une version d'installation par Internet.

Nous pouvons télécharger la version serveur sur cette page. Une fois sur la page, nous cliquons sur la ligne "Plus d'options":

et dans les nouvelles options qui s'affichent, nous conservons l'option LTS (support à long terme) et nous choisissons la version 32 bits :

Nous pouvons maintenant lancer le téléchargement en cliquant sur le gros bouton "Télécharger" qui a pris en compte nos choix. Notez bien le dossier dans lequel vous effectuez le téléchargement, nous en aurons besoin pour la machine virtuelle.

Nous ouvrons VirtualBox et, après avoir sélectionné par un simple clic la machine virtuelle que nous avons créée à l'étape 1, nous cliquons sur le bouton "Configuration". Dans le volet gauche de la fenêtre qui s'affiche, nous cliquons sur "stockage" et, dans le cadre "Arborescence stockage", nous cliquons sur la ligne "Vide" de la partie "Contrôleur : IDE":

Cela va nous permettre d'ajouter un lecteur de CD/DVD à notre machine virtuelle, de façon à la démarrer sur un lecteur de CD/DVD comme nous le ferions sur un PC réel. Mais avec VirtualBox, nous n'aurons pas besoin de passer par l'étape fastidieuse de la gravure d'un support ; en effet, nous pouvons lui indiquer de démarrer sur une image disque comme s'il s'agissait d'un CD/DVD réel. C'est ce que nous allons faire en cliquant, dans la partie droite de la fenêtre, sur le petit disque au niveau de la ligne "Lecteur optique". Dans le menu qui s'affiche, nous cliquons sur "Choisissez un fichier de disque optique virtuel" :

Il ne reste plus qu'à sélectionner le fichier ISO du téléchargement que nous venons d'effectuer et à valider par l'appui sur [ OK ]. Désormais notre machine virtuelle est prête à démarrer à partir de cette image disque. Il nous suffit de cliquer sur le bouton "Démarrer" en haut de la fenêtre.

Après démarrage sur l'image disque, nous devons sélectionner la langue à utiliser et nous obtenons l'écran de menu d'Ubuntu Server :

Nous appuyons sur la touche F4 afin d'afficher des options supplémentaires d'installation. Dans le menu qui s'affiche, nous sélectionnons "Installer un système minimal".

Nous validons par l'appui sur la touche [Entrée] et nous pouvons lancer l'installation à partir de la première ligne du menu : « Installer Ubuntu Server ».

Après avoir répondu aux diverses questions sur la configuration du clavier, on nous demande un nom de machine, un nom d'utilisateur et un mot de passe. Vous pouvez choisir ce que vous voulez pour chacun de ces champs. Pour ce tutoriel, nous choisissons « ubuntu » comme nom d'utilisateur et mot de passe. Nous répondons ensuite « non » à la proposition de chiffrement du dossier personnel.

Pour le partitionnement, nous choisissons un partitionnement assisté avec utilisation d'un disque entier. Nous validons les différentes propositions par défaut et sélectionnons « Oui » lorsqu'on nous demande d'effectuer les changements sur le disque.

Nous laissons vide le champ de la demande d'un proxy HTTP. Les explications données sont claires. Nous pouvons ensuite laisser l'option proposée par défaut pour les mises à jour. À l'étape suivante, nous sommes invités à sélectionner d'éventuels logiciels complémentaires. Nous ne sélectionnons rien d'autre que l'option proposée par défaut, « standard system utilities » :

Nous acceptons ensuite la proposition d'installation du programme de démarrage GRUB :

Enfin, nous arrivons sur une fenêtre nous informant que l'installation est terminée. Nous validons, et après finalisation, la machine redémarre. Le menu de GRUB apparaît quelques secondes puis nous arrivons sur un écran de connexion. Nous saisissons notre nom d'utilisateur et notre mot de passe et nous arrivons dans une console :

Contrairement à ce que les apparences pourraient laisser supposer, nous avons maintenant un système d'exploitation complet pleinement fonctionnel. Il n'a tout simplement pas d'interface graphique, toutes les opérations devant se faire en ligne de commande.

IV - Installation d'un environnement graphique

Linux offre le choix entre de très nombreux environnements graphiques, dont les plus connus sont Unity, Gnome et KDE. Il en existe de nombreux autres, et parmi les plus légers, les plus connus sont Xfce et LXDE, proposés dans les versions Xubuntu et Lubuntu. C'est LXDE que nous adopterons dans ce tutoriel, mais une fois les principes d'installation intégrés, vous serez en mesure d'installer un autre environnement si vous le souhaitez.

LXDE est proposé dans un métapaquet « lxde » permettant d'installer l'ensemble de ses composants en une seule opération. Comme nous cherchons à faire un support live de taille minimale, nous détaillerons les paquets à installer afin d'obtenir un système graphique LXDE minimal.

Nous voulons construire un live CD/USB de sauvegarde-dépannage ; il nous sera donc plus utile de disposer dès le départ de droits administrateur. Ubuntu désactive par défaut la possibilité d'accéder à une session root. Nous devons donc commencer par réactiver cette possibilité. Dans notre console nous saisissons :

sudo passwd root

On nous demande de mettre un mot de passe, puis de le confirmer. Vous pouvez mettre celui que vous voulez. Nous sortons de notre session Ubuntu par :

exit

puis nous nous connectons en root par :

root

et nous saisissons notre mot de passe. Dès lors nous n'aurons plus besoin de saisir de sudo avant nos commandes nécessitant des droits administrateur.

Nous commençons par mettre à jour la liste des paquets par :

apt-get update

apt-get est un outil logiciel de Debian permettant de gérer l'installation et la désinstallation des paquets, ou logiciels.

Puis nous mettons à jour la distribution par :

apt-get upgrade

Nous installons les paquets de LXDE dont nous avons besoin, ainsi que quelques outils de base comme le terminal de LXDE (lxterminal), son éditeur de texte (leafpad) et un navigateur Web léger (midori) :

apt-get install lxdm lxde-core xfonts-base xserver-xorg lxsession-logout lxterminal leafpad midori

L'installation terminée, nous pouvons redémarrer notre système en saisissant :

reboot

Nous arrivons maintenant sur l'écran de connexion sur lequel nous est proposé de nous connecter sous l'utilisateur que nous avons choisi à l'installation. Puisque nous voulons nous connecter en root, nous cliquons sur "Plus..."

pour saisir root comme utilisateur, puis notre mot de passe :

Nous nous retrouvons sur le bureau LXDE avec nos applications de base installées, comme nous pouvons le vérifier en ouvrant le menu.

V - Personnalisation des applications de la distribution

Notre but est de construire une solution de sauvegarde et de dépannage complète. Nous allons donc ajouter divers outils à notre futur live CD/USB.

Nous commençons par mettre à jour notre distribution. Dans un terminal nous saisissons :

apt-get update

qui met à jour la liste des paquets, puis :

apt-get upgrade

qui met à jour les paquets.

Nous pouvons regrouper ces deux commandes en une seule ligne par

apt-get update && apt-get upgrade

le && indiquant au système que la seconde commande ne doit être lancée que si la première a été effectuée avec succès.

Cette mise à jour peut avoir rétabli le fichier de traduction de partclone qui conduit à un problème de fonctionnement de redobackup, comme nous l'avons vu à l'étape 4. Nous nous assurons donc de sa suppression en lançant un :

rm /usr/share/locale/fr_FR/LC_MESSAGES/partclone.mo

V-A - Outils de dépannage

Nous allons installer un outil permettant de réparer le gestionnaire de démarrage. Il n'est en effet pas rare qu'un PC ne puisse plus démarrer (booter) suite à de mauvaises manipulations, ou suite à la tentative d'installation d'un nouveau système. Nous choisissons l'utilitaire boot-repair.

Celui-ci n'étant pas disponible dans les dépôts officiels d'Ubuntu, nous devons ajouter son dépôt par :

add-apt-repository ppa:yannubuntu/boot-repair

La commande add-apt-repository permet d'ajouter une source de dépôt complémentaire aux dépôts officiels. Ceci va créer un fichier avec l'extension .list au sein du dossier /etc/apt/sources.list.d/, fichier contenant l'adresse de ce dépôt.

La console nous renvoie un message d'erreur de commande n'existant pas. Nous allons donc devoir installer deux autres paquets pour disposer de cette commande :

apt-get install python-software-properties software-properties-common

Nous pouvons relancer la commande d'ajout du dépôt, puis nous installons boot-repair après avoir mis à jour la liste des paquets :

apt-get update && apt-get install boot-repair

Cette installation crée une entrée de menu pour Boot Repair, mais qui n'est pas prise en compte. Nous allons devoir la corriger. Nous ouvrons PCManFM et nous nous rendons dans le dossier /usr/share/applications. Nous faisons un clic droit sur le fichier "Réparateur de démarrage" et nous l'ouvrons avec Leafpad.

Nous recherchons, en fin de fichier, la ligne :

Categories=System;Settings;

et nous supprimons :

Settings;

de façon à ne plus avoir que :

Categories=System;

Une entrée de menu "Réparateur de démarrage" devrait maintenant apparaître dans le sous-menu "Outils Système".

Il est également possible d'éditer un fichier dans un terminal grâce à l'application nano. Nous saisissons nano nom-fichierdans une console et notre fichier s'ouvre en mode édition au sein du terminal. En bas de la fenêtre sont indiqués les raccourcis clavier agissant comme commandes.

Nous allons également installer l'outil d'édition de partitions Gparted :

apt-get install gparted

Une entrée s'est bien créée dans le menu, sous-menu « Préférences ». Nous pouvons éventuellement éditer son fichier .desktop comme vu précédemment si nous préférons afficher son entrée de menu dans le sous-menu "Outils système".

Autre outil indispensable dans une trousse de dépannage informatique, un logiciel de récupération de données. Nous installons testdisk qui inclut l'application PhotoRec :

apt-get install testdisk

testdisk est une application en mode texte, à démarrer dans une console. Pour des usages occasionnels, ce type d'interface est plus délicate, car, moins intuitive, elle impose de se plonger dans un tutoriel. Il existe une interface graphique, QPhotoRec, non disponible dans les dépôts.

Nous pouvons en télécharger le paquet .deb sur sourceforge par :

wget https://sourceforge.net/projects/crunchyiconthem/files/QPhotoRec/qphotorec_1.0_all.deb

puis nous l'installons en ouvrant un terminal dans le dossier de téléchargement et en saisissant :

dpkg -i qphotorec_1.0_all.deb

dpkg est un utilitaire de gestion de paquets. L'option -i indique que nous voulons installer le paquet dont le nom est donné ensuite en paramètre.

Après installation, QPhotoRec apparaît bien dans le menu, mais au lancement nous n'obtenons qu'une fenêtre d'information sur les limitations de la version. Le lancement dans une console (en saisissant qphotorec) nous permet d'avoir une information plus précise : il manque une bibliothèque. Après recherche sur Internet, nous trouvons qu'il nous faut installer le paquet libqtgui4, ce que nous faisons par :

apt-get install libqtgui4

QPhotoRec fonctionne maintenant correctement.

Lorsque qu'une application du menu ne se lance pas, on peut tenter de la lancer dans un terminal en saisissant son nom, éventuellement le chemin complet vers le fichier de l'application si le nom seul ne suffit pas. La console affiche des informations détaillées lorsque des erreurs apparaissent, ce qui peut nous aider à résoudre le problème.

Un outil permettant de vérifier l'état d'un disque dur nous sera également utile. Nous installons GSmartControl par :

apt-get install gsmartcontrol

Pour la gestion des disques durs et des partitions, nous pouvons également nous intéresser à Gnome disk Utility qui offre une panoplie d'outils tels que :

- formater et partitionner les disques ;

- monter et démonter les partitions ;

- récupérer les attributs S.M.A.R.T.

Nous l'installons par :

apt-get install gnome-disk-utility

V-B - Outils de sauvegarde

Je vous propose l'installation d'un outil simple et facile à utiliser pour effectuer des sauvegardes de partitions, Redo Backup & Recovery. Ce logiciel n'existe que sous forme d'un live CD construit sur une distribution d'Ubuntu qui n'est plus mise à jour. De plus elle n'existe qu'en langue anglaise. Avec chrtophe, nous avons réalisé deux tutoriels sur Redo Backup, que vous pourrez consulter pour en savoir plus :

- Apprendre à traduire en français le logiciel de sauvegarde Redo Backup & Recovery détaille comment modifier le live CD original pour le franciser.

- Apprendre à construire et mettre à jour une ISO de RedoBackup & Recovery, notamment dans sa partie 3, explique comment construire un paquet de Redo Backup francisé et mis à jour pour son utilisation dans une autre distribution.

Nous allons télécharger et installer un paquet de Redo Backup construit dans le cadre de ce tutoriel. Ce paquet contient également l'utilitaire Drivereset, permettant de réinitialiser un disque dur à ses valeurs d'usine. Dans un terminal, nous saisissons :

wget https://www.de-bric-et-de-broc.fr/fichiers/informatique/redo-fr.deb

wget est une commande permettant de télécharger un fichier sur Internet à partir de son adresse Web (URL).

Puis, après nous être placés dans le répertoire de téléchargement (ou après avoir ouvert un terminal dans ce répertoire), nous installons le paquet par :

dpkg -i redo-fr.deb

Installer des paquets à partir de sources inconnues présente des risques. Je certifie que le paquet proposé ici ne comporte pas d'autres modifications que celles destinées à corriger un problème avec les versions récentes de fsarchiver et à le franciser. Si vous avez un quelconque doute, faites vous-même les modifications à partir du script original en suivant le tutoriel indiqué plus haut.

Il nous reste un problème de dépendances à installer pour que Redo Backup fonctionne correctement. En effet, contrairement à apt ou aptitude, dpkg ne gère pas l'installation des dépendances. Nous saisissons donc dans un terminal :

apt-get install -f

qui va lancer l'installation des dépendances manquantes. Nous acceptons la demande de confirmation. Redo Backup devrait maintenant fonctionner.

Nous allons doter notre distribution d'un outil de sauvegarde complémentaire à Redo Backup, très complet et régulièrement mis à jour, Clonezilla. Il nous servira d'outil de secours en cas d'échec avec Redo Backup. Clonezilla est cependant d'un usage plus technique et moins intuitif.

Nous l'installons par :

apt-get install clonezilla

Nous n'obtenons pas d'entrée de menu pour Clonezilla qui est un script s'exécutant dans un terminal. Nous allons donc en créer une. Comme précédemment, nous ouvrons le gestionnaire de fichiers pour nous rendre dans /usr/share/applications. Nous copions un fichier .desktop ayant un contenu simple, comme celui de Redo Backup, puis nous le collons en le renommant clonezilla.desktop. Nous l'ouvrons avec Leafpad comme précédemment, et nous en modifions les entrées de façon à avoir le contenu suivant :

[Desktop Entry]
Name=Clonezilla
Comment=Sauvegarde et restauration de partitions
Exec=sudo /usr/sbin/clonezilla
Icon=/usr/share/icons/gnome/32x32/devices/drive-multidisk.png
Terminal=true
Type=Application
Categories=System;
StartupNotify=true
NoDisplay=false

Nous avons choisi une icône du dossier /usr/share/icons/gnome/ pour illustrer l'application ; vous pouvez librement en sélectionner une autre à votre convenance.

Le lancement de Clonezilla par son fichier .desktop nous renvoie une erreur d'absence de xterm, qui est un terminal. Nous l'installons par :

apt-get install xterm

Nous pouvons vérifier que nous avons bien une entrée de menu pour Clonezilla dans "Outils système", et que cette entrée lance bien l'application.

V-C - Outils d'informations système

Plusieurs outils d'information nous seront utiles. Pour afficher les informations matérielles et système détaillées, nous pouvons installer hardinfo par :

apt-get install hardinfo

Afin de connaître l'espace occupé par les fichiers au sein d'un disque, d'une partition ou d'un répertoire, nous pouvons installer un outil tel que baobab ou gdmap. Ils se différencient sur la manière d'afficher graphiquement l'occupation disque. Pour ce tutoriel nous installerons Baobab par :

apt-get install baobab

Pour tester le système et le matériel, nous allons ajouter Phoronix-test-suite. Cet outil propose plus de deux-cents tests permettant d'évaluer les performances matérielles. Nous l'installons par :

apt-get install phoronix-test-suite

V-D - Outils de visualisation et de traitement de fichiers

Pour afficher des images, nous utiliserons Gpicview, léger et rapide, par :

apt-get install gpicview

Un logiciel lisant les fichiers PDF permettra la consultation de documents à ce format, assez répandu sur Internet. Nous choisissons une application elle aussi très légère et rapide, xpdf, que nous installons par :

apt-get install xpdf

Il nous faudra également un gestionnaire d'archives. Nous installons xarchiver par :

ap-get install xarchiver

V-E - Autres outils

Afin de pouvoir disposer d'un accès Internet sur des PC n'ayant pas de connexion filaire, nous allons installer un gestionnaire de connexions en mesure de visualiser les réseaux sans fil et de s'y connecter. Pour cela nous utiliserons Network Manager. Un autre outil existe, plus léger mais un peu moins complet, Wicd.

apt-get install network-manager

Pour transférer ou télécharger des fichiers depuis des serveurs FTP, nous installons le client FTP Filezilla :

apt-get install filezilla

Pour scanner le réseau, nous choisissons Etherape. Wireshark est une application beaucoup plus complète, mais trop gourmande en espace disque (170 Mo !).

Apt-get install etherape

V-F - Résumé

Voici un résumé des opérations à effectuer qui permettra, une fois qu'elles auront été comprises, de les refaire rapidement.

Mise à jour de la distribution :

apt-get update && apt-get upgrade

Suppression du fichier de traduction de Partclone :

rm /usr/share/locale/fr_FR/LC_MESSAGES/partclone.mo

Ajout de dépôts complémentaires :

apt-get install python-software-properties software-properties-common
add-apt-repository ppa:yannubuntu/boot-repair
apt-get update

Installation des applications et dépendances nécessaires :

apt-get install boot-repair gparted testdisk libqtgui4 clonezilla xterm hardinfo baobab gpicview xpdf gsmartcontrol gnome-disk-utility xarchiver network-manager
wget https://sourceforge.net/projects/crunchyiconthem/files/QPhotoRec/qphotorec_1.0_all.deb
dpkg -i qphotorec_1.0_all.deb

Modification du fichier /usr/share/applications/Réparateur de démarrage :

nano /usr/share/applications/boot-repair.desktop

Modification de l'entrée « Categories » :

Categories=System;

Modification du fichier /usr/share/applications/Gparted :

nano /usr/share/applications/gparted.desktop

Modification de l'entrée « Categories » :

Categories=System;

Création d'un fichier /usr/share/applications/clonezilla.desktop :

nano /usr/share/applications/clonezilla.desktop

Insertion du contenu suivant :

[Desktop Entry]
Name=Clonezilla
Comment=Sauvegarde et restauration de partitions
Exec=sudo /usr/sbin/clonezilla
Icon=/usr/share/icons/gnome/32x32/devices/drive-multidisk.png
Terminal=true
Type=Application
Categories=System;
StartupNotify=true
NoDisplay=false

Comme nous le voyons, personnaliser notre futur ISO de sauvegarde-dépannage en lui adjoignant les outils que nous souhaitons se résume tout simplement à ajouter les paquets dont nous avons besoin comme nous le ferions sous n'importe quelle distribution Linux installée. Vous pouvez maintenant compléter votre distribution avec d'autres outils si vous le souhaitez.

VI - Personnalisation de l'interface

Après avoir ajouté à notre distribution tous les outils logiciels que nous souhaitions, nous pouvons désirer adapter l'interface à nos goûts et préférences de travail.

Nous aimerions peut-être avoir un gestionnaire de fichiers qui affiche, dans son volet d'arborescence, des accès directs à divers emplacements par exemple. Pour cela nous nous rendons dans le menu de PCManFM, entrée Éditions --> Préférences. Dans la fenêtre qui s'affiche, nous nous rendons sur « Agencement », et dans la partie « Afficher dans les emplacements », nous cochons tous ceux qui nous intéressent. Après avoir fermé cette fenêtre, nous obtenons bien ces emplacements dans le volet gauche.

Nous souhaiterons peut-être également disposer d'un accès plus rapide à certaines applications que nous sommes susceptibles d'utiliser fréquemment avec notre live CD/USB. Nous allons créer, pour celles-ci, des lanceurs sur le bureau. Pour cela nous ouvrons le menu et, par un clic droit sur le nom de chacune des applications voulues, nous sélectionnons « Ajouter au bureau ».

Si le nom de l'icône qui s'affiche sur le bureau ne nous convient pas, nous pouvons aisément le modifier en faisant un clic droit sur celle-ci, puis, dans le menu qui s'affiche, nous sélectionnons « Propriétés ».

Il nous suffit alors de modifier le champ « Nom » de l'onglet « Général » dans la fenêtre qui s'ouvre, et de valider par [OK].

Nous pouvons également, si nous le préférons, ajouter des lanceurs non pas sur le bureau, mais dans la barre des tâches. Dans celle-ci nous avons déjà deux applications, le gestionnaire de fichiers et le navigateur. Ajoutons-y par exemple un lanceur pour un terminal. À cette fin nous cliquons droit sur la zone de ces lanceurs, puis nous choisissons « Paramètres de barre de lancement d'applications ». Dans la fenêtre qui s'affiche, nous sélectionnons « LXTerminal » dans le volet de droite, puis nous cliquons sur le bouton [Add]. LXTerminal apparaît dans le volet de gauche en fin de liste. Si cette position ne nous convient pas, et que nous souhaitons que le lanceur de terminal soit en première position (la plus proche du bouton de menu), il nous suffit de sélectionner LXTerminal dans le volet de gauche et de cliquer autant de fois que nécessaire sur le bouton [Up] de la fenêtre.

L'accès aux préférences du bureau se fait par un simple clic droit sur le fond d'écran, puis « Préférences du bureau ». Nous allons par exemple changer le fond d'écran par défaut pour afficher celui de Redo Backup & Recovery. Pour cela, dans l'onglet « Apparence », nous cliquons le nom de fond d'écran du champ « Fond d'écran », et nous nous déplaçons dans la boîte de dialogue de sélection de fichiers de façon à aller sélectionner /usr/share/backgrounds/redo-blue.png ou redo-gray.png. Nous validons et obtenons notre nouveau fond d'écran (Nota: cette image ne sera disponible que si vous avez installé Redo Backup en suivant la méthode "Installation de Redobackup à partir des fichiers originaux que vous avez modifiés vous-mêmes" lors de l'étape 4).

Un économiseur d'écran est activé par défaut. Pour le supprimer, il faut aller dans le menu, entrée « Préférences --> Economiseur d'écran » et, dans la fenêtre qui s'affiche, nous devons cliquer sur le bouton "Mode" pour choisir "Désactiver l'économiseur d'écran".

Autre personnalisation utile, définir une page d'accueil pour le navigateur Internet Midori. Il suffit se rendre dans le menu de Midori, entrée « Préférences ». Dans l'onglet « Démarrage » qui s'ouvre par défaut, il suffit de taper l'adresse de la page souhaitée ou de cliquer sur le bouton [Utiliser la page courante comme page d'accueil] si cette page a été ouverte.

On peut également changer le moteur de recherche par défaut si l'on veut (clic sur la gauche de la barre de recherche, « Gérer les moteurs de recherche »).

Comme vous le voyez, personnaliser un live CD/USB, à cette étape, consiste tout simplement à personnaliser une distribution installée. Vous en connaissez maintenant les principes, à vous de poursuivre les modifications si vous le souhaitez.

VII - Nettoyage de la distribution

Nous cherchons à construire une image afin de réaliser un live CD/USB. Les vieux lecteurs optiques ne lisent pas tous les DVD, encore moins les DVD gravés sur un PC. Nous allons alléger notre distribution pour la faire tenir dans la limite des 700 Mo autorisés par les CD.

Mais avant d'effectuer ce nettoyage nous installons les paquets casper et lupin-casper nécessaires par la suite pour que le live CD/USB puisse correctement lire le système de fichiers :

apt-get install casper lupin-casper

VII-A - Suppression et nettoyage des paquets inutiles

Bien que nous soyons partis d'une installation minimale et que nous n'ayons installé que des applications triées sur le volet, notre distribution contient tout de même des paquets dont nous pouvons nous passer.

Pour afficher la liste des paquets installés, nous pouvons saisir, dans un terminal :

dpkg -l | more

dpkg est un outil de gestion des paquets. L'option -l permet d'afficher la liste de ceux qui sont installés.

La seconde partie de la commande mérite quelques explications. Le symbole « | » permet d'effectuer un pipe (ou tube en langage technique), c'est-à-dire d'envoyer la sortie de la commande précédente vers l'entrée d'une autre commande. more permet un affichage page par page, l'affichage de la page suivante ne se faisant qu'après appui sur une touche.

Parmi cette liste de paquets, nous essayons de déterminer ceux qui nous apparaissent inutiles. Nous pouvons lancer une recherche Internet sur le nom d'un paquet inconnu afin d'en avoir une description. Mais attention, la suppression de paquets présente des risques, car certains peuvent être nécessaires à d'autres applications. Dans le doute il est préférable de s'abstenir.

Voici quels paquets nous avons pu supprimer sans que cela nuise à la distribution :

apparmor ;
aspell* ;
colord* ;
enchant ;
usbmuxd ;
yelp.

La suppression d'un paquet se fait par :

apt-get purge nom-paquet

À la différence de l'option remove, l'option purge désinstalle également les fichiers de configuration de l'application.

Les noms de paquets suivis d'une étoile signifient qu'il y a plusieurs paquets concernés dont le nom commence par les lettres avant l'astérisque. L'astérisque est un caractère générique qui permet de remplacer un ou plusieurs caractères quelconques.

Nous nous assurons ensuite d'une suppression complète et d'un nettoyage efficace par :

apt-get autoremove
apt-get clean

L'option autoremove vérifie les paquets qui ont été installés comme dépendances d'autres logiciels, et les supprime s'ils ne sont plus utilisés. L'outil apt conservant une copie des paquets installés ou désinstallés dans le dossier /var/cache/apt/archives, l'option clean va supprimer tous les fichiers de ce dossier.

Nous supprimons également d'éventuels anciens noyaux du système qui ont pu être conservés après une mise à jour. Nous nous rendons pour cela dans le répertoire /boot avec le gestionnaire de fichiers PCManFM. Nous repérons le numéro du dernier noyau qui est de la forme x.y.z-n
Le premier nombre, x, indique une version majeure, le second, y, une version mineure, le troisième, z, une simple révision, et le denier, n, un correctif.

Nous supprimons tous les fichiers qui comportent un numéro de noyau inférieur au dernier noyau.

Exemple :

Nous voyons dans ce dossier que le N° de noyau le plus récent est le 4.4.0-59. Nous pouvons donc supprimer tous les fichiers portant un autre numéro, à savoir ici 4.4.0-53. Ces anciens noyaux ont également des paquets installés au sein du système. Nous pouvons afficher les paquets correspondants aux noyaux par :

dpkg -l | grep linux-image

Ici nous redirigeons la commande dpkg vers la commande grep qui permet de filtrer. Nous filtrons en ne retenant que les paquets contenant la chaîne de caractères linux-image.

Si nous trouvons des paquets nommés « linux-image » avec un numéro de version identique à ceux que nous avons supprimés précédemment, nous pouvons également les supprimer par :

apt-get purge linux-image-4.4.0-53*

Nous pouvons nous assurer que cela a bien suffi à supprimer tous les paquets de cette version en ressaisissant :

dpkg -l | grep linux-image

Si nécessaire, nous supprimons d'éventuels paquets anciens en étant plus précis sur le nom du paquet à supprimer.

Puis nous faisons comme précédemment :

apt-get clean

pour nous assurer du nettoyage des archives.

VII-B - Nettoyage avec l'outil Bleachbit

Nous allons utiliser un outil de nettoyage de distribution Linux, Bleachbit. Cet outil permet de supprimer, outre les fichiers inutiles, les fichiers de langues non utilisés.

Nous l'installons par :

apt-get install bleachbit

Puis nous le lançons à partir du menu Outils système en choisissant l'option as root (comme administrateur). Après avoir saisi notre mot de passe, Bleachbit s'ouvre la première fois sur une fenêtre des préférences. Dans l'onglet Langues de celle-ci, nous nous assurons que seuls l'anglais (en, langue du système par défaut) et le français (fr) sont sélectionnés.

Nous validons et arrivons dans la fenêtre de l'application qui propose, dans son volet de gauche, des options de nettoyage. Nous pouvons tout sélectionner en cochant toutes les cases. Puis nous cliquons sur le bouton [Nettoyer]. Lorsque l'application aura terminé ce nettoyage, nous pourrons la supprimer par :

apt-get purge bleachbit
apt-get autoremove
apt-get clean
rm -rf ~/.config/bleachbit

VII-C - Suppressions des fichiers inutiles

Quelques fichiers inutiles peuvent encore être supprimés manuellement.

Nous commençons par supprimer les fichiers que nous pouvons avoir téléchargés pour notre construction, et qui se trouvent dans le dossier utilisateur ubuntu. Avec le gestionnaire de fichiers nous nous rendons dans ce répertoire qui est normalement celui ouvert par défaut, et nous en supprimons tous les fichiers hormis les répertoires. Nous vérifions que le dossier Téléchargements ne contient aucun fichier. Dans le cas contraire, nous les supprimons.

Nous allons également supprimer les fichiers temporaires et les fichiers d'information créés par le système, dont nous n'aurons pas besoin. Cela concerne les répertoires suivants :

/tmp (pour les fichiers temporaires) ;
/var/log (les fichiers d'informations de fonctionnement créés par le système et les applications) ;
/var/tmp (d'autres fichiers temporaires) ;
~/.local/share/Trash (les fichiers mis à la corbeille) ;
/root/.local/share/Trash (la corbeille de l'administrateur pour les fichiers éventuellement supprimés en root).

Pour cela nous lançons, dans un terminal :

rm -rf /tmp/* /var/log/*.log /var/tmp/* ~/.local/share/Trash/* /root/.local/share/Trash/*

VII-D - Nettoyage de la distribution

D'autres dossiers contiennent divers fichiers qui ne sont pas utiles pour une distribution en live :

/usr/src (les sources du noyau de Linux notamment) ;
/usr/include (fichiers utiles uniquement pour la programmation) ;
/usr/share/doc (les fichiers de documentation) ;
/usr/share/help (les fichiers d'aide) ;
/usr/share/man (les fichiers de documentation des commandes du système).

Dans un terminal nous lançons donc :

rm -rf /usr/src/* /usr/include/* /usr/share/doc/* /usr/share/help/* /usr/share/man/*

N'oublions pas également de nettoyer le cache du navigateur dans le cas où nous l'aurions utilisé dans le cadre de notre travail de construction de la distribution. Il nous suffit pour cela de nous rendre dans le menu de Midori, entrée « Supprimer les données de navigation » où nous cochons toutes les cases avant de valider par l'appui sur le bouton [Effacer les informations privées].

VII-E - Résumé des opérations à effectuer

Suppression des paquets inutiles par :

apt-get purge apparmor aspell* colord* enchant usbmuxd yelp

Suppression des anciens noyaux, manuellement, dans /boot et recherche de leurs paquets par :

dpkg -l | grep linux-image

Puis :

apt-get purge linux-image-x.x.x-x*

Installation de Bleachbit :

apt-get install bleachbit

Lancement de Bleachbit pour effectuer le nettoyage en cochant toutes les options dans le volet de gauche.

Suppression de Bleachbit et nettoyage des archives :

apt-get purge bleachbit
rm -rf ~/.config/bleachbit
apt-get autoremove
apt-get clean

Vérification de restes de fichiers de travail ou de téléchargement dans le dossier utilisateur pour les supprimer manuellement, puis nettoyage des fichiers inutiles :

rm -rf /tmp/* /var/log/*.log /var/tmp/* ~/.local/share/Trash/* /root/.local/share/Trash/*

Nettoyage de la distribution :

rm -rf /usr/src/* /usr/include/* /usr/share/doc/* /usr/share/help/* /usr/share/man/*

Nettoyage manuel du cache du navigateur.

VIII - Construction de l'image système

Un live CD/USB ne fonctionne pas tout à fait comme un système installé sur disque dur. Le système de fichiers est bien présent, mais sous la forme d'un seul fichier compressé en lecture seule, portant l'extension .squashfs. Pour construire un live CD/USB il nous faut donc, avant d'en réaliser l'image .iso, construire cette image compressée du système de fichiers. C'est ce que nous allons apprendre à faire lors de cette étape.

VIII-A - Création des répertoires de travail

Dans notre dossier utilisateur, nous créons deux dossiers de travail qui nous serviront pour créer les deux images, celle du système (squashfs), et celle du live CD/USB (iso).

Dans un terminal, nous saisissons :

mkdir -p ~/CD/casper ~/construction

L'option -p permet de créer des répertoires imbriqués, ce qui est nécessaire ici puisque nous créons un répertoire /casper dans le dossier /CD qui n'existe pas.

VIII-B - Copie des fichiers du système

Nous pouvons maintenant copier les fichiers de notre système dans le répertoire de construction, en excluant les répertoires dont nous n'aurons pas besoin :

rsync -av --one-file-system --exclude=/dev/* --exclude=/tmp/* --exclude=/home/* --exclude=/var/tmp/* --exclude=/boot/* --exclude=/root/* --exclude=/var/spool/* --exclude=/media/* --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts / ~/construction

L'option -a de rsync permet de conserver toutes les propriétés des fichiers, l'option -v d'afficher les opérations dans le terminal (ce qui peut être utile en cas de problème).

Nous copions également les fichiers de personnalisation de l'utilisateur courant :

rsync -a ~/.config ~/construction/home/ubuntu
rsync -a ~/.bashrc ~/construction/home/ubuntu
rsync -a ~/Desktop ~/construction/home/ubuntu

Nous aurons à résoudre un problème. Si nous laissons les choses en l'état nous aurons, au démarrage, une erreur avec le message suivant : "unable to launch /usr/bin/startlubuntu". Cela est dû au fait que le live CD/USB modifie à la volée le fichier /etc/lxdm/lxdm.conf pour remplacer startlxde par startlubuntu. Il nous faut donc contourner le problème par la création d'un lien symbolique startlubuntu renvoyant vers startlxde :

ln ~/construction/usr/bin/startlxde ~/construction/usr/bin/startlubuntu

VIII-C - Construction de l'image compressée du système

Nous commençons pas installer les outils dont nous aurons besoin pour notre opération :

apt-get install squashfs-tools

Nous construisons maintenant l'image système par :

mksquashfs ~/construction ~/CD/casper/filesystem.squashfs

Cette opération étant assez longue, c'est l'occasion de s'offrir une petite pause dans notre travail !

En fin d'opération, nous pouvons nous rendre dans le dossier CD/casper. Un clic gauche sur le fichier filesystem.squashfs, puis « Propriétés », nous permet de voir que nous avons obtenu un fichier d'environ 530 Mo, ce qui est très satisfaisant compte tenu du nombre d'applications ajoutées à notre système.

IX - Construction de l'image disque

Nous avons obtenu l'image système compressée de notre système de fichiers. Il ne nous reste plus qu'à construire notre image .iso bootable qui pourra être gravée sur un CD ou placée sur une clé USB.

IX-A - Copie des fichiers nécessaires au système

Nous devons copier un certain nombre de fichiers indispensables dans notre répertoire de création de l'image .iso. Nous commençons par les noyaux de démarrage du système.

cp -vp /boot/vmlinuz-$(uname -r) ~/CD/casper/vmlinuz
cp -vp /boot/initrd.img-$(uname -r) ~/CD/casper/initrd.img

La commande et l'option uname -r renvoient le numéro de version du noyau Linux utilisé.

Il nous faut également un bootloader, c'est-à-dire un outil permettant de démarrer le système d'exploitation. Nous pouvons tout simplement utiliser celui du CD de Redo Backup & Recovery. Nous insérons le CD dans notre lecteur. Si votre machine virtuelle ne monte pas automatiquement votre CD en vous proposant de l'ouvrir dans le gestionnaire de fichiers, il faudra le lui indiquer. Pour cela, dans le menu VirtualBox de votre machine virtuelle, cliquez sur Périphériques --> Lecteurs optiques, et cliquez sur l'entrée correspondant à votre lecteur de CD. Pour le PC sur lequel ce tutoriel a été réalisé, il s'agit du lecteur F :

Avec PCManFM, nous copions les dossiers /install et /isolinux de notre CD dans le répertoire ~/CD que nous avons créé.
Ceci fait nous aurons quelques modifications à faire dans le fichier : ~/CD/isolinux/config.cfg

Ce fichier est un fichier texte de configuration de démarrage qui contient également le menu. Les entrées de menu pointent vers le noyau initrd.gz alors que le nôtre porte l'extension .img. Nous remplaçons donc, dans ce fichier, tous les initrd.lz par des initrd.img. L'éditeur de texte Leafpad convient très bien pour cette tâche. Afin d'être sûrs de ne rien oublier, nous pouvons utiliser l'outil de recherche-remplacement à partir du menu de Leafpad.

De plus, afin que notre CD démarre bien avec un clavier français AZERTY, nous ajoutons :

local=fr_FR console-setup/layout-code=fr

à la ligne APPEND de la première entrée de menu de façon à avoir :

APPEND boot=casper initrd=/casper/initrd.img vga=791 quiet splash locale=fr_FR console-setup/layoutcode=fr --

Nous pouvons également en profiter pour franciser les diverses entrées de menu si nous le souhaitons. Attention toutefois, ce fichier n'aime pas les caractères accentués. Pour résoudre ce problème, il faudra l'enregistrer au format CP850. Ce format ne se trouvant dans la liste de ceux proposés par Leafpad, vous devrez sélectionner « Autres formats de caractères » et saisir manuellement CP850.

IX-B - Installation des outils nécessaires

Pour créer notre image .iso, nous aurons besoin de l'outil genisoimage que nous installons par :

sudo apt-get install genisoimage

IX-C - Construction de l'iso

Pour construire notre image iso, il nous suffit de lancer genisoimage en lui adjoignant un certain nombre d'options. Voici la commande magique que nous allons utiliser :

genisoimage -o "live-cd.iso" -r -J --no-emul-boot --boot-load-size 4 --boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ~/CD

Il y a dans cette commande des paramètres que nous pouvons librement modifier, comme le nom de l'image (live-cd.iso), les chemins d'accès à des répertoires qui dépendent des choix que nous avons opérés précédemment.

Après avoir lancé notre commande, nous obtenons au bout de quelques instants, dans le dossier personnel, un fichier live-cd.iso qu'il nous suffira de graver sur un CD ou placer sur une clé USB pour tester notre système.

Notre live CD/USB n'est pas compatible Secure Boot, qui devra être désactivé dans le BIOS pour permettre son démarrage.

Pour obtenir un système compatible avec Secure Boot, reportez-vous au tutoriel « Apprendre à construire et mettre à jour une ISO de RedoBackup & Recovery » dont le lien est donné dans le paragraphe « Aller plus loin ».

X - Pour aller plus loin

Si vous désirez approfondir vos connaissances techniques sur la construction et la modification d'un live CD/USB, vous pouvez vous reporter aux tutoriels Apprendre à traduire en français le logiciel de sauvegarde Redo Backup & Recovery et Apprendre à construire et mettre à jour une ISO de RedoBackup & RecoveryISO de RedoBackup & Recovery.

Vous pourrez apprendre à construire un live CD/USB personnalisé installable de Debian en suivant cette autre méthode : Comment construire un live Debian.

XI - Remerciements

Je remercie chrtophe pour sa relecture technique et ses conseils, ced pour sa relecture orthographique, e101mk2 pour ses correctifs proposés sur le forum.