Como posso limpar antigos pacotes do kernel no Elementary OS?

2

No meu sistema Elementary, o dpkg reporta vários pacotes do kernel que não estão instalados. (Eu fiz uma limpeza do apt-get neles anteriormente.) Eu gostaria de tê-los esquecido completamente, mas eu não consigo descobrir como obtê-los dessa maneira.

Por exemplo:

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)

A limpeza do apt-get não funciona:

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.

o dpkg não funciona:

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 mostra:

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

o aptitude não está instalado.

Obviamente, há algo que não estou entendendo. Por que o dpkg -l mostra pacotes removidos? Como faço para que o dpkg se esqueça deles?

    
por Tony 09.10.2013 / 23:22

2 respostas

1

De acordo com a saída apt-cache policy , eles ainda estão no arquivo (também conhecido como disponível), então o dpkg não vai esquecê-los. Portanto, a resposta curta é que não há como se livrar desse registro.

A resposta longa é que você provavelmente poderia editar /var/lib/dpkg/status (é um arquivo de texto simples) para fazer isso. Certifique-se de manter um backup. Quebrar este arquivo não seria uma coisa boa, nível de maldade se aproximando "você já pensou em reinstalar?"

    
por 10.10.2013 / 20:39
0

Você pode usar dpkg --clear-avail para excluir a lista de pacotes disponíveis do dpkgs.

    
por 10.02.2014 / 00:19