Що таке еквівалент "оновлення apt-get"?


86

Debian apt-get updateвибирає та оновлює індекс пакету. Оскільки я звик до такого способу ведення справ, я з подивом виявив, що yum updateце все робить, і оновить систему. Це змусило мене цікавитись, як оновити індекс пакету, не встановлюючи нічого.

Відповіді:


90

check-updateКоманда буде оновлювати індекс пакета і перевірити наявність оновлень:

yum check-update

3
Ця команда дозволяє визначити, чи доступні будь-які оновлення для встановлених пакетів . yumповертає список усіх оновлень пакета з усіх сховищ, якщо такі є. apt-get updateоновити індексні файли, але yum check-updateце не так.
Пн

Це не працює, якщо yumце було запущено недавно, дивіться деякі інші відповіді на альтернативи ...
rogerdpack

29

Хоча yum check-updateбуде перевіряти оновлення встановлених пакетів, якщо його потрібно буде оновити, так буде і більшість інших команд.

Команда це строго еквівалент apt-get updateє yum makecache... Однак це , як правило , не рекомендується запускати що безпосередньо в ням.


1
Я не розумію першого речення. Ви можете перефразовувати, можливо?
thepang

8
Це означає, що інші yumкоманди, наприклад yum upgrade, автоматично запускаються yum check-updateпри необхідності. Іншими словами, yum upgradeв основному те саме, що apt-get update; apt-get upgrade.
Мікель

Дякую! yum check-update не допомагає мені проти 404 помилок. Але смак макіяж допомагає! Величезне спасибі!
socketpair

Оригінал полягав у автоматичному оновленні реподаток для подання найновішої інформації (те, що apt-get не робить, або, принаймні, не було у 2011 році). Після редагування це тепер дивно безглуздо :(.
Джеймс Антілл

Чому не рекомендується запускати yum makecache? Він вказаний на сторінці man і, здається, працює як apt-get update... також зауважте, що yum check-updateне завжди виконується оновлення, дивіться інші відповіді, FWIW :)
rogerdpack

21

На жаль, yum check-updateза замовчуванням не знімає змін із віддалених сховищ, поки yum.confне пройде параметр metadata_expire (за замовчуванням 90м). Мабуть, його мета полягає в тому, щоб "знати, чи були у вашій машині оновлення, які потрібно було застосувати, не запускаючи його інтерактивно", так що в основному це "перевірити, чи є якісь пакети, здатні до оновлення", не "оновіть список пакетів, до яких я міг би оновити", як ви сподіваюся.

Тож якщо ти запустиш yum check-updateі отримаєш це:

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

packagename      version     repo

Це означає, що перевірка-оновлення не виконує оновлення, як apt-get updateце робиться.

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

Обхід:

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

Або змінити параметр metadata_expire для yum.conf на менше 90min за замовчуванням, я думаю.

Або запустіть yum makecache(з інших відповідей), який, здається, видалить кеш і витягніть свіжі копії відразу. Але, здається, це займе більше часу, ніж clean all(?) FWIW.


2
Не впевнений, чому ця відповідь нудить внизу. Це здається очевидною і простою відповіддю.
cbmanica

2

Це команда оновити локальний кеш, отже

yum makecache

Здається, це команда, яку ви шукаєте, відповідно до роботи з кешем Yum .

Зазвичай вам не потрібно запускати цю команду безпосередньо, оскільки yum вже перевіряє та оновлює метадані на основі значення metadata_expire у yum.conf, за замовчуванням - 6 годин.

Однак може бути принаймні один випадок використання, який знаходиться в програмі "Ansible playbook", оскільки у вас немає способу оновити кеш-пам'ять лише для встановлення будь-яких пакетів (див. Відповідні випуски 33461 та 40068 , що, здається, має бути виправлено у версії 2.8, 46183 ). Модуль Ansible yum вимагає імені пакета для параметра "update_cache: так", щоб мати ефект. Отже, в якості альтернативи "команда: yum makecache" може бути використана в ігровій книзі.

dnf також має команду makecache, хоча також можна змусити синхронізацію метаданих за допомогою перемикача --refresh.


Ця відповідь вже згадується yum makecache; можливо, ви можете розширити свою відповідь, щоб зробити її кориснішою, наприклад, пояснивши, чому yum makecacheце не рекомендується, або що таке dnfеквівалент.
Стівен Кітт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.