Как удалить все установленные зависимые пакеты при удалении пакета в Centos 7?


8

Я использую CentOS 7. Я установил Okular, который является средством просмотра PDF, с командой:

sudo yum install okular

Как вы можете видеть на картинке ниже, он установил 37 зависимых пакетов для установки okular.

установленные зависимости

Но я не был удовлетворен функциями приложения и решил удалить его. Проблема в том, что, если я удаляю его с помощью команды:

sudo yum autoremove okular

Он удаляет только четыре зависимых пакета.

удалены пакеты с автоудалением

И если я удаляю это командой:

sudo yum remove okular

Он удаляет только один пакет, который является okular.x86_64.

Теперь мой вопрос: есть ли способ удалить все 37 установленных пакетов с помощью команды, или мне нужно удалить все из них по одному?

Ответы:


18

Лично мне не нравятся плагины yum, потому что, по моему опыту, они не работают много времени.

Вы можете использовать yum historyкоманду для просмотра вашей истории yum.

[root@testbox ~]# yum history
Loaded plugins: product-id, rhnplugin, search-disabled-repos, subscription-manager, verify, versionlock
ID     | Login user               | Date and time    | Action(s)      | Altered
----------------------------------------------------------------------------------
19 | Jason <jason>  | 2016-06-28 09:16 | Install        |   10

Вы можете найти информацию о транзакции, выполнив yum history info <transaction id>. Так:

yum history info 19скажет вам все пакеты, которые были установлены с транзакцией 19, и командную строку, которая использовалась для установки пакетов. Если вы хотите отменить транзакцию 19, вы запустите yum history undo 19.

В качестве альтернативы, если вы просто хотите отменить последнюю сделанную транзакцию (вы установили программный пакет и он вам не понравился), вы можете просто сделать yum history undo last


Во-первых, спасибо за ваш отличный ответ. А во-вторых, когда я это делал sudo yum history, показывались только действия с идентификаторами с 30 по 49. Есть ли способ просмотреть всю историю действий (в том числе с идентификатором 1-29)?
UKLL

1
Пожалуйста! Да, есть способ показать всю вашу историю. Просто делай yum history list all.
Джейсон Пауэлл

8

yum remove package_name удалит только этот пакет и все их зависимости.

yum autoremove удалит неиспользуемые зависимости

Чтобы удалить пакет с его зависимостями, вам нужно установить yumплагин с именем:remove-with-leaves

Чтобы установить его, наберите:

yum install yum-plugin-remove-with-leaves

Чтобы удалить package_nameтип:

yum remove package_name --remove-leaves

Я попробовал ваш ответ, он не работает.
UKLL
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.