Suppression des paquets orphelins

From Manjaro Linux
Jump to: navigation, search

Retour à l'accueil

EN COURS DE TRADUCTION

Les Orphelins

Les mois devenant rapidement des années depuis l'installation de notre distribution basée sur Arch (n'est ce pas merveilleux un système en rolling-release !!) que nous avons tendance à accumuler des paquets orphelins qui tout simplement occupent inutilement des secteurs sur nos disques.

Avoir la liste des orphelins :

pacman -Qdt  

vous donne une liste de tous les paquets installés qui ne dépendent plus d'aucun autre paquet, c'est à dire des orphelins.

Vous pouvez tous les supprimer automatiquement, ainsi que leurs dépendances, avec la commande :

pacman -Rs $(pacman -Qqdt)

Personnellement, je préfère les sélectionner manuellement, les copiez et les collez (avec un espace entre eux) sur la ligne de commande suivante :

sudo pacman -Rsn <noms paquets à coller avec un espace entre eux>

Un Alias pour plus de commodités
Je créée un alias de la commande ci-dessus. Ce qui veut dire que j'ai juste à taper pdelete dans un terminal et d'ajouter le ou les paquet(s) que je veux supprimer à la suite.

Pour créer cet alias il faut tout d'abord ouvrir le fichier ~/.bashrc dans votre éditeur de texte. Ce n'est pas si simple car c'est un fichier caché, comme on peut le voir avec le <.point> comme première lettre du nom.

La façon la plus simple d'ouvrir ce type de fichier est de taper dans le terminal, en remplaçant <nom.editeur.de.texte> par le nom de votre éditeur comme gedit ou kate. Il n'est pas nécessaire d'utiliser sudo car il s'agit d'un fichier de votre compte utilisateur et nom de l'administrateur root.

<nom.editeur.de.texte> .bashrc

Un fois le fichier ouvert dans l'éditeur de texte il suffit de copier l'expression ci-dessous et de la coller dans le fichier ouvert ~/.bashrc. Il ne reste plus qu'à sauvegarder la modification et fermer l'éditeur.

alias pdelete="sudo pacman -Rsn"


Manipuler la liste des orphelins

Parfois un paquet détecté comme orphelin par pacman est tout simplement un programme que vous utilisez encore. Il est vu comme orphelin parce-qu'originellement ce paquet a été installé en tant que dépendance d'un autre paquet qui lui a été supprimé entre temps. Quand vous exécutez la commande automatique vu précédemment vous pouvez supprimer accidentellement de tels paquets.
Pour éviter ça il est possible de tromper pacman pour qu'il considère le paquet explicitement installé :

pacman -D --asexplicit <packagename>

Par exemple : certains utilisateurs rapportent que gnome-shell est dans leur liste d'orphelins alors qu'ils continuent toujours à l'utiliser. Après avoir utilisé la commande ci-dessous tout redevient OK :

pacman -D --asexplicit gnome-shell


Un exemple pratique :

Après avoir nettoyé manuellement mon système, qui était à la base une installation Manjaro Gnome/Cinamon, que j'ai supprimé Gnome/Cinamon pour remplacer par Openbox et que je règle le système à mes besoins.

Bien que j'ai supprimé manuellement beaucoup de chose, il restait encore la liste suivante de paquets à nettoyer (tous ne sont pas des restes de Gnome/Cinamom, mais ce sont TOUS des orphelins):

Targets (22): intltool-debian-0.35.0-2  mysql-clients-5.5.29-1  bluez-hcidump-2.4-1  boost-1.50.0-3
             bzr-2.5.1-2  cmake-2.8.10.2-1  consolekit-0.4.6-4  dos2unix-6.0.2-1  dpkg-1.16.9-1
             dri2proto-2.8-1  glproto-1.4.16-1  html2text-1.3.2a-9  imake-1.0.5-1
             lib32-mesa-9.0.1-1  mhwd-catalyst-legacy-12.6-2  mysql-5.5.29-1
             perl-io-string-1.08-8  perl-timedate-1.20-3  po-debconf-1.0.16-2  po4a-0.42-1
             python2-distribute-0.6.32-1  rrdtool-1.4.7-3

Total Removed Size:     338.79 MiB


Du coup j'ai gagné 338,79 MB d'espace disque et autant de secteurs disponibles.


Manipuler les fichiers pacman .pac* :

Pour tous ceux qui ne sot pas encore familiarisés avec les fichiers .pac*, vous trouverez ICI tout ce qu'il y a à savoir

Dans le but de garder notre système Manjaro propre et fonctionnel, nous devons tout d'abord localiser ces fichiers .pac* (qui sont construits par pacman dans un but de maintenir la stabilité système) afin de les analyser et de décider s'ils ont une quelconque valeur ou non.

Je vous conseille de lire l'information du lien cité.


Trouver les fichiers .pac*

On peut les trouver de différentes manière : par exemple avec la commande locate c'est très rapide et très habile :

locate -e --regex "\.pac(new|save|orig)$"

Pour ceux qui n'ont pas encore locate sur leur machine, il faut installer le paquet mlocate par la commande :

sudo pacman -S mlocate


et ensuite il faut lancer la commande updatedb en tant que root :

sudo updatedb

Cette commande va construire rapidement une base de données avec tous les fichiers de votre système. L'installation de mlocate installe également un script qui lance une mise à jour quotidienne de la base de données.
Evidemment il est tout a fait possible de faire cette mise à jour manuellement avec la commande vu précédemment.

Si vous lancer souvent la commande updatedb, vous aimerez certainement créer un alias comme nous avons vu plus tôt.


Est-ce que le fichier .pac* est utile ?

Vous devez vérifier le contenu du fichier .pac* avec votre éditeur de texte. En raison de leur appartenance à root vous devez au moins lancer votre éditeur avec sudo si vous devez modifier votre fichier de configuration original avec les changements apportés par le fichier .pacnew (J'espère que cela va être pris en charge par les devs Manjaro. Je vais vérifier et modifierai en conséquence le texte ici).

Si après vérification on considère le fichier .pac* inutile on peut le supprimer. La plupart de ces fichiers sont inutiles mais il est quand même préférable de les vérifier avant de les supprimer et plus particulièrement les fichiers .pacnew qui peuvent contenir des modifications critiques de changement des nouveaux fichiers de configuration.


Il y a 3 types de fichiers à traiter :

*.pacnew , *.pacsave & *.pacorig

La meilleure source d'information sur ces fichiers est cette page du Archwiki : Pacnew and Pacsave Files


Autres façons de faire :

Sur la page Managing .pacnew Files du Arcwiki vous trouverez d'autres façons de gérer les fichiers .pac*


Un point sur les fichiers .pac* :

Il faut garder à l'esprit, pour ceux qui sont nouveaux dans le monde de la Rolling Release d'Arch, c'est que ces fichiers .pac* sont rarement une source de problème. La plupart des utilisateurs d'Arch ne prennent même pas la peine de jeter un œil sur ces fichiers. Peut-être une fois de temps en temps pour nettoyer le système.

Donc inutile de stresser pour ça. Si quelque chose d'important devait impliquer un de ces fichier, je suis certain qu'il sera traité de manière évidente à travers le forum et le blog Manjaro. Plus vraisemblablement tout sera déjà traité en amont par l'équipe de développement de Manjaro.



Supprimer les fichiers de configuration <.point> restés dans le répertoire /home :

Mundus est un outil avec une interface graphique pour faire très facilement ce travail. Particulièrement pour les utilisateurs peu habitués aux fichiers de configuration cachés <.point>.

Extrait de la page : [1]

Mundus est un petit utilitaire pour vous aider à maintenir votre répertoire /home propre. Il contient une base de données interne de répertoires d'application connues et automatiquement il détecte parmis cette liste les applications désinstallées, qui ont laissé leur fichiers de configuration. Chaque application supportée est appelée module (module) et chaque répertoire qui la décrit est appelé sous-module (submodule).

Sauvergardes

Il y a 2 options pour faire des sauvegardes avant de nettoyer un répertoire.

Automatic
Si la taille du répertoire à nettoyer est inférieur à la taille limite, une sauvegarde sera automatiquement exécutée avant le nettoyage.

Manuel
L'aternative, cliquez sur le bouton 'Backup quand vous sélectionner un sous-module (submodule).

Pour installer Mundus dans Manjaro :

yaourt -S mundus


Le Répertoire /var/log :

Toujours en relation avec le sujet de cette page, il est bon également de garder un œil sur le répertoire /var/log, dans le cas où certains fichiers log se mettraient à grossir de manière inconsidérée - (c'est surtout le 'gonflement' rapide en peu de temps qui est signe de problème dans le système)).

Vous devez être en root pour éditer les fichiers log. Vous devez lancer votre éditeur en root. Par exemple :

sudo gedit

Une méthode pour supprimer facilement un certain nombre d'orphelins ou de programmes non désirés

Faire rapidement une liste de tous les programmes installés sur votre système

La commande suivante liste, via pacman, tous les paquets installés sur votre machine (cette commande ne liste pas les paquets installés depuis AUR) :

pacman -Qqen > pkglist.txt 

La liste sera sauvée dans le fichierpkglist.txt dans votre répertoire utilisateur /home/<nom.utilisateur> (Pas de panique si vous ne voyez rien apparaître dans le terminal).


Visualiser facilement pkglist.txt

La commande suivante vous permet de visualiser facilement le contenu du fichier pkglist.txt (Vous pouvez également ouvrir le fichier dans votre éditeur de texte):

more ~/pkglist.txt

La commande more affiche le contenu d'un fichier page par page, un appui sur espace défile à la page suivante, vous pouvez vous déplacer dans la liste avec la souris, un appuie sur q quitte more et retourne au prompt du terminal.


Que faire avec la liste de pkglist.txt ?

Dans la liste des paquets de pkglist.txt vous pouvez sélectionner pour les copier et dans un autre terminal les recoller derrière la commande pacman de suppression de paquets (voir la commande ci-après). Il faut mettre un espace entre chaque nom de paquet.


Une page sur la recherche des programmes installés : Backing up and retrieving a list of installed packages ).

Comment désinstaller les programmes non désirés ??

Il est facile de supprimer plusieurs paquets que vous ne voulez plus en ajoutant à la commande sudo pacman -Rsn le nom des paquets séparés par un espace. Un exemple avec certains noms de paquets :

 sudo pacman -Rsn leafpad vlc terminator geany mplayer gufw

Parfois, surtout s'il y a beaucoup de paquets à supprimer, il arrive que le système bloque pour une quelconque raison à cause de certains paquets de la liste. Il suffit de rappeler la commande avec la touche de curseur haut, de naviguer dans la liste avec les touches de curseur droite et gauche et d'effacer le ou les noms des paquets qui posent problème.

Page originale du wiki anglais

Retour à l'accueil