パッケージコマンド間の関係は何ですか?

パッケージコマンド間の関係は何ですか?

RPMベースのパッケージマネージャは、必須、推奨、競合、古い、推奨、および補足などのサブコマンドをサポートします。

rpm のマニュアルページと依存関係のドキュメントを読んだときにどう違うかはわかりません。

たとえば、コマンドを実行すると、rpm --query --info MozillaFirefox次の出力が返されます。

Name        : MozillaFirefox
Version     : 60.4.0
Release     : lp150.3.30.1
Architecture: x86_64
Install Date: Sun 06 Jan 2019 07:43:50 AM NZDT
Group       : Productivity/Networking/Web/Browsers
Size        : 161608776
License     : MPL-2.0
Signature   : RSA/SHA256, Thu 13 Dec 2018 08:35:09 PM NZDT, Key ID b88b2fd43dbdc284
Source RPM  : MozillaFirefox-60.4.0-lp150.3.30.1.src.rpm
Build Date  : Wed 12 Dec 2018 10:35:10 PM NZDT
Build Host  : cloud138
Relocations : (not relocatable)
Packager    : http://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.mozilla.org/
Summary     : Mozilla Firefox Web Browser
Description :
Mozilla Firefox is a standalone web browser, designed for standards
compliance and performance.  Its functionality can be enhanced via a
plethora of extensions.

コマンドを実行すると、rpm --query --recommends MozillaFirefox次の出力が返されます。

libavcodec-full >= 0.10.16
libcanberra0
libpulse0

私はlibpulse0がPulseAudioパッケージを参照していると仮定します。その場合、コマンドがrpm --query --info pulseaudio返されます。

Name        : pulseaudio
Version     : 11.1
Release     : lp150.4.1
Architecture: x86_64
Install Date: Sun 06 Jan 2019 06:49:12 AM NZDT
Group       : System/Sound Daemons
Size        : 3605819
License     : GPL-2.0+ AND LGPL-2.1+
Signature   : RSA/SHA256, Mon 23 Apr 2018 10:39:20 AM NZST, Key ID b88b2fd43dbdc284
Source RPM  : pulseaudio-11.1-lp150.4.1.src.rpm
Build Date  : Mon 23 Apr 2018 10:38:51 AM NZST
Build Host  : build70
Relocations : (not relocatable)
Packager    : https://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://pulseaudio.org
Summary     : A Networked Sound Server
Description :
pulseaudio is a networked sound server for Linux, other Unix like
operating systems and Microsoft Windows. It is intended to be an
improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).

パッケージがすでにインストールされている場合、pulseaudioインストールを推奨するのはなぜですかlibpulse0

  • 推奨事項、競合、老化、提案、追加はどういう意味ですか?
  • 推奨事項、アドバイス、サプリメントの違いは何ですか?
  • いつ使うべきですか?

ベストアンサー1

rpm --query --recommends MozillaFirefox

このパッケージの推奨パッケージがリストされていますMozillaFirefox(以下で詳しく説明します)。コンピュータとして解釈されるほとんどの場合と同様に、出力も文字通り受け入れる必要があります。したがって、libpulse0提案にはlibpulse0パッケージではなくパッケージが含まれますpulseaudio

パッケージのリストは静的で、MozillaFirefoxパッケージで定義されているように表示され、システムにインストールされているパッケージを考慮しません。

パッケージ関係は次のとおりです。

  • 必須:パッケージAを実行するにはパッケージBが必要な場合、パッケージAにはパッケージBが必要です。
  • 推奨事項:パッケージAがパッケージBを使用でき、ほとんどのユーザーがこれら2つのパッケージを一緒に使用する場合、パッケージAはパッケージBを推奨します(これを弱い依存関係と呼びます)。
  • 推奨事項:パッケージAはパッケージBを使用できますが、ほとんどのユーザーには必要ない場合はパッケージBを使用することをお勧めします(これは非常に弱い依存関係と呼ばれます)。
  • 補足:パッケージAがパッケージBに機能を追加すると、パッケージBが補完され、ほとんどのユーザーは2つのパッケージを一緒に使用します(これは「推奨」と非常に対称です)。
  • 拡張:パッケージAはパッケージBに機能を追加するとパッケージBを向上させますが、ほとんどのユーザーはこのパッケージが特に役に立つとは思わない(「提案」とほぼ対称)。

これは、これらの用語の意味、どのように異なるか、いつ使用するかを理解するのに役立ちます。

これらの関係が実際に考慮されるかどうかは、使用されるパッケージ管理ツールによって異なります。rpm単一のパッケージをデフォルトで処理するので、強力な依存関係のみが重要です(「必須」)。私が知る限り、yum強力な依存関係だけが考慮されます。dnf基本的な構成は、弱い依存関係をインストールすることです。install_weak_depsのフラグを参照してくださいdnf.confurpm弱い依存関係を考慮するようにZypperを設定することもできます。

追加の微妙さは、推奨/提案と補足/強化ペアの違いです。つまりなぜ両方が必要ですか?彼らは様々な場所で利用可能な知識を表します。例えば、ライブラリを使用するパッケージは、適切な関係が「推奨」または「提案」であることを「知る」ために選択され得る。ただし、Firefoxなどのソフトウェアパッケージでは、すべてのプラグインを知ることができないため、「推奨」または「提案」に使用可能なすべてのプラグインを一覧表示しようとせず、個々のプラグインを「補足」に割り当てることができます。 「または「改善」して Firefox に機能を追加したことを示します。

バラよりRPMドキュメントもっと学ぶ。

おすすめ記事