Как стать автором
Обновить

RHEL: создание локального репозитория-зеркала для просветленных

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров5.6K
Всего голосов 4: ↑4 и ↓0+4
Комментарии11

Комментарии 11

Используя reposync, возможно создать репозитарии для версий 7, 8 и 9 одним сервером?

Можно на одном сервере создать разные репозитории под разные дистрибутивы, соответственно в разных папках. Также неплохо скачать себе и остальные репозитории, кроме базового. И второе - на клиентах в конфиге YUM прописать в 'baseurl' правильный путь, используя переменные $releasever и $basearch . Вот пример папок как у RH, но тут тоже не совсем правильно, не указано что это для x86_64 (RHEL 7 было POWER, ARM и т.д.)

rhel-7-server-extras-rpms
rhel-7-server-optional-rpms
rhel-7-server-rpms
rhel-7-server-supplementary-rpms
rhel-7-server-thirdparty-oracle-java-rpms

Не нашел как в reposync указать файлы репозитария. Он берет файлы из директории /etc/yum.repos.d/ ?

Я так и не смог делать зеркало через reposync, делаю через lftp.

Вот:

# cat /etc/yum.repos.d/habr.repo 
[rhel-7-habr]
name = RHEL7-habr 
baseurl = file:///habr/rhel-7-server-ansible-2.4-rpms
enabled = 1
gpgcheck = 0
# reposync --repoid=rhel-7-habr  -p /habr-mirror/
(1/23): ansible-2.4.1.0-1.el7ae.noarch.rpm                                                                                                                                                                 | 7.6 MB  00:00:00     
(2/23): ansible-2.4.0.0-1.el7ae.noarch.rpm                                                                                                                                                                 | 7.6 MB  00:00:00     
(3/23): ansible-2.4.2.0-1.el7ae.noarch.rpm                                                                                                                                                                 | 7.6 MB  00:00:00     
(4/23): ansible-2.4.3.0-1.el7ae.noarch.rpm                                                                                                                                                                 | 7.6 MB  00:00:00     
(5/23): ansible-2.4.4.0-1.el7ae.noarch.rpm                                                                                                                                                                 | 7.6 MB  00:00:00     
(6/23): ansible-2.4.5.0-1.el7ae.noarch.rpm                                                                                                                                                                 | 7.6 MB  00:00:00     
(7/23): ansible-2.4.6.0-1.el7ae.noarch.rpm                                                                                                                                                                 | 7.6 MB  00:00:00     
(8/23): ansible-doc-2.4.0.0-1.el7ae.noarch.rpm                                                                                                                                                             | 751 kB  00:00:00     
(9/23): ansible-doc-2.4.1.0-1.el7ae.noarch.rpm                                                                                                                                                             | 752 kB  00:00:00     
(10/23): ansible-doc-2.4.2.0-1.el7ae.noarch.rpm                                                                                                                                                            | 762 kB  00:00:00     
(11/23): ansible-doc-2.4.3.0-1.el7ae.noarch.rpm                                                                                                                                                            | 762 kB  00:00:00     
(12/23): ansible-doc-2.4.4.0-1.el7ae.noarch.rpm                                                                                                                                                            | 763 kB  00:00:00     
(13/23): ansible-doc-2.4.5.0-1.el7ae.noarch.rpm                                                                                                                                                            | 763 kB  00:00:00     
(14/23): libtomcrypt-1.17-23.el7.x86_64.rpm                                                                                                                                                                | 224 kB  00:00:00     
(15/23): libtommath-0.42.0-4.el7.x86_64.rpm                                                                                                                                                                |  35 kB  00:00:00     
(16/23): ansible-doc-2.4.6.0-1.el7ae.noarch.rpm                                                                                                                                                            | 763 kB  00:00:00     
(17/23): python-ecdsa-0.11-4.el7.noarch.rpm                                                                                                                                                                |  69 kB  00:00:00
(18/23): python-httplib2-0.9.1-2.1.el7.noarch.rpm                                                                                                                                                          | 115 kB  00:00:00     
(19/23): python-paramiko-2.1.1-2.el7ae.noarch.rpm                                                                                                                                                          | 267 kB  00:00:00     
(20/23): python-paramiko-2.1.1-4.el7.noarch.rpm                                                                                                                                                            | 268 kB  00:00:00     
(21/23): python2-jmespath-0.9.0-4.el7ae.noarch.rpm                                                                                                                                                         |  39 kB  00:00:00     
(22/23): python-passlib-1.6.5-1.1.el7.noarch.rpm                                                                                                                                                           | 488 kB  00:00:00     
(23/23): sshpass-1.06-1.el7.x86_64.rpm

Раньше был такой пакет из комплекта YUM: "yumdownloader". Потом его выпилили но можно взять в исходниках из старых дистрибутов или на rpmfind.net и сбилдить локально. Довольно удобная штука. Вдобавок он "наследует" методы YUM и работает с репозиториями на подписке RHN. Вот примерно так синхрит один репозиторий, скачивая только свежие пакеты (ругается, но оставляет старые. Иногда это полезно). Репозиторий, естественно, должен быть включен на подписке RHN. После скачивания, конечно, надо обновить метадату репозитория.

yumdownloader --disablerepo=* --enablerepo=rhel-x86_64-server-supplementary-6 --destdir=/var/www/rhn/rhel-x86_64-server-supplementary-6/ "*"

cd /var/www/rhn/rhel-x86_64-server-supplementary-6
createrepo --update .

можно , что на deb дистривутивах , что на rpm , если есть доступ

недавно потребовалось наваять https://github.com/pav7ka/mirror_repo_OL-7-8-9 для Oracle Linux

Нет, не получится. Если кто-то знает, как это сделать, то буду рад услышать.

Обновления качаются с портала Redhat, а там нужна подписка. Если на портал стучится сервер (наш сервер-репозиторий) с Redhat 7, то он получит репозитории только для Redhat 7, а не все сразу (redhat 6-9), т.е. с подпиской для Redhat 7 нет доступа к репозиториям redhat 6,8 и 9, т.к. доступ к тем или иным репозиториям (для разных версий Redhat) регулируется подпиской. Получив подписку, сервер получает сертификаты, с помощью которых он аутентифицируется на портале redhat и получает оттуда обновления. Срок действия сертификатов - последняя дата подписки. Подписка закончилась, доступ к репам на портале пропадает.

Если же обновления качать не с портала Redhat, а с серверов своего знакомого, то тогда проблем не будет, т.е. репозитории для разных версий Redhat можно раскидать по разным папкам на одном сервере.

Хранить обновления для всех версий на одном сервере большого смысла нет, т.к. объём реп достаточно большой. Намного проще разнести по разным сервера в зависимости от версии, что мы у себя и сделали.

Есть обходной путь: если есть несколько серверов на RHEL 7,8,9 то можно динамически отписывать машину и подписывать другую :) И так по кругу.

Если мы говорим о зеркалировании репозиториев от RedHat (доступны нам через RedHat Subscription), то официальный ответ от RedHat -- нет. Если что-то другое, то лучше уточнить все вводные

— Что вы делали до просветления?
— Колол дрова.
— А что вы делаете после просветления?
— Пишу дрова.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий