web-dev-qa-db-fra.com

Les dépendances existent toujours dans "dpkg -l" après l'exécution de "apt-get remove dependencies-names"

Je pensais que l'installation de xfce4 causait des problèmes sous Ubuntu, je les ai donc supprimés avec apt-get remove xfce4 xfce4-goodeis.

Mais quand j'ai lancé 'dpkg -l', je peux toujours voir des bibliothèques et des paquets pour xfce4:

$ dpkg -l | grep -i xfce
rc  libexo-1-0:AMD64                              0.10.2-2                                 AMD64        Library with extensions for Xfce
rc  libgarcon-1-0                                 0.2.1-1                                  AMD64        freedesktop.org compliant menu implementation for Xfce
rc  libxfce4ui-1-0                                4.11.0-0ubuntu1~ppa0.13.10.1             AMD64        widget library for Xfce - Gtk+2 variant
rc  libxfce4ui-common                             4.11.0-0ubuntu1~ppa0.13.10.1             all          common files for libxfce4ui
rc  libxfce4util6                                 4.10.1-1                                 AMD64        Utility functions library for Xfce4
rc  libxfcegui4-4                                 4.10.0-2                                 AMD64        Basic GUI C functions for Xfce4
rc  libxfconf-0-2                                 4.10.0-2                                 AMD64        Client library for Xfce4 configure interface
rc  mousepad                                      0.3.0-2                                  AMD64        simple Xfce oriented text editor
rc  thunar                                        1.6.3-1ubuntu1                           AMD64        File Manager for Xfce
rc  xfce4-appfinder                               4.10.1-1                                 AMD64        Application Finder for the Xfce4 Desktop Environment
rc  xfce4-clipman                                 2:1.2.3-2ubuntu1                         AMD64        clipboard history utility
rc  xfce4-mixer                                   1:4.10.0-1ubuntu2                        AMD64        Xfce mixer application
rc  xfce4-notes                                   1.7.7-3ubuntu2                           AMD64        Notes application for the Xfce4 desktop
rc  xfce4-panel                                   4.10.1-1ubuntu1                          AMD64        panel for Xfce4 desktop environment
rc  xfce4-power-manager                           1.2.0-2ubuntu1                           AMD64        power manager for Xfce desktop
rc  xfce4-session                                 4.10.1-1ubuntu1                          AMD64        Xfce4 Session Manager
rc  xfce4-settings                                4.11.1-0ubuntu1~ppa0.13.10.1             AMD64        graphical application for managing Xfce settings
rc  xfce4-terminal                                0.6.2-3ubuntu1.1                         AMD64        Xfce terminal emulator
rc  xfce4-volumed                                 0.2.0-0ubuntu1                           AMD64        volume keys daemon
rc  xfdesktop4                                    4.11.2-0ubuntu1~ppa0.13.10.1             AMD64        xfce desktop background, icons and root menu manager
rc  xfwm4                                         4.11.1-0ubuntu1~ppa0.13.10.1             AMD64        window manager of the Xfce project

J'ai copié-collé tous ces paquets\bibliothèques pour former une commande apt-get remove afin de supprimer toutes ces dépendances. La commande a fonctionné normalement, mais l'exécution de dpkg -l | grep -i xfce a encore montré ces dépendances!

Pourquoi ces dépendances sont-elles toujours installées?

6
Muhammad Gelbana

Notez le rc au début de la liste.

r: Supprimer (marqué pour suppression)
c: Les fichiers de configuration sont présents.

La différence entre apt-get remove et purge (De man apt-get)

   remove
       remove is identical to install except that packages are removed instead of installed.
       Note the removing a package leaves its configuration files in system.

   purge
       purge is identical to remove except that packages are removed and purged (any
       configuration files are deleted too).

Lorsque vous choisissez de apt-get remove, votre dpkg -l reflète cela. Si vous aviez été utilisé apt-get purge, vous pourriez éviter une telle situation. Pour vous en débarrasser, essayez en terminal,

dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs Sudo dpkg --purge

Il va purger tous les paquets qui sont marqués pour le retrait. Avant de les purger, vous pouvez consulter la liste que vous allez purger,

dpkg --list | grep "^rc" | cut -d " " -f 3 

Je suppose que vous n'avez aucun autre paquet restant marqué pour la suppression, sauf que ceux-ci proviennent de xfce. Si vous n'êtes pas sûr de ça. Utilisez ce qui suit à la place,

dpkg --list | grep -i xfce | cut -d " " -f 3 | xargs Sudo dpkg --purge
8
souravc

Les dépendances sont pas toujours installées.

Lorsque vous exécutez _dpkg -l_, dpkg appelle dpkg-query . Les entrées de la première colonne (où vous voyez rc) consistent en deux abréviations d’une lettre.

La première lettre spécifie l'état souhaité du package, tel que spécifié par les actions de gestion des packages. r signifie qu'il est destiné à être supprimé. Cela signifie que ce soit

  • est effectivement supprimé, ou
  • a été spécifié pour la suppression mais n'a pas encore été complètement supprimé ou la suppression a échoué.

Pour savoir quel est le cas, consultez la deuxième lettre, c. Cela indique ce qui est installé dans le paquet. Si aucun fichier de quelque nature que ce soit n'est présent, la deuxième lettre lit n (bien qu'en réalité, puisque vous exécutez _dpkg -l_/_dpkg --list_ sans arguments, puis en analysant la sortie, l’entrée n’apparaîtrait pas du tout s’il n’y avait pas de fichiers).

c signifie que tous les fichiers installés sont les fichiers de configuration . Généralement, il n’est pas prudent de supposer qu’un utilisateur souhaite les supprimer lors de la désinstallation d’un paquet. Si vous souhaitez les supprimer, vous pouvez passer l'indicateur _--purge_ à _apt-get_ (ou spécifier l'action purge au lieu de l'action remove) lors de la désinstallation des packages.

Pour supprimer ces fichiers de configuration, même si les packages eux-mêmes sont désinstallés, vous pouvez toujours les purger, soit avec _dpkg -P ..._ ou _apt-get purge ..._. Utiliser dpkg pour purger de nombreux packages est peut être un peu compliqué mais _apt-get_ correspondra à expressions régulières (comme grep le fait) pour les noms de package. En supposant que vous vouliez une seule commande courte qui supprime tous ces paquets et * en supposant que vous vouliez vraiment supprimer tous les paquets avec xfce dans leur nom, ceci fera l'affaire:

_Sudo apt-get purge xfce.\*
_

Notez que _*_ est pas un caractère générique, _.\*_ correspond à zéro ou plus de n'importe quel caractère. Le _._ est essentiel pour y arriver (voir ci-dessous). Cette expression rationnelle est équivalente à xfce, mais elle est reconnue comme une expression rationnelle par _apt-get_ car elle contient le caractère spécial _*_.

(De même, si vous utilisiez _xfce\*_ ou _xfce*_, tous les paquets contenant xfc seraient supprimés. Les utilisateurs ont essayé de se débarrasser de Wine en supprimant _wine*_, ce qui a entraîné la création de chaque paquet. avec win n'importe où dans le nom en cours de suppression, ce qui casse leurs systèmes!)

Ou si vous préférez effectuer la purge avec dpkg, une façon facile à comprendre (qui, je pense, réduit ainsi les erreurs) est de dire à _dpkg-list_ comment formater sa propre sortie:

_Sudo dpkg -P `dpkg-query -f='${Package}\n' -W | grep xfce`
_

Ou vous pouvez simplement exécuter _dpkg-query -f='${Package} ' -W | grep xfce_, vous permettant d’examiner la sortie pour vous assurer que vous le souhaitez, puis copiez et collez cette liste de packages délimitée par des espaces dans une commande _Sudo apt-get purge_ ou _Sudo dpkg -P_ .

4
Eliah Kagan