У меня есть сервер репозитория, работающий на Centos7.4, и все клиенты centos в моей сети выполняют обновление yum через сервер репо.
Возникает вопрос, когда есть обновления, нужно ли мне загружать вручную на сервер или есть какой-либо инструмент, который может проверять новые обновления с зеркальных сайтов репо и автоматически нажимать на указанную папку сервера репо?
Спасибо :)
Если у вас уже есть работающее зеркало локального сетевого репозитория, вам следует настроить клиентов на его использование, и они будут обновляться оттуда.
В ваших клиентах:
cd /etc/yum.repos.d
vim mylocal.repo
Заполнить:
[mylocalrepo]
name=Local CentOS Repository
baseurl=http://my-repo-server/CentOS/7/4
gpgcheck=0
куда my-repo-server
- это URL-адрес или IP-адрес вашего сервера репо.
Вам, вероятно, также следует удалить / прокомментировать официальный URL-адрес общедоступных репозиториев у клиентов, если вы не хотите, чтобы они обновлялись через Интернет.
Забыл часть автообновления:
Чтобы автоматическое обновление / автоматическое обновление работало, вам нужно сделать еще несколько изменений в клиентах.
Установите yum-cron
sudo yum install yum-cron
Настроить yum-cron
sudo vim /etc/yum/yum-cron.conf
Вы можете выбрать пакеты для автоматического обновления в yum-cron среди других самодокументированных опций в этом файле, это варианты обновления на выбор:
# default = yum upgrade
# security = yum --security upgrade
# security-severity:Critical = yum --sec-severity=Critical upgrade
# minimal = yum --bugfix upgrade-minimal
# minimal-security = yum --security upgrade-minimal
# minimal-security-severity:Critical = --sec-severity=Critical upgrade-minimal
Я бы, наверное, не рекомендовал оставлять default
, а вместо этого используйте security
один. Поскольку автоматическое обновление всех пакетов может привести к непредвиденным проблемам.
Запустите и включите службу для автоматического запуска при загрузке:
sudo systemctl start yum-cron
sudo systemctl enable yum-cron
пс. Обновление и обновление - это разные вещи. Первый выполняет обновления пакета, а второй просто обновляет индекс репозитория (чтобы увидеть, какие изменения идут вверх по течению).
Репозиторий CentOS имеет очень простую структуру, поэтому вы можете обновить его локальное зеркало, используя простые rsync
на вашем локальном сервере репо, примерно так:
rsync -vaSH rsync://mirror.facebook.net/centos/ /your/mirror/directory/
Вы можете пропустить загрузку ISO-образов, и в этом случае вы исключите их из своего rsync:
rsync --exclude isos --exclude '*.iso' -vaSH rsync://mirror.facebook.net/centos/ /your/mirror/directory/
Убедитесь, что у вас есть /
в конце URL-адреса и пути, как rsync
без него может работать иначе.
Заменить rsync://mirror.facebook.net/centos/
с зеркалом по вашему выбору. Вы можете увидеть список публичных зеркал здесь.
Вы можете просто использовать эту команду в своих заданиях cron - например, создать файл под /etc/cron.daily
с помощью этой команды - тогда ваше локальное репо будет регулярно обновляться.