Установка и Настройка Сервера Обновлений для Дистрибутивов CentOS и Fedora

Данный документ написан для тех системных администраторов, у которых есть несколько серверов под управлением одной версии операционной системы.

Дело в том, что при количестве серверов больше 2-х уже имеет смысл поставить на одном из них сервер обновлений, с которого все остальные серверы вашей компании будут обновляться.

Это выгодно по нескольким причинам:

  • Чем больше количество серверов, тем больше Вы будете экономить на оплате трафика, т.к. обновления будут загружаться из сети только один раз.
  • Многие системные администраторы не придают обновлению системы достаточное количества внимания, что отражается на безопасности системы и на надежности функционирования.

Настройка сервера обновлений

На выбранном сервере, который планируется использовать как сервер обновлений, нам понадобятся следующие пакеты:

  • httpd
  • rsync

Проверить их наличие можно командами:

# rpm -q httpd
# rpm -q rsync

Синхронизация репозитория

1. Создайте файл с именем updates в каталоге /etc/cron.daily:

# touch /etc/cron.daily/updates

следующего содержания:

#!/bin/sh
rsync="/usr/bin/rsync -aqHz --delete --bwlimit=256"
mirror=ftp-stud.fht-esslingen.de::centos/
ver=4
archlist="i386 x86_64"
baselist="os updates"
local=/var/mirror/centos

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.

2. Создайте каталоги необходимые для работы данного скрипта:

# mkdir /var/mirror/centos
# mkdir /var/mirror/centos/4
# mkdir /var/mirror/centos/4/os
# mkdir /var/mirror/centos/4/updates

3. Запустите данный скрипт на выполнение, и процесс синхронизации начнется.

Копирование пакетов с DVD носителя для экономии трафика

Внимание! Первоначально из интернета будет загружено примерно 7 ГБ данных.

Поэтому, если у вас есть DVD-диски с текущей (на момент написания статьи – 4.4) версией CentOS, и вы хотите сэкономить несколько гигабайт трафика, сделайте следующее (в примере имеется ввиду, что DVD диск с CentOS для архитектуры i386):

1. Создайте каталог:

# mkdir /var/mirror/centos/4/i386

2. Скопируйте данные с компакт диска в данный каталог (подразумевается, что DVD диск смонтирован в каталог /media/dvd):

# cp -R /media/dvd /var/mirror/centos/4/i386

Настройка HTTP-сервера

Итак данные были синхронизированы. Теперь нам необходимо настроить и запустить HTTP-сервер Apache:

1. В каталоге /etc/httpd/conf.d создайте файл centos.conf следующего содержания:

Alias /centos/ /var/rsync/centos/
DirectoryIndex index.php
Options -Indexes
AllowOverride all
Order allow,deny
Allow from all

После этого запустите HTTP-сервер командой:

# service httpd start

Настройка клиента

1. На любом из ваших серверов зайдите в каталог /etc/yum.repos.d/. В данный момент там находятся 2 файла: CentOS-Base.repo и CentOS-Media.repo.

2. Переименуйте их:

# mv CentOS-Base.repo  CentOS-Base.repo.disable
# mv CentOS-Media.repo CentOS-Media.repo.disable

3. Создайте в этом каталоге файл my.repo со следующим содержанием:

[base]
name=CentOS-$releasever - Base
baseurl=http://10.0.0.1/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://10.0.0.1/RPM-GPG-KEY-centos4

[update]
name=CentOS-$releasever - Updates
baseurl=http://10.0.0.1/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://10.0.0.1/RPM-GPG-KEY-centos4

где вместо 10.0.0.1 укажите IP-адрес сервера обновлений или его DNS-имя.

4. Обновите систему при помощи yum. Выполните команду:

# 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

Это значит, что вы все делали правильно, и сервер обновлений работает.

Автор: Денис Фролов

Статьи по Теме

Категории
Поиск