Наш сервер работает в автономном режиме, и нам необходимо установить множество пакетов yum, таких как oracle-jdk, elasticsearch, nginx и т. д.
Есть ли способ загрузить зависимости RPM, чтобы мы могли установить их на сервере в автономном режиме?
решение1
Поддерживайте локальное зеркало CentOS на подключенной к Интернету машине с rsync
публичным зеркалом CentOS, которое принимает rsync-подключения. Затем вы можете скопировать эти каталоги на USB-накопитель и использовать их в качестве источников установки. Они уже содержат необходимые метаданные для работы в качестве репозиториев, поэтому вам нужно только указать их установщику.
$ du -sh /srv/www/mirrors/centos/7.1.1503/{os,updates}/x86_64
7.1G /srv/www/mirrors/centos/7.1.1503/os/x86_64
2.1G /srv/www/mirrors/centos/7.1.1503/updates/x86_64
В случае сторонних пакетов вы также можете создать их зеркальные копии самостоятельно с помощью reposync
инструмента командной строки, который загружает содержимое репозиториев yum в локальную файловую систему, и createrepo
, который создает репозиторий yum из набора RPM-пакетов в каталоге.
Помните, что репозитории не обязательно должны быть в сети. Они могут быть расположены в локальной файловой системе, например на жестком диске, DVD-ROM или USB-накопителе.
решение2
решение3
В ответ на ваш комментарий:
Мне нужно что-то вроде загрузки всех RPM-пакетов и зависимостей на другую машину Centos 7.1 с подключением к Интернету, а затем перенести все эти RPM-файлы (например, с помощью флеш-накопителя) на сервер и установить их там.
Это звучит как что-то довольно тривиальное.установка опции keepcache=0
вkeepcache=1
yum.conf
на онлайн-сервере CentOS. Сначала установите там все пакеты, которые вы хотите установить на вашем офлайн-сервере, а затем просто скопируйте собранные пакеты RPM из различных /var/cache/yum/*/*/*packages/
каталогов.
решение4
yum install -y xxx yyy --downloadonly
затем все RPM-файлы будут загружены в /var/cache/yum
.