У меня есть сервер Red Hat 6.2, который находится в изолированном окружении, который мне нужно обновить с помощью Yum. Я попытался загрузить репозиторий 51 ГБ из ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/ (который является URL-адресом по умолчанию в соответствии с файлами репо yum по умолчанию) и выполнил следующие шаги.
Создан новый файл репо с информацией ниже
[localrepo]
name=LocalRepository
baseurl=file:///YUMREPO/SRPMS/Packages<BR>
gpgcheck=0
enabled=1
Когда я выполняю yum update, он впервые правильно загружает базу данных репозитория, но не обновляет ничего нового. Когда я пытаюсь установить любой другой пакет, например vsftpd не удается установить, а также упоминает, что пакет не найден, но файлы rpm находятся в папке, которую я настроил как репозиторий.
# yum install vsftpd
Loaded plugins: product-id, security, subscription-manager<BR>
Updating certificate-based repositories.<BR>
Setting up Install Process<BR>
No package vsftpd available.<BR>
Error: Nothing to do<BR>
# ls -ltr / YUMREPO / SRPMS / Пакеты /vsftpd
-rw-r--r-- 1 root root 238016 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-11.el6.src.rpm
-rw-r--r-- 1 root root 239565 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-11.el6_4.1.src.rpm
-rw-r--r-- 1 root root 239801 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-12.el6_5.1.src.rpm
-rw-r--r-- 1 root root 240907 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-13.el6_6.1.src.rpm
-rw-r--r-- 1 root root 229354 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-6.el6.src.rpm<BR>
-rw-r--r-- 1 root root 242118 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-14.el6.src.rpm<BR>
-rw-r--r-- 1 root root 243417 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-14.el6_7.1.src.rpm<BR>
-rw-r--r-- 1 root root 230778 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-6.el6_0.1.src.rpm<BR>
-rw-r--r-- 1 root root 231280 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-6.el6_2.1.src.rpm<BR>
Я уже пробовал использовать createrepo
и createrepo -d
(для sqllite db), но ничего не работает. Yum не может установить ни один из RPM-пакетов, доступных в папке.
Когда я создаю реполист, детали репозитория отображаются, но Repo-pkgs и Repo-size равны нулю, а количество, показанное в разделе Repo-exculded, совпадает с количеством файлов rpm в каталоге репозитория.
# yum -v repolist
Not loading "rhnplugin" plugin, as it is disabled<BR>
Loading "product-id" plugin<BR>
Loading "security" plugin<BR>
Loading "subscription-manager" plugin<BR>
Updating certificate-based repositories.<BR>
Config time: 0.036<BR>
Yum Version: 3.2.29<BR>
Setting up Package Sacks<BR>
pkgsack time: 0.006<BR>
Repo-id : localrepo<BR>
Repo-name : LocalRepository<BR>
Repo-revision: 1460764382<BR>
Repo-updated : Sat Apr 16 08:13:29 2016<BR>
**Repo-pkgs : 0<BR>
Repo-size : 0<BR>**
Repo-baseurl : file:///YUMREPO/SRPMS/Packages<BR>
Repo-expire : 21,600 second(s) (last: Sat Apr 16 08:13:41 2016)<BR>
**Repo-excluded: 6,575**<BR>
Я хочу просто настроить репозиторий YUM для обновления пакетов и установки новых компонентов. Из соображений безопасности CD и доступ к Интернету или любой другой сети заблокирован. В такой изолированной сети мы можем использовать только авторизованные USB-диски для копирования пакетов RPM. /YUMREPO
- это место монтирования используемого USB-диска.
Местоположение ftp, на которое вы ссылаетесь, содержит только те источники, которые нужно перекомпилировать. Red Hat не публикует скомпилированные обновления, потому что за них нужно платить. Это их бизнес-модель.
Вы можете использовать системы CentOS. Или лучше заплатить плату за поддержку Red Hat для всех изолированных систем (они активно разрабатывают проекты с открытым исходным кодом, поэтому давать им деньги - это хорошо), установить отдельную систему, способную подключаться к Интернету, подписать систему на Red Hat и использовать систему чтобы загрузить файлы rpm на USB-накопитель (не файлы src.rpm!). Инструкции по подписке будут доступны в Red Hat.