{{tag>administration optimisation}}
----
====== Nettoyer Ubuntu ======
La maintenance d’un système d’exploitation vise à le rétablir dans un état spécifié afin que ce système soit en mesure d’assurer un service déterminé.
En informatique logicielle, on parle assez régulièrement de trois types de maintenance :
***la maintenance corrective** : elle consiste à corriger les défauts de fonctionnement ou les points de non-conformité 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. On entend par logiciel de base un logiciel requis pour l’exécution d’une application, à savoir par exemple un système d’exploitation ou système de gestion de base de données (SGBD).
===== 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]]
*[[:aptitude]]
*[[:DebOrphan]] (pour les paquets "orphelins")
*[[Jdupes]] Permet de supprimer les fichiers en double. Attention à son usage, il n'a pas de "corbeille" pour restaurer en cas d'erreur, et créer des hardlinks peut créer des problèmes en cas de partage entre plusieurs profils ou plusieurs users (?).
====En mode graphique====
*[[:Stacer]] (Alternative à IObit Advanced System Care pour Windows)
*[[:Bleachbit]]
*[[wu>SystemCleanUpTool]]
*[[:fslint]] Fslint-unofficial (snap) dit être une tentative de ressusciter fslint disparu des dépôts depuis 18.04, et renvoie également vers Czkawka qu'il dit une meilleure solution.
*[[Czkawka]] (flatpak, snap ou PPA). Successeur de fslint.
*[[:deborphan|GtkOrphan]] (pour les paquets orphelins)
*[[https://github.com/gerardpuig/ubuntu-cleaner|ubuntu cleaner]]
*Enregistrer des fichiers plus légers pour gagner de l'espace disque.
*Télécharger seulement le nécessaire des médias ou contenus. Avec différents logiciels ou addons de téléchargement qui permettent d'enregistrer la musique d'une vidéo, ou une version de poids inférieur.
*L'extension de navigateur [[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.
*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//
*[[Metadata-cleaner]]. Nettoie les métadonnées des fichiers pour un gain d'espace et de sécurité.
*Découpage de vidéos.\\ Par exemple pour les vidéos de type GoPro, supprimer les parties inutiles pour retrouver des dizaines de Go. Surtout de façon "lossless", c'est-à-dire sans perte de qualité, dégradation qu'un logiciel pourrait créer parce qu'il ajouterait une conversion non voulue à l'opération de découpe. Cela peut être fait en ligne de commande (avec ffmpeg en particulier), ou via un logiciel.\\
*[[LosslessCut]] (flatpak ou snap).
*[[VidCutter]] (flatpak ou snap).
*[[Plumber]] (snap). (Lossless?).
=====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 :sudo apt autoclean
*Supprimer tout le [[dossiers_et_fichiers_caches|cache]] :sudo apt clean
*Supprimer les paquets installés automatiquement comme dépendances et devenus inutiles :sudo apt autoremove
________
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====
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é.
===En conservant la configuration===
Depuis un [[:terminal]] en saisissant la [[:commande_shell|commande]] suivante:
sudo apt remove
===En supprimant la configuration===
//(Peut régler des problèmes de configuration et permet de restaurer ceux par défaut)//
sudo apt purge
===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 de configuration logiciels supprimés===
À partir d'Ubuntu 20.04, pour voir les paquets qui ont laissé des résidus de configuration (rc) :
apt list ~c
Pour supprimer tous les résidus de configuration :
sudo apt purge ~c
Pour les versions plus anciennes :
dpkg -l | grep ^rc
dpkg -l | grep ^rc | cut -d' ' -f3 | xargs sudo dpkg -P
====Vider toutes les corbeilles====
Vérifier le contenu des corbeilles avant toute suppression.
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 rm -r -f ~/.local/share/Trash/*/*
**Attention !** Surtout **aucun** espace après le tilde "~" !
====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 ''~/.cache/thumbnails/''. Son contenu peut être supprimé. La commande suivante permet de supprimer tous les thumbnails de plus de 7 jours.
find ~/.cache/thumbnails -type f -atime +7 -delete
====Supprimer les fichiers « locaux » inutiles====
Extrait du site : https://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 ! \\
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?).
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 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 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. 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
====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 :
sudo journalctl --vacuum-size=200M
Cette commande réduit **temporairement** la taille à 200 Mo mais vous pouvez choisir une autre valeur. \\ Il est possible de paramétrer la taille maximale de ces fichiers dans /etc/systemd/journald.conf. Cependant cette modification est perdue si survient une nouvelle livraison logicielle.\\ La bonne pratique est de mettre les modifications dans le répertoire prévu qu'il faut d'abord créer et initialiser.
sudo mkdir -v /etc/systemd/journald.conf.d
echo [Journal] | sudo tee /etc/systemd/journald.conf.d/01-modif.conf
La commande suivante permet de limiter la taille totale à 1 Go Maxi :
echo SystemMaxUse=1G | sudo tee -a /etc/systemd/journald.conf.d/01-modif.conf
La commande suivante permet de limiter le nombre de fichiers journaux: \\
echo SystemMaxFiles=25 | sudo tee -a /etc/systemd/journald.conf.d/01-modif.conf
La commande suivante permet de limiter la durée de vie des journaux: \\
echo MaxRetentionSec=3month | sudo tee -a /etc/systemd/journald.conf.d/01-modif.conf
Pour prendre en compte les changements :
systemctl restart systemd-journald.service
====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 :
snap list --all
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 :
LANG=C snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision ; do sudo snap remove "$snapname" --revision="$revision" ; done
====Supprimer ou réduire l'espace disque réservé====
(Inexactitudes possibles attention, non approfondi et écrit par un non spécialiste! Mention à supprimer si inutile après corrections éventuelles.)\\
Lors de la création d'une partition en format ext4 (ou ext3 ou 2), 5% de l'espace disque est automatiquement réservé à l'écriture d'informations pouvant être utiles à la sécurité ou la récupération de données, cet espace est donc enlevé de votre usage personnel (installation de logiciels, enregistrement de fichiers...). Une taille de 1Go (voire 200Mo?) semble suffisante (?), mais pour 100Go, 5Go sera réservé, et pour 2To, ce sera 100Go. Et cette fonctionnalité semble utile uniquement pour les partition "/" (ou /var si vous en avez une), et pas sur les partitions "/home" ou les "partitions de données" si vous en avez (ou bien en conserver une peut éviter de la fragmentation de fichiers?).\\
2 solutions possibles par exemple:
*Garder leur grande taille aux partitions où l'espace réservé est utile ("/" a priori) mais réduire cet espace.\\ Pour cela passer la commande sudo tune2fs -m n /dev/sdxn
**n**: est à 5 par défaut, mettre à 1, 1.2, etc selon ce que vous voulez.\\ **xn**: identifier votre partition avant de passer la commande.
*Réduire ces partitions où l'espace réservé est utile, et le conserver, sa taille sera alors d'autant réduite (ce qui ne vous empêche pas pour autant d'encore modifier cette taille via la commande précédemment indiquée).\\ Puis créer (si ce n'est déjà fait) une partition réservée aux données (vidéos, audio, isos Linux...), car une telle partition qui a des chances d'être la plus grande en taille n'a pas usage de l'espace réservé (?), et il peut donc y être mis à 0 (ou garder par exemple 100Mo si cela évite la fragmentation?).
=====Voir aussi=====
*[[https://forum.ubuntu-fr.org/viewtopic.php?id=157235|forum.ubuntu-fr » Trucs, astuces et scripts utiles » nettoyer ubuntu en profondeur]] date de 2008 discussion sur cette page à l'époque ?
*[[https://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]]
*[[https://forum.ubuntu-fr.org/viewtopic.php?id=25471|forum.ubuntu-fr » effacer tous les fichiers Thumbs.db générer par windows]]
//Contributeurs : [[:utilisateurs:yurek]], [[:utilisateurs:Jean-Lux]], [[:utilisateurs:macsim]],[[:utilisateurs:yvecai]], [[:utilisateurs:black_leunix]], Robert DEDENON (Infos:Bazar).//