Назад | Перейти на главную страницу

yum эквивалент apt-get upgrade vs apt-get dist-upgrade?

Я парень * .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