O que fazer / remover uma versão atualizada do kernel leva tanto tempo?

0

Quando eu instalo um kernel atualizado - como parte de atualizações regulares - ele demora muito mais do que qualquer outra atualização. (Estou falando de alguns minutos - não muito tempo.) Não há mensagens de erro. Estou falando de atualizações bem-sucedidas de rotina.

Eu tenho notado isso há anos. Não importa qual kernel específico é.

Eu tenho uma conexão rápida. O tempo para baixá-lo não é longo e eu não estou contando isso. Eu também não estou contando o tempo para reiniciar depois que o kernel for instalado.

Eu gostaria apenas de saber o que está fazendo que demora muito.

Também demora muito tempo para desinstalar uma versão antiga do kernel, embora seja um pouco mais rápida do que instalar uma nova versão.

Parte disso é provavelmente porque ele precisa executar o grub update algumas vezes, o que é demorado. De algumas mensagens que vi, parece que isso sempre é executado duas vezes. Eu não sei porque.

O que uma atualização de kernel faz realmente?

(Eu sei o que são os kernels e o que eles fazem. Estou perguntando especificamente sobre o processo de atualização em si.)

    
por Joe 10.11.2015 / 09:08

1 resposta

3

Isso é difícil de dizer sem especificidades, mas em geral:

  • Atualizar o initfs (o sistema de arquivos na memória usado para iniciar o sistema antes que todos os módulos sejam carregados) Isso pode demorar um pouco.
  • Reconstrua todos os módulos DKMS, muitos módulos de "terceiros", como drivers de placa de vídeo ou módulos do Virtual Box, são distribuídos como um pacote DKMS. Eles são recompilados em todas as versões do kernel. Os drivers do sistema operacional host do Virtual Box podem demorar muito, dependendo de como estão "em uso".
  • Atualizar o Grub - isso pode demorar um pouco ou não, dependendo da configuração.
  • Os serviços de reinicialização, embora não sejam estritamente necessários para uma atualização do kernal, atualizando os pacotes DKMS, podem exigir a reinicialização dos serviços em alguns casos. VMWare (eu acho) por exemplo
  • Criando o mapa do sistema.
  • Atualizando a árvore de dependências

Algumas dessas etapas podem ser muito rápidas ou muito longas. Por exemplo, a reconstrução de pacotes DKMS em um servidor VMWare pode levar horas se você precisar aguardar o encerramento correto do serviço, enquanto atualizar pacotes DKMS em um sistema sem módulos DKMS leva muito pouco tempo (apenas o suficiente para verificar se não há módulos ).

    
por coteyr 10.11.2015 / 09:18