Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nettoyer_ubuntu [Le 15/04/2017, 21:23] – [Le second onglet : Nettoyant pour système] 86.209.182.92nettoyer_ubuntu [Le 27/12/2020, 09:59] (Version actuelle) – [Supprimer les fichiers temporaires des fichiers d'installation] lien interne pour conprendre la fonction du dossier benney
Ligne 1: Ligne 1:
 +{{tag>administration optimisation}}
  
 +----
 +
 +====== Nettoyer Ubuntu ======
 +La maintenance d'un système d'exploitation vise à maintenir ou à rétablir un bien dans un état spécifié afin que celui-ci soit en mesure d'assurer un service déterminé.
 +
 +En informatique logicielle, on parle assez régulièrement de 3 types de maintenance :
 +
 +  * **la maintenance corrective** : elle consiste à corriger les défauts de fonctionnement ou les non-conformités d'un logiciel,
 +  * **la maintenance évolutive**  : elle consiste à faire évoluer l'application en l'enrichissant de fonctions ou de modules supplémentaires, ou en remplaçant une fonction existante par une autre, voire en proposant une approche différente.
 +  * **la maintenance adaptative** : sans changer la fonctionnalité du logiciel, elle consiste à adapter l'application afin que celle-ci continue de fonctionner sur des versions plus récentes des logiciels de base, voire à faire migrer l'application sur de nouveaux logiciels de base (un logiciel de base étant un logiciel requis pour l'exécution d'une application ; exemples : système d'exploitation, système de gestion de base de données).
 +
 +===== Pré-requis =====
 +  * Disposer des [[:sudo|droits d'administration]].
 +  * Disposer d'une connexion à Internet configurée et activée.
 +
 +===== Logiciels permettant de maintenir et nettoyer son système =====
 +====Depuis un terminal====
 +  * [[apt-get]]
 +  * [[:aptitude]]
 +  * [[:DebOrphan]] (pour les paquets "orphelins")
 +  * 
 +====En mode graphique====
 +  * [[:Stacer]] (Alternative à IObit Advanced System Care pour Windows)
 +  * [[:Bleachbit]]
 +  * [[wu>SystemCleanUpTool]]
 +  * [[:fslint]]
 +  * [[:deborphan|GtkOrphan]] (pour les paquets orphelins)
 +  * Extension Firefox [[https://addons.mozilla.org/fr/firefox/addon/singlefilez/|SingleFileZ]]. Permet d'enregistrer les pages internet en un seul fichier compressé en zip, et auto-extractibles (pas de manipulation supplémentaire pour l'ouvrir dans Firefox). Leur taille semble pouvoir parfois être réduite jusqu'à deux fois, soit un gain d'espace sur le disque.
 +
 +
 +===== Pour un usage courant =====
 +Pour un usage courant qui répondra à 99% des utilisateurs lambda, il est recommandé :
 +  - De vider la poubelle
 +  - Si cela ne suffit pas, utiliser un logiciel type "CCleaner" :
 +    - [[stacer|Stacer]] pour les débutants
 +    - [[bleachbit|BleachBit]] pour un usage plus avancé
 +
 +
 +===== Avec le terminal, un peu plus de complexité =====
 +==== Supprimer les fichiers temporaires des fichiers d'installation ====
 +
 +Supprimez les paquets .deb pour gagner de la place, car après plusieurs installations les paquets téléchargés s'accumulent et utilisent beaucoup d'espace. Ces paquets d'installation sont sauvegardés dans le dossier **/var/cache/apt/archives/**
 +
 +__Précision:__ Les paquets téléchargés ne servent à rien si vous avez Internet. Il vous permettront uniquement de réinstaller des applications en mode hors ligne. Leur suppression n'engendre pas la suppression des applications déjà installées grâce à ces paquets.\\
 +Depuis un [[:terminal]] en saisissant les [[:commande_shell|commandes]] suivantes:
 +  * Supprimer le cache des paquets périmés :<code>sudo apt autoclean</code>
 +  * Supprimer tout le [[dossiers_et_fichiers_caches|cache]] :<code>sudo apt clean</code>
 +  * Supprimer les paquets installés comme dépendances et devenus inutiles :<code>sudo apt autoremove</code>
 +________
 +les fichiers dans .cache ou .thumbnails dans home/NOM/ peuvent prendre beaucoup de place\\
 +par exemple home/NOM/.cache/VMWARE/drag_and_drop (plusieurs Go)\\
 +le logiciel "Représentation graphique du disque" permet de trouver les éléments de grande taille\\
 +à vous de les supprimer (à bon escient) ensuite !
 +
 +==== Suppression de logiciels ====
 +
 +<note warning>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é.</note>
 +Depuis un [[:terminal]] en saisissant les [[:commande_shell|commandes]] suivantes:
 +=== En sauvegardant la configuration===
 +<code>sudo apt-get remove <nom du paquet inutilisé à supprimer></code>
 +
 +===En supprimant la configuration ===
 +//(Peut régler des problèmes de configuration et permet de restaurer ceux par défaut)//
 +Depuis un [[:terminal]] avec la [[:commande_shell|commande]] suivante:
 +<code>sudo apt-get purge <nom du paquet inutilisé à supprimer></code>
 +
 +===Supprimer les logiciels orphelins ===
 +Il arrive qu'après suppression d'une application, des modules ou des dépendances non-requises ne soient pas supprimées. L'application [[:DebOrphan]] permet de supprimer les paquets orphelins.
 +
 +===Les résidus des logiciels supprimés ===
 +Depuis un [[:terminal]] avec la [[:commande_shell|commande]] suivante :
 + <code>[[ $(dpkg -l | grep ^rc) ]] && sudo dpkg -P $(dpkg -l | awk '/^rc/{print $2}') || echo "Aucun résidu trouvé."</code>
 +
 +
 +==== Vider toutes les corbeilles ====
 +<note important>Vérifier le contenu des corbeilles avant toute suppression.</note>
 +Sous %%GNU/linux%%, les objets déplacés dans la corbeille sont mis dans un dossier nommé **Trash ** accompagné ou pas d'autres caractères. Ces autres caractères sont\\ 
 +-999 pour une session live,\\ 
 +-1000 pour l'utilisateur principal,\\ 
 +-1001, -1002 etc. pour les éventuels autres comptes,
 +  * Pour votre espace personnel, ce dossier est situé dans le dossier [[:fichier_cache|caché]] **.local/share/Trash** de votre dossier personnel.
 +  * Pour les unités externes [[:montage|montées]], (clés USB, cartes SD, unités distantes) il est [[:fichier_cache|caché]], se nomme **.Trash-1000** et est situé à la racine de la [[:montage|partition montée]] (Si le dossier **.Trash-1000** n'existe pas encore ou a été supprimé, il sera (re)créé à la prochaine utilisation de la corbeille). \\ 
 +:!:  La corbeille d'Ubuntu, sous la forme d'une icône ou de l'adresse **%%trash:///%%** fonctionne comme un raccourci vers  **les** corbeilles de **toutes** les [[:montage|partitions montées]].  C'est pourquoi elle ne correspond à aucun emplacement unique.
 +\\ 
 +  * Pour vérifier le contenu, il suffit d'un petit clic sur l'icône de la corbeille au bas de la [[:unity_launcher|barre des lanceurs]] ou sur le bureau selon la [[:variante|variante d'Ubuntu]] ou encore dans l’explorateur de fichiers.
 +  * Pour supprimer les éléments, il suffit de les sélectionner puis de supprimer.
 +  * Pour tout supprimer, cliquer sur le bouton **vider**.
 +  * Pour vider une corbeille d'une unité externe [[:montage|montée]] (clés USB, cartes SD, unités distantes), il suffit de supprimer le dossier **.Trash-1000** de l'unité.
 +  * Pour vider uniquement la corbeille de votre espace personnel, **coller** dans un [[:terminal]] la [[commande_shell|commande]] suivante <code>rm -r -f ~/.local/share/Trash/*/*</code>
 +<note warning>**Attention !** Surtout **aucun** espace après le tilde "~" !</note>
 +
 +==== 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 :
 +<code>bash: /usr/bin/rm: Liste d'arguments trop longue</code>
 +
 +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 :
 +<code>find ./ -type f -name '*.dat' -delete</code>
 +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.
 +
 +<code>find ~/.thumbnails -type f -atime +7 -delete</code>
 +
 +==== Supprimer les fichiers « locaux » 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."
 +
 +<note important>Veuillez noter que vous devez faire extrêmement attention pendant l'installation ! \\
 +De plus, sur la page de documentation dédiée à ce programme [[:localepurge]]
 +il est précisé que "//Cet outil n'est pas intégré au système de gestion de paquets d'Ubuntu [...].  Vous ne devriez pas utiliser cet outil si vous n'assumez pas les possibles problèmes qu'il peut causer sur votre système.//" Sur le forum, on peut d'ailleurs lire les mésaventures de plusieurs utilisateurs (débutants?).
 + </note>
 +
 +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 :
 +<code>sudo apt-get install localepurge</code>
 +
 +**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 :
 +<note important>La commande suivante ne demande aucun paramètre, elle s'exécute directement sans confirmation et le résultat du nettoyage s'affiche</note>
 +<code>sudo localepurge</code>
 +
 +<note help>En cas de problème il faut réinstaller les locales : <code>sudo apt-get install --reinstall locales</code> OU <code>sudo aptitude reinstall locales</code></note>
 +
 +==== 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...
 +
 +<note warning>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**).</note>
 +
 +(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 :
 +<code>find ~/ -name '*~' -print0 </code>
 +Afficher la liste avec un retour à la ligne :
 +<code>find ~/ -name '*~'</code>
 +Supprimer sans confirmation :
 +<code>find ~/ -name '*~' -print0 | xargs -0 rm</code>
 +
 +====Suppression des anciens noyaux =====
 +
 +Pour supprimer des anciens noyaux, se reporter à la section [[kernel#suppression_des_anciens_noyaux|Suppression des anciens noyaux de la page kernel]].
 +
 +====Réduire la taille des fichiers journaux====
 +
 +Depuis la version 16.04, [[systemd|systemd]] est le processus principal de gestion du système et il enregistre tous les évènements dans un "journal" (répertoire /var/log/journal/). Par défaut, celui-ci peut atteindre 4 Go. Pour réduire sa taille :
 +<code>sudo journalctl --vacuum-size=200M</code>
 +Cette commande réduit la taille à 200 Mo mais vous pouvez choisir une autre valeur. Il est possible de paramétrer la taille maximal de ces fichiers dans /etc/systemd/journald.conf.
 +
 +====Supprimer les versions désactivées des snap====
 +
 +Les paquets [[snap|Format Snap]] sont des applications "tout en un" qui se mettent à jour un peu indépendamment du système principal (on peut avoir ainsi la dernière version logicielle sur un système plus ancien). Mais lors de la mise à jour vers une nouvelle version, une ou deux versions précédentes restent en place, désactivées. Comme ces paquets contiennent leurs propres dépendances, ils peuvent être assez volumineux.
 +Pour voir la liste, taper :
 +<code>snap list --all</code>
 +Pour supprimer l'ensemble des versions désactivées, un intervenant du Forum [[https://forum.ubuntu-fr.org/viewtopic.php?id=2033311|Nany]] propose la commande suivante :
 +<code>snap list --all | awk '/désactivé|disabled/{print $1, $3}' | while read snapname revision; do sudo snap remove "$snapname" --revision="$revision"; done</code>
 +
 +==== Vider le cache de votre navigateur internet ====
 +
 +  * Firefox : //Historique → Supprimer l'historique récent... → Cache//
 +  * Brave : //Historique → Effacer les données de navigation →// Tout déselectionner excepté : //Images et fichiers en cache//
 +===== Script personnel=====
 +
 +<note>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</note>
 +Voici un script qui permet d'accélérer ces manipulations pour les allergiques aux lignes de commande :
 +
 +<note> Vous pouvez aussi utiliser UbuntuCleaner, une alternative libre qui automatise le nettoyage de votre système : [[https://github.com/GMornat/UbuntuCleaner]]</note>
 +Sinon pour un nettoyage automatique basique, vous pouvez créer le script suivant :
 +
 +Etape 1, Créez un fichier nettoyage.sh par exemple et remplissez-le :
 +<code>nano nettoyage.sh</code>
 +
 +Etape 2, Copiez-collez les lignes de commande :
 +<code>
 +#!/bin/sh
 +echo "Script de nettoyage d'Ubuntu"
 +sudo apt-get autoclean
 +echo "Les paquets périmés ont été supprimés OK"
 +sleep 3
 +find ~/.thumbnails -type f -atime +7 -exec rm {} \;
 +echo "Icônes supprimés"
 +rm -r -f ~/.local/share/Trash/files/
 +echo "Corbeille vidée"
 +sleep 3
 +find ~/ -name '*~' -exec rm {} \;
 +echo "Fichiers temporaires (terminant par ~) du dossier HOME ont été supprimés"
 +echo "Nettoyage terminé"
 +</code>
 +
 +Etape 3, Exécutez-le (après l'avoir rendu exécutable):
 +<code>chmod +x nettoyage.sh</code>
 +<code>sh nettoyage.sh</code>
 +
 +<note> Pour un nettoyage plus approfondi, vous pouvez utiliser BleachBit. C'est un logiciel sous licence libre (GPL v3) qui permet de libérer de l'espace disque et de protéger la vie privée en effaçant les fichiers inutiles et temporaires du système. : [[:bleachbit]]</note>
 +
 +==== DRAFT =====
 +
 +<note idée> 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</note>
 +
 +===Quand 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
 +<code>
 +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-server
 +rm ./initrd.img-2.6.28-19-server
 +</code>
 +et suppression dans le menu.lst de grub de la ligne correspondante 
 +
 +===  Supprimer les fichiers d'installation des paquets téléchargés (et installés) ===
 +
 +<code>sudo rm /var/cache/apt/archives/*.deb</code>
 +
 +=== Effacer les fichiers temporaires d'Adobe Flash Player à chaque lancement du navigateur (ici Firefox)===
 +
 +Changer le raccourci du navigateur en:<code>rm -r ~/.adobe/Flash_Player;rm -r ~/.macromedia/Flash_Player;firefox %u</code>
 +
 +=== cherche dans les dossiers les fichiers finissant par tilde ===
 +<code>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/ \;</code>
 +
 +=== Effacer les fichiers plus vieux de X jours dans un dossier ===
 +<note>La commande suivante est génial mais risquée. Vérifier à 2 fois ce que vous faites et abstenez vous si vous avez le moindre doute</note>
 +Dans le dossier courant, effacer tous les fichiers plus vieux de 15 jours :
 +<code>find . -mtime +15 -print -exec rm "{}" \;</code>
 +
 +Sinon, un script qui récupère un argument (ici les fichiers plus vieux de n'importe quel nombre de jours) :
 +
 +<code>
 +#!/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 jours) réussie. Interruption du script."
 +  fi
 +else
 +  echo "Interruption du script en cours."
 +fi
 +</code>
 +
 +===Au démarrage, vider la corbeille de ses vieux fichiers===
 +Dans les paramètres, session et démarrage, ajouter cette commande pour supprimer automatiquement les fichiers de plus de 30 jours.
 +Ça peut éviter la bête panne du PC trop plein…
 +<code>find ~/.local/share/Trash/files/ -mtime +30 -delete</code>
 +
 +===== Voir aussi =====
 +  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=157235|forum.ubuntu-fr » Trucs, astuces et scripts utiles » nettoyer ubuntu en profondeur]]
 +  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=140808|forum.ubuntu-fr » Installation de logiciels et changements de version » Comment supprimer les paquets qui n'existe pas dans les sources?]]
 +  * [[http://macsim.labolinux.net/index.php/post/2006/10/02/3-aptitude-vs-apt-get | macsim.labolinux » Aptitude Vs Apt-get]]
 +//Contributeurs : [[:utilisateurs:yurek]], [[:utilisateurs:Jean-Lux]], [[:utilisateurs:macsim]],[[:utilisateurs:yvecai]], [[:utilisateurs:black_leunix]], Robert DEDENON (Infos:Bazar).//