PACKAGE
私は依存関係を持つパッケージの適切なリポジトリを管理します(DEPENDENCY<<1.2)
。PACKAGE
どちらもDEPENDENCY
私のリポジトリで利用可能です。
今バージョン(バージョン4.0.0)をリリースしましたDEPENDENCY
。今、同じバージョンをインストールしてください。PACKAGE
完全にきれいな機械でエラーが原因で失敗します。
The following packages have unmet dependencies:
PACKAGE : Depends: DEPENDENCY (< 1.2.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
利用可能なDEPENDENCYバージョンを確認すると、要件を満たす既知のパッケージがあることがわかります<< 1.2
。
sudo apt list -a DEPENDENCY
Listing... Done
DEPENDENCY/stable 4.0.0 all
DEPENDENCY/stable 1.1.12 all
DEPENDENCY/stable 1.1.11 all
DEPENDENCY/stable 1.1.10 all
...
私は実際にパッケージを管理しているのでそしてリポジトリ側でこの依存関係を解決できますが、どうすればよいですか?apt
正しい依存関係が認識されないのはなぜですか?
apt --fix-broken
(パッケージがサーバー側で破損しているため、これは機能しません。)
ベストアンサー1
APTは、要件に基づいてパッケージのバージョンを確認するのではなく、可用性(および優先順位)に基づいてパッケージのバージョンを確認します。つまり、実際には一貫したリポジトリで動作するように設計されています。つまり関連するすべてのパッケージをリポジトリのバージョンと共にインストールできる単一のバージョンのパッケージを持つリポジトリ。 (これはDebianリポジトリがほとんどの場合動作する方法であり、リポジトリを公開するための要件です。)
DEPENDENCY
同じスイートで複数のバージョンを使用できますが、特に指定のない限り、APTは最高のバージョン4.0.0のみを考慮します。
APTが状況を解決するために手作業で手助けする必要があるかもしれません。
apt install PACKAGE DEPENDENCY=1.1.12
それにもかかわらず、これが効果があるかどうか100%確信することはできません。
一般的な解決策として、リポジトリで別のパッケージを使用し、同じパッケージに相互に許容可能なバージョンがあることを確認する必要があります。したがって、バージョン4.0.0は、PACKAGE
互換性のあるバージョンが出るまで他のパッケージには入りません。DEPENDENCY
DEPENDENCY
PACKAGE
PACKAGE