Данный документ написан для тех системных администраторов, у которых
есть несколько серверов под управлением одной и той же ОС (В качестве
примера выбрана Centos 4).
Дело в том, что при количестве серверов больше 2-х уже имеет смысл
поставить на одном из них сервер обновлений с которого все остальные
сервера Вашей компании будут обновляться. Это выгодно по нескольким
причинам:
1. Чем больше количество серверов тем больше Вы будете экономить на
оплате трафика т. к. обновления закачаются из сети только 1 раз.
2. Многие системные администраторы не придают обновлению системы
достаточного количества внимания , что отражается на безопасности
системы и на надежности функционирования.
Приступим к настройке.
Настройка сервера обновлений
1. На выбранном Вами сервере который Вы планируете использовать как
сервер обновлений нам понадобятся следующие пакеты:
* httpd
* rsync
Проверить их наличие можно командами:
rpm -q httpd
rpm -q rsync
Создайте файл с именем updates в каталоге /etc/cron.daily
for arch in $archlist
do
for base in $baselist
do
remote=$mirror/$ver/$base/$arch/
$rsync $remote $local/$ver/$base/$arch/
done
done
Тем самым мы указали, что нас интересует 4 ветка Centos, и что Нам
необходимо синхронизировать файлы для архитектуры i386 и x86_64.
Каталоги которые нас интересуют это os и updates.
Создайте каталоги необходимые для работы данного скрипта:
Запустите данный скрипт на выполнение - и процесс синхронизации
начнется.
Внимание !!!
Первоначально из интернета будет выкачано примерно 7 ГБ данных.
Поэтому если у Вас есть DVD диски с текущей (на момент написания статьи
4.4) версией Centos и вы хотите сэкономить несколько гигабайт трафика
сделайте следующее (в примере имеется ввиду, что DVD диск с CentOS для
архитектуры i386):
Создайте каталог:
mkdir /var/mirror/centos/4/i386
Скопируйте данные с компакт диска в данный каталог (Подразумевается,
что DVD диск смонтирован в каталог /media/dvd)
cp -R /media/dvd /var/mirror/centos/4/i386
Итак данные были синхронизированы. Теперь нам необходимо настроить и
запустить WEB сервер Apache.
В каталоге /etc/httpd/conf.d создайте файл centos.conf следующего
содержания:
Alias /centos/ /var/rsync/centos/
<Directory /var/rsync/centos/>
DirectoryIndex index.php
Options -Indexes
AllowOverride all
order allow,deny
allow from all
</Directory>
После этого запустите сервер apache командой:
service httpd start
Настройка клиента
На любом из Ваших серверов зайдите в каталог /etc/yum.repos.d
В данный момент там находятся 2 файла CentOS-Base.repo и
CentOS-Media.repo переименуйте их:
Где вместо 10.0.0.1 укажите IP адрес сервера обновлений или его DNS
имя.
Затем выполните команду:
yum update
Вы должны увидеть нечто подобное:
Setting up Update Process
Setting up repositories
base 100% |=========================| 1.1 kB 00:00
update 100% |=========================| 951 B 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 119 kB 00:00
update : ################################################## 346/346
Это значит что Вы все делали правильно и сервер обновлений работает.