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

У корпоративній мережі з великою кількістю серверів під керуванням 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 уявлення, робимо стандартним способом