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

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

sudo apt-get autoremove gnome-core 

, он удаляет только 49 МБ. Есть идеи, как удалить все 600 МБ?

9
задан 27 July 2012 в 12:35

3 ответа

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

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

Так, если, Вы не скопировали названия пакетов, установленных ядром гнома, фактически невозможно удалить все 600 МБ.

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

apt-cache depends gnome-core 

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

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

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

Это перечислит все зависимости базового гномом пакета, проигнорирует имя пакета в <> метки только.

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

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

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

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

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

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


Некоторое примечание по удалению пакетов

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

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

При удалении основного пакета вытянутые пакеты также отмечены как устаревшие или ненужные пакеты в системе. Можно удалить их путем обеспечения autoremove опция к apt-get. (способность автоматически удаляет их с основным пакетом).

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

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

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

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

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

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

Кв. обрабатывает meta пакеты по-другому

meta пакеты как ядро гнома, ubuntu-restricted-extras также называют виртуальными пакетами. Их называют так, потому что они - в основном пустые пакеты, Они вытягивают другие пакеты в зависимости от них. Например, ubuntu-restricted-extras зависит от (в 12,04) после пакетов:

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

Где, ubuntu-restricted-addons самостоятельно другой meta пакет. С тех пор, meta пакеты используются для того, чтобы только вытянуть пакеты, устанавливание их не отмечает вытянутые пакеты как автоматические, они отмечены, как вручную установлено. Результат? Удаление только основного meta пакета не отметит вытянутые устаревшие пакеты, и Вы не можете удалить их autoremove опция. Именно поэтому необходимо удалить каждый вытянутый пакет meta пакетов вручную.

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

15
ответ дан 27 July 2012 в 12:35

Введение:

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

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

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

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

sudo apt-get --purge autoremove

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

Это не рекомендуется, потому что это удалит все пакеты, обычно установленные с GNOME. Сюда могут входить ранее установленные вами пакеты (например, epiphany-browser или 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 Источник: [ 114] Как полностью удалить / удалить GNOME

0
ответ дан 27 July 2012 в 12:35

Установка ядра гнома, приносит много пакетов и зависимостей, так как это - метапакет.

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

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

Перейдите к Синаптическому менеджеру (Установите его если не существующий), нажмите Origin from Left-bottom Selections, отошлите изображение

enter image description here

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

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

2
ответ дан 27 July 2012 в 12:35

Другие вопросы по тегам:

Похожие вопросы: