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
Logiciels permettant de maintenir et nettoyer son système
- Logiciel de nettoyage présent dans Ubuntu à partir de la version 9.10 : Computer Janitor (menu Système → Administration → Nettoyage du système).
Pré-requis
apt-get ou aptitude ?
Ci-dessous nous utiliserons apt-get. Vous pouvez remplacer apt-get par aptitude, mais une fois votre choix fait, ne changez plus; et sur Gnome il est recommandé d'utiliser uniquement apt-get 1).
MAN la commande d'information
Pour ce qui est des commandes utilisées au cours de cette page je vous suggère de taper un man
dans votre terminal puis la commande utilisée, exemple :
man aptitude ou bien man apt-get
De façon plus générale, cette commande vous renseignera sur les options des commandes utilisées.
Si vous n'êtes pas sûr(e) d'avoir bien compris n'hésitez pas à entrer man man
dans un terminal et vous verrez !
Supprimer les fichiers temporaires des fichiers d'installation
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 on été installés grâce à ces paquets.
Supprimer uniquement les paquets périmés :
sudo apt-get autoclean
Supprimer tous les paquets téléchargés et installés :
sudo apt-get clean
Suppression de logiciels
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 remove <nom du programme inutilisé à supprimer> --purge
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.
autoremove : Avec la commande autoremove, apt-get supprime les paquets installés dans le but de satisfaire les dépendances d'un paquet donné et qui ne sont plus nécessaires.
Pour les repérer, il suffit simplement d'installer "deborphan"
sudo aptitude install deborphan
La commande "deborphan" listera les logiciels que vous pourrez supprimer sans risque. Pour les enlever en une commande :
sudo apt-get remove $(deborphan) --purge
ou
sudo aptitude purge $(deborphan)
et avec apt-get :
sudo apt-get autoremove --purge `deborphan`
Après suppression, vous devrez réinstaller ce qu'il ne fallait pas enlever.
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 avec aptitude :
sudo aptitude purge `dpkg -l | grep "^rc" | tr -s ' ' | cut -d ' ' -f 2`
Supprimer toutes les corbeilles APRÈS AVOIR VÉRIFIÉ LEURS CONTENUS
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
nautilus `find /mnt -maxdepth 2 -name ".Trash*"` # pour un affichage graphique find /mnt -maxdepth 2 -name ".Trash*" -delete # pour un effaçage direct
Supprimer un grand nombre de fichiers: "/usr/bin/rm: Liste d'arguments trop longue"
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.
Supprimer les miniatures des images
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
Supprimer les fichiers « locales » inutiles
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."
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 :
sudo localepurge
sudo apt-get install --reinstall locales
OU
sudo aptitude reinstall locales
Supprimer des fichiers de sauvegarde
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…
(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
Supprimer sans confirmation :
find ~/ -name '*~' -print0 | xargs -0 rm
Suppression des anciens noyaux
C'est lors de mises à jour importantes qu'un nouveau noyau est installé. La suppression des anciens noyaux donc des paquets linux-image-xxx linux-image-header-xxx est aussi un bon moyen de gagner de l'espace disque.
D'abord voir quelles sont les versions installées
Taper en ligne de commande dans un terminal sans utiliser la commande « sudo ».
dpkg -l | grep linux | cut -f 3 -d " "
OU
aptitude search ~i^linux
Puis appuyer deux fois sur la touche Tab (au dessus du verrou pour les majuscules) pour compléter la commande pour déterminer les noyaux à désinstaller.
Voici les réponses que j'ai :
linux32 linux-image-2.6.20-15-generic linux-headers-2.6.20-15 linux-image-2.6.20-16-generic linux-headers-2.6.20-15-generic linux-image-generic linux-headers-2.6.20-16 linux-libc-dev linux-headers-2.6.20-16-generic linux-sound-base linux-headers-generic
Déterminer les paquets d'anciennes versions (versions inférieures 2.6.20-15 et en dessous) Vous l'aurez compris la version 2.6.20-16 est la version que j'utilise et l'ancienne version est la version 2.6.20-15. Je vais donc seulement supprimer l'ancienne version. La suppression de ces anciens noyaux va aussi supprimer les lignes de démarrage du fichier de Grub sans supprimer d'autres lignes. Pas de panique donc si vous êtes en dual boot.
Supprimer les versions obsolètes
Il faut supprimer Certains paquets qui commencent par linux-headers- et le paquet commencant par linux-image- correspondant, les dépendances sont automatiquement supprimées. Ainsi, pour le noyau de version 2.6.20-15, il faut introduire la ligne de commande ci-dessous.
sudo apt-get remove linux-headers-2.6.20-15 linux-headers-2.6.20-15-generic linux-image-2.6.20-15-generic --purge
OU
sudo aptitude purge linux-headers-2.6.20-15 linux-headers-2.6.20-15-generic linux-image-2.6.20-15-generic
OU
utiliser synaptic ("suppression complète") pour supprimer les anciennes versions.
Script personnel
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
Quant apt-get ne fonctionne plus pour raison de manque d'espace
Je suis tomber récemment sur un problème d'espace pour l'installation d'un nouveau noyau. Après avoir répertorié tous les noyaux disponibles, via la commande décrite en début de chapitre, 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