web-dev-qa-db-ja.com

RPMはインストール順序を「必要」とします

RPMの専門家に助けを求めています。

パッケージAに依存するRPMパッケージBがあるとします。 RPM Aの仕様にはRequires:Bがあり、autoprovautoreqが有効になっています。

RPM Aをcentos6.5マシンにRPM version 4.8.0yum install Aでインストールすると:

  • rpmは最初にAをインストールし、次にBをインストールします。
  • Bのインストールが部分的に失敗する可能性があります。つまり、依存関係Aのインストールが失敗した場合でも、Bがインストールされます。

これは予想される動作ですか? (Bの前にAをインストールするべきではありませんか?)

バージョン(el5など)間で同じ動作が期待できますか?

依存関係がインストールされることを期待していましたメインパッケージがインストールされます。依存関係の1つがインストールに失敗した場合、メインパッケージのインストールが妨げられます。

私の要件を達成するための他の手段はありますか?

ありがとう。

3
Shyam

Requiresは、実行時にこの依存関係が必要であることを示しています。たとえば、Requiresfirefox.specに入れると、ユーザーが/usr/bin/firefoxを実行したときにこの依存関係がインストールされます。

Rpmスクリプトレットの実行中に使用可能にする必要がある場合は、必要なフェーズを指定する必要があります。例えば:

Requires(pre): Perl

複数のセクションで必要な場合は、数回リストする必要があります。例えば:

Requires(pre): Perl
Requires(preun): Perl

詳細については、 http://rpm.org/api/4.4.2.2/tsort.html を参照してください。

3
msuchy