¿Por qué eliminar gnome-core no elimina todas sus dependencias?

9

Instalé el gnome-corepaquete en Ubuntu (versión mínima para el hueso beagle) y fue casi 600mb. Sin embargo, cuando intento desinstalarlo usando

sudo apt-get autoremove gnome-core 

Elimina solo 49 MB. ¿Alguna idea, cómo eliminar los 600 MB completos?

Desarrollador Android
fuente

Respuestas:

15

gnome-core es un metapaquete y el caso con los metapaquetes es:

Extraen paquetes para instalarlos, pero eliminarlos no eliminará todos los paquetes extraídos .

Entonces, a menos que haya copiado los nombres de los paquetes instalados por gnome-core, es prácticamente imposible eliminar todos los 600 MB.

Pero, puede obtener los nombres de los paquetes extraídos mediante el comando

apt-cache depends gnome-core 

e intente eliminar los paquetes uno por uno. Siempre debe verificar si está eliminando los paquetes necesarios.

O puede obtener la lista de paquetes de una manera más útil de esta manera:

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

Esto enumerará todas las dependencias del paquete gnome-core, ignore el nombre del paquete <>solo en las marcas.

¿Cómo sé si se está eliminando algún paquete del sistema?

Cuando vea que se libera mucho espacio del comando (más de 600 MB) , debe saber que está eliminando más de lo que instaló. apt-getle informará cuánto espacio se va a liberar, antes de eliminar un mensaje como este

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

Y cuando intente eliminar el paquete esencial del sistema, apt-getle mostrará un mensaje de advertencia.

Recomendación: le sugiero que obtenga una lista de paquetes del primer comando e intente eliminarlos uno por uno. Es mas seguro. Si ve una advertencia, omita eliminar ese paquete. Ya veo, la mayoría de los paquetes en gnome-core están relacionados con la GUI, supongo que eliminar esos paquetes no dañará su sistema (si no desea una GUI) .

¡Espero que esto ayude!


Alguna nota sobre la eliminación de paquetes

¿Cómo se desinstalan los paquetes extraídos cuando se elimina el paquete maestro?

Cuando instala un paquete y ese paquete depende de otros paquetes, los paquetes de dependencia también se instalan y Marcan como automático . Eso significa que el sistema Apt los marca como instalados automáticamente como dependencia de otro paquete . Ayuda al sistema Apt a reconocer paquetes innecesarios.

Cuando desinstala el paquete maestro, los paquetes extraídos también se marcan como paquetes obsoletos o innecesarios en el sistema. Puede eliminarlos proporcionando la autoremoveopción de apt-get. (aptitud los elimina automáticamente con el paquete maestro) .

Una excepción a esta regla es que si luego instala otro paquete que también depende de los paquetes extraídos, los paquetes extraídos no se marcarán como obsoletos cuando elimine el primer paquete maestro.

Ejemplo: instaló un paquete Xque depende del paquete Y. Cuando lo instaló X, Ytambién se instala y se marca como automático. Si no instala otro paquete del Zque también depende Y, la eliminación Xhará que sea Yútil y el sistema Apt lo marcará como obsoleto y puede eliminarlo con la autoremoveopción.

Pero si instala un paquete Zdespués del Xcual también depende Y, eliminar solo Xno marca Ycomo paquete obsoleto y no puede eliminarlo con la autoremoveopción

Pero tenga en cuenta que si elimina el paquete Ydespués de la instalación X, eliminará el paquete , Yincluido X, porque Xno puede quedarse sin Yy desea que lo elimine Y, eso significa que también desea eliminarlo X. Apt se eliminará Xautomáticamente al eliminar a Ydiferencia de marcarlo como obsoleto para su posterior eliminación por autoremoveopción.

Pruebe ejemplos: ubuntu-desktop package es un metapaquete. Se usó para instalar el escritorio estándar de Ubuntu. Intente eliminarlo, solo se eliminará ese paquete.

También intente instalar el lubuntu-desktoppaquete (es posible que no desee instalar esto, porque es una gran descarga) . Pero, cuando intente eliminarlo, solo se eliminará el paquete pequeño lubuntu-desktop.

Apt maneja metapaquetes de manera diferente

Los metapaquetes como gnome-core, ubuntu-restricted-extras también se denominan paquetes virtuales. Se les llama así, porque son básicamente paquetes vacíos. Extraen otros paquetes dependiendo de ellos. Por ejemplo, ubuntu-protected-extras depende de (en 12.04) los siguientes paquetes:

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

Donde, ubuntu-restricted-addons en sí es otro metapaquete. Dado que los metapaquetes se usan solo para extraer paquetes, la instalación no marca los paquetes extraídos como automáticos , sino que se marcan como instalados manualmente. ¿El resultado? Eliminar solo el metapaquete maestro no marcará los paquetes extraídos como obsoletos y no puede eliminarlos por autoremoveopción. Es por eso que debe eliminar cada paquete extraído de los metapaquetes manualmente.

Ejemplo: instaló un metapaquete Xque depende de paquetes Yy Z. Cuando lo instaló, los paquetes Yy Zno se marcaron como automáticos (se instalaron automáticamente como dependencia de otro paquete) , sino que se marcaron como instalados manualmente. Más adelante, cuando desee eliminar X, solo se eliminará el Xpaquete virtual . Ambos Yy Zpermanecen en el sistema y no puede desinstalarlos con la autoremoveopción.

Anwar
fuente
Eso es bastante engorroso. Pero supongo que es la única salida, ¿verdad?
Desarrollador Android
¿Estás seguro de que apt-cache dependsserá útil aquí? Creo que la forma sugerida por tijybba es más adecuada para este propósito.
@Sab Hasta donde yo sé, sí.
Anwar
@ vasa1 El problema es que estoy ejecutando un hueso beagle y prácticamente no tengo interfaz gráfica de usuario, incluso al usar el visor vnc
Desarrollador Android
@Sab He agregado otro comando para obtener la lista en una línea.
Anwar
2

Instalar gnome-core , trae muchos paquetes y dependencias, ya que es un metapaquete.

Una de las formas es eliminarlo manualmente, pero debe saber qué paquetes deben eliminarse sin causar ningún error de efecto secundario.

La lista de paquetes incluidos se enumeran aquí Paquete: gnome-core (1: 3.0 + 6ubuntu3) [universo]

Vaya al administrador Synaptic (instálelo si no está presente) , haga clic en Origen desde las selecciones de la parte inferior izquierda, consulte la imagen

ingrese la descripción de la imagen aquí

Seleccione el paquete para su eliminación, consultando el enlace de arriba.

Tenga cuidado si no sabe qué paquetes eliminar, entonces no siga este método. Estos pueden causar errores de dependencia .

atenz
fuente
2

Introducción:

Para eliminar completamente los programas usando la línea de comando, tiene las siguientes opciones;

Eliminar y configurar archivos, pero no dependencias usando apt-get

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

Eliminar dependencias no utilizadas y archivos de configuración usando apt-get

sudo apt-get --purge autoremove

Cuando GNOME se instala en Ubuntu 12.04, instala varios paquetes y bibliotecas que requiere, así como algunos paquetes opcionales. No todos estos paquetes y bibliotecas se desinstalan cuando desinstala GNOME. Varios paquetes (como epiphany-browser y gnuchess) no se desinstalan. Desinstalación rápida

Esto no se recomienda porque eliminará todos los paquetes normalmente instalados con GNOME. Esto puede incluir paquetes que instaló previamente (como epiphany-browser o gnuchess) o paquetes previamente instalados por otras aplicaciones.

Nota: este comando de desinstalación asume que GNOME se instaló en un Ubuntu 12.04 nuevo. 1

Simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute el siguiente comando. (es muy largo y una sola línea)

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

Una mejor manera de cómo eliminar completamente un paquete

1) Abra el archivo de registro de aptitude (/var/log/apt/history.log).

2) Localice los archivos que se instalaron.

3) Eliminar los archivos usando 1

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

1 Fuente: Cómo desinstalar / eliminar completamente GNOME

Mitch
fuente