Ceci est une ancienne révision du document !



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).

Depuis un terminal

En mode graphique

  • Stacer (Alternative à IObit Advanced System Care pour Windows)
  • GtkOrphan (pour les paquets orphelins)
  • Extension Firefox 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 qui répondra à 99% des utilisateurs lambda, il est recommandé :

  1. De vider la poubelle
  2. Si cela ne suffit pas, utiliser un logiciel type "CCleaner" :
    1. Stacer pour les débutants
    2. BleachBit pour un usage plus avancé

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 commandes suivantes:

  • Supprimer le cache des paquets périmés :
    sudo apt autoclean
  • Supprimer tout le cache :
    sudo apt clean
  • Supprimer les paquets installés 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é.

Depuis un terminal en saisissant les commandes suivantes:

En sauvegardant la configuration

sudo apt-get remove <nom du paquet inutilisé à supprimer>

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 suivante:

sudo apt-get purge <nom du paquet inutilisé à supprimer>

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 suivante :

[[ $(dpkg -l | grep ^rc) ]] && sudo dpkg -P $(dpkg -l | awk '/^rc/{print $2}') || echo "Aucun résidu trouvé."

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 caché .local/share/Trash de votre dossier personnel.
  • Pour les unités externes montées, (clés USB, cartes SD, unités distantes) il est caché, se nomme .Trash-1000 et est situé à la racine de la 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 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 barre des lanceurs ou sur le bureau selon la 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 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 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 "~/.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 « 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."

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-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. 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 Suppression des anciens noyaux de la page kernel.

Réduire la taille des fichiers journaux

Depuis la version 16.04, 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 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.

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
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 :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 :

Vous pouvez aussi utiliser UbuntuCleaner, une alternative libre qui automatise le nettoyage de votre système : https://github.com/GMornat/UbuntuCleaner

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 :

nano nettoyage.sh

Etape 2, Copiez-collez les lignes de commande :

#!/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é"

Etape 3, Exécutez-le (après l'avoir rendu exécutable):

chmod +x nettoyage.sh
sh nettoyage.sh
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

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

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

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

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)

sudo rm /var/cache/apt/archives/*.deb

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

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

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 jours) réussie. Interruption du script."
  fi
else
  echo "Interruption du script en cours."
fi

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…

find ~/.local/share/Trash/files/ -mtime +30 -delete
  • nettoyer_ubuntu.1605719406.txt.gz
  • Dernière modification: Le 18/11/2020, 18:10
  • par 92.140.246.151