У меня есть машина, которая не подключена к интернету. Я все равно хочу yum
время от времени выполнять некоторые команды.
YUM любит время от времени обновлять список зеркал, что приводит к таким ошибкам:
Не удалось получить список зеркалhttp://mirrorlist.centos.org/?release=6&arch=x86_64&repo=osОшибка была' из yum-dump.py! Проверьте конфигурацию yum.
Есть ли параметр в yum yum.conf
или где-то еще, позволяющий остановить обновление списка зеркал?
решение1
Вы можете использовать -C
флаг в yum
. Согласно странице руководства YUM:
-C, --cacheonly
Tells yum to run entirely from system cache - does not
download or update any headers unless it has to to perform the
requested action. If you’re using this as a user yum will not
use the tempcache for the user but will only use the system cache in
the system cachedir.
и также, пожалуйста, проверьте этовопрос
решение2
Я считаю, что это поведение регулируется следующим параметром:
metadata_expire
Длительность в секундах, после которой метаданные устареют. Таким образом, если текущие загруженные метаданные на несколько секунд моложе, то yum не будет обновлять метаданные репозитория. Если вы считаете, что yum не загружает информацию об обновлениях так часто, как вам хотелось бы, уменьшите значение этого параметра. Вы также можете изменить формат по умолчанию в секундах на дни, часы или минуты, добавив d, h или m к указанному значению. Значение по умолчанию — 1,5 часа, для запуска yum-updatesd каждый час. Вы также можете использовать слово never, означающее, что метаданные никогда не устареют.
Поэтому я бы попробовал либо 0d, -1, либо установил бы значение на что-то действительно длинное, 1000d (1000 дней).
Пример
metadata_expire=99999999
Затем вы можете обновить кэш, когда у вас будет доступ к Интернету:
$ sudo yum makecache
Рекомендации
решение3
Помимо идеи изменения возраста метаданных, вы можете просто удалить конфигурацию для недоступных репозиториев. Yum не нуждается в настроенных репозиториях для правильной работы — он может работать вообще без настроенного репозитория. В таком случае вы, конечно, будете вынуждены работать только с пакетами, которые вы установили локально.
Если у вас несколько машин отключены от Интернета, возможно, имеет смысл создать внутреннее зеркало репозиториев CentOS и указать yum на них.