Возникли проблемы с локальным репо Yum

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]
name=Local network repo on Alecto
baseurl=ftp://192.168.1.110/
enabled=1
gpgcheck=0

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

Я запустил createrepoвсе каталоги reposync 'и очистил все yumкэши на виртуальной машине .

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

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

cassini232
источник
На виртуальных машинах вы работали yum clean all?
ОДС

Ответы:

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.

ОДС
источник
Я следовал за учебниками, и некоторые из них, кажется, работают. Команда, которую я использую для настройки / reo: 'reposync -g -l -d -n -p / repo createrepo / repo'
cassini232
Кажется, базовая настройка работает, но у меня все еще есть проблема разных версий пакета. Где клиент yum получает версию пакета, которого даже нет в каталоге / repo?
cassini232
@ cassini232 - он может получить его только из 2-х мест, либо из-за ошибочного репо, либо из кеша. Вы можете попробовать запустить yumболее подробное ведение журнала, чтобы увидеть, где он получает этот пакет.
ОДС
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, но об этом я расскажу, когда у меня будет больше времени.

cassini232
источник