Nettoyer sa Debian

De Le Wiki de debian-fr.xyz
Aller à : navigation, rechercher

Nettoyage d'une Debian en vue de gagner de la place

Objectif

Vous avez installé une Debian depuis quelques temps déjà et vous commencez à manquer de place sur votre partition ? Voici quelques astuces pour gagner plusieurs centaines de mégaoctets.

Note : ce document n'hésite pas une seule seconde à utiliser des commandes dites complexes (sous-shell, commande à la chaîne,...). Elles peuvent être difficiles à comprendre mais nous vous conseillons de les comprendre plutôt que de les réutiliser sans comprendre. Ainsi vous verrez si quelqu'un a modifié la page pour modifier les commandes.

DPKG

DPKG et APT sont de puissants outils y compris lorsqu'il s'agit de gagner de la place.

Repérez les fichiers de configuration "orphelins"

$ aptitude search ~c
c   bluez-audio                                             - Transitional package
c   bluez-gnome                                             - utilitaires Bluetooth pour GNOME
c   bluez-utils                                             - Transitional package
c   chillispot                                              - Wireless LAN Access Point Controller
...

La commande suivante fait aussi ce travail, mais le résultat est compact, moins lisible :

$ dpkg -l | awk '$1~/^rc$/{print $2}' | xargs echo
bluez-audio bluez-gnome bluez-utils chillispot...

Supprimer tous les Fichiers de configuration orphelins

Lors de la désinstallation d'un logiciel le comportement par défaut consiste à garder les fichiers de configuration afin de pouvoir les réutiliser en cas de réinstallation du logiciel en question. Pour nettoyer votre Debian de tout ces fichiers superflus une seule commande suffit :

dpkg -P $(dpkg -l | awk '$1~/^rc$/{print $2}')

Ensuite si vous souhaitez que la suppression des fichiers de configuration se fasse automatiquement il suffit d'ajouter ceci au fichier /etc/apt/apt.conf :

APT::Get::Purge "true"

Vous préfèrerez peut-être utiliser cette commande qui supprimera aussi les dépendances devenues non nécessaires :

# aptitude purge ~c

Supprimer certains Fichiers de configuration orphelins

"L'inconvénient" des commandes ci-dessus est qu'elle suppriment TOUS les fichiers de configuration alors que vous souhaitez peut-être en conserver certains en vue d'une ré-installation ultérieure. La commande ci-dessous ne supprimera la configuration et les dépendances inutiles que pour le paquet le_nom_du_paquet

# aptitude purge le_nom_du_paquet

Dépendances orphelines

Lorsque vous installez un logiciel un certain nombre de dépendances s'installent avec lui. Par contre lorsque vous désinstallez ce même logiciel les dépendances ne partent pas systématiquement avec lui (par exemple si vous n'avez pas utilisé aptitude ou bien apt-get avec l'option auto-remove, ou encore si vous avez installé ces paquets explicitement). Il arrive donc souvent que des paquets inutiles subsistent. Pour trouver certains de ces paquets et éventuellement les supprimer, il existe deborphan (ou la version avec une interface graphique gtkorphan) qui liste les bibliothèques orphelines.

Un simple appel permet de lister les paquets qu'il considère comme orphelins (autrement dit non nécessaires au système à priori). Il faut noter que certains de ces paquets peuvent être utiles. En effet certains apportent des fonctionnalités sans être des dépendances. Si deborphan liste un paquet que vous souhaitez garder vous pouvez utiliser cette commande :

deborphan --add-keep <nom paquet>

Ensuite une fois que l'on est sûr que deborphan ne prend pas en compte les paquets que l'on veut garder, il suffit de lancer la commande :

aptitude remove $(deborphan)

L'efficacité du nettoyage que vous pouvez tirer de deborphan dépend aussi de vos connaissances des paquets qui semblent être utiles au système mais que par crainte vous ne supprimeriez pas. Si invoqué sans argument, deborphan ne vous recensera que les librairies. Vous pouvez aussi approfondir ce nettoyage selon le style d'invocation proposé dans ce billet de réponse. Ne sélectionnez dans ce cas que les paquets dont vous êtes sûrs qu'ils vous sont inutiles. Ici, via orphaner (commande fournie avec deborphan):

orphaner -a -n --priority=required

Cache APT

Lorsque l'on installe des logiciels, APT va télécharger des paquets debian (*.deb) et va les installer un à un. Pour diverses raisons (ne pas re-télécharger le paquet en cas de réinstallation par exemple), ces paquets ne sont pas supprimés après l'installation.

On peut d'une part supprimer tous les paquets en cache inutile (si on a plusieurs versions d'un même paquet on ne garde que la dernière). Cela se fait avec la commande :

aptitude autoclean

Si on veut supprimer tous les paquets du cache :

aptitude clean

ou encore

apt-get clean

Bien sûr il est possible (mais déconseillé) de rendre cette maintenance automatique, comme avec l'option purge (voir la page man de apt.conf).

Localepurge

localepurge permet de ne garder que les fichiers d'internationalisation des langues que vous choisissez. Elle est très simple à mettre en place et peut permettre de gagner beaucoup de place. Il suffit de l'installer puis elle libère la place toute seule de manière automatique lors de l'installation ou la suppression de programme.

aptitude install localepurge

Lors de l'installation, il vous sera demandé de choisir les langues que vous souhaitez garder. Je vous conseil fr_FR, fr_FR@UTF-8 et fr_FR@euro.

Attention, cette action est irréversible. Notamment les paquets reconstruits via dpkg-repack seront par exemple incomplet. La purge de ce paquet n'a d'effet que pour les paquets à venir qui seront installés de nouveau complètement (avec le serbo-croate, le russe, le chinois, etc).

Popularity contest

Travail en cours

Debfoster

Travail en cours

Fichiers utilisateurs

Si votre répertoire /home vous semble démesurément gros et que vous souhaitez en diminuer la taille, il existe quelques commandes et quelques logiciels très intéressants.

Voir l'espace occupé par l'arborescence

Cette partie va vous expliquer comment trouver les répertoires et les fichiers les plus gros d'un répertoire donné. Ensuite il suffira de les supprimer ou les compresser de la manière qu'il vous conviendra.

Commandes

Pour connaitre la taille de tous les répertoires et sous-répertoires du répertoire courant, il suffit de taper la commande :

du -ah

Le problème c'est que les fichiers ne seront pas triés. Pour les trier il faut utiliser la commande :

du -S | sort -n

Logiciels graphiques

Les logiciels Baobab (Gnome) et Krusader (KDE) permettent de voir de manière graphique quels répertoires et fichiers occupent le plus d'espace. Ces logiciels étant très bien faits, il ne semble pas qu'il soit très utile d'expliquer leur utilisation. Notez juste que ces deux applications ne feront qu'analyser la partition, c'est à vous, par la suite, de supprimer les fichiers en question.

Il existe aussi xdiskusage. Très simple, il permet de voir l'occupation partition par partition et indique l'espace libre.

Et il existe aussi le paquet ncdu. Une interface ncurses pour du, qui permet la navigation dans les répertoires ainsi que la suppression des fichiers. (Captures d'écran)

FSLint

Travail en cours