1

Я попытался настроить локальное репо на сервере (alecto) с помощью reposync . Эта часть, кажется, идет хорошо, и целевой каталог (/repo) заполняется.

Я сделал это, чтобы обновить несколько виртуальных машин, работающих под управлением CentOS, без необходимости подключения к Интернету.

Проблема в том, что при использовании 'yum update' на виртуальных машинах происходит сбой в большинстве (не во всех) пакетах, очевидно, ищет более старые версии этого пакета, чем установлено в каталоге /repo. Например, он выглядит для установки zlib-1.2.7-17 когда версия в /repo - zlib-1.2.7-18 . Я понятия не имею, откуда берется идея, что следует использовать версию -17.

В /etc/yum.repos.d directory - alecto.repo виртуальной машины определен только один репозиторий - alecto.repo, который содержит:

[alecto]
name=Local network repo on Alecto
baseurl=ftp://192.168.1.110/
enabled=1
gpgcheck=0

Это не настройка FTP - некоторые установки работают (например, yum install pigz), и возможно, что они работают, потому что их номер версии меняется не очень часто.

Я запустил createrepo во всех каталогах reposync'а и очистил все кэши yum на ВМ.

Мой вопрос: что, черт возьми, происходит? В противном случае: где yum получает номера версий того, что, по его мнению, нужно установить?

Я уже два дня бью головой о стену и могу действительно помочь.

2 ответа2

0

Решил это!

Я был потрясен тем фактом, что команда reposync использовала собственный yum.repos.d alecto для заполнения /repo. Каким-то образом я думал, что то же самое будет применяться к клиенту - это не так, поэтому я не могу просто указать / репо в качестве начальной точки на клиенте. Это означает, что alecto.repo выглядит так

[alecto]
name=Local network repo on Alecto
baseurl=ftp://192.168.1.110/
enabled=1
gpgcheck=0

к этому

[base]
name=Local network repo on Alecto - base
baseurl=ftp://192.168.1.110/base/
enabled=1
gpgcheck=0

[epel]
name=Local network repo on Alecto - epel
baseurl=ftp://192.168.1.110/epel/
enabled=1
gpgcheck=0

etc...

Я до сих пор не понимаю, откуда взялась версия zlib -17, но об этом я расскажу, когда у меня будет больше времени.

0

На access.redhat.com есть несколько вопросов и ответов, которые показывают следующую настройку:

Для виртуальных машин

$ cat /etc/yum.repos.d/local.repo
[RHEL7]
name=Red Hat Enterprise Linux $releasever - $basearch
baseurl=ftp://<ip_address>/<somedirectory>/
enabled=1
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

Затем вы запустите следующее:

$ sudo yum clean all
$ sudo yum repolist
[...]
RHEL7             | 1.5 kB     00:00     
RHEL7/primary     | 920 kB     00:00     
RHEL7                               3285/3285

repo id          repo name       status

RHEL7 Red Hat Enterprise Linux 6Server - x86_64     3,285
            repolist: 3,285

Затем вы можете запустить на виртуальных машинах:

$ sudo yum update

ПРИМЕЧАНИЕ 1. Это URL, но для его просмотра требуется учетная запись - https://access.redhat.com/solutions/3187892.

Q & A также ссылается на это видео на Youtube, которое каждый может просмотреть под названием:« Создание локального репозитория и совместное использование с автономными системами».

ПРИМЕЧАНИЕ 2. Вы не показываете свой метод reposync для восстановления репозитория , но я подозреваю, что используемый вами метод является корнем вашей проблемы. Взгляните на видео, оно показывает, как правильно выполнить reposync .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .