Étape 7: 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.

1- Suppression et nettoyage des paquets inutiles

Malgré que nous soyons partis d'un 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 une redirection (pipe ou tube en langage technique), c'est-à-dire d'envoyer le résultat de la commande précédente vers 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


A 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:

Dossier avec les anciens noyaux Linux

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.

2- 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

3- 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/*

4- Nettoyage de la distribution

D'autres dossiers contiennent des fichiers divers 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].

5- 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.

Lors de notre prochaine étape, nous verrons comment construire l'image du système afin de pouvoir l'intégrer dans notre live CD/USB.

Faire des suggestions sur cet article

Tous les champs sont requis
Merci pour votre contribution.