Назад | Перейти на главную страницу

RHEL 7 / Centos 7 Скопируйте пакет со всеми зависимостями с сервера A (установленный пакет) на сервер B (офлайн)

У меня два сервера, то эти сервера нужно установить postgresql10 , сервер А мог установить postgresql10 с помощью yum install , но сервер B имеет правило, запрещающее подключение к Интернету. Итак, я пытаюсь установить с помощью rpm файл в сервер B.

  1. я скачиваю postgresql10 со всем зависимости с помощью yumdownloader с моего сервера разработки
  2. Я загружаю все rpm файлы в сервер B
  3. Я начинаю установку командой rpm -ivh *.rpm внутри сервер B
  4. После того, как я попробую так много depedenciess не скачиваются yumdownloader

Моя идея создать файл, содержащий пакет и все зависимости в одном файле, например tar.gz файл, затем я устанавливаю на другой сервер так же просто, как файл извлечения но я все еще занимаюсь исследованиями, а затем все еще придерживаюсь этого.

Итак, если у вас есть такая же история, как у меня, какой у вас лучший способ? Есть ли script это могло бы помочь моей проблеме. Пожалуйста, поделитесь со мной, большое спасибо

Есть способ, но он довольно сложный и может испортить ваши серверы, так что будьте очень осторожно.

Номенклатура:

  • онлайн : ваша система, подключенная к репозиториям
  • не в сети: ваша система, которая не подключена

Шаги:

Сожмите базу данных об / мин из не в сети систему и перенесите ее в онлайн система:

cd /var/lib/rpm/
tar -cvzf /tmp/rpmdb.tgz *
scp /tmp/rpmdb.tgz root@online:/tmp

на ваше онлайн система; замените ваш rpm db на один из не в сети система:

cp -r /var/lib/rpm{,.bak} # back up your rpmdb from your online system. Make sure not to lose this!!
rm -rf /var/lib/rpm/*
cd /var/lib/rpm
tar -xvf /tmp/rpmdb.tgz # now your online system pretends to have the rpm database from the offline system. Don't start really installing / uninstalling rpms or you'll break everything

теперь смоделируйте свое обновление только для загрузки:

yum install --downloadonly # or
zypper up --download-only

Теперь вы можете получить все загруженные пакеты, и их должно хватить для обновления вашей автономной системы.

А теперь восстанови свой онлайн машина:

rm -rf /var/lib/rpm
cp -r /var/lib/rpm{.bak,}