{{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). Contrairement à d'autres systèmes d'exploitation, Ubuntu n'a pas besoin de procédure d'[[:entretien]] particulière, en dehors des mises à jour ordinaires, de [[:upgrade|mises à niveau]] tous les deux ans idéalement (privilégier les [[:lts|versions LTS]]), et de [[:sauvegarde|sauvegardes régulières]]. ===== Logiciels permettant de maintenir et nettoyer son système ===== ==== Depuis un terminal ==== * [[:apt-cli|apt]] * [[:aptitude]] * [[:DebOrphan]] (pour les paquets "orphelins") * [[:dupegurume]] Permet de supprimer les fichiers en double. ==== En mode graphique ==== * [[:Bleachbit]] est vivement déconseillé : ses réglages par défaut cassent régulièrement les systèmes des utilisateurs. * [[:deborphan#avec_l_interface_graphique|GtkOrphan]] : détecte et supprime les paquets orphelins. * [[:Czkawka]] ([[:flatpak]], [[:snap]] ou [[:PPA]]). Successeur de fslint. * [[:fslint]] : [[https://snapcraft.io/fslint-unofficial|Fslint-unofficial]] ([[:snap]]) est une tentative de ressusciter [[:fslint]], abandonné et disparu des [[:dépôts]] depuis [[:bionic|Bionic 18.04]], mais il renvoie vers [[:Czkawka]] qu'il présente comme une meilleure solution. * [[https://usekudu.com/|Kudu]] : outil de nettoyage et analyseur de sécurité Windows, macOS et Linux. Sur Linux il permet de libérer de l'espace disque en supprimant les fichiers temporaires et vidant les caches. Disponible en [[:deb]] et en [[:AppImage]] sur [[https://github.com/AdventDevInc/kudu/releases/latest|GitHub]]. * [[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ésélectionner 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]]). ===== Avec le terminal, un peu plus de complexité ===== ==== Supprimer les fichiers temporaires des fichiers d'installation ==== Supprimez les paquets ''[[:deb|.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/''. Les fichiers stockés dans ''.cache'' ou ''.thumbnails'' dans le [[:arborescence#répertoire personnel]] peuvent aussi prendre beaucoup de place. 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 ==== Suppression de logiciels ==== Attention à ne pas supprimer des paquets importants comme ''[[apt>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 [[:focal|Focal 20.04]] Pour voir les paquets qui ont laissé des résidus de configuration (''rc'') : apt list ?config-files ou abrégée : apt list ~c Pour les supprimer : sudo apt purge ?config-files ou abrégée : 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 stockés dans un répertoire ''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 comptes supplémentaires, * Pour votre espace personnel, ce répertoire est situé dans le répertoire [[:fichier_cache|caché]] ''~/.local/share/Trash''. * Pour les stockages externes [[:montage|montées]], (clés USB, cartes SD, stockages distants ou //[[:cloud]]//) il est [[:fichier_cache|caché]], se nomme ''.Trash-1000'' et est situé à la racine de la [[:montage|partition montée]] (Si le répertoire ''.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 sur le bureau selon la [[:variante|variante d'Ubuntu]] ou encore dans l’explorateur de fichiers. * Pour tout supprimer, cliquer sur le bouton //vider//. * Pour vider une corbeille d'un stockage externe [[:montage|monté]] (clé USB, carte SD, stockage distant), il suffit de supprimer le répertoire ''.Trash-1000'' du contenu monté. * Pour vider uniquement la corbeille de votre espace personnel, entrer dans un [[:terminal]] la [[commande_shell|commande]] suivante rm -r ~/.local/share/Trash/*/* **Attention** à ne pas vous tromper dans cette commande (privilégiez le copier-coller) ! ==== Supprimer un grand nombre de fichiers: "/usr/bin/rm: Liste d'arguments trop longue" ==== Lors de l'utilisation de la commande ''[[man>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) un par un à la commande ''rm'' à l'aide d'un script, ou alors utiliser la commande ''[[man>find]]'' : find ./ -type f -name '*.dat' -delete * 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|man find]]'' dans le terminal vous expliquera tout pour ne pas faire de bêtises. ====Supprimer les miniatures des images==== Avec [[:nautilus|GNOME Fichiers]], 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 d'enregistrements temporaires de fichier texte (texte, html, php, conf, ... ) au cas où l'application d'édition planterait pendant son utilisation.\\ Ils sont normalement supprimés à la fermeture de l'application. 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''). 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 noyau x===== Pour supprimer des anciens noyaux, se reporter à la section [[kernel#suppression_des_anciens_noyaux|Suppression des anciens noyaux de la page kernel]]. ==== Eviter d'écrire en double exemplaire les traces du fonctionnement du logiciel ==== Ce paragraphe est susceptible d'évoluer en fonction des réponses fournies par les [[https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2122061|experts]] - Sauvegarder le fichier afin de pouvoir redevenir facilement standard en cas de besoin.sudo cp -v /etc/rsyslog.d/50-default.conf /etc/rsyslog.d/50-default.conf.REF - Invalider les deux demandes de duplication.sudo sed -ri 's/^(\*\.\*;auth,authpriv\.none)/#\1/;s/^(kern\.\*)/#\1/' /etc/rsyslog.d/50-default.conf - Faire la prise en compte.systemctl restart systemd-journald; sudo logrotate -f /etc/logrotate.conf - Réaliser l'épuration.sudo rm -v /var/log/kern*; sudo rm -v /var/log/syslog* ==== 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.//