Azure Linux でのパッケージ管理の概要

Azure Linux では、パッケージ マネージャーとして DNF5 を使用し、ソフトウェアを RPM パッケージとして出荷します。 この記事では、Azure Linux のパッケージ化方法、DNF5 の新機能、パスまたはツールに YUM 時代 (YUM) の名前が残っている場合の確認場所について説明します。

Note

Azure Linux 4.0 は現在、preview であり、評価とテストの目的に厳密に限定されています。 運用環境での使用には適していません。

DNF5

DNF5 は、アップストリーム RPM ソフトウェア管理コミュニティによって管理されているパッケージ マネージャーである DNF の最新のメジャー リリースです。 DNF4 と比較して、DNF5 は次の機能を提供します。

  • 依存関係の解決の高速化。
  • メモリ使用量の削減。
  • 内部アーキテクチャが改善されました。
  • 既存の YUM リポジトリ構成との完全な下位互換性。

コマンド ライン サーフェスは意図的に yum に近く、 dnf 4 であるため、通常、既存のスクリプトと CI パイプラインは変更なしで動作します。 Azure Linux の dnf および yum コマンドは DNF5 によって提供されます。

RPM パッケージ

Azure Linux 上のソフトウェアは RPM パッケージとして提供されます。 各 .rpm ファイルには次が含まれます:

  • バイナリ、ライブラリ、スクリプト、およびその他のペイロード ファイル。
  • アップグレード後も残るように、 %config でマークされた構成ファイル。
  • メタデータ: 名前、バージョン、リリース、アーキテクチャ、依存関係、ファイル一覧、署名、および変更ログ。

DNF は依存関係を解決し、構成済みのリポジトリから必要な .rpm ファイルをフェッチし、署名を検証して、 rpm ライブラリに移動してインストールまたはアップグレードします。 インストールされているパッケージは、 rpm ( rpm -qarpm -qf <path>rpm -V <pkg> など) を使用して直接操作できますが、インストールとアップグレードでは DNF を使用して依存関係の解決が正しく維持されます。

YUM、DNF、および DNF5

RPM ベースのディストリビューションは、次の 3 世代のフロントエンド ツールを通じて移動しました。

YUM → DNF → DNF5

各世代ではディスク上のリポジトリ形式に互換性が維持されているため、現在の Azure Linux システムでは、/etc/yum.repos.d/yum.conf などのパスと名前が引き続き表示されます。 これらは個別のツールではなく DNF5 のエイリアスであり、スクリプトでどちらの名前を使用してもかまいません。

DNF5 と RPM エコシステムの詳細については、次のリソースを参照してください。

  • DNF5 ドキュメント: DNF5 パッケージ マネージャーの公式ユーザーおよびリファレンス ドキュメント。
  • GITHUB: DNF、RPM、および関連ツールを維持するアップストリーム組織。