Depois de deletar algum kernel antigo

4

Eu apaguei algumas partes dos kernels essenciais para aumentar o espaço livre na minha partição de inicialização. Primeiro eu procedo como neste link . No entanto, o problema não é exatamente o mesmo que no link (ver resposta de Eliah abaixo). O que eu tentei primeiro foi o seguinte, a primeira saída do meu esquema de partição:

ubuntu@ubuntu:~$  sudo parted -l
Model: ATA ST3500418AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      32.3kB  535MB   535MB   primary  ext4            boot
 2      535MB   5914MB  5379MB  primary  linux-swap(v1)
 3      5914MB  106GB   100GB   primary  ext4
 4      106GB   500GB   394GB   primary  ext4


Model: WD 5000AAC External (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  500GB  500GB  primary  ext4


Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0
has been opened read-only.
Error: Can't have a partition outside the disk!                           

ubuntu@ubuntu:~$ 

Eu tenho a partição de inicialização em sda1 , sda2 é minha partição de swap, sda3 é meu diretório raiz e sda4 é minha partição inicial. Eu segui as instruções da segunda resposta (por Eliah). Isso significa:

1.

     ubuntu@ubuntu:~$ sudo mount /dev/sda3 /mnt 
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev 
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/boot
  1. Então eu chrooted:

        ubuntu@ubuntu:~$ sudo chroot /mnt
        root@ubuntu:/# mount -t proc none /proc
        root@ubuntu:/# mount -t sysfs none /sys
        root@ubuntu:/# mount -t devpts none /dev/pts
        root@ubuntu:/# export HOME=/root
        root@ubuntu:/# export LC_ALL=C
    
  2. Eu tentei instalar o novo kernel:

     apt-get update
     apt-get -y install linux-image-generic
    

Aqui recebo o seguinte erro:

root@ubuntu:/# apt-get -y install linux-image-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-image-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Internal Error: Could not find image (/boot/vmlinuz-3.8.0-29-generic)
dpkg: error processing linux-image-3.8.0-29-generic (--configure):
 subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-extra-3.8.0-29-generic:
 linux-image-extra-3.8.0-29-generic depends on linux-image-3.8.0-29-generic; however:
  Package linux-image-3.8.0-29-generic is not configured yet.

dpkg: error processing linux-image-extra-3.8.0-29-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-generic:
 linux-image-generic depends on linux-image-3.8.0-29-generic; however:
  Package linux-image-3.8.0-29-generic is not configured yet.
 linux-image-generic depends on linux-image-extra-3.8.0-29-generic; however:
  Package linux-image-extra-3.8.0-29-generic is not configured yet.

dpkg: error processing linux-image-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-imNo apport report written because the error message indicates its a followup error from a previous failure.
     No apport report written because the error message indicates its a followup error from a previous failure.
                               No apport report written because MaxReports is reached already
             age:
 linux-image depends on linux-image-generic; however:
  Package linux-image-generic is not configured yet.

dpkg: error processing linux-image (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-3.8.0-29-generic
 linux-image-extra-3.8.0-29-generic
 linux-image-generic
 linux-image
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ubuntu:/# 


umount /proc || umount -lf /proc
umount /sys /dev/pts
exit
sudo umount /mnt/dev /mnt

Eu também tentei desinstalar tudo e rodar

apt-get install linux-generic linux-image-generic linux-headers-generic

e, claro,

update-grub

Ainda estou recebendo o memtest durante o boot. Como Eliah apontou, a solução acima não se aplica no meu caso. Então eu segui as instruções em sua resposta abaixo. No entanto, isso não resolve o problema. Eu tenho as seguintes saídas:

   ubuntu@ubuntu:~$ sudo mount /dev/sda3 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/boot
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# mount -t proc none /proc
root@ubuntu:/# mount -t sysfs none /sys
root@ubuntu:/# mount -t devpts none /dev/pts
root@ubuntu:/# export HOME=/root
root@ubuntu:/# export LC_ALL=C

executando apt-get update seguido do sugerido:

root@ubuntu:/# apt-get -y --purge --reinstall install linux-image-3.8.0-29-generic linux-image-extra-3.8.0-29-generic linux-image-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 3 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/43.3 MB of archives.
After this operation, 0 B of additional disk space will be used.
dpkg: warning: files list file for package 'linux-image-3.8.0-29-generic' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'initramfs-tools' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'linux-image-extra-3.8.0-29-generic' missing; assuming package has no files currently installed
(Reading database ... 251414 files and directories currently installed.)
Preparing to replace linux-image-3.8.0-29-generic 3.8.0-29.42 (using .../linux-image-3.8.0-29-generic_3.8.0-29.42_amd64.deb) ...
Done.
Unpacking replacement linux-image-3.8.0-29-generic ...
Preparing to replace linux-image-extra-3.8.0-29-generic 3.8.0-29.42 (using .../linux-image-extra-3.8.0-29-generic_3.8.0-29.42_amd64.deb) ...
Unpacking replacement linux-image-extra-3.8.0-29-generic ...
Preparing to replace linux-image-generic 3.8.0.29.47 (using .../linux-image-generic_3.8.0.29.47_amd64.deb) ...
Unpacking replacement linux-image-generic ...
Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Failed to symbolic-link /boot/initrd.img-3.8.0-29-generic to initrd.img:File exists at /var/lib/dpkg/info/linux-image-3.8.0-29-generic.postinst line 614.
dpkg: error processing linux-image-3.8.0-29-generic (--configure):
 subprocess installed post-installation script returned error exit status 17
dpkg: dependency problems prevent configuration of linux-image-extra-3.8.0-29-generic:
 linux-image-extra-3.8.0-29-generic depends on linux-image-3.8.0-29-generic; however:
  Package linux-image-3.8.0-29-generic is not configured yet.

dpkg: error processing linux-image-extra-3.8.0-29-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-generic:
 linux-image-generic depends on linux-image-3.8.0-29-generic; however:
  Package linux-image-3.8.0-29-generic is not configured yet.
 linux-image-generic depends on linux-image-extra-3.8.0-29-generic; however:
  Package linux-image-extra-3.8.0-29-generic is not configured yet.

dpkg: error processing linux-image-generic (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                          No apport report written because the error message indicates its a followup error from a previous failure.
                                                    Errors were encountered while processing:
 linux-image-3.8.0-29-generic
 linux-image-extra-3.8.0-29-generic
 linux-image-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ubuntu:/# 
    
por math 26.08.2013 / 11:49

3 respostas

1

As respostas lá são escritas para situações em que não há kernels porque os pacotes que os fornecem foram removidos.

Sua situação é semelhante, mas um pouco diferente. Parece que o que aconteceu no seu sistema é que não há kernels porque seus arquivos foram apagados manualmente (ou deletados por algum processo automatizado outro do que a desinstalação do pacote). Parece que, no que diz respeito ao gerenciador de pacotes, você ainda tem kernels instalados.

Para resolver isso, pode ser suficiente simplesmente para dizer ao gerenciador de pacotes para reinstalar o pacote do kernel.

Você executou este comando:

apt-get -y install linux-image-generic

Usando o mesmo procedimento (incluindo o comando apt-get update antes dele), tente substituir o comando apt-get -y install por este:

apt-get -y --purge --reinstall install linux-image-3.8.0-29-generic linux-image-extra-3.8.0-29-generic linux-image-generic

(O --purge flag é opcional, já que este problema não está relacionado aos arquivos de configuração do sistema. Mas isso não deve atrapalhar.)

Isso desinstalará os pacotes que não estão funcionando (devido a arquivos excluídos) e os reinstalará, garantindo que todos os seus arquivos sejam copiados dos arquivos do pacote. Ele não deve depender de nenhum arquivo de pacote presente, portanto, ele deve funcionar mesmo que alguns arquivos de pacote pareçam ter sido excluídos manualmente.

linux-image-generic é um metapacote; instalá-lo faz com que o kernel estável mais recente para o seu sistema seja instalado, porque linux-image-generic declara os pacotes fornecendo esse kernel como dependências. Estipular que linux-image-generic seja reinstalado "do zero" não necessariamente faz com que todas as suas dependências sejam reinstaladas, razão pela qual listei explicitamente suas dependências relevantes no comando acima.

Eu recebi os nomes deles ( linux-image-extra-3.8.0-29-generic e linux-image-extra-3.8.0-29-generic ) da saída que você incluiu na sua pergunta. Alguém que esteja enfrentando esse problema não necessariamente desejará estipular exatamente esses pacotes para instalação, mas deve ver quais pacotes linux-image-generic depende e explicitamente reinstalar pelo menos o pacote que está faltando arquivos.

Assim, a parte da saída que me levou a sugerir essa solução foi:

Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Internal Error: Could not find image (/boot/vmlinuz-3.8.0-29-generic)
dpkg: error processing linux-image-3.8.0-29-generic (--configure):

É possível que isso não funcione. Isso pode acontecer se os pacotes forem quebrados de uma forma que impeça o gerenciador de pacotes de desinstalá-los . Se isso ou qualquer outro problema ocorrer, atualize sua pergunta com detalhes.

(Para as pessoas que não são o autor da esta questão - se isso acontecer e as informações aqui não permitirem resolvê-lo, publique uma nova pergunta com o maior número de detalhes possível ou adicione detalhes para sua pergunta se você já postou um sobre o problema.)

    
por Eliah Kagan 26.08.2013 / 21:18
1

Um amigo resolveu o problema. Ele sugeriu o seguinte, que funcionou para mim:

apt-get purge grub grub-pc grub-common 
apt-get install grub-common grub-pc 
update-grub
    
por math 27.08.2013 / 18:51
0

Usando as informações acima, usei o seguinte

uname -r

Permite chamar qualquer que seja a saída do comando acima PUMPKIN

Então eu digitei:

dpkg --list | grep linux-image

Eu olhei através da saída desta lista e notei o Linux-image-PUMPKIN

Qualquer outra coisa que não fosse minha imagem-PUMPKIN do Linux, poderia ser removida completando o comando conforme se aplica a você:

sudo apt-get purge linux-image-(your non-PUMKIN entry goes here)

então um

sudo update-grub
sudo update-grub2

e finalmente

sudo apt-get update
sudo apt-get autoremove
sudo apt-get upgrade

E eu estava bem depois de uma reinicialização.

    
por Oscar Mansour 03.05.2015 / 21:16