Наш сервер работает в автономном режиме, и нам нужно установить множество пакетов yum, таких как oracle-jdk, elasticsearch, nginx и т. Д.
Есть ли способ загрузить зависимости rpm, чтобы мы могли установить их на сервере в автономном режиме?
Поддерживать локальное зеркало 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-накопитель.
В ответ на ваш комментарий:
Я хочу что-то вроде загрузки всех пакетов и зависимостей RPM на другой компьютер Centos 7.1 с подключением к Интернету, а затем переместить все эти файлы RPM (например, с помощью флеш-накопителя) на сервер и установить их там.
Это звучит довольно банально установка опции keepcache=0
к keepcache=1
в yum.conf
на онлайн-сервере CentOS. Сначала установите туда все пакеты, которые вы хотите установить на автономный сервер, а затем просто скопируйте собранные пакеты RPM из различных /var/cache/yum/*/*/*packages/
каталоги.
yum install -y xxx yyy --downloadonly
тогда все rpms будут загружены в /var/cache/yum
.