Создание локального репозитория yum без rpms

Я могу установить пакеты из Интернета, используя:

yum install packagex 

Это загрузит все зависимые пакеты и установит их по порядку. Для некоторых наших клиентов, у которых нет доступа к Интернету, мы хотим сделать это, предоставив им архив из репозитория, создающего только эти пакеты.

Можно ли сделать что-то вроде:

 yum install packagex --createRepo /tmp/foo 

где все пакеты помещаются в /tmp/foo в формат репо, который я могу использовать tar а затем можно использовать yum для установки пакетов в автономном режиме?

2 Solutions collect form web for “Создание локального репозитория yum без rpms”

Да, вы могли бы это сделать, используя плагины downloadonly yum. Это описано более подробно в статье RedHat: как использовать yum для загрузки пакета без его установки

Вы, например, запускаете
yum install packagex --downloadonly --downloaddir=/tmp/packagex_repo
который будет загружать packagex и все зависимости, необходимые для текущей системы, только для загрузки в /tmp/packagex_repo .

Там также есть yumdownloader который содержится в пакете yum-utils который предоставляет те же средства, хотя из-за ошибки он загрузит как i586, так и x86_64 версии пакета , а опция --archlist не всегда работает так, как вам хотелось бы это к.

Для получения дополнительной информации см. Следующее:

  • Загружать все зависимости с помощью yumdownloader, даже если они уже установлены?
  • Загрузить ВСЕ rpms для продукта
  • Как загрузить файл из репо и установить его позже без подключения к Интернету?
  • yumdownloader vs repotrack
  • Как загрузить пакет RPM с помощью команды yum без установки в Linux

Для создания репо из этого поиска здесь для createrepo как есть много результатов. Чтобы упаковать это в tarball, требуется только несколько команд, сначала загрузите пакеты, затем запустите createrepo в каталоге repo и, наконец, создайте tarball из этой папки плюс конфигурацию yum для репо. Но вы также можете просто положить все в tarball и сказать людям, чтобы извлечь tarball и запустить yum install ./*rpm в извлеченной папке репо. Использование подхода репо обеспечит выгоду, которую будет отображать история yum и список пакетов yum, из которых репо был первоначально установлен данный пакет.

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

Разумеется, большая часть управления пакетами – это зависимости, вам будет нужно, чтобы вы включили пакет для каждой зависимости.

  • Как установить iftop?
  • Могу ли я автоматизировать ответы y / N при установке с помощью yum?
  • Могу ли я принудительно установить удаление пакета из yum repo?
  • Профили пользователей в файлах определения репозитория yum
  • После обновления yum рекомендуется перезапустить сервер?
  • В чем заключается цель команды «yum list extras»?
  • yum install собирает 32-битные пакеты, но не с yum groupinstall. Зачем?
  • пакеты пакетной установки в список
  • Разрешать только определенные пакеты из одного репо
  • Как разрешать только точные обновления пакетов из репозитория?
  • Augeas не читает все файлы yum.repos.d. Зачем?
  • Linux и Unix - лучшая ОС в мире.