Intereting Posts
CentOS 6.5 не будет спать после периода бездействия Задача Cron запускаться каждую минуту с 11:00 до 6:00 Проблемы с соединениями Wifi (RTL8723BE). Kali Linux Проблема с полномочиями Automount USB Storage Permissions; FreeBSD 10.3 использование функции скрипта вместо ввода с клавиатуры Могу ли я использовать команду find для передачи аргументов perl? Разрешения для файлов Как я могу настроить ядро ​​на общий своп? Используйте rsync для зеркалирования источника для развертывания веб-сайта, но не для удаления выбранных файлов в месте назначения "ImportError: libssl.so.1.0.0: невозможно открыть файл общего объекта: нет такого файла или каталога" во время установки Bitmask Получить узел устройства с помощью пары основных / младших номеров Методы вставки содержимого первичного отбора X11? qsub job in state Eqw error: не может chdir в каталог: нет такого файла или каталога Ядро не может найти файл / dev / sda во время загрузки Автоматическое перезапуск сетевого подключения

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

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

yum install packagex 

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

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

 yum install packagex --createRepo /tmp/foo 

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

Да, вы могли бы это сделать, используя плагины 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, чтобы выполнить задание.

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