Створюємо локальне дзеркало репозиторіїв.

дзеркало

У корпоративній мережі з великою кількістю серверів під керуванням Linux рекомендується створювати власне дзеркало репозиторіїв.

Рекомендація викликана насамперед забезпеченням необхідного рівня безпеки, доступності та контролю змін, що вносяться, з вторинних проблем — трафік і швидкість інтернету, доступність Інтернету на серверах.

Для створення локальних дзеркал будемо використовуватиmrepo, для віддачі rpm нам знадобиться web-сервер, в якості якого можна використовувати стандартний apache.

Установка mrepo:

Пакети mrepo та createrepo доступні з EPEL

У CentOS та Fedora пакет можна встановити через yum:

Як варіант, mrepo можна встановити з сайту http://pkgs.repoforge.org/mrepo/

Далі дивимося і за необхідності налаштовуємо "/etc/mrepo.conf".

У мене шляхи трохи відрізняються від стандартних:

Додаємо репозиторію в mrepo: Створюємо conf-файл у папці /etc/mrepo.conf.d/, нижче приклад для репозиторію CetnOS:

[centos6] - ім'я репозиторію (папки), яка буде створюватися в srcdir (/var/mrepo/) name - опис репозиторію release - версія OS, для CentOS 6 буде 6 arch - список архітектур через пробіл. baseurl - ім'я під-репозиторія. Таких записів може дещо rsync://mirror.yandex.ru/centos/$release/os/$arch/ — URL, звідки потрібно брати репозиторій. Параметри $release та $arch будуть братися з налаштувань репозиторію (6, x86_64 i386 відповідно).

Оновлення репозитаріїв можна довірити cron :

Але краще проводити оновлення руками :

Apache

Перевіряємо наявність /etc/httpd/conf.d/mrepo.conf для Apache, у разі потреби створюємо або редагуємо файл:

Репозиторій на цільовій системі

Налаштовуємо клієнта репозиторію:

[localcentos] - ім'я репозиторію для Yum name - опис репозиторію baseurl - URL рапозиторію. server-name - повне DNS-ім'я сервера centos6-$basearch - $basearch архітектура процесора (можна задати статично) /RPMS.baseurl/ - RPMS - є завжди, baseurl - це параметр, який ми вказували в mrepo після arch gpgcheck = 0 - говорить про те, що Yum не буде перевіряти GPG підпис репозиторію

У разі використання puppet, можна скористатися маніфестом:

Проблеми:

  • 5 CentOS іноді лається на невірну hashlib, загалом її потрібно поставити руками:
  • При створенні репозитарію для vmware-tools, швидше за все, ви отримаєте помилку :

Відразу цю помилку виправити не вдалося, тому було знайдено дещо інше рішення: 1. У /etc/mrepo.conf.d створені vmware-tools5.conf і vmware-tools6.conf для mrepo:

3. Зроблено оновлення для vmware-tools, яке так само треба додати до cron або виконувати руками

4. Усередині кожної папки з репозитарієм створено симлінк з ім'ям baseurl на саму папці. Милиця дика, але як зробити інакше я не зрозумів.

5. Створення www уявлення, робимо стандартним способом