{{tag>administration}} ---- ====== 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.// FIXME À coordonner avec les pages [[apt-get]] et [[aptitude]] dans les parties nettoyage. 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//). * [[bleachbit|Bleachbit]] * [[Ubuntu Tweak]] * [[https://wiki.ubuntu.com/SystemCleanUpTool|SystemCleanUpTool]] * [[fslint]] Site Officiel [[http://www.pixelbeat.org/fslint/|Fslint]] * [[:kleanswep/|KleanSweep]] =====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** ((Il y a parfois quelques incompatibilités et conflits si l'on utilise les deux. Or [[:Synaptic]] étant basé sur « apt-get », tout comme « Ajouter/Enlever… », il vaut mieux n'utiliser que **apt-get**.)). === 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 ===== 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 ou sudo aptitude remove ====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 --purge ou sudo aptitude purge 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. Est-ce que le paramètre autoremove de apt-get ne rempli pas les mêmes fonctions que deborphan ? 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` 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). 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===== Voici enfin la commande qui supprime aussi les fichiers dans la corbeille de toutes les autres partitions lisibles sous [[:gnu|GNU]]/[[:linux|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 ===== 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." 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 ===== 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... vous devez vérifier que cette commande ne supprime pas vos configurations sauvegardées, et vos fichiers légitimes que vous avez volontairement nommés avec un ~ à la fin NE PAS utiliser la commande SUDO, je vous déconseille fortement de supprimer les fichiers de configuration se trouvant dans les autres répertoires de la racine (autre que /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 Supprimer sans confirmation : find ~/ -name '*~' -print0 | xargs -0 rm =====Suppression des anciens noyaux ===== La suppression des anciens noyaux vous permet certes de gagner de la place, mais cette manipulation est à faire avec une grande attention ! 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. Si vous pouvez (question d'espace disque), je vous conseille fortement de ne supprimer que les noyaux anciens de plus de 2 niveaux Cette fonctionnalité est incluse dans [[:maintenir_systeme]] ==== 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. Si vous supprimez tous les paquets //linux-image//, Ubuntu ne pourra plus être amorcé et vous devrez réinstaller Linux depuis le live CD. ===== Script personnel===== 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 :[[http://forum.ubuntu-fr.org/viewforum.php?id=35|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 === 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 ===== Voir aussi ===== * http://forum.ubuntu-fr.org/viewtopic.php?id=157235 * http://forum.ubuntu-fr.org/viewtopic.php?id=140808 * http://macsim.labolinux.net/index.php/post/2006/10/02/3-aptitude-vs-apt-get //Contributeurs : [[:utilisateurs:yurek]], [[:utilisateurs:Jean-Lux]], [[:utilisateurs:macsim]],[[:utilisateurs:yvecai]].//