Есть ли простой способ составить список зависимостей, с которыми будет устанавливаться только что установленный RPM-пакет yum
?
Пример: если вы это сделаете, yum install ruby
он также установит некоторые рубины.
Но когда я удаляю ruby
пакет, я также хочу избавиться от установленных зависимостей.
Поэтому моей первой идеей было составить список этих новых пакетов, а затем сделать rpm -e
их, когда я удалю их ruby
.
Вопрос
Как составить такой список в автоматическом режиме?
Или есть более простой способ, чем управлять текстовыми файлами с именами пакетов rpm?
Ответы:
yum
хранит свою собственную историю, чтобы вы могли узнать, когда пакет был установлен или обновлен, используя его историю.Например,
yum history packages-info ruby
предоставит вам все транзакции, связанные с ruby, где самой старой обычно является та, где был установлен пакет.Это даст вам идентификатор транзакции, который вы затем сможете найти и найти зависимости, которые были установлены, например, с помощью
yum history info <ID>
.Если пакет был только что установлен и еще не обновлен, вы можете откатить транзакцию, например, с помощью
yum history undo 102
. Это не будет работать, если какой-либо из пакетов был обновлен с момента установки, хотя, поскольку он соответствует имени, версии и выпуску.И если вы действительно только что установили пакеты, вы можете пропустить все остальное и запустить
yum history undo last
для отката самой последней транзакции.источник
Вы можете удалить их с помощью
yum autoremove
.источник
yum autoremove
удалит все пакеты, которые были необходимы для более недоступных пакетов. Если вы хотите сохранить их во времяyum autoremove
, сначала установите их вручную.