例えばアトムテキストエディタ。私が実行したとき:
sudo apt-get install imagemagick # http://www.imagemagick.org/script/index.php
以下を提供します。
you might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies: virtualbox-5.0:i386 : Depends: psmisc:i386 but it is not going to be installed
だから私が試したとき:
sudo apt-get -f install
わかりました。
The following packages were automatically installed and are no longer required:
libgtkspell0 pidgin-data
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
psmisc:i386
The following packages will be REMOVED:
atom gconf2 psmisc
The following NEW packages will be installed:
psmisc:i386
私の質問は:なぜ原子まったく別のものをインストールしようとすると削除されますか?
編集する:プロセスを繰り返すが
apt-get autoremove
変える
sudo apt-get -f install
この問題を解決しました。
しかし、不要なパッケージが実際に必要なパッケージを削除する理由をまだ理解していません(原子的に)
答え1
これは、aptのすべてのパッケージに次のように依存関係のあるリストがあるためです。
apt-cache depends libgtkspell0 pidgin-data atom
パッケージを維持するには、aptは、原子の依存関係の1つと衝突する依存関係を持つ原子を削除することをお勧めします。注意:
Conflicts: libgtkspell0:i386
出力の一部。
だからaptは紛争を解決しようとします。理論的には、aptはシステムで有効になっているパッケージではなく、不要になったパッケージを削除することを提案する必要があるため、削除する2つのパッケージのパッケージに質問を投稿することはほとんど価値があることに注意してください。バランスのとれたパッケージ・プールでの依存関係/衝突リストの作成と保守
推測すると、aptは依存関係リストを作成するときに削除するパッケージとアクティブなパッケージを実際に区別する方法が内部的にないため、最も否定的な結果(強制的にパッケージを削除する)を選択するだけです。