Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for RHEL 8

第5章 RHEL 8 の新機能

本セクションでは、Red Hat Enterprise Linux 7 と 8 における RPM パッケージ化の主な変更点を説明します。

5.1. Weak 依存関係のサポート

Weak 依存関係は、Requires ディレクティブのバリアントです。これらのバリアントは、Epoch-Version-Release 範囲比較で仮想 Provides: とパッケージ名に対して一致します。

Weak 依存関係には、以下の表でまとめているように、2 つの強み (weakhint) と 2 つの方向 (forwardbackward) があります。

注記

forward 方向は Requires: に類似しています。backward には、以前の依存関係システムには類似していません。

表5.1 Weak の依存関係の強みと方向の組み合わせが可能

強み/方向ForwardBackward

Weak

推奨:

補助:

Hint

提案:

強化:

Weak 依存関係 ポリシーの主な利点は以下のとおりです。

  • デフォルトのインストール機能の豊富さを維持しつつ、最小限のインストールが可能です。
  • パッケージは、仮想の柔軟性を維持しながら、特定のプロバイダーの設定を指定できます。

5.1.1. Weak 依存関係の概要

デフォルトでは、Weak 依存関係 は、通常の Requires:と同様に扱われます。一致するパッケージが YUM トランザクションに含まれます。パッケージの追加でとエラーが発生する場合、デフォルトでは YUM は依存関係を無視します。そのため、ユーザーは Weak 依存関係 により追加されるパッケージを除外したり、後で削除したりできます。

使用の条件

Weak 依存関係は、パッケージが依然として依存関係なしで機能している場合に限り使用できます。

注記

Weak の要件を追加することなく、非常に限定的な機能を持つパッケージを作成できます。

使用例

Weak の依存関係は特に、目的が単一で、パッケージの全機能セットを必要としない仮想マシンやコンテナーを構築するなど、合理的なユースケースのためにインストールを最小限に抑えることができる場合に使用します。

Weak 依存関係 の一般的なユースケースは、以下のとおりです。

  • ドキュメント

    • ドキュメントビューアーがない場合でも正常に処理されるドキュメントビューアー
  • プラグインまたはアドオン

    • 対応ファイル形式
    • 対応プロトコル

5.1.2. Hints の強度

Hints はデフォルトで、YUM で無視されます。これは、GUI ツールで使用することで、デフォルトでインストールされていないアドオンパッケージを利用できます。ただし、インストールされているパッケージと組み合わせることで役に立ちます。

パッケージの主なユースケースの要件には、Hints を使用しないでください。代わりに、このような要件を強固な依存関係または Weak 依存関係 に含めます。

パッケージ設定

YUMWeak の依存関係Hints を使用して、複数の同等に有効なパッケージ間の選択肢がある場合に使用するパッケージを決定します。インストールされているパッケージまたはインストールされるパッケージの依存関係で指示されるパッケージが推奨されます。

依存関係の解決に関する通常のルールは、この機能の影響を受けないことに注意してください。たとえば、Weak 依存関係は、古いバージョンのパッケージが強制的に選ばれるようにすることはできません。

依存関係に複数のプロバイダーがある場合は、必須となるパッケージで Suggests: を追加して、どのオプションが優先されるかについて依存関係リゾルバーにヒントを提供することができます。

メインパッケージおよび他のプロバイダーが、必要なパッケージにヒントを追加することが、より簡素化されたソリューションであるということに同意する場合にのみ Enhances: が使用されます。

例5.1 Hints を使用した、ある特定のパッケージの優先

Package A: Requires: mysql

Package mariadb: Provides: mysql

Package community-mysql: Provides: mysql

community-mysql パッケージよりも mariadb パッケージを優先する場合は、以下を使用します。

Suggests: mariadb to Package A.

5.1.3. Forwared と Backward の依存関係

Forward 依存関係Requiresと同様に、インストールするパッケージに対して評価されます。最も一致するパッケージもインストールされます。

一般的には、Forward 依存関係が優先されます。システムに追加された別のパッケージを取得する場合は、この依存関係をパッケージに追加します。

Backward 依存関係の場合、一致するパッケージもインストールされていると、その依存関係を含むパッケージがインストールされます。

Backward 依存関係は主に、そのプラグイン、アドオン、エクステンション機能をディストリビューションやその他サードパーティパッケージにアタッチできるサードパーティベンダー向けに設計されています。