yum + yumアップデートでインストールされているすべてのrpmをキャプチャする方法

yum + yumアップデートでインストールされているすべてのrpmをキャプチャする方法

rhel 7.2からrhel 7.6にアップグレードしました。

アップグレードはyumアップデートを介して行われます(redhatレパートリーから)。

subscription-manager release --set=7.6
subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"  --enable "rhel-ha-for-rhel-*-server-rpms"

それから私たちはパフォーマンスをしました。

yum update

yum 履歴で更新も表示できます。

yum history
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    31 | update                   | 2020-09-11 09:10 | I, O, U        |  899 EE

アップデート中に300rpmがアップデート/インストールされました。

ただし、ネットワーク接続なしで他のコンピュータでオフラインでyumアップデートを実行しようとしています。 (yumアップデート中)インストールされているすべてのrpmをキャプチャできるかどうか尋ねました。

したがって、インストールされているすべてのrpmのリストをキャプチャできます。

rpmのリストがあれば、以下からダウンロードできるのでこれを聞くことです。yumdownloader

私が見つけたのは

 yum history info 31 | grep  Updated
    Updated       rpm-4.11.3-17.el7.x86_64                  @anaconda/7.2
    Updated       subscription-manager-1.15.9-15.el7.x86_64 @anaconda/7.2
    Updated       yum-3.4.3-132.el7.noarch                  @anaconda/7.2
    Updated       yum-langpacks-0.4.2-4.el7.noarch          @anaconda/7.2
    Updated     ModemManager-1.1.0-8.git20130913.el7.x86_64                    @anaconda/7.2
    Updated     ModemManager-glib-1.1.0-8.git20130913.el7.x86_64               @anaconda/7.2
    Updated     NetworkManager-adsl-1:1.0.6-27.el7.x86_64                      @anaconda/7.2
    Updated     NetworkManager-config-server-1:1.0.6-27.el7.x86_64             @anaconda/7.2
    Updated     NetworkManager-glib-1:1.0.6-27.el7.x86_64                      @anaconda/7.2
    Updated     NetworkManager-libnm-1:1.0.6-27.el7.x86_64                     @anaconda/7.2
    Updated     NetworkManager-libreswan-1.0.6-3.el7.x86_64                    @anaconda/7.2
    Updated     NetworkManager-libreswan-gnome-1.0.6-3.el7.x86_64              @anaconda/7.2
    Updated     NetworkManager-team-1:1.0.6-27.el7.x86_64                      @anaconda/7.2

.
.
.

これはyumアップデートでインストールされているすべてのrpmをキャプチャする実際の方法ですか?

答え1

Red Hat には、切断されたシステムをアップデートする方法を説明するソリューションドキュメントがあります。切断されたシステム(インターネットに接続されていないシステム)を定期的に更新するにはどうすればよいですか?

利用可能なオプションは次のとおりです。

  1. Red Hat Satellite Serverを設定します。これには追加の購読が必要です。衛星サーバーはオンラインRed Hatリポジトリに接続します。すべてのシステムは衛星サーバーに接続してアップデートをダウンロードします。

  2. 接続されている他のシステムからアップデートをダウンロードします。パッケージをターゲットシステムに転送して更新します。

  3. 配布メディア(配布専用DVD / ISOイメージ)を使用してください。

  4. Red Hat Webサイトからパッケージを手動でダウンロードしてください。この方法は時間がかかり、自動化が難しく、依存関係解決を手動で処理する必要があります。

  5. ローカルストレージを作成します。この方法には、reposyncツールを使用してソフトウェアパッケージをシステムにダウンロードすることが含まれます。その後、パッケージはHTTP / NFS / FTPを使用して他のシステムにyumリポジトリとして公開されます。


あなたの場合は、2番目のアプローチを使用しているようです。このアプローチの詳細については、ここで確認できます。ネットワーク接続なしでオフラインのRed Hat Enterprise LinuxサーバーをRed Hat / Proxy / Satelliteにアップデートする方法は?。この資料では、ターゲットシステムからRPMデータベースをコピーし、それを使用してyum update --downloadonly新しいパッケージを入手することをお勧めします。

他のオプションを調べて、作業に適していることを確認することもできます。現在、7.2から7.6にアップグレードしようとしているため、7.6リリースメディア(3番目の方法)を使用することが効果的です。

長期的な解決策を得るには、最初の方法(衛星)または5番目の方法(ローカルストレージ)を調べることをお勧めします。これらの方法はより集中的で、より良い自動化の可能性を提供します。

答え2

Yumのダウンロード/var/cache/yum/<repo>/packagesしたがって、そのディレクトリのrpmを同じパスの別のサーバーにコピーすると、問題が解決します。しかし、覚えておいてください:

  • 最善の方法は、インターネットに接続されているコンピュータで最初にパッケージをクリーンアップして、yum update最新の実行中のアップデート/インストールされたパッケージのみを残してコピーすることです。一方、これは増分rpmメカニズムが使用されず、違いだけでなく、各rpmのフルサイズもダウンロードする必要があることを意味します。

  • ターゲットコンピュータがインターネットにまったくアクセスできない場合、yumは利用可能な最新のパッケージに関する通知を受け取りません。したがって、rpmsをコピーした後にyum install ./*.rpmそれを使用してインストールできます。インターネット帯域幅の低いコンピュータで私が使用する方法は、yum check-updateネットワークに接続された状態で実行し、すべてのrpmを/var/cache/yum/<repo>/packagesアップデートにコピーして実行することです。 Yumはキャッシュからrpmを探し、ネットワークからダウンロードしません。

多数のシステムを頻繁に更新する必要がある場合、最善の方法はローカルリポジトリとアップデートサーバーを設定することです。これは簡単な作業であり、これを行う方法に関する多くのガイドを見つけることができます。

関連情報