Fedoraでdnfで遊んで新しいもの(そして一般的にLinux)を学びようとしたときに、「dnf repoclosure」というコマンドを見つけました。もちろん、出力を見るために実行しました。私の最初の考えは、「dnf update」が「Dependency Resolved」を返すので、何も表示されないということでした。驚いたことに、多くのパッケージ名と「未解決」の依存関係が発生しました。なぜこれですか? 「dnf update」には依存関係の問題は表示されませんが、「dnf repoclosure」には依存関係の問題が多すぎるのはなぜですか?
依存関係を正確にどのように追跡しますか?各パッケージは、必要な依存関係をシステムに独立して通知し、インストール時にこれをある種のレジストリに追加すると思います。
簡単な要約質問:
- 「dnf repoclosure」は未解決の依存関係を多く表示しますが、「dnf update」は何も表示しません。なぜそんなことですか?回避策がありますか?ライブラリ/パッケージが欠落しているか、これはどういう意味ですか?
- 依存関係を追跡する方法は?すべての依存関係のレジスタがある場合、OSが欠落している依存関係を取得できないのはなぜですか?
編集する: これはFedora 28を新しくインストールすることで、依存関係の問題があってはならないことを指摘したかったです。
答え1
dnf repoclosure
デフォルトでは、システムにインストールしたパッケージだけでなく、パッケージ全体のリポジトリも分析されます。
その出力を見ました。影響を受けるパッケージのほとんどは再構築されず、単にF27以前から継承されたか、後で依存するライブラリがアップグレードされたようです。大規模再建の日(これは実際に起こってはいけませんが、時にはそのようなことが起こります)。これらの問題の多くは、単にバージョンをリリースし、パッケージをビルドシステムに再送信することで解決できます。それらのいくつかは幼児管理者がいないパッケージは、管理者が見つからない場合はFedoraから削除されます。
このツールは、Fedora管理者が正しく管理されていないパッケージを見つけ、新しい管理者を見つけたり、既存の管理者のバグを報告したりするのに役立ちます。サードパーティのリポジトリ管理者はそれを使用して、リポジトリのパッケージに依存関係の問題がないことを確認することもできます。
ただし、配布パッケージのメンテナンスに関与しない一般的なLinuxユーザーにはあまり役に立ちません。