Загрузите RPM-пакеты для уже установленной команды

Загрузите RPM-пакеты для уже установленной команды

У меня есть машина CentOS, на которой я уже установил openssl-devel с помощью

$ yum install openssl-devel 

Он скачал и установил все пакеты зависимостей. Теперь мне нужны все эти пакеты RPM. Можно ли скачать только пакеты RPM? Когда я делаю это:

 $ yum install  openssl-devel -y --downloadonly 

Там написано

Package 1:openssl-devel-1.0.1e-4.fc18.x86_64 already installed and latest version

так как он уже установлен.

Кто-нибудь знает, как загрузить эти RPM-пакеты на одну и ту же систему?

решение1

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

В любом случае, все, что вам нужно сделать, это сказать yumпереустановитьпакет:

yum --downloadonly --downloaddir=/tmp/rpm_files/ reinstall package_name

Конечно, yum не будет знать, какие зависимости были установлены только для этого пакета, поэтому если вы возьмете RPM и попытаетесь установить их на другой системе, некоторые зависимости могут отсутствовать. Есть способы исследовать весь график зависимостей, и я уверен, что это уже было описано в другом месте на SE.

решение2

yumdownloaderin yum-utilsзагрузит все переданные вам пакеты или, при необходимости, сгенерирует URL-адреса, с которых можно загрузить пакеты.

решение3

Вы можете использоватьrepotrackкоманда из пакета yum-utils. Она загрузит все дерево зависимостей -даже если он уже установлен.

Пример:

sudo yum install yum-utils      # Install yum-utils
sudo repotrack openssl-devel    # Download all dependencies for openssl-devel


Пример вывода:

[sbadra@rhel6 ~]$ sudo yum install openssl-devel
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Setting up Install Process
Package openssl-devel-1.0.1e-57.el6.x86_64 already installed and latest version
Nothing to do

[sbadra@rhel6 ~]$ sudo repotrack openssl-devel
Downloading audit-libs-2.4.5-6.el6.x86_64.rpm
Downloading audit-libs-2.4.5-6.el6.i686.rpm
Downloading basesystem-10.0-4.el6.noarch.rpm
Downloading bash-4.1.2-48.el6.x86_64.rpm
Downloading ca-certificates-2017.2.14-65.0.1.el6_9.noarch.rpm
Downloading chkconfig-1.3.49.5-1.el6.x86_64.rpm
Downloading coreutils-8.4-46.el6.x86_64.rpm
Downloading coreutils-libs-8.4-46.el6.x86_64.rpm
.... more packages ....
Downloading openssl-1.0.1e-57.el6.i686.rpm
Downloading openssl-1.0.1e-57.el6.x86_64.rpm
Downloading openssl-devel-1.0.1e-57.el6.i686.rpm
Downloading openssl-devel-1.0.1e-57.el6.x86_64.rpm
.... more packages ....
Downloading sed-4.2.1-10.el6.x86_64.rpm
Downloading setup-2.8.14-23.el6.noarch.rpm
Downloading tzdata-2018c-1.el6.noarch.rpm
Downloading zlib-1.2.3-29.el6.x86_64.rpm
Downloading zlib-1.2.3-29.el6.i686.rpm
Downloading zlib-devel-1.2.3-29.el6.i686.rpm
Downloading zlib-devel-1.2.3-29.el6.x86_64.rpm

решение4

Вот что я делаю:

sudo yum install --config=./yum.conf 
  --installroot=/tmp/f541Sdex 
  --downloadonly 
  --downloaddir /tmp/DL-e25xds 
  $(cat list-of-packages)

Связанный контент