回答:
番号。
残念ながら、RPMベースのパッケージ管理には1種類の依存関係しかありません。それは依存関係かそうでないか、その中間ではありません(ここを読んでください)。私の経験では、Fedoraの依存関係はかなり限定されており、グループインストールを行わない限り、非コア機能はインストールされません。
私の意見では、複数レベルの依存関係は、DEBベースのパッケージ管理の能力の1つを示しています。
yum install --whithout-recommends
です。
編集:元の質問に答えるために、はい、現在、弱い依存関係をサポートしているパッケージマネージャーは可能です。例として、Mageiaでに等しいurpmi --no-suggests foo
。SuSeの場合、それはですzypper in --no-recommends
。このようなものは、新しいyumバージョンにも実装する必要があります。そうしないと、これらのソフト依存関係はかなり役に立たなくなります。
実際、rpmにはそれを可能にする弱い依存関係がありますが、残念ながらそれらはyumおよび最近Fedora / RHELが使用するrpm.orgバージョンに追加されていません(そしておそらく現在はrawhide経由でのみ利用可能です)。最近の発表と実装の詳細については、http://lists.rpm.org/pipermail/rpm-maint/2014-February/003666.htmlを確認してください。前の説明については、http://lists.baseurl.org/pipermail/yum-devel/2009-September/005844.htmlも参照してください。また、このサポートを説明するrpm-4.12の変更に関するfedora wikiページがあります:https : //fedoraproject.org/wiki/Changes/RPM-4.12
FWIW、ソフト依存関係はSuSeによって数年以来使用されています。http: //en.opensuse.org/Libzypp/Dependencies#Weak_dependencies と、rpmブランチがサポートするものを示す以下のセクションを参照してください。また、Mandriva / Mageiaおよび関連するフォークは、かなり以前から、ソフト依存関係(推奨のみ)を使用しています。
したがって、最初の質問に答えるには、rawhide / rpm-4.12にアップグレードし、現在サポートされている弱い依存関係の1つを使用してください。
内部RPM実装の詳細についてさらに情報が必要な場合は、お知らせください。
RPMベースのディストリビューションの依存関係は、dpkgのrequire / Recommends / Suggestsメソッドとは異なる方法で機能します。
一般に、RPMベースのディストリビューションの依存関係は、「この依存関係が満たされない限り、このパッケージは正しく機能しない」と同等と見なすことができます。ただし、パッケージメンテナが適切と判断した場合に追加の依存関係を含めることの芸術的な自由があります(自動的に検出されないため、または難しい要件であると感じるため)。
例として、Debian / UbuntuのWebアプリケーションには、MySQLサーバーパッケージに対するさまざまな提案の依存関係がある場合があります。ただし、MySQLサーバーはローカルWebサーバー上にある必要はないため、ハード要件ではありません。Fedoraでの同じパッケージには依存関係はありません。
RPM方法論に問題があります。これは、あなたが特定したものであり、依存関係が多すぎる場合があります。「Bluetoothを使用しないのに、なぜこのパッケージにBluetooth用のライブラリを含める必要があるのか」というよくある質問は、メインアプリケーションパッケージに含まれているオプションのプラグインなどのアイテムが、通常この状況の原因です。
コマンド履歴でこれを見つけました
dnf debuginfo-install -y \
--setopt=install_weak_deps=False \
cyrus-sasl-lib jsoncpp
私はどうやらhttps://bgstack15.wordpress.com/2017/05/13/dnf-ignore-weak-dependencies/で機能について読んだようです。