Я парень * .deb и чувствую себя довольно неудобно, управляя rpms.
Я привык бегать apt-get upgrade
на моих серверах на базе Debian для "обычных" обновлений и apt-get dist-upgrade
для позволяя обновления ядра или разрешение обновлений новых основных версий пакетов.
На серверах CentOS, которые я администрирую, я хотел бы иметь аналогичную функцию, однако man yum, похоже, не предлагает такого поведения. И различия между yum update
и yum upgrade
кажется, это не то, что я ищу.
Пока что мой лучший подход - добавить и удалить следующий параметр в /etc/yum.conf
:
exclude=kernel*
Должен быть лучший подход. Мы будем приветствовать каждое предложение.
ИЗМЕНЕНО:
Их описание на странице руководства yum и --obsoletes
flag для меня немного загадочен. Так что позвольте мне перефразировать то, что я понял из этого: должен ли я понимать, что yum update
не будет устанавливать новое ядро, потому что это означало бы пометить текущее как устаревшее? Могу ли я предположить, что yum upgrade
делает то же самое или почти то же самое, что и apt-get dist-upgrade
?
ИЗМЕНИТЬ 2
Что мне больше всего нравится из apt-get upgrade
в том, что он сообщает мне, какие пакеты остаются сохраненными, чтобы я мог действовать соответствующим образом; либо с apt-get dist-upgrade
или с явным apt-get install package
.
Итак, немного подумав, мой лучший подход в данный момент будет: отключить устарел настройка в yum.conf (как описано Стивеном Притчардом в его ответ) и запустить сначала yum update
. Как только все обновления будут установлены, запустите второй yum update --obsoletes
чтобы проверить, какие пакеты были сохранены, и действовать в зависимости от результатов.
Это сработает?
yum update
изначально просто делал обновления пакетов до новых версий. Если, например, foo-awesome
устаревший foo
, yum update
не предлагал перейти с foo
к foo-awesome
. Добавление --obsoletes
флаг yum update
заставил его сделать дополнительные проверки, чтобы также предложить этот путь обновления. yum upgrade
был добавлен как (по сути) псевдоним для yum --obsoletes update
. Так как это поведение, которое почти все хотят все время, параметр конфигурации obsoletes=1
был добавлен к дефолту /etc/yum.conf
, делая yum update
и yum upgrade
эквивалент в любой недавней стандартной версии Fedora / RHEL / CentOS / и т. д.
Если вы хотите избежать обновлений ядра при запуске yum update
ты можешь просто сделать yum --exclude=kernel* update
. Если вы хотите включить автоматические обновления, но хотите избежать автоматического обновления ядра, то, вероятно, правильным ответом будет добавление исключения в yum.conf.
Вероятно, на ваш вопрос нет правильного ответа. Дистрибутивы на основе RHEL и RHEL не придерживаются той же философии, что и разработчики Debian, когда дело касается обновлений, поэтому инструменты не поощряют такое же поведение.
Пытаться
# yum upgrade yum kernel
# yum -y upgrade