Page 1 sur 2

Les désintallations incomplètes

Posté : mer. 24 févr. 2021 20:31
par toto1905
Bonjour !
Après plus de 15 ans sous Linux, quelque chose continue de m'intriguer - voire, certains jours, de m'agacer. Pourquoi les désinstallations de programmes sont-elles toujours incomplètes ? Il reste toujours des fichiers de configuration, des dossiers cachés, etc., dispersés un peu partout ! Je peux comprendre le cas des paquets orphelins, mais ça ? Pourquoi n'y a-t-il pas, quelque part, une liste des fichiers qu'une application crée ou utilise, qui permettrait une suppression propre ? Depuis le temps que Linux s'améliore, je ne comprends pas pourquoi ce problème existe toujours. Avez-vous une explication ?

Re: Les désintallations incomplètes

Posté : mer. 24 févr. 2021 21:02
par falke
si,
tout est pensé , apt-get purge enleve en même temps les fichiers de configuration.

et apt-get autoremove pour enlever les paquet installés comme dépendances qui ne sont plus utilisées par aucun paquet

suffisait de demander


falke

Re: Les désintallations incomplètes

Posté : mer. 24 févr. 2021 23:45
par toto1905
Bonsoir falke,
Merci pour ta réponse. Malheureusement ces commandes ne suffisent pas. Par exemple je viens de tester à nouveau avec bluefish : elles suppriment beaucoup de choses mais laissent le dossier ~/.bluefish.

Re: Les désintallations incomplètes

Posté : jeu. 25 févr. 2021 08:47
par LeSniper
Bleachbit est un peu plus puissant pour le nettoyage, surtout en mode root. Mais attention de ne pas trop nettoyer quand même. Une bonne sauvegarde Timeshit avant me parait une sécurité indispensable.

Re: Les désintallations incomplètes

Posté : jeu. 25 févr. 2021 09:02
par serged
toto1905 a écrit :
mer. 24 févr. 2021 23:45
Bonsoir falke,
Merci pour ta réponse. Malheureusement ces commandes ne suffisent pas. Par exemple je viens de tester à nouveau avec bluefish : elles suppriment beaucoup de choses mais laissent le dossier ~/.bluefish.
La désinstallation efface les fichiers de configuration globaux. Pas les fichiers de configuration personnels. À toi de les supprimer "à la main".

Re: Les désintallations incomplètes

Posté : jeu. 25 févr. 2021 09:08
par falke
sinon , pour enlever les dépendances dont ne dépendent plus aucun paquet ,

y a deborphan aussi :D , m'a fait beaucoup de dégâts. :D

Il faut trouver le compromis acceptable , entre enlever des dépendances inutiles qui prennent de la place et enlever quelque .<fichier> de conf de quelque Ko , qui n'engendrent pas d'instabilité du système, au risque de tout casser.

Il me semble que ce fichier .bluefish a été omis par de dév dans la liste des fichiers à désinstaller.

Maintenant pas sûr que Windows ou plutôt les développeurs pour windows fassent beaucoup mieux pour leurs applis .

;)

falke

Re: Les désintallations incomplètes

Posté : jeu. 25 févr. 2021 09:44
par tescan
Bonjour,
dans "man apt" il est écrit:
D'autre part, on peut facilement se débarrasser de ces reliquats en
appelant la commande purge même sur des paquets déjà supprimés.
Notez que cela n'affecte aucune donnée ou configuration stockées
dans votre répertoire personnel.
Pour curer plus profond, quelques trucs: https://wiki.debian-fr.xyz/Nettoyer_sa_Debian

Re: Les désintallations incomplètes

Posté : jeu. 25 févr. 2021 10:40
par toto1905
Bonjour,
Merci à tous pour vos réponses. Je me retiendrai de répondre à certaines de manière polémique ;-)

Pour résumer :
- apt-get purge
- bleachbit (qui prend en charge les autres outils apt-get)
- deborphan (j'utilise gtkorphan pour ma part)
- une finition manuelle (car rien de tout cela n'enlève mon ~/.bluefish)
le tout enveloppé d'une bose dose de prudence, permettent une déinstallation la plus complète possible.

Constats :
1) Ça fait beaucoup. On est loin du simple glisser-déposer de MacOS (je ne lance PAS une polémique, ok ? ;))
2) La seule commande qui touche au processus de désinstallation en lui-même est apt-get purge, tout le reste vient après pour pallier les failles, le problème de la désinstallation incomplète reste donc entier et est à mon humble avis un axe important d'amélioration pour Linux. On pourrait imaginer que la désinstallation soit gérée par un policier central qui enregistre tout ce que fait chaque application, mais je suppose que ce n'est pas le lieu pour ce genre de suggestion :-)
Je passe en résolu. Encore merci.

Re: Les désintallations incomplètes

Posté : jeu. 25 févr. 2021 11:21
par tescan
Est-on certain que "le simple glisser déposer" ne laisse pas quelques trucs dans des dossiers dont pequinus vulgaris ne connaît même pas l'existence? ;)

Re: Les désintallations incomplètes

Posté : jeu. 25 févr. 2021 12:21
par Mia88
Bonjour,

J'avais lancé un sujet pour savoir comment obtenir un nettoyage complet.
viewtopic.php?f=19&t=15895&hilit=script+nettoyage

Tu mets dans une tâche cron le script de nettoyage qui va bien, et tu es tranquille.

Ceci dit, j'admets que c'est pas cool de devoir se plonger dans les lignes de commande pour obtenir une désinstallation parfaite :(

Je mets le script final, ça t'évitera de le reconstituer d'après le topic ;)

Code : Tout sélectionner

#/bin/sh
echo "Nettoyage"

echo "Réparation des dépendances cassées..."
apt-get -f install

echo "Suppression du cache d'apt pour les logiciels désinstallés..."
apt-get autoclean

# suppression de tout le cache d'apt (paquets installés et téléchargements incomplets)
#apt-get clean

echo "Suppression des paquets inutiles..."
# correspond aux noyaux installés mais non utilisés dans Vue noyaux du Gestionnaire de mise à jour
# appelé aussi Dépendances inutiles (ne correspond pas aux paquets orphelins de synaptic)
# anciens noyaux (sauf avant dernier)
# options -y (yes à tout) et --purge (fichiers de conf associés?)
sudo apt-get -y autoremove --purge

echo "Suppression des résidus de configuration de logiciels supprimés..."
# correspond à l'État "Non installés" (résidus de configuration) dans Synaptic
# appelés aussi Fichiers de configuration orphelins (et non pas dépendances orphelines)
# principalement en rapport avec les anciens noyaux
#dpkg -l|grep "^rc"|awk '{print $2}'| xargs sudo dpkg --purge
aptitude purge ~c

echo "Suppression des fichiers orphelins..."
# correspond à l'État "Filtres personnalisés" orphelin dans Synaptic
# appelés aussi Dépendances orphelines
# semble contenir des librairies obsolètes et modules de librairies
# redirection dans un fichier puis nettoyage avec cut et le délimitateur " :"
deborphan > list.deborphan
cat list.deborphan | cut -d ":"  -f 1

echo "Suppression des entrées de journaux de plus de 7 jours..."
journalctl –vacuum-time=7day
find /var/log -name "*.log" -type f -mtime +7 -exec rm -f {} \;

# vider tous les journaux (autre méthode)
# find /var/log/journal -name "*.journal"|xargs sudo rm

echo "Suppression des miniatures de plus de 7 jours ..."
find ~/.thumbnails -type f -ctime +7 -delete

# suppression de toutes les miniatures
#rm -rf /home/*/.cache/thumbnails

echo "Nettoyage history des shells..."
rm /home/*/.bash_history

# ou encore history -c pour le shell user
# si plusieurs /home faire une boucle for sur les users (cyrille)
# nettoyage du shell root (déconseillé par cyrille)
#rm /root/.bash_history

echo "Suppression des fichiers de sauvegarde..."
# vérifier avant qu'ils ne sont plus utiles
#find $HOME/ -name '*~' -print0 | xargs -0 rm -f
find $HOME/ -name '*~' type f -ctime +7 -delete

echo "Vidage du cache du navigateur..."
rm -rf /home/*/.cache/mozilla/firefox/*default/cache2

echo "Nettoyage de la ram..."
su -c "echo 3 >'/proc/sys/vm/drop_caches'
echo "Nettoyage du swap..."
swapoff -a && swapon -a
printf '\n%s\n' 'Ram-cache et swap nettoyés'" root

echo "Vidage des corbeilles..."
# le second /* est probablement inutile
rm -rf /home/*/.local/share/Trash/*/* &> /dev/null
rm -rf /root/.local/share/Trash/*/* &> /dev/null

notify-send "Nettoyage terminé"
Quand plusieurs commande peuvent être utilisées pour une même action, j'ai commenté celles que je n'ai pas choisies.