
Auf meinem Elementary OS-System meldet dpkg eine Reihe von Kernelpaketen, die nicht installiert sind. (Ich habe vorher mit apt-get purge darauf geklickt.) Ich würde sie gern ganz aus dem Speicher nehmen, weiß aber nicht, wie ich sie auf diese Weise loswerde.
Zum Beispiel:
elementary:~$ dpkg -l linux-*-3.2.0-51*
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-headers-3.2.0-51 <none> (no description available)
un linux-headers-3.2.0-51-generic <none> (no description available)
un linux-image-3.2.0-51-generic <none> (no description available)
apt-get purge funktioniert nicht:
elementary:~$ sudo apt-get purge linux-headers-3.2.0-51
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package linux-headers-3.2.0-51 is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
dpkg funktioniert nicht:
elementary:~$ sudo dpkg --purge linux-headers-3.2.0-51
dpkg: warning: there's no installed package matching linux-headers-3.2.0-51
elementary:~$ sudo dpkg --forget-old-unavail
dpkg: warning: obsolete '--forget-old-unavail' option, unavailable packages are automatically cleaned up.
apt-cache zeigt:
elementary:~$ apt-cache policy linux-headers-3.2.0-51
linux-headers-3.2.0-51:
Installed: (none)
Candidate: 3.2.0-51.77
Version table:
3.2.0-51.77 0
500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
aptitude ist nicht installiert.
Offensichtlich verstehe ich etwas nicht. Warum zeigt dpkg -l gelöschte Pakete an? Wie kann ich dafür sorgen, dass dpkg sie vergesse?
Antwort1
Laut Ihrer apt-cache policy
Ausgabe sind sie noch im Archiv (also verfügbar), sodass dpkg sie nicht vergisst. Die kurze Antwort lautet also: Es gibt keine Möglichkeit, diesen Datensatz zu löschen.
Die lange Antwort ist, dass Sie es wahrscheinlich bearbeiten könnten /var/lib/dpkg/status
(es ist eine reine Textdatei), um es zu tun. Stellen Sie sicher, dass Sie ein Backup erstellen. Das Beschädigen dieser Datei wäre keine gute Sache, das Ausmaß der Schädlichkeit nähert sich der Frage „Haben Sie über eine Neuinstallation nachgedacht?“
Antwort2
Sie können dpkg --clear-avail
die Liste der verfügbaren Pakete von Dpkg löschen.