headermask image
Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

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

Данный документ написан для тех системных администраторов, у которых есть несколько серверов под управлением одной и той же ОС (В качестве примера выбрана Centos 4).

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

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

Приступим к настройке.

 

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

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

  • httpd
  • rsync

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

  • rpm -q httpd
    
    rpm -q rsync
    
    

Создайте файл с именем 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.

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

  • mkdir /var/mirror/centos
    
    mkdir /var/mirror/centos/4
    
    mkdir /var/mirror/centos/4/os
    
    mkdir /var/mirror/centos/4/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 переименуйте их:

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

Создайте в этом каталоге файл 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 имя.

Затем выполните команду:

  • 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
    
    

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

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

Постовой

Нет посетителей на Вашем сайте?
Разместите рекламу в AdАнонсах и они повалят “косяком”

http://www.evizitor.ru/adanons/

Разнообразные рецепты салатов на любой вкус.

2 комментов оставлено (Add 1 more)

  1. информация устарела

    1. neofantom on August 13th, 2012 at 3:42 pm
  2. А вот вариант, который не выкачивает 7Гб и интернета. Общий yum cache для нескольких машин.
    Берем самый yum-активный из серверов локальной сети, и расшариваем /var/cache/yum:
    # echo ‘/var/cache/yum 192.168.0.212/255.255.255.0(rw)’ >> /etc/exports && service nfs restart
    Включаем хранение кэша в /etc/yum.conf как на сервере, так и на клиенте:
    # sed -i ‘s/keepcache=0/keepcache=1/’ /etc/yum.conf
    На клиентской машине монтируем нужные нам папки (лучше настроить это через autofs):
    #echo ‘# yum common cache
    192.168.0.231:/var/cache/yum/base/packages /var/cache/yum/base/packages nfs
    192.168.0.231:/var/cache/yum/updates/packages /var/cache/yum/updates/packages nfs
    192.168.0.231:/var/cache/yum/addons/packages /var/cache/addons/base/packages nfs
    192.168.0.231:/var/cache/yum/centosplus/packages /var/cache/addons/centosplus/packages nfs
    192.168.0.231:/var/cache/yum/extras/packages /var/cache/addons/extras/packages nfs’ >> /etc/fstab && mount -a
    Если ему каких-нибудь папок не хватит – создайте: mkdir -p /var/cache/yum/{base,updates,addons,centosplus,extras}/packages
    Все, пакеты теперь будут скачиваться один раз. В случае недоступности сервера ничего страшного не произойдет – просто пакет скачается.

    2. kirillrst on November 23rd, 2008 at 2:26 pm