Pourquoi supprimer gnome-core ne supprime pas toutes ses dépendances?

9

J'ai installé le gnome-corepaquet sur Ubuntu (version minimale pour le beagle bone) et c'était presque 600mb. Cependant, lorsque j'essaie de le désinstaller en utilisant

sudo apt-get autoremove gnome-core 

Il ne supprime que 49 Mo. Des idées, comment supprimer l'ensemble des 600 Mo?

Développeur Android
la source

Réponses:

15

gnome-core est un méta-package et le cas des méta-packages est -

Ils tirent les packages pour les installer, mais les supprimer ne supprimera pas tous les packages extraits .

Donc, à moins que vous n'ayez copié les noms des paquets installés par gnome-core, il est pratiquement impossible de supprimer tous les 600 Mo.

Mais, vous pouvez obtenir les noms des packages extraits par la commande

apt-cache depends gnome-core 

et essayez de supprimer les packages un par un. Vous devez toujours vérifier s'il supprime les packages nécessaires.

Ou vous pouvez obtenir la liste des packages de manière plus utile:

apt-cache depends gnome-core | cut -f 2 -d ':'  | tr '\n' ' '

Ceci listera toutes les dépendances du paquet gnome-core, ignorera le nom du paquet dans les <>marques seulement.

Comment savoir si un package système est en cours de suppression?

Lorsque vous voyez que beaucoup d'espace est libéré de la commande (plus de 600 Mo) , vous devez savoir que vous en supprimez plus que vous n'en avez installé. apt-getvous permettra de savoir combien d'espace va être libéré, avant de supprimer comme avec un message comme celui-ci

After this operation, 384 kB disk space will be freed.

Et lorsque vous essayez de supprimer le package système essentiel, apt-getun message d'avertissement s'affiche.

Recommandation: je vous suggère d'obtenir une liste de packages à partir de la première commande et d'essayer de les supprimer un par un. C'est plus sûr. Si vous voyez un avertissement, ignorez la suppression de ce package. Je vois, la plupart des packages dans gnome-core sont liés à l'interface graphique, je suppose que la suppression de ces packages ne nuira pas à votre système (si vous ne voulez pas d'interface graphique) .

J'espère que cela t'aides!


Quelques remarques sur la suppression de packages

Comment les packages extraits sont-ils désinstallés lorsque vous supprimez le package principal?

Lorsque vous installez un package et que ce package dépend de certains autres packages, les packages de dépendance sont également installés et marqués comme auto . Cela signifie que le système Apt les marque comme installés automatiquement en tant que dépendance d'un autre package . Il aide le système Apt à reconnaître les packages inutiles.

Lorsque vous désinstallez le package principal, les packages extraits sont également marqués comme packages obsolètes ou inutiles dans le système. Vous pouvez les supprimer en fournissant une autoremoveoption à apt-get. (aptitude les supprime automatiquement avec le package maître) .

Une exception à cette règle est que si vous installez ultérieurement un autre package qui dépend également des packages extraits, les packages extraits ne seront pas marqués comme obsolètes lorsque vous supprimez le premier package principal.

Exemple: vous avez installé un package Xqui dépend du package Y. Lorsque vous avez installé X, est Yégalement installé et marqué comme automatique. Si vous n'installez pas un autre paquet Zqui en dépend également Y, la suppression Xrendra Yl'utilité de Apt et le système Apt le marquera obsolète et vous pouvez le supprimer avec l' autoremoveoption.

Mais si vous installez un package Zaprès Xlequel dépend également de Y, alors la suppression uniquement Xne marque pas Ycomme package obsolète et vous ne pouvez pas le supprimer avec l' autoremoveoption

Mais notez que si vous supprimez le package Yaprès l'installation X, il supprimera le package, Yy compris X, car Xne peut pas rester sans Yet que vous vouliez le supprimer Y, cela signifie que vous vouliez également le supprimer X. Apt se supprimera Xautomatiquement lors de la suppression, Ycontrairement au marquage obsolète pour une suppression ultérieure par autoremoveoption.

Essayez des exemples: ubuntu-desktop package est un méta-package. Il a été utilisé pour installer le bureau Ubuntu standard. Essayez de le supprimer, seul ce package sera supprimé.

Essayez également d'installer le lubuntu-desktoppackage (vous ne voudrez peut-être pas l'installer, car c'est un gros téléchargement) . Mais, lorsque vous essayez de le supprimer, seul le petit paquet lubuntu-desktopsera supprimé.

Apt gère les méta packages différemment

Les méta packages comme gnome-core, ubuntu-restricted-extras sont également appelés packages virtuels. Ils sont appelés ainsi, car ce sont essentiellement des packages vides. Ils tirent d'autres packages en fonction d'eux. Par exemple, ubuntu-restricted-extras dépend (en 12.04) des packages suivants:

ubuntu-restricted-addons
ttf-mscorefonts-installer
unrar
gstreamer0.10-plugins-bad-multiverse
libavcodec-extra-53

Où, ubuntu-restricted-addons lui-même est un autre méta-paquet. Étant donné que les méta-packages ne sont utilisés que pour extraire des packages, leur installation ne marque pas les packages extraits comme automatiques , ils sont marqués comme installés manuellement. Le résultat? Supprimer uniquement le méta-package maître ne marquera pas les packages extraits comme obsolètes et vous ne pouvez pas les supprimer par autoremoveoption. C'est pourquoi vous devez supprimer manuellement chaque package extrait des méta-packages.

Exemple: vous avez installé un méta-package Xqui dépend des packages Yet Z. Lorsque vous l'avez installé, les packages Yet Zne sont pas marqués comme auto (automatiquement installés en tant que dépendance d'un autre package) , ils sont plutôt marqués comme installés manuellement. Plus tard, lorsque vous souhaitez supprimer X, seul le Xpackage virtuel est supprimé. Les deux, Yet Z, restent dans le système et vous ne pouvez pas les désinstaller avec l' autoremoveoption.

Anwar
la source
C'est assez lourd. Mais je suppose que c'est la seule issue, non?
Développeur Android
Êtes-vous sûr que ce apt-cache dependssera utile ici? Je pense que la manière suggérée par tijybba est mieux adaptée à cet effet.
@Sab Pour autant que je sache, oui.
Anwar
@ vasa1Le problème est que je suis en train d'exécuter un os de beagle et que je n'ai pratiquement aucun gui, même sur l'utilisation de la visionneuse vnc
Développeur Android
@Sab J'ai ajouté une autre commande pour obtenir la liste sur une seule ligne.
Anwar
2

L'installation de gnome-core , apporte beaucoup de paquets et de dépendances, puisqu'il s'agit d'un méta-paquet.

L'un des moyens consiste à le supprimer manuellement, mais vous devez savoir quels packages doivent être supprimés sans provoquer d'erreurs consécutives.

La liste des packages inclus est répertoriée ici Package: gnome-core (1: 3.0 + 6ubuntu3) [univers]

Accédez au gestionnaire Synaptic (installez-le s'il n'est pas présent) , cliquez sur Origine dans les sélections en bas à gauche, référez-vous à l'image

entrez la description de l'image ici

Sélectionnez le package à supprimer, en vous référant au lien ci-dessus.

Attention si vous ne savez pas quels packages supprimer, ne suivez pas cette méthode. Cela peut entraîner des erreurs de dépendance .

atenz
la source
2

Introduction:

Pour supprimer complètement des programmes à l'aide de la ligne de commande, vous disposez des options suivantes;

Supprimer et configurer des fichiers, mais pas des dépendances à l'aide d'apt-get

sudo apt-get --purge remove <Package Name>

Supprimez les dépendances et les fichiers de configuration inutilisés à l'aide d'apt-get

sudo apt-get --purge autoremove

Lorsque GNOME est installé dans Ubuntu 12.04, il installe plusieurs packages et bibliothèques dont il a besoin ainsi que certains packages optionnels. Tous ces packages et bibliothèques ne sont pas désinstallés lorsque vous désinstallez GNOME. Plusieurs packages (comme epiphany-browser et gnuchess) ne sont pas désinstallés. Désinstallation rapide

Ce n'est pas recommandé car cela supprimera tous les paquets normalement installés avec GNOME. Cela peut inclure des packages que vous avez déjà installés (comme epiphany-browser ou gnuchess) ou des packages précédemment installés par d'autres applications.

Remarque: cette commande de désinstallation suppose que GNOME a été installé sur un nouveau Ubuntu 12.04. 1

Appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez la commande ci-dessous. (c'est très long et une seule ligne)

sudo apt-get purge --auto-remove alacarte bogofilter bogofilter-bdb bogofilter-common browser-plugin-gnash cheese  cheese-common cups-pk-helper dconf-tools desktop-base ekiga epiphany-browser  epiphany-browser-data epiphany-extensions evolution evolution-common  evolution-plugins evolution-webcal fonts-cantarell gdebi gdebi-core gdm  gedit-plugins gimp gimp-data gir1.2-accountsservice-1.0 gir1.2-caribou-1.0  gir1.2-clutter-1.0 gir1.2-cogl-1.0 gir1.2-coglpango-1.0 gir1.2-folks-0.6  gir1.2-gdesktopenums-3.0 gir1.2-gee-1.0 gir1.2-gjsdbus-1.0 gir1.2-gkbd-3.0  gir1.2-gucharmap-2.90 gir1.2-json-1.0 gir1.2-mutter-3.0  gir1.2-networkmanager-1.0 gir1.2-panelapplet-4.0 gir1.2-polkit-1.0  gir1.2-telepathyglib-0.12 gir1.2-telepathylogger-0.2 gir1.2-upowerglib-1.0  gir1.2-xkl-1.0 gjs glchess glines gnash gnash-common gnect gnibbles gnobots2  gnome gnome-applets gnome-applets-data gnome-backgrounds gnome-contacts  gnome-core gnome-dictionary gnome-games gnome-games-extra-data  gnome-icon-theme-extras gnome-icon-theme-full gnome-js-common gnome-panel  gnome-panel-data gnome-session-fallback gnome-shell gnome-shell-common  gnome-themes-standard gnome-video-effects gnotravex gnotski gnuchess  gnuchess-book gtali hamster-applet iagno imagemagick imagemagick-common  indicator-applet-complete inkscape libbabl-0.0-0 libblas3gf libbonobo2-0  libbonobo2-common libbonoboui2-0 libbonoboui2-common libboost-iostreams1.46.1  libboost-program-options1.46.1 libboost-signals1.46.1 libboost-thread1.46.1  libcapi20-3 libcaribou-common libcaribou0 libcdt4 libcheese-gtk21 libcheese3  libclutter-1.0-0 libclutter-1.0-common libclutter-gst-1.0-0 libclutter-gtk-1.0-0  libclutter-imcontext-0.1-0 libcluttergesture-0.0.2-0 libcogl-common  libcogl-pango0 libcogl9 libept1.4.12 libevolution libgc1c2 libgdict-1.0-6  libgdict-common libgegl-0.0-0 libgfortran3 libgimp2.0 libgjs0c libglade2-0  libgnome2-0 libgnomecanvas2-0 libgnomecanvas2-common libgnomeui-0  libgnomeui-common libgnomevfs2-extra libgraph4 libgsl0ldbl libgtkhtml-4.0-0  libgtkhtml-4.0-common libgtkhtml-editor-4.0-0 libgtkmm-2.4-1c2a libgvc5  libilmbase6 liblapack3gf liblqr-1-0 libmagick++4 libmagickcore4  libmagickcore4-extra libmagickwand4 libmozjs185-1.0 libmusicbrainz4-3 libmutter0  libmx-1.0-2 libnetpbm10 libodbc1 libopal3.10.2 libopenexr6 libpanel-applet--0  libpathplan4 libpst4 libpt2.10.2 libseed-gtk3-0 libwmf-bin liferea liferea-data  lightsoff menu menu-xdg mutter-common netpbm notification-daemon odbcinst  odbcinst1debian2 perlmagick python-gmenu python-gnome2 python-lxml python-numpy  python-pyorbit python-uniconvertor quadrapassel sound-juicer swell-foop synaptic  unixodbc

Une meilleure façon de supprimer complètement un package

1) Ouvrez le fichier journal d'aptitude (/var/log/apt/history.log).

2) Localisez les fichiers installés.

3) Supprimez les fichiers en utilisant 1

sudo apt-get remove --auto-remove <file names>

1 Source: Comment désinstaller / supprimer complètement GNOME

Mitch
la source