howto fool the partition manager: problema: Minha partição / boot atingiu 100% e agora não consigo atualizar. Não é possível remover kernels antigos para criar espaço [duplicado]

0

Bem, essa pergunta é feita com frequência - no entanto, a solução não parece tão clara e não funciona realmente para mim.

$ df
Filesystem               1k-blocks      Used  Available  Use% Mounted on
/dev/sda5                   184307    173269          0  100% /boot
/dev/sda6                  4673664   2926312    1486900   67% /home


$ dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)

pi  linux-image-4.4.0-21-generic                    4.4.0-21.37                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-22-generic                    4.4.0-22.40                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-4.4.0-28-generic                    4.4.0-28.47                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-4.4.0-31-generic                    4.4.0-31.50                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP

E este é o melhor:

$ sudo apt-get purge linux-image-extra-4.4.0-36-generic

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Probieren Sie »apt-get -f install«, um dies zu korrigieren:
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 linux-image-extra-4.4.0-34-generic : Hängt ab von: linux-image-4.4.0-34-generic soll aber nicht installiert werden
 linux-image-generic : Hängt ab von: linux-image-4.4.0-36-generic soll aber nicht installiert werden
                       Hängt ab von: linux-image-extra-4.4.0-36-generic soll aber nicht installiert werden
E: Unerfüllte Abhängigkeiten. Versuchen Sie »apt-get -f install« ohne Angabe eines Pakets (oder geben Sie eine Lösung an)

De alguma forma, o 4.4.0-36 parece estar instalado, mas não está. Eu ainda não consigo lavagem cerebral no gerenciador de pacotes.

Eu sei que NÃO DEVEM cd /boot;rm -f ........ para confundir o masterbrain nem mais, mas não vejo outra maneira de me ajudar a ficar limpo.

Minha pergunta agora é a seguinte:

Posso sudo rm -f /boot/somebigfiles;sudo touch /boot/somebigfiles para criar algum espaço de trabalho em /boot ?

Como enganar o gerenciador de pacotes, então ele acha que o material está instalado e pode se limpar com todos os bons apt-get clean/autoclean e outros comandos apt?

    
por dhd 13.09.2016 / 20:13

4 respostas

0

Talvez não seja a solução mais fácil, mas eis como tentaria resolver o problema.

Obtenha um pendrive maior que sua partição / boot Copie o conteúdo de / boot nele Em seguida, ajuste o / etc / fstab para montar o usb-stick em / boot na próxima reinicialização Reinicie Limpe suas coisas, atualize Então copie o conteúdo / boot (usb-stick) para o mais antigo / boot (que você pode montar em say / boot1) Quando terminar, edite o / etc / fstab novamente para montar a partição / boot em vez do usb-stick e reinicialize

    
por sebastienvg 13.09.2016 / 21:46
0

O que você pode fazer para limpar o espaço na partição de inicialização sem confundir o gerenciador de pacotes é manter os arquivos, mas remover o conteúdo deles.

por exemplo:

% bl0ck_qu0te%

isto irá recuperar o espaço usado, mas deixando o arquivo no lugar vazio.

Como o apt parece preso em um estado quebrado, você deve executar

% bl0ck_qu0te%

depois de dar algum espaço em / boot / com os exemplos acima

uma solução de longo prazo é inicializar o Ubuntu de um pendrive USB e simplesmente redimensionar sua partição de inicialização com o gparted, para que ele se encaixe em mais versões no futuro.

    
por tomodachi 13.09.2016 / 21:58
0

Recentemente encontrei isso depois de não ter limpado os kernels antigos. A abordagem que usei foi cd / boot e excluir alguns kernels antigos. Se você não tiver reiniciado há algum tempo, precisará garantir que não remove o kernel que está usando atualmente. Os seguintes comandos listam arquivos que podem ser potencialmente removidos ou truncados com relativa segurança. Arquivos no topo da lista são mais propensos a serem usados.

uname -r
cd /boot 
ls -1t *-* | grep -v $(uname -r)

Isso é o que parece quando eu o executo agora. Os arquivos para o 4.4.0-34-generic release são um bom candidato para remoção.

root@ubuntu:~# uname -r
4.4.0-31-generic
root@ubuntu:~# cd /boot
root@ubuntu:/etc/grub.d$ cd /boot
root@apollo:/boot# ls -1t *-* | grep -v $(uname -r)
initrd.img-4.4.0-34-generic
abi-4.4.0-36-generic
config-4.4.0-36-generic
System.map-4.4.0-36-generic
vmlinuz-4.4.0-36-generic
abi-4.4.0-34-generic
config-4.4.0-34-generic
System.map-4.4.0-34-generic
vmlinuz-4.4.0-34-generic
initrd.img-4.2.0-35-generic
abi-4.2.0-35-generic
config-4.2.0-35-generic
System.map-4.2.0-35-generic
vmlinuz-4.2.0-35-generic

O gerenciador de pacotes não ficou muito chateado por eu ter removido os kernels. Os scripts de remoção são razoavelmente tolerantes quanto a arquivos ausentes. Você pode truncar arquivos com um comando como > vmlinuz-4.4.0-34-generic . Não há necessidade de fornecer um comando antes do redirecionamento > .

Depois de criar espaço, o comando dpkg --configure -a deve ajudá-lo na limpeza.

    
por BillThor 14.09.2016 / 01:46
0

A abordagem funcionou. Eu removi os arquivos que eu não precisava (por uma cópia de backup) E eu criei arquivos vazios em vez de acalmar o gerenciador de pacotes.let é chamá-los de "kernels indesejados" Então eu deixei o pacote Manger apt-get corrigir-se com uma partição de inicialização apenas 50% preenchido. Em seguida, limpei os kernels indesejados que significavam para o gerenciador de pacotes limpar os arquivos vazios. Bem, ele não reclamou; -)

O Apt-get está limpo agora / inicialize até 50%.

    
por dhd 14.09.2016 / 22:16