Espaço em disco cheio ao fazer a operação do apt-get no Ubuntu 14.04

1

Im Tentando instalar novo software no meu Ubuntu 14.04, que está sendo executado

$ uname -r
3.13.0-45-generic

Existem kernals antigos instalados na minha máquina

$ dpkg --list | grep linux-image
rc  linux-image-3.13.0-24-generic       3.13.0-24.47                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-45-generic       3.13.0-45.74                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-55-generic       3.13.0-55.94                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-57-generic       3.13.0-57.95                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-58-generic       3.13.0-58.97                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-59-generic       3.13.0-59.98                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-61-generic       3.13.0-61.100                    amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-24-generic 3.13.0-24.47                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-45-generic 3.13.0-45.74                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-55-generic 3.13.0-55.94                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-57-generic 3.13.0-57.95                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-58-generic 3.13.0-58.97                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-59-generic 3.13.0-59.98                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iF  linux-image-extra-3.13.0-61-generic 3.13.0-61.100                    amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iU  linux-image-extra-3.13.0-62-generic 3.13.0-62.102                    amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iU  linux-image-generic                 3.13.0.62.69                     amd64        Generic Linux kernel image

Quando eu estou tentando Purge-los usando o comando abaixo

$ sudo apt-get purge linux-image-3.13.0-24-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-image-extra-3.13.0-62-generic : Depends: linux-image-3.13.0-62-generic but it is not going to be installed
 linux-image-generic : Depends: linux-image-3.13.0-62-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Estou ficando acima do erro.

Durante a remoção automática, você recebe um erro

$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 linux-image-extra-3.13.0-62-generic : Depends: linux-image-3.13.0-62-generic but it is not installed
 linux-image-generic : Depends: linux-image-3.13.0-62-generic but it is not installed
E: Unmet dependencies. Try using -f.

E se eu executar a instalação forçada, não haverá espaço no dispositivo ..

$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.13.0-55 linux-headers-3.13.0-55-generic
  linux-headers-3.13.0-57 linux-headers-3.13.0-57-generic
  linux-headers-3.13.0-58 linux-headers-3.13.0-58-generic
  linux-headers-3.13.0-59 linux-headers-3.13.0-59-generic
  linux-image-3.13.0-55-generic linux-image-3.13.0-57-generic
  linux-image-3.13.0-58-generic linux-image-3.13.0-59-generic
  linux-image-extra-3.13.0-55-generic linux-image-extra-3.13.0-57-generic
  linux-image-extra-3.13.0-58-generic linux-image-extra-3.13.0-59-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  linux-image-3.13.0-62-generic
Suggested packages:
  fdutils linux-doc-3.13.0 linux-source-3.13.0 linux-tools
The following NEW packages will be installed:
  linux-image-3.13.0-62-generic
0 upgraded, 1 newly installed, 0 to remove and 48 not upgraded.
5 not fully installed or removed.
Need to get 15.2 MB of archives.
After this operation, 42.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.voxel.net/ubuntu/ trusty-updates/main linux-image-3.13.0-62-generic amd64 3.13.0-62.102 [15.2 MB]
Fetched 15.2 MB in 4s (3,237 kB/s)                        
(Reading database ... 243451 files and directories currently installed.)
Preparing to unpack .../linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb ...
Done.
Unpacking linux-image-3.13.0-62-generic (3.13.0-62.102) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb (--unpack):
 cannot copy extracted data for './boot/vmlinuz-3.13.0-62-generic' to '/boot/vmlinuz-3.13.0-62-generic.dpkg-new': failed to write (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)
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-62-generic /boot/vmlinuz-3.13.0-62-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-62-generic /boot/vmlinuz-3.13.0-62-generic
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Minha utilização de disco:

$ df -k
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3      955997652 5241596 911812456   1% /
none                   4       0         4   0% /sys/fs/cgroup
udev             4066160      12   4066148   1% /dev
tmpfs             815404     512    814892   1% /run
none                5120       0      5120   0% /run/lock
none             4077016       0   4077016   0% /run/shm
none              102400       0    102400   0% /run/user
/dev/sda1         190346  152098     24199  87% /boot

Como posso criar espaço no meu Ubuntu para que eu possa instalar novos aplicativos nele?

Por favor ajude ...

    
por Bhaskar 02.09.2015 / 08:14

2 respostas

3

Você está certo, você tem bastante espaço em disco em / , mas você rapidamente preenche /boot quando tenta descompactar a nova imagem, e é por isso que seu comando apt-get install -f falha.

Os pacotes problemáticos estão em dpkg output e apt-get output.

Você pode tentar usar aptitude install -f para ver se uma das opções resolverá o problema para você (provavelmente removendo esses pacotes) ou poderá tentar apt-get purge linux-image-extra-3.13.0-61-generic linux-image-extra-3.13.0-62-generic linux-image-generic para remover os pacotes quebrados e parcialmente configurados instalados.

Se você estiver desesperado o suficiente para usar dpkg , preste atenção nas mensagens e remova as dependências de um pacote antes de tentar remover um pacote. De seu comando acima, você provavelmente deve remover linux-image-extra-3.13.0-55-generic antes de tentar remover linux-image-3.13.0-55-generic se você quiser seguir esse caminho.

Tome cuidado especial para não remover o kernel em execução 3.13.0-45-generic .

Em seguida, você pode usar apt-get autoremove e apt-get purge dos pacotes desnecessários do kernel e, em seguida, instalar o kernel posterior parece que você estava tentando instalar.

    
por 02.09.2015 / 09:18
0

Seu sistema de arquivos raiz ( / ) tem muito espaço livre, mas /boot não.

Observe mais de perto a saída de erro do comando sudo apt-get install -f :

Unpacking linux-image-3.13.0-62-generic (3.13.0-62.102) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb (--unpack):
 cannot copy extracted data for './boot/vmlinuz-3.13.0-62-generic' to '/boot/vmlinuz-3.13.0-62-generic.dpkg-new': failed to write (No space left on device)

Ele está tentando colocar um arquivo em /boot e esse sistema de arquivos não tem espaço suficiente para isso.

Suas opções:

  1. Remover arquivos de /boot que não são mais necessários
  2. Adicione mais espaço a /boot . Este pode ser difícil de fazer, já que o LVM não está sendo usado. Se esta é uma máquina virtual, talvez não.
  3. Ditch /boot ao todo. Na maioria das situações, ter um sistema de arquivos separado para /boot não é necessário. ( antes de considerar este dê uma olhada na resposta do @Kassandry

Se você decidir se livrar do sistema de arquivos /boot , poderá fazer o seguinte.

NOTA: Tenha muito cuidado ao usar as seguintes instruções :

mkdir ~/copy-of-boot-files
sudo rsync -aHS /boot/ ~/copy-of-boot-files/
sudo umount /boot
sudo rsync -AHS ~/copy-of-boot-files/ /boot/
sudo sed -i 's/.*\/boot.*/#&/' /etc/fstab

Novamente: tenha muito cuidado se fizer isso . Certifique-se de ter a mídia de instalação do Ubuntu por perto para poder inicializar no modo Rescue do Linux para reparar qualquer dano que possa causar. Você pode tornar seu sistema não inicializável se isso não for feito corretamente .

Basicamente, você cria uma cópia do conteúdo de /boot , desmonta / boot, copia o conteúdo de volta e desabilita /boot de ser montado durante a inicialização.

Uma nota adicional : pode ser necessário atualizar a configuração do gerenciador de inicialização (por exemplo, update-grub , não tenho certeza do que essa versão do Ubuntu usa). Além disso, se este é um convidado paravirtualised sob Xen você precisa ter certeza de que a configuração domU sabe recuperar o kernel do novo local ( sda3 em vez de sda1 ).

    
por 02.09.2015 / 09:11