適切に明確に技量が良く、まだ資格があります。インストール済みとしてマークして再インストールしてください。

適切に明確に技量が良く、まだ資格があります。インストール済みとしてマークして再インストールしてください。

ルビー長年にわたって蓄積され、ディスク容量を占める古いカーネルを削除するのに役立ちます。 (私のラップトップには19個のコアがあり、小さなSSDがあります...)

一部の人々はaptitudeをインストールせず、gemユーザーが何もインストールしたくないので、apt-getまたはdpkgをアンインストールプログラムとして使用したいと思います。

問題はこのとき来る。一部aptitudeユーザーはこれを他の目的に使用します。想像する:

  1. ユーザーはapt-get purge私のgemを使用してカーネルパッケージを正常に取得しました。
  2. aptitude何らかの理由でユーザーは対話モードで起動します。
  3. ユーザーは変更を表示せずにすぐに「g」キー(Pkgダウンロード/インストール/削除)を押します。 -->
  4. aptitude削除したパッケージを再ダウンロードして再インストールしますapt-get

現在、gemはapt-get purge <packages>カーネルパッケージを消去するために使用されています。 (ここで見た.)私も試してみましたが、dpkg --purge <packages>結果は同じで、適性はまだ再インストールしたいと思います。

私はマニュアルaptitude全体を読んでたくさん検索しましたが、サイコロはありませんでした。

おそらくそれがどこにあるかを見つけることができれば、タグがあるかタグ付けされていないパッケージのリストをプログラムで管理できますaptitude(私はよりきれいなソリューションを好むが)。そうでないと仮定します。/var/lib/dpkg/statusそうでなければ違いはありませんか?

dpkg-query はパッケージstatusを としてマークNotし、desired状態をUnknown

deKernel$ dpkg-query -l linux-image-3.2.0-39-generic
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                       Version                                    Description
+++-==========================================-==========================================-====================================================================================================
un  linux-image-3.2.0-39-generic               <none>                                     (no description available)
deKernel$

aptitudeに行き、これらのカーネルパッケージの表示を手動でオフにすると問題が消える可能性がありますが、これは明らかに実用的ではありません。

答え1

aptitude/var/lib/aptitude/pkgstates残念ながら、文書化されていないような独自のパッケージ状態データベースがあります。次のように各パッケージのチャンクを保存します。

Package: bash
Architecture: amd64
Unseen: no
State: 1
Dselect-State: 1
Remove-Reason: 0

installed私は状態1がを意味し、白い状態3がを意味すると信じていますnot installed。私のシステムにはまだ状態4のパッケージがいくつかありますが、それが何を意味するのか理解できません。

dpkg私はあなたの問題は、データベースからデータベース/var/lib/dpkg/statusaptitudeの結果が一貫していないと思います/var/lib/aptitude/pkgstates。 ~によるとこの投稿 pkgstates「ユーザーの「予想」パッケージの状態」を反映する必要があるため、apt-getがパッケージを削除した場合でも、ユーザーはこれらのパッケージをインストールしたいと思うかもしれません。

問題に対する最善の解決策は、Tripleeeが提案したとおりに行うことです。aptitudeインストールされている場合は使用し、そうでない場合はapt-get

関連情報