6.2. RPM の主な機能および変更

Red Hat Enterprise Linux 8 (RHEL) には RPM 4.14 が同梱されています。このバージョンでは、RHEL 7 で利用できた RPM 4.11 に対する機能拡張が数多く追加されました。

主な変更には以下のものがあります。

  • 複数の debuginfo パッケージを同時にインストールできます。
  • 弱い依存関係への対応。
  • 豊富なブール型依存関係への対応。
  • 4 GB を超えるファイルのパッケージ化への対応。
  • ファイルトリガーへの対応。
  • 新しい --nopretrans スイッチおよび --noposttrans スイッチはそれぞれ、%pretrans スクリプトレットおよび %posttrans スクリプトレットの実行を無効にします。
  • 新しい --noplugins スイッチは、すべての RPM プラグインの読み込みおよび実行を無効にします。
  • システムロギングプロトコル (syslog) により RPM アクティビティーをロギングする新規の syslog プラグイン。
  • rpmbuild コマンドは、ソースパッケージからすべてのビルド手順を直接実行できるようになりました。

    これは、-r[abpcils] オプションのいずれかと共に rpmbuild を使用すると可能になります。

  • 再インストールモードをサポートします。

    これは、新しい --reinstall オプションにより保証されます。インストールされているパッケージを再インストールするには、次の構文を使用します。

    rpm {--reinstall} [install-options] PACKAGE_FILE

    このオプションにより、新しいパッケージが正しくインストールされ、古いパッケージが削除されます。

  • SSD 保存モードのサポート。

    これは、/usr/lib/rpm/macros ファイルで利用可能な新しい %_minimize_writes マクロで保証されます。マクロは、デフォルトで 0 に設定されます。SSD ディスクへの書き込みを最小にするには、%_minimize_writes を 1 に設定します。

  • RPM ペイロードを tar アーカイブに変換する新しい rpm2archive ユーティリティー。

詳細は「RHEL 8 の新機能」を参照してください。

以下は、主な変更点です。

  • 厳密なスペックパーサー
  • 非冗長モードで出力を確認する簡易署名
  • 再現可能なビルド (同一パッケージを作成するビルド) のサポートの改善

    • ビルド時間の設定
    • ファイルの mtime (ファイル変更日時) の設定
    • buildhost の設定
  • -p オプションを使用して、アンインストールされた PACKAGE_FILE をクエリーすることは任意になりました。このユースケースでは、rpm コマンドが、-p オプションの有無にかかわらず、同じ結果を返すようになりました。-p オプションが必要な唯一のユースケースは、ファイル名が rpmdb データベース内のいずれの Provides とも一致しないことを確認することです。
  • マクロの追加と廃止事項

    • %makeinstall マクロが非推奨になりました。プログラムをインストールするには、代わりに %make_install マクロを使用します。
  • rpmbuild --sign コマンドが非推奨になりました。

    rpmbuild コマンドで --sign オプションを使用することが非推奨になったことに注意してください。既存のパッケージに署名を追加するには、代わりに rpm --addsign を使用します。