Чому видалення gnome-core не знімає всіх його залежностей?


9

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

sudo apt-get autoremove gnome-core 

Він видаляє всього 49 Мб. Будь-які ідеї, як видалити цілих 600 МБ?

Відповіді:


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 пов'язані з графічним інтерфейсом, я думаю, що видалення цих пакетів не зашкодить вашій системі (якщо ви не хочете GUI) .

Сподіваюся, це допомагає!


Деякі зауваження щодо видалення пакетів

Як вилучені пакети видаляються, коли ви виймаєте головний пакет?

Коли ви встановлюєте пакет, і цей пакет залежить від деяких інших пакетів, пакети залежностей також встановлюються та позначаються як автоматичні . Це означає, що система Apt позначає їх як Автоматично встановлені як залежність іншого пакету . Це допомагає системі Apt розпізнавати непотрібні пакети.

Коли ви видаляєте основний пакет, витягнуті пакунки також позначаються як застарілі або непотрібні пакети в системі. Ви можете їх видалити, надавши autoremoveопцію для apt-get. (здатність автоматично видалити їх за допомогою головного пакету) .

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

Приклад: Ви встановили пакет, 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 пакет - це мета-пакет. Він був використаний для встановлення стандартного робочого столу Ubuntu. Спробуйте його видалити, лише цей пакет буде видалений.

Спробуйте також встановити lubuntu-desktopпакет (можливо, ви не хочете встановлювати цей пакет , оскільки це велика завантаження) . Але якщо ви спробуєте її вилучити, видаляється лише крихітний пакет 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-обмежений аддонс - це ще один мета-пакет. Оскільки метапакети використовуються лише для витягування пакетів, встановлення їх не позначає витягнуті пакети як автоматичні , вони позначаються як встановлені вручну. Результат? Видалення лише основного мета-пакету не позначатиме витягнуті пакети застарілими, і ви не можете їх видалити за autoremoveопцією. Ось чому потрібно видалити кожен витягнутий пакет мета-пакетів вручну.

Приклад: Ви встановили мета-пакет, Xякий залежить від пакунків Yта Z. Коли ви встановили його, Yі Zпакунки не позначаються як автоматичні (автоматично встановлюються як залежність іншого пакету) , а замічаються як встановлені вручну. У пізніший час, коли ви хочете видалити X, видаляється лише віртуальний Xпакет. І те, Yі Z, залишаються в системі, і ви не можете їх видалити за допомогою autoremoveпараметра.


Це досить громіздко. Але я здогадуюсь, це єдиний вихід правильно?
Android для розробника

Ви впевнені, що apt-cache dependsтут буде корисно? Я вважаю, що спосіб, запропонований tijybba, краще підходить для цієї мети.

@Sab Наскільки я знаю, так.
Анвар

@ vasa1Проблема полягає в тому, що я запускаю кістку гончака і практично не маю гей, навіть якщо використовую програму vnc viewer
розробник Android

@Sab Я додав ще одну команду, щоб отримати список в одному рядку.
Анвар

2

Встановлення gnome-core приносить багато пакунків і залежностей, оскільки це метапакет.

Один із способів - це видалити його вручну, але ви повинні знати, які пакунки потрібно видалити, не викликаючи помилок після наслідків.

Список включених пакунків наведено тут. Пакет: gnome-core (1: 3.0 + 6ubuntu3) [всесвіт]

Перейдіть до Synaptic Manager (встановіть його, якщо його немає) , натисніть « Походження» зліва внизу , виберіть зображення

введіть тут опис зображення

Виберіть пакет для видалення, перейшовши за вищезазначеним посиланням.

Обережно, якщо ви не знаєте, які пакунки потрібно видалити, тоді не слідкуйте за цим методом. Вони можуть спричинити помилки залежності .


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. Це може включати пакети, які ви встановили раніше (наприклад, epiphany-браузер або гнучша), або пакети, встановлені раніше іншими програмами.

Примітка. Ця команда видалення передбачає, що 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) Відкрийте файл журналу придатності (/var/log/apt/history.log).

2) Знайдіть встановлені файли.

3) Видаліть файли за допомогою 1

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

1 Джерело: Як повністю видалити / видалити GNOME

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.