
不要になったパッケージを削除するために適性を使用しました。驚いたことに、依存関係のどれも自動的に削除されませんでした(apt-getとは異なり、aptitudeが基本的にこれを行うと思ったので)。したがって、依存関係を確認し、aptitude why
すべてstatusとマークされていますid
。マニュアルによると、「すでにインストールされていて削除されます」いつこのようなことが起こるのでしょうか?、、、およびを実行してみましたが、パッケージはまだインストールされていますapt-get autoremove
。また、このコマンドを実行すると、すべてWhat Causes the diffrepancy Between とhas tagged package status ?を印刷します。aptitude upgrade
aptititude full-upgrade
apt-get dist-upgrade
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0 to remove
id
編集:もう少し調べたところ、これらのパッケージはすべて自動的にインストールされていますが、手動インストールとしてマークされていることがわかりました。私の履歴を見ると、これらの多くがaptitudeの代わりにapt-getを使用してインストールされていることがわかりましたが、これは問題の一部です。以下を使用してすべて削除できます。
# aptitude search "?installed" | grep "^id" | awk '{ print $2 }' | xargs apt-mark auto
# aptitude upgrade
私は「d」状態が実際に何を意味するのか、そしてapt-get / aptitudeがそれで何をしているのかまだ疑問に思っているので、この質問は開いておきます。
答え1
出力の2番目の状態dpkg -l
は選択、つまり希望の状態です。これは現在主に使用されていますがdselect
、使用することもできますdpkg --set-selections
。現在の状態で選択項目を入力するには、選択項目を表示できる必要がありますが、aptitudeとaptはデフォルトでは実行されません。
ただし、Aptにはこれを行うオプションがあります。速く走る:
apt-get dselect-upgrade
これにより、必要な修正が行われます。
なぜパッケージがそのまま放置されているのかわかりませんid
。削除が正常に完了していない可能性がありますか?