Ключевые слова:centos, rpm, packet, update, redhat, (найти похожие документы)
From: Denis Frolov <http://www.redhat-club.org>
Date: Mon, 22 Sep 2008 17:02:14 +0000 (UTC)
Subject: Настройка сервера обновлений CentOS
Оригинал: http://www.redhat-club.org/Articles/DenisFrolov/CentOSUpdatesServerConfiguration
Данный документ написан для тех системных администраторов, у которых
есть несколько серверов под управлением одной и той же ОС (В качестве
примера выбрана 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
Это значит что Вы все делали правильно и сервер обновлений работает.