web-dev-qa-db-fra.com

Désinstaller complètement les packages associés installés avec un package

Comment puis-je supprimer exactement les mêmes éléments que j'ai installés ou que le système a installés avec un support supplémentaire pour une langue par exemple? Y at-il une procédure que je peux suivre? Apt-get remove, retrait automatique ou purge n'est pas ce que je cherche, il laisse des choses derrière.

Je suis actuellement à la recherche de debfoster, mais j'espère que je supervise quelque chose de plus simple et plus natif.

En ce moment, je dois restaurer mon système à partir d’un instantané pour l’installer dans l’installation précédente. Je travaille sur une application internationale. Lorsque j’installe et désinstalle, par exemple, le chinois, je vais me retrouver avec plusieurs polices indésirables qui n’y étaient pas auparavant. rend mes tests inutiles.

Mise à jour:

Pour mettre à jour et clarifier ma question, je sais déjà que les installations de paquets sont consignées il y a un mois. J'ai demandé comment supprimer correctement le support en chinois et j'ai trouvé une solution. Les paquets installés, y compris les polices que je veux supprimer, ne sont que dans /var/log/dpkg.log. Je recherche une automatisation ou un outil qui l’automatisera afin que je n’aie pas à traiter les journaux chaque fois que j’installe et désinstalle une nouvelle langue ou une application. Apparemment, Ubuntu a un petit défaut et il ne désinstalle pas les polices lors de la suppression de la langue. J'installe une nouvelle langue, puis je la supprime plusieurs fois par jour pour les tests. J'ai un script que j'ai créé aujourd'hui et qui met tout dans des journaux qui ne désinstalle pas et j'espère toujours que je réinvente une roue et il existe déjà une procédure en place qui garde la trace des fichiers et autres paquets qui se touchent et qui garantit leur suppression lors de leur suppression.

3
Mike

Application debfoster Je mentionne dans la question que le tour est joué, il m'a fallu un peu de temps pour comprendre comment il était utilisé.

Sudo apt-get install debfoster

Générer un fichier de détenteurs, stocké dans /var/lib/debfoster/keepers:

Sudo debfoster -q

Ce fichier keepers contient tous les packages actuellement installés. Lors de la prochaine installation, exécutez simplement:

Sudo debfoster

Il commencera à lister tous les paquetages installés à partir de la dernière génération du fichier keepers. Des questions seront posées donnant 9 options, les 4 premières sont importantes:

Yes        Keep the package. [default]
No         Delete the package.
Prune      Delete the package and the packages it is keeping installed.
Skip       Skip this question.

Plus d'informations man debfoster ou debfoster --help.

Cela répertorie même les polices omises avec apt-get autoremove ou lors de la désinstallation de paquets de langue avec l'interface graphique de langue.

2
Mike

Si vous avez installé "stuff" via un gestionnaire de paquets (apt-get, dpkg, synaptic), tout est consigné dans /var/log/apt/*. C'est une simple question d'édition pour générer les commandes apt-get purge.

Si vous avez installé le "matériel" d'une autre manière (Sudo make install, /usr/bin/cpan, ...), vous devez le désinstaller en utilisant la même méthode.

Pour vous simplifier la vie à l'avenir, en particulier si vous utilisez la deuxième méthode, envisagez d'installer et d'utiliser installwatch. De la page man:

trusty (1) installwatch.1.gz
Provided by: checkinstall_1.6.2-4ubuntu1_i386

NAME

       installwatch — Track installation of software

SYNOPSIS

       installwatch [options]  [command]

DESCRIPTION

       installwatch  is  a  program that is used in order to track the changes
       made  while  installing  local  software  (i.e.   "make  install").  It
       monitors  the requested command, and produces a log which indicates all
       created and modified files.
2
waltinator

Je pense que ce que vous appelez les paquets "liés" sont ceux mentionnés par apt ou apt-get en tant que paquets "supplémentaires" (à l'installation) et en tant que paquets "installés automatiquement" (à la suppression).

Pour autant que je puisse comprendre this réponse, Sudo apt autoremove ne devrait rien laisser derrière s'il est exécuté après votre programme/package spécifique a été désinstallé.

Pour voir avant désinstaller le programme ce que son installation (avec apt ou apt-get) a apporté - en suivant la réponse liée:

Tout d’abord, lancez Sudo apt autoremove afin que apt démarre à partir de l’état "clean".

Ensuite, simulez la suppression de votre programme/package et notez les packages installés automatiquement:

Sudo apt-get remove --dry-run YOUR_PROGRAM

qui donnera quelque chose comme

The following packages were automatically installed and are no longer required:
  THE_LIST_OF_PACKAGES
Use 'Sudo apt autoremove' to remove them.

Après avoir désinstallé YOUR_PROGRAM, si vous préférez, faites

Sudo apt remove <THE_LIST_OF_PACKAGES>

au lieu de Sudo apt autoremove.


En ce qui concerne debfoster, si vous l’aviez installé et que vous aviez créé le fichier keepers avant d’installer votre programme, le moyen simple de voir quels paquets supplémentaires un programme a apporté est avec la commande

Sudo debfoster -r YOUR_PROGRAM
0
user47206