Tengo una máquina virtual Debian 7 más antigua para probar. Estoy tratando de reducir el tamaño de la huella de VM porque estoy casi sin espacio. Quería eliminar Iceweasel ya que realmente no lo uso, y generalmente puedo salir adelante wget
. Cuando lo ejecuté Apt
, me dijo que también estaba eliminando 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.
...
¿Por qué eliminar Iceweasel destruye GNOME?
Después de la eliminación de Iceweasel y luego hacer una autoclean
y autoremove
pase, esto se presentó. Estoy bastante seguro de que esta VM se ha vuelto inútil.
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 dice las dependencias Me interesa saber por qué existen las dependencias. Dudoaptitude
que me diga por qué existe una dependencia.debian-desktop
(sé que esto es Debian y no Ubuntu, solo por el argumento) entre otros navegadores, entonces te diría que alguien pensó que un navegador web es esencial para un Escritorio gráfico.apt-mark
las que están instaladas manualmente antes de eliminar task-gnome-desktop). Si ha estado usando debian por un tiempo, es posible que esto sea sorprendente porque debian originalmente no usó estos metapaquetes individuales para implementar sus "tareas".*
? Destruí mi gnomo conapt-get remove wine*
antes.Respuestas:
Como otros han explicado, los metapaquetes de escritorio, como
task-desktop
ognome-core
, instalan un navegador web hoy en día (bueno, en realidad durante bastante tiempo). Puede esperargnome-core
instalar Epiphany, o al menos permitirlo como una alternativa a Iceweasel, pero no lo hace por razones de seguridad . Lagnome-core
descripción menciona la dependencia del navegador:Entonces, las razones por las que depende de Iceweasel son dobles:
Solía haber una dependencia alternativa
gnome-www-browser
, pero se eliminó en 2011 (sin explicación, por lo que puedo decir). Puede valer la pena pedirles a los encargados de mantenimiento que lo reintroduzcan, pero no lo ayudaría a instalarlognome-core
sin un navegador.Los mecanismos que llevan a la eliminación de GNOME si elimina Iceweasel son relativamente sencillos. Cuando pides
apt-get
hacer algo, se esfuerza mucho por hacerlo, por lo que eliminar un paquete elimina todo lo que depende de él (después de pedírtelo).gnome-core
depende deiceweasel
, ygnome
depende degnome-core
, entoncestambién quita
gnome-core
ygnome
.Al eliminar estos metapaquetes, todos los paquetes de los que dependen se convierten en candidatos para su eliminación
autoremove
, ya que el sistema de empaque ahora los considera innecesarios (ningún paquete marcado como no instalado automáticamente depende de ellos). El sistema de empaquetado considera que el usuario realmente quiere aquellos paquetes que están marcados como instalados explícitamente, y cualquier otra cosa solo se instala para admitir esos paquetes. Entonces, si algo se eliminagnome
ognome-core
, la próxima vez que ejecuteapt-get autoremove
, considerará que muchos de los paquetes instalados son innecesarios ...Hay un par de soluciones alternativas:
gnome-core
instalado sin Iceweasel, useequivs
oapt-holepunch
(este último es mucho más fácil de usar en este caso, ¡gracias Joshua !) para construir uniceweasel
paquete falso e instalarlo junto congnome-core
;ir a través de todos los paquetes que
gnome
ygnome-core
depende de, decidir cuál de ellos desea utilizar y / o necesidad ( por ejemplogdm3
,gnome-session
,nautilus
...), y marcarlos usandoo usando
aptitude
la GUI (que será mucho más fácil).En cualquier caso, no puede romper su VM eliminando paquetes a menos que comience a eliminar paquetes esenciales (y
apt-get
se quejará en voz alta antes de dejar que lo haga), o el núcleo. Puede terminar teniendo que iniciar sesión en una consola de texto, pero puede arreglar las cosas desde allí tan bien como desde un emulador de terminal X.fuente
gnome-www-browser
paquete "virtual"?gnome-www-browser
se eliminó en 2011, pero todavía es proporcionada por Chromium, Epiphany, Iceweasel y Firefox ... (Y Cinnamon todavía la usa)Las tareas se seleccionan en el momento de la instalación (
tasksel
), y no hay una tarea separada para el "navegador web" ... En teoría, podría ser específica del escritorio, como en los días de KDE3. La gente espera que el escritorio predeterminado incluya un navegador web, por lo menos para obtener ayuda en su nuevo sistema :). Por lo tanto, la tarea de escritorio incluye un navegador web predeterminado, QED.Excepto que nuestra pregunta los comentarios están equivocados task-gnome-desktop no requiere iceweasel. Solo lo recomienda.(La respuesta más votada indica que hay una relación indirecta que lo requiere. A primera vista, puede haber margen de mejora en esta estructura de dependencia. Sin embargo, creo que lo siguiente sigue siendo válido).
Te perdiste algo muy importante.
Resulta que (¿después de quitar iceweasel?) No tenía instalados paquetes que dependían o recomendaban
task-desktop
. Tampoco se marcó como instalado manualmente. Entonces, por supuesto, loapt-get autoremove
elimina.Signo de interrogación porque al mirar la base de datos del paquete Debian, no veo cómo iceweasel depende o recomienda
task-desktop
. Es posible que ya haya sido extraíble automáticamente.Tenga cuidado al usar la eliminación automática. Si la eliminación automática indica que todo su escritorio se considera innecesario, cancélelo y márquelo como instalado manualmente (
apt-mark
).VM no es inútil; puede iniciar sesión en la consola y ejecutar
apt-get install task-gnome-desktop
. Si no quieres un paquete recomendadocomo iceweasel, puedes intentar usarloapt-get install task-gnome-desktop iceweasel-
.También es posible desmarcar las dependencias recomendadas usando
synaptic
(GUI) oaptitude
(TUI). (Tenga en cuenta que aptitude se elimina automáticamente de forma predeterminada, mientras que synaptic tiene una lista de paquetes que ya no necesita que pueda encontrar en alguna parte). Lamentablemente, el sináptico IME puede ser bastante torpe y lento hoy en día si intentas hacer este tipo de cosas. Ver /ubuntu/622031/how-do-i-exclude-specific-packages-from-installation-with-apt-getfuente
Usted realmente no debe usar expresiones regulares * para eliminar cosas-- y sé por experiencia. El uso de * elimina todos los paquetes con un nombre que contenga "iceweasel". Si desea eliminar iceweasel, elimine el paquete iceweasel (sin asterisco) y elimine el contenido de la carpeta iceweasel. No tengo idea de cuál es el paquete ofensivo "iceweasel", podría ser una dependencia inversa de
hyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils xinit xorg
. Cualquiera de esos. Un vistazo rápido y autoxorg
- movimiento /x11
solo rompería el 99% de * Nix GUIs. Para averiguar qué paquetes de iceweasel eliminó,grep iceweasel /var/log/apt/history.log
busque líneas que comiencen"Remove:"
debajo deCommandline: apt-get remove iceweasel*
Si aún tiene curiosidad, publique los resultados y yo (u otra persona) puedo descubrir los problemas de dependencia exactos. :)fuente