J'ai une ancienne machine virtuelle Debian 7 pour les tests. J'essaie de réduire la taille de l'encombrement des VM parce que je manque d'espace. Je voulais supprimer Iceweasel car je ne l'utilise pas vraiment et je peux généralement m'en tirer wget
. Quand j'ai couru, Apt
il m'a dit qu'il supprimait aussi GNOME:
$ sudo apt-get remove iceweasel*
...
The following packages were automatically installed and are no longer required:
hyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils
xinit xorg
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
icedove iceowl-extension
Suggested packages:
apparmor calendar-google-provider
The following packages will be REMOVED:
gnome gnome-core iceweasel task-gnome-desktop
The following NEW packages will be installed:
icedove iceowl-extension
0 upgraded, 2 newly installed, 4 to remove and 0 not upgraded.
Need to get 44.7 MB of archives.
After this operation, 100 MB of additional disk space will be used.
...
Pourquoi la suppression de Iceweasel Nuke GNOME?
Après avoir retiré Iceweasel, puis faire une autoclean
et autoremove
passe, cela a été présenté. Je suis assez certain que cette machine virtuelle a été rendue inutile.
The following packages will be REMOVED:
aisleriot ant ant-optional argyll at-spi2-core baobab browser-plugin-gnash
ca-certificates-java caribou caribou-antler cheese dconf-tools default-jre
default-jre-headless empathy empathy-common espeak-data file-roller finger
fonts-cantarell fonts-opensymbol fonts-sil-gentium fonts-sil-gentium-basic
gcalctool gdebi gdm3 gedit gedit-common gedit-plugins gir1.2-atspi-2.0
gir1.2-gdata-0.0 gir1.2-gnomekeyring-1.0 gir1.2-goa-1.0 gir1.2-gtop-2.0
gir1.2-gucharmap-2.90 gir1.2-javascriptcoregtk-3.0 gir1.2-rb-3.0
gir1.2-tracker-0.14 gir1.2-webkit-3.0 gir1.2-wnck-3.0 glchess glines gnash
gnash-common gnect gnibbles gnobots2 gnome-backgrounds gnome-color-manager
gnome-dictionary gnome-disk-utility gnome-documents gnome-font-viewer
gnome-games gnome-games-data gnome-games-extra-data gnome-icon-theme-extras
gnome-mag gnome-nettool gnome-orca gnome-packagekit gnome-packagekit-data
gnome-screenshot gnome-shell-extensions gnome-sudoku gnome-system-log
gnome-tweak-tool gnome-video-effects gnomine gnotravex gnotski gnuchess
gnuchess-book grilo-plugins-0.1 gtali gucharmap guile-2.0-libs
hamster-applet hyphen-en-us iagno icedtea-6-jre-cacao icedtea-6-jre-jamvm
icedtea-netx icedtea-netx-common inkscape iputils-tracepath java-common
libapache-pom-java libatk-adaptor libatk-adaptor-data libatk-bridge2.0-0
libatk-wrapper-java libatk-wrapper-java-jni libatspi1.0-0 libatspi2.0-0
libavahi-gobject0 libavahi-ui-gtk3-0 libblas3gf
libboost-program-options1.49.0 libboost-thread1.49.0 libcaribou-gtk-module
libcaribou-gtk3-module libcmis-0.2-0 libcolamd2.7.1 libcolorblind0
libcommons-beanutils-java libcommons-collections3-java
libcommons-compress-java libcommons-digester-java libcommons-logging-java
libcommons-parent-java libdb-java libdb-je-java libdb5.1-java
libdb5.1-java-jni libdee-1.0-4 libdiscid0 libdmapsharing-3.0-2 libdotconf1.0
libespeak1 libexttextcat-data libexttextcat0 libfs6 libgail-common
libgdict-1.0-6 libgdict-common libgdu-gtk0 libgeocode-glib0 libgexiv2-1
libgnome-mag2 libgpod-common libgpod4 libgraphite2-2.0.0 libgrilo-0.1-0
libgtk-vnc-2.0-0 libgupnp-av-1.0-2 libgupnp-dlna-1.0-2 libgvnc-1.0-0
libhsqldb-java libhyphen0 libicc2 libicu4j-java libimdi0 libjaxp1.3-java
libjline-java libjtidy-java liblinear-tools liblinear1 liblouis-data
liblouis2 liblucene2-java libmagick++5 libminiupnpc5 libmtp-common
libmtp-runtime libmtp9 libmythes-1.2-0 libnatpmp1 libplot2c2 libpstoedit0c2a
libraw5 libregexp-java libreoffice libreoffice-base libreoffice-base-core
libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw
libreoffice-emailmerge libreoffice-evolution libreoffice-filter-binfilter
libreoffice-filter-mobiledev libreoffice-gnome libreoffice-gtk
libreoffice-help-en-us libreoffice-impress libreoffice-java-common
libreoffice-math libreoffice-report-builder-bin libreoffice-style-galaxy
libreoffice-style-tango libreoffice-writer librhythmbox-core6 libsctp1
libservlet2.5-java libsofia-sip-ua-glib3 libsofia-sip-ua0 libsonic0
libspeechd2 libstlport4.6ldbl libsvm-tools libtelepathy-farstream2
libunique-3.0-0 libvisio-0.0-0 libwnck-common libwnck22 libwpd-0.9-9
libwpg-0.2-2 libwps-0.2-2 libxalan2-java libxerces2-java
libxml-commons-external-java libxml-commons-resolver1.1-java libxss1
libxz-java lightsoff lksctp-tools lp-solve mahjongg media-player-info
minissdpd mobile-broadband-provider-info mythes-en-us network-manager-gnome
nmap openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib openjdk-7-jre
openjdk-7-jre-headless p7zip-full perlmagick pstoedit python-brlapi
python-louis python-mako python-markupsafe python-pyatspi python-pyatspi2
python-speechd python-uno python-wnck python-zeitgeist quadrapassel rdesktop
rhythmbox rhythmbox-data rhythmbox-plugin-cdrecorder rhythmbox-plugins rygel
rygel-playbin rygel-preferences rygel-tracker seahorse shotwell
shotwell-common simple-scan sound-juicer sound-theme-freedesktop
speech-dispatcher swell-foop task-desktop telepathy-gabble telepathy-idle
telepathy-logger telepathy-rakia telepathy-salut transmission-common
transmission-gtk ttf-liberation ttf-sil-gentium-basic tzdata-java uno-libs3
unoconv ure vinagre vino x11-apps x11-session-utils x11-xfs-utils xbrlapi
xdg-user-dirs-gtk xfonts-mathml xinit xorg xul-ext-adblock-plus
zeitgeist-core
0 upgraded, 0 newly installed, 278 to remove and 0 not upgraded.
Apt
me dit les dépendances. Je suis intéressant de savoir pourquoi les dépendances existent. Je douteaptitude
me dira pourquoi une dépendance existe.debian-desktop
(je sais que c'est Debian et non Ubuntu mais juste pour les besoins de l'argument) parmi d'autres navigateurs, alors cela vous dirait que quelqu'un pensait qu'un navigateur Web est essentiel pour un bureau graphique.apt-mark
celles installées manuellement avant de supprimer task-gnome-desktop). Si vous utilisez debian depuis un certain temps, il est possible que cela soit surprenant car debian n'utilisait pas à l'origine ces métapaquets uniques pour implémenter leurs "tâches".*
? J'ai détruit mon gnome avecapt-get remove wine*
avant.Réponses:
Comme d'autres l'ont expliqué, les méta-packages de bureau - tels que
task-desktop
orgnome-core
- installent un navigateur Web de nos jours (enfin, depuis assez longtemps en fait). Vous pouvez vous attendregnome-core
à installer Epiphany, ou au moins à l'autoriser comme alternative à Iceweasel, mais ce n'est pas le cas pour des raisons de sécurité . Lagnome-core
description mentionne la dépendance du navigateur:Les raisons pour lesquelles cela dépend de Iceweasel sont donc doubles:
Il y avait autrefois une dépendance alternative
gnome-www-browser
, mais elle a été supprimée en 2011 (sans explication pour autant que je sache). Il peut être utile de demander aux responsables de le réintroduire, mais cela ne vous aiderait pas à installergnome-core
sans navigateur.Les mécanismes qui conduisent à la suppression de GNOME si vous supprimez Iceweasel sont relativement simples. Lorsque vous demandez
apt-get
à faire quelque chose, il essaie vraiment de le faire - donc la suppression d'un paquet supprime tout ce qui en dépend (après vous avoir demandé).gnome-core
dépendiceweasel
, etgnome
dépendgnome-core
, doncsupprime également
gnome-core
etgnome
.La suppression de ces méta-packages fait que tous les packages dont ils dépendent deviennent candidats à la suppression
autoremove
, car le système de packaging les considère désormais comme inutiles (aucun package marqué comme non installé automatiquement n'en dépend). Le système de conditionnement considère que l'utilisateur souhaite vraiment les packages qui sont marqués comme installés explicitement, et tout le reste n'est installé que pour prendre en charge ces packages. Donc, si quelque chose est supprimégnome
ougnome-core
, la prochaine fois que vous exécutezapt-get autoremove
, il considérera que la plupart des packages installés sont inutiles ...Il existe quelques solutions:
gnome-core
installer sans Iceweasel, utilisezequivs
ouapt-holepunch
(ce dernier est beaucoup plus facile à utiliser dans ce cas, merci Joshua !) pour construire un fauxiceweasel
paquet et l'installer avecgnome-core
;passer par tous les packages
gnome
etgnome-core
dépendent, décider lequel d'entre eux vous souhaitez utiliser et / ou besoin ( par exemplegdm3
,gnome-session
,nautilus
...), et les marquer à l' aideou en utilisant
aptitude
l'interface graphique de (ce qui sera beaucoup plus facile).Dans tous les cas, vous ne pouvez pas casser votre machine virtuelle en supprimant les packages, sauf si vous commencez à supprimer les packages essentiels (et
apt-get
vous vous plaindrez bruyamment avant de vous laisser le faire), ou le noyau. Il se peut que vous deviez vous connecter à une console texte, mais vous pouvez y remédier aussi bien qu'à partir d'un émulateur de terminal X.la source
gnome-www-browser
package "virtuel"?gnome-www-browser
été supprimée en 2011 mais elle est toujours fournie par Chromium, Epiphany, Iceweasel et Firefox ... (Et Cinnamon l'utilise toujours.)Les tâches sont sélectionnées au moment de l'installation (
tasksel
), et il n'y a pas de tâche distincte pour le "navigateur Web" ... En théorie, cela pourrait être spécifique au bureau, comme dans KDE3 jours. Les gens s'attendent à ce que le bureau par défaut inclue un navigateur Web, si rien d'autre pour obtenir de l'aide sur leur nouveau système :). Par conséquent, la tâche de bureau comprend un navigateur Web par défaut, QED.Sauf que nos commentaires sur les questions sont faux. task-gnome-desktop ne nécessite pas de iceweasel. Il ne fait que le recommander.(La réponse la plus upvoted indique qu'il ya une relation indirecte qui ne l' exige. Sur la face de celui - ci, il peut y avoir place à l' amélioration dans cette structure de dépendance. Je pense cependant ce qui suit est toujours valide.)
Vous avez raté quelque chose de très important.
Il s'avère (après avoir enlevé iceweasel?) Que vous n'aviez installé aucun paquet qui dépendait ou était recommandé
task-desktop
. Il n'était pas non plus marqué comme installé manuellement. Alors bien sûr, leapt-get autoremove
supprime.Point d'interrogation parce qu'en regardant la base de données des paquets Debian, je ne vois pas en quoi iceweasel dépend ou recommande
task-desktop
. Il était peut-être déjà amovible automatiquement.Faites attention lorsque vous utilisez la suppression automatique. Si la suppression automatique indique que votre bureau entier est considéré comme inutile, annulez-le et marquez votre bureau comme installé manuellement (
apt-mark
).La VM n'est pas inutile; vous pouvez vous connecter à la console et exécuter
apt-get install task-gnome-desktop
. Si vous ne voulez pas de forfait recommandécomme la belette, vous pouvez essayer d'utiliserapt-get install task-gnome-desktop iceweasel-
.Il est également possible de décocher les dépendances recommandées à l'aide de
synaptic
(GUI) ouaptitude
(TUI). (Notez que aptitude supprime automatiquement par défaut, alors que synaptic a une liste de paquets dont vous n'avez plus besoin que vous pouvez trouver quelque part). Malheureusement, le synaptique IME peut être assez maladroit et décalé de nos jours si vous essayez de faire ce genre de choses. Voir /ubuntu/622031/how-do-i-exclude-specific-packages-from-installation-with-apt-getla source
Vous ne devriez vraiment pas utiliser * d'expressions régulières pour supprimer des choses - et je le sais par expérience. L'utilisation de * supprime tous les packages dont le nom contient "iceweasel". Si vous souhaitez supprimer iceweasel, supprimez le paquet iceweasel (pas d'astérisque) et supprimez le contenu du dossier iceweasel. Je n'ai aucune idée de ce qu'est le paquet "iceweasel" incriminé, il pourrait s'agir d'une dépendance inverse de
hyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils xinit xorg
. N'importe lequel. Un coup d'œil rapide et le retrait automatiquexorg
/x11
seul briseraient 99% des interfaces graphiques * Nix. Pour savoir quels paquets iceweasel vous avez supprimésgrep iceweasel /var/log/apt/history.log
et recherchez les lignes commençant par"Remove:"
sousCommandline: apt-get remove iceweasel*
Si vous êtes toujours curieux de publier les résultats et moi (ou quelqu'un d'autre) je peux comprendre les problèmes de dépendance exacts. :)la source