Pacote quebrado após atualização: cabeçalhos do linux, erro: BrokenCount 0

7

Ubuntu 12.04.

Após uma atualização, recebo um ícone de aviso vermelho na bandeja do sistema, avisando sobre um erro: contagem interrompida > 0

Abrindo o gerenciador de atualizações, vejo que o pacote corrompido é linux-headers-3.2.0-33-generic-pae (new install)

Specificaly Eu tenho meu Ubuntu em um AspireOne com 8GB de armazenamento interno.

Eu tentei apt-get clean como sugerido em outra pergunta neste site e tentei reinstalar o pacote no Synaptic.

Eu tentei reiniciar, mas sem sucesso.

Eu também tentei apt-get install --fix-broken e recebo o seguinte:

sudo apt-get install --fix-broken
[sudo] password for elina: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  linux-headers-3.2.0-33-generic-pae
The following NEW packages will be installed:
  linux-headers-3.2.0-33-generic-pae
0 upgraded, 1 newly installed, 0 to remove and 38 not upgraded.
1 not fully installed or removed.
Need to get 0 B/977 kB of archives.
After this operation 11,3 MB of additional disk space will be used.
Do you want to continue [Y/n]; y
(Reading database ... 437051 files and directories currently installed.)
Unpacking linux-headers-3.2.0-33-generic-pae (from .../linux-headers-3.2.0-33-generic-pae_3.2.0-33.52_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.2.0-33-generic-pae_3.2.0-33.52_i386.deb (--unpack):
 unable to create '/usr/src/linux-headers-3.2.0-33-generic-pae/include/config/usb/gspca/sonixb.h.dpkg-new' (while processing './usr/src/linux-headers-3.2.0-33-generic-pae/include/config/usb/gspca/sonixb.h'): No space left on device
No apport report written because the error message indicates a disk full error
                                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/linux-headers-3.2.0-33-generic-pae_3.2.0-33.52_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Eu tentei todas as sugestões que consegui encontrar:

sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install
sudo apt-get install --fix-broken

Então vi que no erro houve uma menção sobre o espaço livre. Então eu fiz um df -h e o resultado foi:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       7,0G  5,5G  1,1G  84% /
udev            235M  4,0K  235M   1% /dev
tmpfs            97M  816K   96M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none            242M  352K  242M   1% /run/shm

Eu vejo que na minha pasta raiz eu tenho 1.1Gb livre. O pacote quebrado é

linux-headers-3.2.0-33-generic-pae_3.2.0-33.52_i386.deb

que ocupa apenas 11,3 MB no meu disco rígido.

Estou muuuuito perdida. Eu realmente espero que haja algo que esteja perdendo aqui. Eu não quero ir reformatando este balde. Realmente não vale a pena o tempo. Qualquer ajuda para consertar isso seria quente.

    
por escozul 28.11.2012 / 19:25

4 respostas

6

Eu realmente encontrei a solução para meus problemas. Parece que usar o root para iniciar o nautilus fez com que todos os inodes chegassem a 100%. Tive que limpá-los nos trashes da raiz. Então fiz o seguinte:

df -i

Isso me deu o seguinte:

$ df -i
Filesystem     Inodes  IUsed IFree IUse% Mounted on
/dev/sda1      460560 456125  4435  100% /
udev            60125    491 59634    1% /dev
tmpfs           61943    403 61540    1% /run
none            61943      3 61940    1% /run/lock
none            61943      8 61935    1% /run/shm

woops! inodes em uso 100%? isso significa muitos e muitos arquivos minúsculos armazenados em algum lugar. Onde?

Eu usei o comando:

sudo du -h /* | grep '[0-9]M'

Isso forneceu uma lista enorme de arquivos que pareciam ok, exceto pelo fato de que as lixeiras raiz estavam cheias de arquivos em:

/root/.local/share/Trash/files/

Então eu corri:

sudo rm -r /root/.local/share/Trash/files/

e:

sudo touch /forcefsck

e, em seguida, reiniciar para deixar o último comando fazer o seu trabalho.

Depois disso, executando:

df -i
and df -Th

produziu o seguinte:

$ df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/sda1      460560 196674 263886   43% /
udev            60125    487  59638    1% /dev
tmpfs           61943    393  61550    1% /run
none            61943      3  61940    1% /run/lock
none            61943      8  61935    1% /run/shm

$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda1      ext4      7,0G  4,7G  2,0G  71% /
udev           devtmpfs  235M  4,0K  235M   1% /dev
tmpfs          tmpfs      97M  816K   96M   1% /run
none           tmpfs     5,0M     0  5,0M   0% /run/lock
none           tmpfs     242M  356K  242M   1% /run/shm

Os iNodes voltaram ao normal e eu vi um pequeno aumento no espaço em disco (de 1,1 para 2,0 Gb). Isso fez com que o sistema ficasse muito rápido, então houve um efeito colateral positivo para corrigir o problema, já que meu computador agora parece ser muito rápido!

Eu quero observar que, se você sofre do mesmo problema, qualquer pasta em seu sistema pode conter esses minúsculos arquivos que preenchem seus inodes. Examinando cuidadosamente a lista criada usando:

sudo du -h /* | grep '[0-9]M'

ajudará você a encontrar qual pasta precisa de correção.

    
por escozul 30.11.2012 / 17:18
4

Eu tive o mesmo erro ao instalar o wine com o gerenciador de atualização, e a única coisa que ajudou foi remover todos os meus pacotes com rm / var / lib / apt / lists * -vf

sudo rm /var/lib/apt/lists/* -vf

Ele removeu meus pacotes e, em seguida, eu iniciei o Software Center. Ele disse que havia quebrado pacotes, então optei por repará-los. Baixou os pacotes necessários. Depois tudo correu bem.

    
por user111729 30.11.2012 / 13:42
3

Eu encontrei o mesmo problema recentemente, mas o culpado foi o próprio Ubuntu. Devido à maneira como "não" lida com "rotação".

As versões anteriores do pacote linux-headers-generic, assim como os pacotes linux-images, nunca foram removidos. Se fosse os dois últimos ou três últimos, não havia problema, mas havia quase 20 versões do kernel e dos cabeçalhos do kernel. O pacote linux-headers tem um grande número de arquivos, que consomem todos os seus i-nodes. Com a remoção de todos os cabeçalhos dos últimos kernels de árvore (anterior linux-headers-generic-3.2.0-?) Eu diminuí de 100% i-nodes usados para 45% usados.

No começo eu não sabia o que estava causando o problema, mas depois de ler sobre o seu caso, chequei minha contagem de i-nodes e estava 100% cheio, bem na prática, como 200 inodes livres de quase 700.000.

Apenas removendo os pacotes de cabeçalhos linux anteriores é que o truque é feito. O Synaptic torna isso mais fácil com o recurso de pesquisa e o recurso de pedido da GUI +.

Eu escrevo isso também como uma ajuda para as pessoas que encontram esse problema recentemente.

    
por RedComet 26.07.2013 / 18:37
3

Todas essas respostas não me ajudaram. Mas eu encontrei esta página, e usando as idéias lá eu pude trazer minha contagem de inodes de 100% para cerca de 50% rapidamente: link

A ideia é, basicamente, localizar as pastas que estão comendo inodes.

Em um terminal, cd para root para iniciar:

# cd /

Em seguida, pesquise as pastas comendo a maioria dos inodes:

# for i in 'ls -1A'; do echo "'find $i | sort -u | wc -l' $i"; done | sort -rn | head -20

Isso lhe dará uma lista de pastas. Siga as etapas acima novamente para fazer o cd na pasta com a contagem mais alta de inodes e execute o comando de pesquisa novamente.

Encontrei muitos kernels não utilizados e desinstalados que ainda ocupavam espaço e inodes nas pastas de fontes do kernel, por exemplo, em /usr/src/linux-headers-* .

CUIDADO, NÃO REMOVA AS FONTES PARA O BERÇO INSTALADO --- VERIFIQUE COM uname -rv QUAL É AQUELE

Portanto, depois que eu encontrei as pastas, eu removi os diretórios obsoletos um de cada vez, por exemplo com

root@gamma:/usr/src# sudo rm -rf linux-headers-3.2.0-30

Depois disso, posso executar isso com sucesso para reparar meu sistema:

# apt-get -f install

Espero que isso ajude.

    
por woohoo 30.11.2014 / 16:31

Tags