Почему удаление gnome-core не удаляет все его зависимости?

9

Я установил пакет gnome-core на Ubuntu (минимальная версия для кости бигля), и это было почти 600 Мб. Однако, когда я пытаюсь удалить его с помощью

sudo apt-get autoremove gnome-core 

Он удаляет только 49 МБ. Любые идеи, как удалить весь 600 МБ?

    
задан Developer Android 18.07.2012 в 04:14
источник

3 ответа

15

gnome-core - это мета-пакет, а случай с мета пакетами -

Они вытаскивают пакеты для установки, но их удаление не удалит все вытащенные пакеты .

Итак, если вы не скопировали имена пакетов, установленных gnome-core, практически невозможно удалить все 600 МБ.

Но вы можете получить имена вытащенных пакетов командой

apt-cache depends gnome-core 

и попытайтесь удалить пакеты по одному. Вы должны всегда проверять, удаляет ли он какие-либо необходимые пакеты.

Или вы можете получить список пакетов более полезным способом:

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

Здесь перечислены все зависимости пакета gnome-core, игнорируйте имя пакета только в <> .

Как узнать, удаляется ли какой-либо системный пакет?

Когда вы видите, что много свободного пространства освобождается от команды, (более 600 МБ) , вы должны знать, что вы удаляете больше, чем вы установили. apt-get сообщит вам, сколько свободного пространства будет освобождено, прежде чем удалять, как с помощью такого сообщения

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

И когда вы попытаетесь удалить основной системный пакет, apt-get покажет вам предупреждение.

Рекомендация: . Я предлагаю вам получить список пакетов из первой команды и попытаться удалить их один за другим. Это безопаснее. Если вы видите предупреждение, пропустите удаление этого пакета. Я вижу, большинство пакетов в gnome-core связаны с графическим интерфейсом, я думаю, что удаление этих пакетов не повредит вашей системе (если вы не хотите графический интерфейс) .

Надеюсь, это поможет!

Некоторая заметка об удалении пакетов

Как удаленные пакеты удаляются при удалении основного пакета?

Когда вы устанавливаете пакет и этот пакет зависит от некоторых других пакетов, пакеты зависимостей также устанавливаются и Отмечается как автоматический . Это означает, что система Apt отмечает их как Автоматически устанавливается как зависимость другого пакета . Это помогает системе Apt распознавать ненужные пакеты.

Когда вы удаляете основной пакет, выталкиваемые пакеты также помечены как устаревшие или ненужные пакеты в системе. Вы можете удалить их, предоставив autoremove для apt-get . (aptitude автоматически удаляет их с помощью основного пакета) .

Исключение из этого правила заключается в том, что если вы позже установите другой пакет, который также зависит от вытащенных пакетов, выталкиваемые пакеты не будут отмечены как устаревшие при удалении первого основного пакета.

Пример: Вы установили пакет X , который зависит от пакета Y . Когда вы установили X , Y также устанавливается и помечено как автоматическое. Если вы не установите другой пакет Z , который также зависит от Y , удаление X будет показывать полезность Y , а система Apt пометит его устаревшим, и вы можете удалить его с помощью опции autoremove .

Но если вы установите пакет Z после X , который также зависит от Y , то удаление только X не означает Y как устаревший пакет, и вы не можете удалить его с помощью autoremove опция

Но обратите внимание, что , если вы удалите пакет Y после установки X , он удалит пакет Y , включая X , потому что X не может оставаться без Y и вы хотели, чтобы вы удалили Y , это значит, что вы также хотели удалить X . Apt удалит X автоматически при удалении Y , в отличие от маркировки, которая устарела для последующего удаления опцией autoremove .

Попробуйте примеры: ubuntu-desktop package - это мета-пакет. Он использовался для установки стандартного рабочего стола Ubuntu. Попробуйте удалить его, только этот пакет будет удален.

Также попробуйте установить lubuntu-desktop package (Возможно, вы не захотите установить это, потому что это большая загрузка) . Но, когда вы попытаетесь удалить его, удаляется только крошечный пакет lubuntu-desktop .

Apt обрабатывает метапакеты по-разному

Мета-пакеты, такие как gnome-core, ubuntu-limited-extras, также называются виртуальными пакетами. Их называют так, потому что они в основном пустые пакеты, Они вытягивают другие пакеты, в зависимости от них. Например, ubuntu-limited-extras зависит от (в 12.04) следующих пакетов:

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

Где, кроме того, ubuntu-limited-addons - это еще один мета-пакет. Так как метапакеты используются только для вытягивания пакетов, их установка не маркирует выталкиваемые пакеты как auto , они помечены как установленные вручную. Результат? Удаление только основного мета-пакета не приведет к потере выдернутых пакетов, и вы не сможете удалить их с помощью опции autoremove . Вот почему вам нужно удалить каждый вытащенный пакет метапакетов вручную.

Пример: Вы установили мета-пакет X , который зависит от пакетов Y и Z .Когда вы его установили, пакеты Y и Z не помечены как auto (автоматически устанавливаются как зависимость другого пакета) , вместо этого они помечены как установленные вручную. В более позднее время, когда вы хотите удалить X , удаляется только виртуальный пакет X . Оба компонента Y и Z остаются в системе, и вы не можете удалить их с помощью опции autoremove .

    
ответ дан Anwar 18.07.2012 в 05:19
источник
2

Установка gnome-core , приносит много пакетов и зависимостей, поскольку это мета-пакет.

Один из способов - удалить его вручную, но вы должны знать, какие пакеты необходимо удалить, не вызывая никаких ошибок последействия.

Список включенных пакетов приведен здесь Пакет: gnome-core (1: 3.0 + 6ubuntu3) [Вселенная]

Перейдите в Synaptic manager (установите его, если он отсутствует) , нажмите Происхождение в левом нижнем меню, см. изображение

Выберите пакет для удаления, обратившись к приведенной выше ссылке.

Предостережение , если вы не знаете, какие пакеты удалить, а затем Не следовать этому методу. Они могут вызывать ошибки зависимостей .

    
ответ дан atenz 18.07.2012 в 05:05
2

Введение:

Чтобы полностью удалить программы с помощью командной строки, у вас есть следующие опции:

Удалить и настроить файлы, но не зависимости, используя apt-get

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

Удалите неиспользуемые зависимости и файлы конфигурации с помощью apt-get

sudo apt-get --purge autoremove
  

Когда GNOME установлен в Ubuntu 12.04, он устанавливает несколько пакетов   и библиотеки, которые требуются, а также некоторые дополнительные пакеты. Не все   эти пакеты и библиотеки удаляются при удалении GNOME.   Несколько пакетов (например, epiphany-браузер и gnuchess) не получают   удален. Быстрая деинсталляция

     

Это не рекомендуется, так как он будет удалять все пакеты в обычном режиме   с GNOME. Это может включать пакеты, которые вы ранее   (например, эпифани-браузер или gnuchess) или пакеты ранее   установленных другими приложениями.

     

Примечание: эта команда удаления предполагает, что GNOME был установлен на новом   Ubuntu 12.04. 1

Просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите команду ниже. (очень длинная и одна строка)

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
  

Лучший способ полного удаления пакета

     

1) Откройте файл журнала aptitude (/var/log/apt/history.log).

     

2) Найдите файлы, которые были установлены.

     

3) Удалите файлы с помощью 1

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

1 Источник: Как полностью удалить / удалить GNOME

    
ответ дан Mitch 31.07.2012 в 18:02