Есть ли способ установить и удалить пакеты в одной команде yum?

19

Есть ли способ добавлять и удалять пакеты одновременно с помощью одной yumкоманды? Например, установка postfix и удаление sendmail без выполнения двух отдельных команд / транзакций.

Майкл Экстранд
источник
Не насколько мне известно, но я не ежедневный пользователь ням. Почему вы хотите это в одной команде?
Джиппи
@jippie Удобство, в основном. И сокращение времени на настройку нескольких транзакций.
Майкл Экстранд

Ответы:

25

Да. Вызов yum shellпозволит вам указать несколько команд, которые будут происходить одновременно при runвводе.

Игнасио Васкес-Абрамс
источник
2
Круто, это именно то, что я искал.
Майкл Экстранд
1
Я изначально использовал Python для этого. Теперь я сократил свой скрипт примерно до 20% с помощью BASH!
quickshiftin
20

Более новые версии yum также имеют swapкоманду:

# yum swap -- install foo -- remove bar
Майкл Экстранд
источник
По крайней мере, на данный момент ( yumна RHEL 7) это также можно записать как короче yum swap bar foo.
Аксель Бекерт
8

Как уже сказано в принятом ответе, вы можете использовать yum shellдля запуска нескольких команд одновременно, что хорошо для интерактивного использования. Но если вы хотите вызвать эту команду из скрипта, вы также можете запустить ее для файла, например yum shell translist.txt, где файл может содержать, например:

remove squid
install squid34
run

Добавьте -yпереключатель, чтобы принять да к запросам подтверждения.

djluko
источник
1
-yПереключатель добавляемый к yum shellкоманде, а не к командам внутри оболочки, не так ли? Я думаю (но не проверял), что добавление config assumeyes 1в верхнюю часть команд оболочки будет иметь тот же эффект без необходимости изменения начальной командной строки.
mattdm
да, yum shell -yработает для меня, чтобы сделать всю операцию неинтерактивной.
RubyTuesdayDONO