Yumおよび推奨/提案パッケージ

Yumおよび推奨/提案パッケージ

私のコンピュータにパッケージをインストールしたいと思います。Fedoraの帽子システムにあるが理解できない多くの依存関係があります(実際には必要ではないと確信しています)。

私は働いたダーバン、どこ適切体系的に除外できます。尊敬されるそして提案パッケージ、必ず必要な依存関係のみをインストールします。

これを行う方法はありますか?ヤム

答え1

私のコマンド履歴でこれを見つけました。

dnf debuginfo-install -y \
    --setopt=install_weak_deps=False \
    cyrus-sasl-lib jsoncpp

明らかにこの機能について読んだ。https://bgstack15.wordpress.com/2017/05/13/dnf-ignore-weak-dependent/

ドキュメントパッケージもスキップするには、コマンドを--setopt=tsflags=nodocs追加します。

答え2

いいえ。

残念ながら、RPMベースのパッケージ管理には1種類の依存関係しかありません。依存関係があるか、そうではなく、その間にあるものではありません(ここを読んでください)。私の経験では、Fedoraの依存関係は非常に制限されており、グループインストールを実行しない限り、コア機能以外の機能はインストールされません。

私の考えでは、複数レベルの依存関係がDEBベースのパッケージ管理の強力な機能の1つを示しています。

答え3

編集:元の質問に答えるためにはい、現在弱い依存関係をサポートしているパッケージマネージャを使用することで可能です。たとえば、Mageiaでは、この値はurpmi --no-suggests fooSuSeの場合と同じですzypper in --no-recommends。最新の yum バージョンも同様の機能を実装する必要があります。それ以外の場合、これらのソフト依存関係は役に立ちません。


実際にこれを可能にするrpmには弱い依存関係がありますが、残念ながら、まだFedora / RHELで使用されているyumおよび最新の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/Dependency#Weak_依存関係次のセクションでは、rpm ブランチがサポートする機能について説明します。 Mandriva/Mageiaおよび関連ブランチもかなり長い間ソフト依存性(推奨事項のみ)を使用してきました。

したがって、元の質問に答えるには、rawhide / rpm-4.12にアップグレードし、現在サポートされている弱い依存関係の1つを使用してください。

内部RPMの実装に関する詳細が必要な場合は、喜んで共有します。

答え4

RPMベースのディストリビューションの依存関係は、dpkg必須/推奨/提案アプローチとは異なります。

多くの場合、RPMベースのディストリビューションの依存関係は、「この依存関係が満たされない限り、このパッケージは機能しません」と同じであると考えることができます。しかし、パッケージマネージャは、適切であると判断された場合、追加の依存関係を含めることができる芸術的な自由を持っています(自動的に検出されないか難しい要件だと思うため)。

たとえば、Debian/Ubuntu の Web アプリケーションには、MySQL サーバーパッケージに対するさまざまな推奨依存関係があります。ただし、MySQLサーバーはローカルWebサーバーに配置する必要がないため、これは難しい要件ではなく、Fedoraの同じパッケージには依存関係がありません。

RPMアプローチの1つの問題は、あなたが確認したことであり、時には依存関係が多すぎるということです。私が聞く一般的な質問は、「ブルートゥースを使用しないときに、なぜこのパッケージにBluetoothライブラリを含めるのですか?」です。デフォルトのアプリケーションパッケージに含まれるオプションのプラグインなどの項目がこの問題の原因であることがよくあります。

関連情報