Étape 7: nettoyage de la distribution
- Mis à jour le 8 juin 2017
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:
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.