Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Установка новых программных пакетов

Как установить локальный репозиторий YUM в ОС Fedora 8

Оригинал: How To Set Up A Local Yum Repository On Fedora 8
Автор: Falko Timme,
Дата: 18 декабря 2007 г.
Перевод: Александр Фарутин
Дата перевода: 8 февраля 2009 г.

Это руководство покажет Вам, как создать репозиторий YUM для вашей локальной сети в ОС Fedora 8. Если Вам придется устанавливать несколько одинаковых систем в рамках локальной сети, Вам полезно будет иметь в ней зеркало Fedora, поскольку в таком случае все требуемые пакеты могут быть загружены последством быстрого LAN-соединения, сохраняя тем самым пропускную способность интернет-канала.

Однако я не даю никаких гарантий, что это сработает и в Вашем случае!

1.Предварительные замечания

В данном руководстве я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки в Вашем случае могут быть иными, поэтому Вы должны сделать поправку там, где следует.

Я хочу, чтобы репозиторий yum был доступен через http. Document root Apache для Fedora по умолчанию - /var/www/html, поэтому я создам репозиторий в /var/www/html/yum. Если Вы используете иной vhost, Вам придется исправлять эти пути.

2.Установка Apache

Давайте установим Apache:

yum install httpd

После этого создадим стартовые ссылки для Apache (чтобы Apache запускался автоматически при старте системы):

chkconfig --levels 235 httpd on

Затем запустим Apache:

/etc/init.d/httpd start

3.Построение репозитория

Сначала установим инструмент createrepo:

yum install createrepo

Я хочу поместить rpm-пакеты Fedora 8 для i386 в /var/www/html/yum/base/8/i386, а пакеты обновлений - в /var/www/html/yum/updates/8/i386, поэтому сейчас я создам эти директории (измените пути к ним, если хотите создать репозиторий для Fedora 7/6/... и/или x86_64):

mkdir -p /var/www/html/yum/base/8/i386
mkdir -p /var/www/html/yum/updates/8/i386

Теперь давайте заполним директорию /var/www/html/yum/base/8/i386. Самый простой путь - вставить DVD-диск с Fedora 8 (содержимое которого Вы можете скачать здесь: http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8), смонтировать его и скопировать rpm-пакеты в /var/www/html/yum/base/8/i386:

mount /dev/cdrom /mnt
cd /mnt/Packages
cp -v * /var/www/html/yum/base/8/i386
cd /
umount /mnt

DVD-диск содержит только базовый набор пакетов. Если Вы хотите, чтобы в директории /var/www/html/yum/base/8/i386 были все доступные пакеты Fedora 8, Вы можете загрузить (при помощи rsync) эти пакеты из папки "Everything" на зеркале Fedora 8. Перейдите на http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8, найдите зеркало, которое допускает rsync, и загрузите пакеты, как показано ниже (это может занять много времени, так что запаситесь терпением):

(Пожалуйста, убедитесь, что Вы не пропустили ни одного слеша (/), так, как показано выше. Должно быть так: rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages/, а не: rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages !)

После этого выполните команду createrepo:

createrepo /var/www/html/yum/base/8/i386

Этим Вы создадите директорию "repodata" в директории /var/www/html/yum/base/8/i386. Ее содержание должно быть следующим:

ls -l /var/www/html/yum/base/8/i386/repodata/
[root@server1 /]# ls -l /var/www/html/yum/base/8/i386/repodata/
total 9268
-rw-r--r-- 1 root root 2227275 2007-12-18 21:11 filelists.xml.gz
-rw-r--r-- 1 root root 6487453 2007-12-18 21:11 other.xml.gz
-rw-r--r-- 1 root root  747714 2007-12-18 21:11 primary.xml.gz
-rw-r--r-- 1 root root     951 2007-12-18 21:11 repomd.xml
[root@server1 /]#

Теперь давайте заполним директорию для обновлений /var/www/html/yum/updates/8/i386. Снова перейдите на http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8, найдите зеркало, которое допускает rsync, и загрузите пакеты, как показано ниже:

И снова убедитесь, что Вы не пропустили ни одного слеша (/)!

Чтобы наше локальное зеркало впредь автоматически загружало обновления, мы можем создать задание для cron. Например, чтобы загружать последние обновления каждый второй день в 16:23, мы можем воспользоваться командой
crontab -e
чтобы создать задание следующего вида:

Теперь наше локальное зеркало yum готово к использованию.

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

Чтобы наши системы Fedora 8 использовали новый локальный репозиторий yum, в каждой из них мы изменяем /etc/yum.conf (Вы можете сделать это даже на самом зеркале, если это Fedora 8). Откройте /etc/yum.conf:<р>

vi /etc/yum.conf

Найдите следующие две строки...

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

... и добавьте под эти строки следующие "стансы":

В целом, файл должен выглядеть следующим образом:

Теперь, если Вы будете использовать yum, а Ваш локальный репозиторий сможет обслуживать требуемые пакеты, пакеты будут загружены и установлены с локального репозитория yum.

5.Ссылки

  • Fedora: http://fedoraproject.org

  • На нашем сайте Вы найдете также
  • "YUM HOWTO (управление программным обеспечением в дистрибутиве Fedora)"