GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Debfoster - Ne conservez que les packages essentiels dans Debian et Ubuntu

Aujourd'hui, nous allons découvrir un utilitaire moins connu mais utile pour Debian et ses dérivés tels que les variantes Ubuntu et Ubuntu comme Linux Mint. Dites bonjour à "Debfoster" - un utilitaire en ligne de commande pour ne conserver que les packages essentiels et supprimer les autres packages qui ne sont plus nécessaires. Ainsi, vous pouvez garder un système propre et minimal tout le temps. L'application debfoster est un programme wrapper pour les gestionnaires de paquets apt et dpkg. Il maintient une liste des packages installés qui ont été explicitement demandés plutôt qu'installés en tant que dépendance.

Lorsque vous l'exécuterez pour la première fois, il créera une liste des packages installés et l'enregistrera dans un fichier nommé keepers dans /var/lib/debfoster/ annuaire. Debfoster utilisera cette liste pour détecter les packages qui ont été installés uniquement parce que d'autres packages en dépendaient. Si l'une de ces dépendances change, debfoster en prendra note et vous demandera si vous souhaitez supprimer l'ancien paquet. De cette façon, il vous aide à maintenir un système propre avec les packages essentiels de votre choix.

Conservez uniquement les packages essentiels dans Debian et Ubuntu en utilisant Debfoster

Debfoster est disponible dans les référentiels par défaut. Ainsi, l'installation ne sera pas un gros problème. Exécutez la commande suivante pour installer Debfoster sur n'importe quel système basé sur Debian :

$ sudo apt install debfoster

Une fois installé, nous devons créer une liste des packages installés en exécutant la commande suivante :

$ sudo debfoster -q

La commande ci-dessus ajoutera les packages actuellement installés dans keepers fichier dans /var/lib/debfoster/ annuaire. Vous pouvez modifier ce fichier pour supprimer les packages que vous ne souhaitez plus installer sur votre système.

Voici le contenu de mon dossier de gardiens.

$ cat /var/lib/debfoster/keepers

Vous ne devez pas supprimer les packages importants et liés au système de ce fichier, tels que le noyau Linux, grub, Ubuntu-base, Ubuntu-desktop, etc. Sauvegardez également les fichiers de configuration importants que vous avez modifiés manuellement.

Maintenant, forcez l'utilitaire debfoster à supprimer les packages qui ne sont pas répertoriés dans le fichier Keepers. Pour ce faire, exécutez :

$ sudo debfoster -f

Debfoster supprimera tous les packages qui ne sont pas disponibles dans le fichier Keepers ainsi que leurs dépendances.

Il installe également tous les packages manquants qui semblent manquer, forçant ainsi votre système à se conformer à la base de données debfoster.

Et, ensuite, vous pouvez exécuter la commande suivante de temps en temps après chaque ajout/suppression de packages pour vérifier s'il existe des packages orphelins ou des dépendances indésirables qui doivent être supprimées.

$ sudo debfoster

Si vous avez installé/supprimé des packages, vous verrez une sortie comme ci-dessous. Comme vous le voyez dans la sortie, le package Screen n'est pas répertorié dans ma liste de gardiens. Parce que je l'ai installé après avoir créé la liste des gardiens. Alors, debfoster me demande si je veux garder ça ou pas. Si vous ne savez pas quoi faire, tapez H pour afficher la section d'aide.

Keep screen? [Ynpsiuqx?], [H]elp: H

 Yes Keep screen. [default]
 No Delete screen.
 Prune Delete screen and the packages it is keeping installed.
 Skip Skip this question.
 Help Print this message.
 Info or ? Show information about screen.
 Undo Undo last response.
 Quit Exit without removing packages.
 Exit Remove unwanted packages and exit.

Keep screen? [Ynpsiuqx?], [H]elp:

Debfoster affichera toutes les options possibles. Tapez O si vous ne souhaitez pas supprimer les packages. Le package screen sera maintenant ajouté au fichier keepers et Debfoster ne le supprimera pas dans les transactions futures, à moins que vous ne le supprimiez manuellement vous-même à l'aide de la commande "apt-get remove screen". Tapez N pour supprimer le package d'écran. Tapez P pour supprimer l'écran et les packages qu'il maintient installés. Tapez info ou  ? pour afficher les détails du colis. Q pour quitter sans retirer le paquet. Et tapez E pour supprimer les packages et quitter.

Affichage des packages dans la liste des Keepers

Pour afficher la liste des packages dans la base de données debfoster, exécutez :

$ debfoster -a

Voici la liste des packages de mon bureau Ubuntu 16.04 LTS.

The following packages are on the keeper list:
 account-plugin-aim brasero debfoster deja-dup-backend-gvfs dialog firefox-locale-en gdebi gir1.2-webkit-3.0 git hyphen-en-us indicator-multiload
 language-pack-gnome-en libarchive-extract-perl libcpan-meta-perl libmodule-build-perl libmodule-pluggable-perl libpackage-constants-perl libpod-latex-perl
 libreoffice-help-en-us libreoffice-style-human libterm-ui-perl libtext-soundex-perl libvisual-0.4-plugins linux-generic linux-headers-4.4.0-15-generic
 linux-image-extra-4.4.0-15-generic myspell-en-au myspell-en-gb myspell-en-za mythes-en-us oneconf openoffice.org-hyphenation openssh-server python-pip python3-smbc
 rhythmbox-plugin-cdrecorder rhythmbox-plugin-magnatune samba-common screen shutter ssh-askpass-gnome telepathy-idle thunderbird-locale-en-us ubuntu-desktop
 ubuntu-minimal ubuntu-sso-client-qt ubuntu-standard ubuntu-wallpapers-wily wbritish xserver-xorg-video-cirrus xserver-xorg-video-mach64 xserver-xorg-video-mga
 xserver-xorg-video-neomagic xserver-xorg-video-openchrome xserver-xorg-video-r128 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
 xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident

Utiliser un fichier de conservation différent

Par défaut, debfoster maintiendra les packages installés dans /var/lib/debfoster/keepers dossier. Vous pouvez cependant spécifier une autre base de données debfoster (fichier Keepers, bien sûr) en utilisant -k drapeau comme ci-dessous.

$ debfoster -k <path-to-keeper-file>

Affichage des packages orphelins

Vous n'avez pas toujours besoin d'exécuter la commande "sudo debfoster" pour rechercher les packages orphelins. Vous pouvez simplement utiliser -s marquez comme ci-dessous pour voir s'il y a des paquets orphelins.

$ debfoster -s
The following packages have been orphaned:
 tmux

Comme vous le voyez dans la sortie ci-dessus, j'ai un paquet orphelin. S'il s'agit d'un package nécessaire et que nous ne voulons pas que debfoster le supprime, nous pouvons simplement l'ajouter au fichier Keepers en exécutant la commande suivante :

$ sudo debfoster

Il vous demandera de garder tmux ou non. Si vous conservez le tmux dans le fichier Keepers, tapez simplement Y .

Keep tmux? [Ynpsiuqx?], [H]elp:Y

Alternativement, vous pouvez modifier manuellement le fichier Keepers et ajouter tmux dans la liste.

$ sudo vi /var/lib/debfoster/keepers

Ajoutez-y tmux.

[...]
tmux

Saisissez  :wq pour enregistrer et quitter le fichier. Désormais, vous ne verrez aucun paquet orphelin lors de l'exécution de la commande "debfoster -s".

Veuillez noter qu'ici un paquet orphelin signifie un paquet qui n'est pas mentionné dans la base de données debfoster. Cela ne signifie pas que le paquet n'est absolument pas nécessaire. Par exemple, les utilitaires screen et tmux sont très utiles. Ainsi, nous pouvons les ajouter à la base de données debfoster.

Ajouter/supprimer des packages

Étant donné que debfoster est un wrapper pour les gestionnaires de packages apt-get et dpkg, vous pouvez également l'utiliser pour ajouter ou supprimer des packages.

Pour installer un package, exécutez :

$ sudo debfoster screen

Maintenant, debfoster exécutera apt-get pour vous et installera le package spécifié.

Pour supprimer un package, placez simplement un signe moins (−) directement après son nom, comme ci-dessous.

$ sudo debfoster screen-
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages will be REMOVED:
 screen*
0 upgraded, 0 newly installed, 1 to remove and 608 not upgraded.
After this operation, 972 kB disk space will be freed.
Do you want to continue? [Y/n]

Rechercher des dépendances

Pour répertorier tous les packages dont dépend un package, utilisez -d drapeau.

$ debfoster -d screen

Et, pour lister tous les packages de la base de données debfoster qui dépendent du package donné, utilisez -e drapeau comme ci-dessous.

$ debfoster -e screen

Pour plus de détails, reportez-vous aux pages de manuel.

$ man debfoster

Comme vous pouvez le voir, Debfoster vous aide à garder une trace de ce que vous avez installé et à supprimer tous les autres packages qui ne sont pas nécessaires. Encore une fois, je vous préviens - vous devez utiliser cette application très attentivement. Ne supprimez pas les packages importants liés au système comme Ubuntu-base, grub, le noyau actuel, etc. Si vous le faites, vous risquez de vous retrouver avec un système inutilisable.

Suggestion de lecture :

  • Supprimer les fichiers de configuration inutiles sur les systèmes basés sur Debian
  • Comment rechercher et supprimer des packages inutilisés sous Linux

Ubuntu
  1. Installer Node.js dans Ubuntu et Debian

  2. Comment installer Python 3.7 sur Ubuntu, Debian et LinuxMint

  3. Ne conserver que les packages essentiels ?

  4. Comment installer Ubuntu sur un Mac et garder Osx ?

  5. Comment réparer les paquets cassés sur Ubuntu 16.04 et Debian 9

Installer et configurer OwnCloud sur Ubuntu 21 / Debian 11

Comment installer Zoom Ubuntu et les dérivés Debian

Installer et configurer Virtualmin sur le serveur Ubuntu 20.04 / Debian 10

Comment installer Jitsi Meet sur Debian et Ubuntu

Comment installer ONLYOFFICE Docs sur Debian et Ubuntu

Comment installer et gérer les packages RPM sur le système Ubuntu/Debian