Por que remover o gnome-core não remove todas as dependências dele?

9

Instalei o pacote gnome-core no Ubuntu (versão mínima para o osso beagle) e era quase 600mb. No entanto, quando tento desinstalá-lo usando

sudo apt-get autoremove gnome-core 

Remove apenas 49 MB. Alguma idéia, como remover todo o 600 MB?

    
por Developer Android 18.07.2012 / 06:14

3 respostas

15

gnome-core é um pacote meta e o caso de pacotes meta é -

Eles puxam pacotes para serem instalados, mas removê-los não removerá todos os pacotes extraídos .

Então, a menos que você tenha copiado os nomes dos pacotes instalados pelo gnome-core, é virtualmente impossível remover todos os 600 MBs.

Mas, você pode obter os nomes dos pacotes extraídos pelo comando

apt-cache depends gnome-core 

e tente remover os pacotes um por um. Você deve verificar sempre se está removendo algum pacote necessário.

Ou você pode obter a lista de pacotes de maneira mais útil com isso:

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

Isto irá listar todas as dependências do pacote gnome-core, ignorar o nome do pacote em <> apenas.

Como sei se algum pacote do sistema está sendo removido?

Quando você vê muito espaço sendo liberado do comando, (mais que 600MB) , você deve saber que está removendo mais do que instalou. apt-get permitirá que você saiba quanto espaço será liberado, antes de remover com uma mensagem como essa

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

E quando você tentar remover o pacote essencial do sistema, apt-get mostrará uma mensagem de aviso.

Recomendação: sugiro que você obtenha uma lista de pacotes do primeiro comando e tente removê-los um por um. É mais seguro. Se você vir um aviso, pule a remoção desse pacote. Eu vejo, a maioria dos pacotes no gnome-core estão relacionados com a GUI, eu acho que remover esses pacotes não irá prejudicar o seu sistema (se você não quer uma GUI) .

Espero que isso ajude!

Alguma nota sobre a remoção de pacotes

Como pacotes extraídos são desinstalados quando você remove o pacote mestre?

Quando você instala um pacote e esse pacote depende de alguns outros pacotes, os pacotes de dependência também são instalados e Marcado como automático . Isso significa que o sistema Apt os marca como Automaticamente instalado como dependência de outro pacote . Ajuda o sistema Apt a reconhecer pacotes desnecessários.

Quando, você desinstala o pacote principal, os pacotes extraídos também são marcados como pacotes obsoletos ou desnecessários no sistema. Você pode removê-los fornecendo a opção autoremove para apt-get . (o aptitude remove-os automaticamente com o pacote principal) .

Uma exceção a essa regra é, se você instalar posteriormente outro pacote que também dependa dos pacotes extraídos, os pacotes extraídos não serão marcados como obsoletos quando você remover o primeiro pacote mestre.

Exemplo: Você instalou um pacote X que depende do pacote Y . Quando você instalou X , Y também é instalado e marcado como automático. Se você não instalar outro pacote Z que também depende de Y , remover X renderizará a utilidade de Y e o sistema Apt o marcará como obsoleto e você poderá removê-lo com a opção autoremove .

Mas, se você instalar um pacote Z após X , que também depende de Y , a remoção apenas de X não marcará Y como pacote obsoleto e você não poderá removê-lo com autoremove opção

Mas, se você remover o pacote Y após a instalação do X , ele removerá o pacote Y , incluindo X , porque X não pode ficar sem Y e você queria que você removesse Y , isso significa que você também queria remover X . O Apt removerá X automaticamente ao remover Y , diferentemente de marcá-lo como obsoleto para remoção posterior pela opção autoremove .

Experimente exemplos: ubuntu-desktop package é um pacote meta. Foi usado para instalar o desktop padrão do Ubuntu. Tente removê-lo, apenas esse pacote será removido.

Tente também instalar lubuntu-desktop package (Você pode não querer instalar isto, porque é um grande download) . Mas, quando você tentar removê-lo, somente o minúsculo pacote lubuntu-desktop será removido.

O Apt lida com pacotes meta de maneira diferente

Os pacotes meta, como o gnome-core e o ubuntu-restricted-extras, também são chamados de pacotes virtuais. Eles são chamados assim, porque são basicamente pacotes vazios, eles puxam outros pacotes dependendo deles. Por exemplo, ubuntu-restricted-extras depende (em 12.04) dos seguintes pacotes:

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

Onde, o addons ubuntu-restricted-propriamente dito é outro pacote meta. Como os meta packages são usados apenas para pacotes, a instalação não marca os pacotes como auto , eles são marcados como instalados manualmente. O resultado? Remover apenas o meta pacote mestre não marcará os pacotes extraídos e você não poderá removê-los pela opção autoremove . É por isso que você precisa remover cada pacote extra dos pacotes meta manualmente.

Exemplo: Você instalou um pacote meta X que depende dos pacotes Y e Z .Quando você o instalou, os pacotes Y e Z não foram marcados como auto (instalados automaticamente como dependência de outro pacote) , em vez disso, eles foram marcados como instalados manualmente. Mais tarde, quando você quiser remover X , somente o pacote virtual X será removido. Ambos, Y e Z , permanecem no sistema e você não pode desinstalá-los com a opção autoremove .

    
por Anwar 18.07.2012 / 07:19
2

Instalar o gnome-core , traz muitos pacotes e dependências, já que é um meta-pacote.

Uma das maneiras é removê-lo manualmente, mas você deve saber quais pacotes precisam ser removidos sem causar erros de pós-efeitos.

A lista de Pacotes incluídos está listada aqui Pacote: gnome-core (1: 3.0 + 6ubuntu3) [universe]

Vá para Gerenciador de Synaptic (Instale se não estiver presente) , clique em Origem nas Seleções da parte inferior esquerda, consulte a imagem

Selecione o pacote para remoção, consultando o link acima.

Cuidado se você não souber quais pacotes remover, então não siga este método. Isso pode causar erros de dependência .

    
por atenz 18.07.2012 / 07:05
2

Introdução:

Para remover programas completamente usando a linha de comando, você tem as seguintes opções:

Remover e configurar arquivos, mas não dependências usando o apt-get

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

Remova as dependências não utilizadas e os arquivos de configuração usando o apt-get

sudo apt-get --purge autoremove
  

Quando o GNOME é instalado no Ubuntu 12.04, ele instala vários pacotes   e bibliotecas que ele requer, bem como alguns pacotes opcionais. Não tudo   esses pacotes e bibliotecas são desinstalados quando você desinstala o GNOME.   Vários pacotes (como epiphany-browser e gnuchess) não recebem   desinstalado. Desinstalação Rápida

     

Isso não é recomendado porque removerá todos os pacotes normalmente   instalado com o GNOME. Isso pode incluir pacotes que você   instalado (como epiphany-browser ou gnuchess) ou pacotes anteriormente   instalado por outras aplicações.

     

Nota: este comando de desinstalação assume que o GNOME foi instalado em um novo   Ubuntu 12.04. 1

Basta pressionar Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute o comando abaixo. (é muito longa e uma única linha)

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
  

Uma maneira melhor de remover completamente um pacote

     

1) Abra o arquivo de registro do aptitude (/var/log/apt/history.log).

     

2) Localize os arquivos que foram instalados.

     

3) Remova os arquivos usando 1

sudo apt-get remove --auto-remove <file names>
Fonte: por Mitch 31.07.2012 / 20:02