Archive pour mars 2012

Nettoyage de système sous Frugalware

Mercredi 21 mars 2012

J’ai récemment mis à jour mon système Frugalware Linux de la version 1.5 (Mores) vers la version 1.6 (Fermus). J’en ferai d’ailleurs l’objet d’un nouvel article. Mais je voulais aujourd’hui parlé d’une opération que j’effectue généralement avant chaque mise à jour : un nettoyage de système.

Il s’avère que mon système prend plus de 90 % de mon disque dur, et que la mise à jour du système s’en retrouve compliquée. Je procède donc d’abord par ce nettoyage avant toute mise à jour.

1ère étape : les répertoires temporaires

Je consulte le contenu des répertoires temporaires :
> ls -lrt /tmp
> ls -lrt /var/tmp

Si un fichier ou un répertoire ne me semble plus utile, je le supprime. Exemple :
> rm -rf /var/tmp/<fichier|répertoire>

2ème étape : les journaux

Je commence d’abord par les journaux :
> ls -lrt /var/log

Si je constate qu’un fichier est un peu trop volumineux, je le vide. Exemple :
> echo «  » > /var/log/<fichier>

3ème étape : les paquets logiciels

Je liste les paquets « orphelins », c’est-à-dire, les paquets qui ne dépendent d’aucun autre paquet :
> pacman-g2 -Qed > /var/tmp/orphans1

Dans une autre console, je parcours la liste des paquets trouvés :
> less /var/tmp/orphans1

Si je trouve un paquet qui est superflu, je le désinstalle :
> pacman-g2 -R <paquet>

Puis je recalcule la liste les paquets « orphelins » :
> pacman-g2 -Qed > /var/tmp/orphans2

Et je regarde si de nouveaux paquets sont apparus :
> diff /var/tmp/orphans1 /var/tmp/orphans2

Si de nouveaux paquets superflus apparaissent, je les supprime. Et ainsi de suite…

Enfin, je trie la liste des paquets par ordre de taille. Pour cela, je lance la commande suivante :
> find /var/lib/pacman-g2/local/ -name desc | xargs grep ‘^[1-9][0-9]*$’ | sort -t ‘:’ -k 2 -n

Explications :

  • la commande « find … » liste les fichiers desc de tous les paquets de la base de données pacman-g2 ;
  • la commande « xargs … » exécute la commande grep sur chacun des fichiers trouvés par find ;
  • la commande « grep … » filtre les lignes ne contenant que des chiffres (il s’agit a priori de la taille du paquet) ;
  • la commande « sort … » sépare chaque ligne selon le caractère deux-points (« -t ‘:’ »), et trie sur le deuxième champ (« -k 2 ») comme un nombre (« -n »).

Les paquets apparaissant à la fin sont ceux qui prennent le plus de place sur le disque. Il reste alors à voir si ces paquets sont indispensables et, si ce n’est pas le cas, à les désinstaller (si c’est possible).

C’est tout pour aujourd’hui ! Si vous avez d’autres astuces dans le mêmes sens, n’hésitez pas à les partager en commentaires.