Удаление отдельного компонента мета-пакета в Debian/Ubuntu

Tree from a GNOME package to Evolution, GIMP and Brasero packagesИли сказ о том, как удалить Evolution без удаления половины системы.

Часто можно слышать от человека поставившего Debian или Ubuntu: «Я использую Icedove/Thunderbird поэтому мне не нужен Evolution: Поэтому я удаляю его, но это приводит к тому, что удаляется половина моей системы! Линукс отстой!»

Почему так происходит?

Причина возникновения такой ситуации в том, что среда GNOME  установлена мета-пакетом, это фиктивный пакет в зависимостях которого указаны все официальные компоненты GNOME desktop, включая Evolution. Таким образом устанавливая этот пакет, вы устанавливаете и все компоненты по зависимостям.Это позволяет вам или установщику Debian не запрашивать каждый раз установку отдельного компонента Gnome (да-да, того же Evolution): вся установка проходит автоматически.

Теперь, вы, к примеру, захотели удалить  Evolution: это конечно хорошо, но это вызовет удаление мета-пакета, так как вы удаляете один из его зависимых пакетов. Ну а дальше все просто. Удаляя мета-пакет, вас не будут спрашивать про удаление каждого из компонентов, точно так же как не делали этого при установке мета-пакета. Устанавливали автоматом, и удаляют автоматом…

Решение.

Ну и как удалить Evolution, не трогая при этом весь остальной GNOME desktop?

Решение простое, достаточно просто изучить man к системе управления пакетами. Нам требуется: промаркировать все зависимости мета-пакета как установленные вручную. Aptitude позволяет обмануть систему при помощи своих богатых возможностей поиска:
# aptitude unmarkauto '?reverse-depends(gnome) | ?reverse-recommends(gnome)'

aptitude unmarkauto '?reverse-depends(gnome-core) | ?reverse-recommends(gnome-core)'

aptitude unmarkauto '?reverse-depends(gnome-desktop-environment)'

' | ?reverse-recommends(gnome-desktop-environment)'

Итак, что мы сделали? А тут все просто. Мы сказали системе управления пакетам: снять маркировку с пакетов указанных как обратно-зависимые или обратно-рекомендуемые для gnome или для gnome-desktop-environment. Другими словами, снять маркировку с пакетов которые зависят или рекомендуются пакетом gnome, gnome-core или gnome-desktop-environment.

Почему три пакета? Потому что окрвужение GNOME поставляется в дистрибутиве Debian как совокупность нескольких мета-пакетов: Может быть я расскажу об этом в будущем (а может быть просто забуду, а вы будете паиньками и не станете мне напоминать ;) ).

Ну, в принципе, это всё. Теперь Evolution можно безопасно удалить без боязни удалить весь рабочий стол вашей системы:
# aptitude remove evolution

Автор: Mirivlad

Скромный труженик консоли и окошек.