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パッケージをダウンロードする方法を誰かが知っていますか?
--downloadonly
スイッチを使用してすでにインストールされているRPMのパッケージをダウンロードすることが可能です。パッケージが既にインストールされているかどうかを確認する前に、yumがこの設定を確認しない理由はわかりませんが、ツールの基盤となるアーキテクチャーが原因である可能性があります。
とにかく、あなたがする必要があるのは、yumにreinstallパッケージを指示することです:
yum --downloadonly --downloaddir=/tmp/rpm_files/ reinstall package_name
もちろん、yumはこのパッケージのためだけにインストールされた依存関係を認識しないため、RPMを取得して別のシステムにインストールしようとすると、一部の依存関係が失われる可能性があります。依存関係グラフ全体を調べる方法はいくつかありますが、これはすでにSEの他の場所で説明されていると思います。
yumdownloader
in yum-utils
は、渡したパッケージをダウンロードします。または、オプションで、パッケージのダウンロード元のURLを生成します。
Yum-utilsパッケージの repotrack コマンドを使用できます。依存関係ツリー全体がダウンロードされます-すでにインストールされている場合でも。
例:
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
長期的には、マシンをインターネットからダウンロードするマシンとして指定し、そのマシンでNFS(またはWebサーバー)を実行して、/ var/cache/yumを内部ホストに公開することができます。
次に、yum構成を更新して、以下を追加する必要があります。
[main]
keepcache = 1
キャッシュを有効にすると、すべてのyum操作で、設定されたリポジトリからパッケージデータがダウンロードされる場合があります。
より実用的な言葉で:
$ Sudo yum install -y nginx
$ Sudo find /var/cache/yum/ -type f -name '*.rpm'
<...snip....>
/var/cache/yum/x86_64/7/epel/packages/nginx-1.10.2-1.el7.x86_64.rpm
他の答えは実際に実際に解決しますが、これはすでに持っているパッケージに対してyum reinstall
を実行し、必要な場合にのみ役立ちますRPM。
これが私がすることです:
Sudo yum install --config =。/ yum.conf --installroot =/tmp/f541Sdex --downloadonly --downloaddir/tmp/DL-e25xds $(cat list-of-packages)