Ceci est une ancienne révision du document !



Nettoyer Ubuntu

Bien voilà un petit nettoyage s'impose. En règle générale Ubuntu est bien optimisé mais si on manque de place, ou que l'on veut optimiser au maximum il faut bien faire quelque chose.

Voir également : Maintenir Système , optimisation

Supprimez les paquets .deb pour gagner de la place, ces paquets d'installation sont sauvegardés dans le dossier /var/cache/apt/archives/ , or après plusieurs installations les paquets téléchargés s'accumulent et utilisent beaucoup d'espace.

Je précise que les paquets téléchargés ne servent à rien si vous avez Internet. Il vous permettront uniquement de réinstaller des logiciels en mode hors ligne. Et leur suppression n'engendre pas la suppression des logiciels qui ont été installés grâce à ces paquets.

Supprimer le cache des paquets périmés :

sudo apt-get autoclean

Supprimer tout le cache :

sudo apt-get clean

Supprimer les paquets installés comme dépendances et devenus inutiles :

sudo apt-get autoremove
Attention à ne pas supprimer des paquets importants comme ubuntu-desktop ! Le plus sage est de vérifier à quoi correspondent ces paquets en faisant une petite recherche sur le net. Si vous avez désinstallé par erreur des paquets importants, réinstallez-les au plus vite avant d'avoir redémarré.

Supprimer des logiciels en sauvegardant la configuration

sudo apt-get remove <nom du programme inutilisé à supprimer>

ou

sudo aptitude remove <nom du programme inutilisé à supprimer>

Supprimer des logiciels en supprimant la configuration

(peut régler des problèmes de configuration et permet de restaurer ceux par défaut)

sudo apt-get purge <nom du programme inutilisé à supprimer>
La commande
apt-get remove --purge

est devenue obsolète avec l'apparition de la commande

apt-get purge

Ce sont des alias.

ou

sudo aptitude purge <nom du programme inutilisé à supprimer>

OU

Graphiquement Aller dans synaptic, choisir le mode d'affichage des paquets par etat et sélectionner les paquets non installés (résidus de configuration), puis sélectionner un des paquets non installés puis faire un Ctrl+A pour les sélectionner tous et choisir l'option supprimer complètement.

Supprimer les logiciels orphelins

Il arrive qu'après suppression d'un logiciel, des modules ou des dépendances non-requises ne soient pas supprimées.

Pour les repérer, il suffit simplement d'installer "deborphan"

sudo apt-get install deborphan

La commande "deborphan" listera les logiciels que vous pourrez supprimer sans risque. Pour les enlever en une commande (il faut relancer la commande tant que des paquets sont supprimés) :

sudo aptitude remove $(deborphan) --purge 

ou

sudo apt-get purge $(deborphan)

et avec apt-get :

sudo apt-get autoremove --purge `deborphan` 
Attention. Certaines dépendances ne sont pas correctement définies au niveau du paquet lui même et deborphan peut supprimer un composant qui peut vous être utile (c'était le cas par exemple avec libavcodec-extra-52, ou encore nautilus-dropbox).

Après suppression, vous devrez réinstaller ce qu'il ne fallait pas enlever. Mais il vous est aussi possible de spécifier quels paquets deborphan doit ignorer à l'aide de l'option -e.

Les résidus des logiciels supprimés

Avec dpkg ( dpkg puisque apt-get ne peut pas faire ce que aptitude fait )

sudo dpkg -P `dpkg -l | grep "^rc" | tr -s ' ' | cut -d ' ' -f 2`

ou

sudo dpkg --purge $(COLUMNS=200 dpkg -l | grep "^rc" | tr -s ' ' | cut -d ' ' -f 2)

OU avec aptitude :

sudo aptitude purge `dpkg -l | grep "^rc" | tr -s ' ' | cut -d ' ' -f 2`
Voici enfin la commande qui supprime aussi les fichiers dans la corbeille de toutes les autres partitions lisibles sous GNU/Linux Ubuntu : C'était pas compliqué !!
Vous devez avoir un accès en lecture et en écriture, si vous n'avez pas accès en écriture sur vos partitions, cette commande ne sert à rien, passez donc cette étape !
Vérifier les corbeilles :

Sous Hardy et versions suivantes : Du home :

nautilus ~/.local/share/Trash/files

Des partitions : Sous Hardy la suppression des fichiers est définitive.

Sous Dapper : Du home :

nautilus ~/.Trash

Des partitions

nautilus `find /media -maxdepth 2 -name ".Trash*"`

Attention, ça ouvre une fenêtre d'explorateur par corbeille trouvée, c'est assez violent ;-)

Vider les corbeilles

Sous Jaunty et versions suivantes : Vider toutes les corbeilles

for v in $(find / -maxdepth 4 -name ".Trash*"); do rm --preserve-root -R "$v"; done

Sous Hardy/Intrepid Vider la corbeille du répertoire home de GNU/Linux :

rm -r -f ~/.local/share/Trash/files/* 

Sous Dapper : Vider la corbeille du répertoire home de GNU/Linux :

rm -r -f ~/.Trash/* 

Vider toutes les corbeilles :

find /media -maxdepth 2 -name ".Trash*" -delete
Vider la corbeille via le dossier Corbeille, d'après mon test sur un Gutsy ne vide pas les corbeilles des autres partitions, mais seulement des supports amovibles.
On a spécifié de rechercher uniquement dans /media, qui par défaut contient toutes les partitions et les medias amovibles. Cependant, dès qu'on monte les partitions dans un autre dossier ( /mnt sous Debian par exemple ), cette commande n'ira pas chercher dedans. Il faut donc exécuter la commande sur /mnt :
nautilus `find /mnt -maxdepth 2 -name ".Trash*"` # pour un affichage graphique
find /mnt -maxdepth 2 -name ".Trash*" -delete  # pour un effaçage direct

Lors de l'utilisation de la commande rm avec un joker (*.dat, par exemple), bash commence par créer la liste de fichiers correspondant au joker avant de la passer à la commande rm. Si cette liste est trop longue, vous obtenez un message d'erreur du type :

bash: /usr/bin/rm: Liste d'arguments trop longue

Pour contourner ce problème, il faut passer les arguments (fichiers à supprimer) 1 par 1 à la commande rm à l'aide d'un script, ou alors utiliser la commande find :

find ./ -type f -name '*.dat' -delete

Explication : la commande find permet de faire une recherche; -type f: spécifie que l'on recherche des fichiers ; -name '*.dat': spécifie le nom des fichiers à rechercher (ici tous les fichiers se terminant par l'extension .dat) ; -delete: supprime les fichiers trouvés.

Pour plus d'information, 'man find' dans le terminal vous expliquera tout pour ne pas faire de bêtises.

Sous Gnome avec Nautilus, durant la navigation dans les dossiers de photos, les icônes des fichiers sont une version plus petite de l'image. À force et bien que l'espace occupé ne soit pas astronomique, elles s'entassent dans le dossier "~/.thumbnails/normal". Son contenu peut être supprimé. La commande suivante permet de supprimer tous les thumbnails de plus de 7 jours.

find ~/.thumbnails -type f -atime +7 -delete

Extrait du site : http://packages.debian.org/stable/admin/localepurge

"Simple script qui récupère l'espace sur le disque gaspillé par des fichiers de locales et des pages de manuel localisées non nécessaires. Il sera automatiquement invoqué à chaque installation avec apt."

Veuillez noter que vous devez faire extrêmement attention pendant l'installation.

Pendant l'installation il vous sera demandé de choisir la langue à conserver ! Attention si vous ne choisissez aucune langue le script n'hésitera pas à tout supprimer ! et vous aurez des problèmes lors du prochain redémarrage.

Pour l'installer et le configurer il suffit de taper :

sudo apt-get install localepurge

Pendant l'installation choisissez (touche haut/bas pour déplacer, sélection de la langue avec la barre espace) la langue d'installation de votre système : en l'occurrence FR pour français.

Pour le lancer il faut ouvrir un terminal et valider la commande :

La commande suivante ne demande aucun paramètre, elle s'exécute directement sans confirmation et le résultat du nettoyage s'affiche
sudo localepurge
En cas de problème il faut réinstaller les locales :
sudo apt-get install --reinstall locales

OU

sudo aptitude reinstall locales

Ce sont les fichiers cachés qui se terminent par un "~". Ils servent de sauvegarde au cas où le fichier source (texte, html, php, conf, … ) serait supprimé ou modifié accidentellement. Ils s'accumulent, s'accumulent…

Vous devez vérifier que cette commande ne supprime pas vos configurations sauvegardées. Par conséquent, il est recommandé de ne pas utiliser la commande sudo (qui pourrait altérer des fichiers ne se trouvant pas dans /home).

(merci à Yannick_LM) Voir les fichiers à supprimer peut prendre beaucoup de temps mais vous permet de vérifier si les fichiers sont légitimes ou pas :

find ~/ -name '*~' -print0 

Afficher la liste avec un retour à la ligne :

find ~/ -name '*~'

Supprimer sans confirmation :

find ~/ -name '*~' -print0 | xargs -0 rm

Pour supprimer des anciens noyaux, se reporter à la section Suppression des anciens noyaux de la page kernel.

Ceci est juste une proposition, histoire d'automatiser la chose, la personnalisation du script n'est pas le sujet de cet article, mais si vous constatez des bugs ou si vous n'arrivez pas à créer votre propre script je vous conseille de lancer un fil de discussion ici :Forum Ubuntu des développeurs ou de me contacter le cas échéant

Voici un script qui permet d'accélérer ces manipulations pour les allergiques aux lignes de commande : maintenir_systeme

Si vous n'avez pas confiance en ce script je propose de créer le vôtre.

Étape 1, Choisissez vos lignes de commande :

sudo aptitude autoclean
rm -r -f ~/.Trash/*

Etape 2, Créez un fichier nettoyage.sh par exemple et remplissez-le :

nano nettoyage.sh

copiez-collez les lignes de commande :

sudo aptitude autoclean
rm -r -f ~/.Trash/*
find ~/.thumbnails -type f -atime +7 -exec rm {} \;

Etape 3, Personnalisez son exécution :

echo "script Nettoyage UBUNTU"
sudo aptitude autoclean
echo "Paquets périmés supprimés OK"
sleep 3
find ~/.thumbnails -type f -atime +7 -exec rm {} \;
echo "Supression des icones. OK"
rm -r -f ~/.Trash/*
echo "Suppression de la CORBEILLE vide. OK"
sleep 3
find ~/ -name '*~' -exec rm {} \;
echo "Suppression des fichiers temporaires du dossier HOME terminant par ~ terminé. OK"
echo "TERMINÉ"

Etape 4, Vérifiez les fichiers de la corbeille (récupération impossible)

Etape 5, Exécuter-le (après l'avoir rendu exécutable):

chmod +x nettoyage.sh
sh nettoyage.sh

DRAFT

Vous avez une idée de nettoyage ? Écrivez-la après cette note en attendant qu'un des contributeurs expérimentés la valide et l'inclue dans les parties précédentes

Quant apt-get ne fonctionne plus pour raison de manque d'espace

Je suis tombé récemment sur un problème d'espace pour l'installation d'un nouveau noyau. Après avoir répertorié tous les noyaux disponibles, j'ai commencé à les supprimer manuellement dans le répertoire /boot et dans le menu.lst de grub afin d'éviter toute erreur postérieure, je dirai que c'est un peu bourrin mais visiblement cela fonctionne. Par exemple suppression du noyau 2.6.28-19

cd /boot
find ./ -name "*2.6.28-19*"
rm ./vmlinuz-2.6.28-19-server
rm ./config-2.6.28-19-server
rm ./abi-2.6.28-19-server
rm ./System.map-2.6.28-19-server
rm ./vmcoreinfo-2.6.28-19-serve
rm ./initrd.img-2.6.28-19-server

et suppression dans le menu.lst de grub de la ligne correspondante

Vider le cache de votre navigateur internet

Epiphany :

En mode graphique : Édition → Préférences → Confidentialité → Fichiers temporaires → Effacer

Sinon vider le répertoire ~/.gnome2/epiphany/mozilla/epiphany/Cache

Firefox : Outils → Supprimer l'historique récent… → Cache

Effacer les fichiers temporaires d'Adobe Flash Player

rm -r ~/.adobe/Flash_Player;rm -r ~/.macromedia/Flash_Player

Effacer les fichiers temporaires d'Adobe Flash Player à chaque lancement du navigateur (ici Firefox)

Changer le raccourci du navigateur en:

rm -r ~/.adobe/Flash_Player;rm -r ~/.macromedia/Flash_Player;firefox %u

cherche dans les dossiers les fichiers finissant par tilde

find $HOME -name "*~" -a ! -path "$HOME/.local/share/Trash*" -ok mv "{}" ~/.local/share/Trash/files/ \;

find /var/www/ -name "*~" -a ! -ok mv {} ~/.local/share/Trash/files/ \;

Effacer les fichiers plus vieux de X jours dans un dossier

Dans le dossier courant, effacer tous les fichiers plus vieux de 15 jours :

find . -mtime +15 -print -exec rm "{}" \;

Sinon, un script qui récupère un argument (ici les fichiers plus vieux de n'importe quel nombre de jours) :

!#/bin/bash

echo "Saisissez le dossier dans lequel vous souhaitez supprimer les fichiers [chemin]."
read chemin
cd $chemin
if [$? = 1]
then
  echo "Le chemin est incorrect."
  echo "Vous vous situez dans le dossier suivant :"
  pwd
  echo "Ce script choisira le dossier dans lequel vous vous situez pas défaut. Continuer ? [o/n]
  read rep1
else
  rep1='o'
fi
if [$rep1 = 'o']
then
  echo "Supprimer les fichiers vieux de combien de temps ? [En nombre de jours]"
  read cbTemps
  find . -mtime +$cbTemps -print -exec rm "{}" \;
  if [$?=1]
  then
    echo "Une erreur est survenue. Interruption du script."
  else
    echo "Suppression des fichiers vieux de plus de $cbTemps jour(s) réussie. Interruption du script."
  fi
else
  echo "Interruption du script en cours."
fi
  • nettoyer_ubuntu.1368033009.txt.gz
  • Dernière modification: Le 08/05/2013, 19:10
  • par mydjey