Résolu le 25-02-21 Les désintallations incomplètes

Assistance concernant Linux Mint
toto1905
Messages : 18
Enregistré le : mer. 22 mai 2019 11:04

Les désintallations incomplètes

Message 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 ?
Modifié en dernier par toto1905 le jeu. 25 févr. 2021 10:44, modifié 1 fois.
Laptop Notebook N24_25BU - Linux Mint 19.3 Cinnamon 4.4.8 - Kernel: 5.4.0-66-generic - Processeur Intel© Core™ i3-7100U CPU @ 2.40GHz × 2 - RAM 8 Go - SSD 500 Go - Intel Corporation HD Graphics 620

falke
Messages : 595
Enregistré le : mar. 3 oct. 2017 21:28

Re: Les désintallations incomplètes

Message 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
System:
Host: falke-MacBookAir Kernel: 5.15.0-91-generic x86_64 bits: 64
Desktop: Cinnamon 6.0.4 Distro: Linux Mint 21.3 Virginia

Machine:
Type: Laptop System: Apple product: MacBookAir7,2 v: 1.0
Autre Distro : Debian Sid et Endeavour en triple boot sur Btrfs. Noyau change tout le temps ..

toto1905
Messages : 18
Enregistré le : mer. 22 mai 2019 11:04

Re: Les désintallations incomplètes

Message 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.
Laptop Notebook N24_25BU - Linux Mint 19.3 Cinnamon 4.4.8 - Kernel: 5.4.0-66-generic - Processeur Intel© Core™ i3-7100U CPU @ 2.40GHz × 2 - RAM 8 Go - SSD 500 Go - Intel Corporation HD Graphics 620

Avatar du membre
LeSniper
Messages : 603
Enregistré le : dim. 23 août 2015 13:50
Localisation : Foie gras, forêt, océan

Re: Les désintallations incomplètes

Message 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.
Dualboot Linux Mint Mate 20.3 // W$10pro sur Mini PC HUNSN BY01 Intel Quad Core I5 8300H (SSD 256Go + SSD 1To + HDD 1To)
Linux Mint Mate 20.3 sur Fujitsu-Siemens Amilo 1510

Avatar du membre
serged
Messages : 823
Enregistré le : jeu. 16 juil. 2015 07:59
Localisation : Montrouge (France)

Re: Les désintallations incomplètes

Message 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".
LinuxMint Virginia Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

falke
Messages : 595
Enregistré le : mar. 3 oct. 2017 21:28

Re: Les désintallations incomplètes

Message 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
System:
Host: falke-MacBookAir Kernel: 5.15.0-91-generic x86_64 bits: 64
Desktop: Cinnamon 6.0.4 Distro: Linux Mint 21.3 Virginia

Machine:
Type: Laptop System: Apple product: MacBookAir7,2 v: 1.0
Autre Distro : Debian Sid et Endeavour en triple boot sur Btrfs. Noyau change tout le temps ..

tescan
Messages : 388
Enregistré le : dim. 2 juil. 2017 08:53
Localisation : Comminges

Re: Les désintallations incomplètes

Message 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
Intel i5-9400F, Nvidia GTX 1660ti, 16Go Ram
Mint 20.3 + Mint 21.1 Cinnamon

toto1905
Messages : 18
Enregistré le : mer. 22 mai 2019 11:04

Re: Les désintallations incomplètes

Message 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.
Laptop Notebook N24_25BU - Linux Mint 19.3 Cinnamon 4.4.8 - Kernel: 5.4.0-66-generic - Processeur Intel© Core™ i3-7100U CPU @ 2.40GHz × 2 - RAM 8 Go - SSD 500 Go - Intel Corporation HD Graphics 620

tescan
Messages : 388
Enregistré le : dim. 2 juil. 2017 08:53
Localisation : Comminges

Re: Les désintallations incomplètes

Message 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? ;)
Intel i5-9400F, Nvidia GTX 1660ti, 16Go Ram
Mint 20.3 + Mint 21.1 Cinnamon

Avatar du membre
Mia88
Messages : 1355
Enregistré le : ven. 18 nov. 2016 08:42
Localisation : Lorraine

Re: Les désintallations incomplètes

Message 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.
Mint Cinnamon 21.1 / Intel Xeon CPU E3-1270 V2 3.5GHz x 4 / Ram 15.6 Go / CG NVIDIA GF106GL [Quaro 2000]

Répondre