RedHat 8でRPMを4.16にアップグレードする方法は?

RedHat 8でRPMを4.16にアップグレードする方法は?

RedHat 8でRPMをバージョン4.16にアップグレードしたいです。現在私がインストールしたのは4.14.3です。

アップグレードしようとすると、「何もしません」というメッセージが表示されます。

$ sudo yum -yアップグレードrpm
サブスクリプション管理リポジトリを更新します。
最後のメタデータの有効期限を確認:2022年10月12日水曜日午前8時51分51秒PDT 0時7分41秒前。
依存関係が解決されました。
することはありません。
十分!

RPM URLを指定できると思いましたが、この回答、RHEL RPMリポジトリは公開されていません。

RedHat 8からRPM 4.16にアップグレードするには?

答え1

RHELなどの安定したディストリビューションは通常、最新バージョンのソフトウェアを提供せず、バックポートのバグ修正とセキュリティ問題の修正のみを提供します。 RPM 4.14がRHEL 8リポジトリで利用可能な最新バージョンである場合(CentOS 8 Streamリポジトリで利用可能なバージョンであるため、RHEL 8でも利用可能な最新バージョンである可能性が高い)、そのRPMバージョンが使用中です。

4.16はRHEL 9(CentOS 9 Streamベース)でも利用できるため、何らかの理由で4.16が必要な場合はRHEL 9にアップグレードすることをお勧めします。

(ソースから最新バージョンのRPMを手動でインストールすることはできますが、お勧めできません。下位レベルのシステムツールとライブラリを手動でアップグレードすると、システムが破損する可能性があります。)

答え2

それいいえRHELについて。

この取引について最大Linuxディストリビューション。それらは一緒に編まれた緩い構成要素の集まりではありません。

実際には複雑な依存関係を持つ非常に厳しいパッケージのセットなので、リリースAバージョンNの場合、コンポーネントのXYおよびZバージョンのみを持つことができます。そうしないと、依存関係が破壊されるため、システムは動作を停止します。

マイクロソフトは、以前はWindows Vistaを介してこの問題を解決しました。WinSxS、残念ながら、次の理由でLinuxでは動作しません。

  • メンテナンス費用は非常に高価です。
  • ビルド時には依存関係に注意する必要があり、Linuxディストリビューションには/usr/include1つのディレクトリしかありません。
  • Microsoftはntoskrnlやuser32などのAPI / ABIコアコンポーネントに対して100%信頼性を持っていますが、Linuxはそうではありません。ほぼすべてのバージョンに新しいAPIがGlibcに追加され、すべてのライブラリを調整することはほとんど不可能です。

RPMは、自由に交換/更新できない重要なコンポーネントです。ソースから新しいバージョンをコンパイルして、たとえばまたはインストールすることが/usr/localできますが、/opt/rpm既存のRPMデータベースと一緒に使用すると、既存のRPMパッケージマネージャでRPMデータベースが破損する可能性があります。

関連情報