Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.4.7. RPM Package Manager (RPM) の更新

Red Hat Enterprise Linux 7 は、RPM Package Manager の更新バージョンを提供します。この更新には、移行に影響を与える可能性のある動作の変更が数多く含まれています。

  • 競合検出はより厳密、正確になっています。競合の感度が高いため、Red Hat Enterprise Linux 6 にインストールされたパッケージがすべて Red Hat Enterprise Linux 7 にインストールされるとは限りません。
  • 該当パッケージの他のバージョンと競合するパッケージを、代替方法を使ってシングルトンとして設定することができます。こうすることで、単一パッケージの複数のバージョンを同時にインストールすることが可能です。
  • インストール済みのパッケージが別のパッケージを廃止予定としてリストしている場合、この 2 番目のパッケージはインストールされません。
  • 廃止ルールには、アーキテクチャーなどの属性に関わらず、すべての適合パッケージが含まれます。
  • 依存計算では、インストールされていないファイルや置き換えられたファイル (たとえば、--nodocs--noconfig、または --force オプションなど) は考慮されません。
  • パニックとなった (DB_RUNRECOVER) RPM Package Manager データベースを再構築する際に、rm -f /var/lib/rpm/__db. を手動で実行する必要がなくなりました。
  • OpenPGP 3 で作成されたパブリックキーはサポートされません。
  • --info オプションは、人間が読みやすくするために行ごとの個別のタグと値のペアを出力するようになりました。以前の --info 形式に依存するスクリプトは、書き換える必要があります。
  • スペックパーサーはより厳密、正確になっており、これまでは受け入れられたスペックファイルでも、パーサーに失敗するか、警告が発せられる可能性があります。
  • %license は、ライセンスとしてスペックファイルの %files セクションのファイルをマークするのに使用できるようになりました。このラインセスは、--nodocs が指定されたときでさえインストールする必要があります。
  • バージョン比較は dpkg スタイルのチルダ (~) 演算子をサポートし、リリース前のソフトウェアを問題なく処理します。たとえば、foo-2.0~beta1foo-2.0 よりも古いとみなされるため、これら共通のアップストリームバージョンのプラクティスを処理するリリースフィールドに関する裏技の必要性がなくなります。
  • 自動依存関係ジェネレーターは、ビルトインフィルター付きで、拡張可能かつカスタマイズ可能なルールベースのシステムに書き換えられました。

この更新には、以下の機能強化も含まれます。

  • パッケージからインストールされたファイル (INSTFILENAMES)、ファイルへのハードリンクの数 (FILENLINKS)、パッケージバージョンコントロールシステムの詳細 (VCS)、およびフォーマット済みの依存関係文字列のショートカット (PROVIDENEVRSREQUIRENEVRSCONFLICTNEVRSOBSOLETENEVRS) へのクエリーが可能になりました。
  • 以下のものを含む多くのコマンドが新たに提供されました。

    • rpmkeys
    • rpmdb
    • rpmspec
    • rpmsign
  • RPM Package Manager には、ランタイムマクロ拡張やランタイムクエリー形式の拡張を有効にするスクリプトレットへの新たなスイッチが含まれています。
  • トランザクション前および後のスクリプトレット依存関係は、Requires(pretrans) および Requires(posttrans) で正確に表記されるようになっています。
  • RPM Package Manager には OrderWithRequires タグが含まれており、ユーザーはこれで追加の順序付け情報を供給することができます。この新たなタグは Requires タグと同じ構文を使用しますが、依存関係は生成しません。同一トランザクション内に上記のパッケージが存在する場合は、トランザクションの順序付けを計算する際に、順序付けのヒントが Requires のように扱われます。
  • スペックファイル内の行連結およびマクロ拡張が、指定された長さに制限されることはなくなりました。
  • RPM Package Manager では、ユーザーがアップストリームバージョンコントロールのリポジトリー情報を指定できるようになりました。
  • RPM Package Manager には、パッチ適用のプロセスの自動化を支援する %autosetup マクロが含まれています。