Wie kann ich alte Kernelpakete in Elementary OS löschen?

Wie kann ich alte Kernelpakete in Elementary OS löschen?

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 policyAusgabe 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-availdie Liste der verfügbaren Pakete von Dpkg löschen.

verwandte Informationen