it-swarm-ru.tech

Что такое yum эквивалент «apt-get update»?

apt-get update Debian извлекает и обновляет индекс пакета. Поскольку я привык к такому способу ведения дел, я с удивлением обнаружил, что yum update Делает все это и обновляет систему. Это заставило меня задуматься о том, как обновить индекс пакета без установки чего-либо.

99
tshepang

check-update команда обновит индекс пакета и проверит наличие доступных обновлений:

yum check-update
98
wag

Пока yum check-update будет проверять обновления для установленных пакетов, если это необходимо обновить, как и большинство других команд.

Команда, которая строго эквивалентна apt-get update является yum makecache ... однако обычно не рекомендуется запускать это напрямую, в yum.

31
James Antill

К сожалению, yum check-update по умолчанию не извлекает изменения из удаленных репозиториев, пока не истечет параметр metadata_expire yum.conf (по умолчанию 90m). Очевидно, его целью является "узнать, есть ли на вашей машине какие-либо обновления, которые необходимо было применить, не запуская его в интерактивном режиме", поэтому в основном это "проверить, могут ли какие-либо пакеты быть способными к обновлению", а не "обновить" список пакетов, на которые я мог бы обновить ", как вы ожидал.

Так что, если вы запустите yum check-update и ​​получите это:

$ Sudo yum check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile

packagename      version     repo

Это означает, что check-update не выполняет обновление, как apt-get update.

Вы можете увидеть, сколько времени займет выполнение "автообновления", которое выполняют все команды, выполнив this : yum repolist enabled -v

Работа вокруг:

используйтеyum clean expire-cache (или yum clean all), а затем любые будущие команды yum будут автоматически обновлять кэш "при запуске". , Поскольку будущие команды yum обновляют кэш, на практике это аналогично apt-get update.

Или, я полагаю, измените параметр metadata_expire файла yum.conf на значение по умолчанию меньше 90 минут.

Или запустите yum makecache (из других ответов), который, кажется, удаляет кеш и прямо сейчас вырывает свежие копии. Но, похоже, это займет больше времени, чем clean all (?) FWIW.

23
rogerdpack

Это команда для обновления локального кэша, следовательно,

yum makecache

кажется, что вы ищете команду, согласно Работа с Yum кеш .

Обычно вам не нужно запускать эту команду напрямую, поскольку yum уже проверяет и обновляет метаданные на основе значения metadata_expire в yum.conf, по умолчанию это 6 часов.

Однако может быть как минимум один сценарий использования, который находится в книге воспроизведения Ansible, поскольку в книге игр Ansible нет способа обновить только кэш без установки каких-либо пакетов (см. Проблемы Ansible 461 = и 40068 , что, похоже, исправлено в версии 2.8, 4618 ). Для работы модуля Ansible yum требуется имя пакета для опции update_cache: yes. Таким образом, в качестве альтернативы "команда: yum makecache" может быть использована в playbook.

у dnf также есть команда makecache, хотя также возможно принудительно синхронизировать метаданные с ключом --refresh.

2
Tufan K