É importante reiniciar o Linux após uma atualização do kernel?

18

Eu tenho alguns servidores Web de produção Fedora e Debian que hospedam nossos sites, bem como contas de shell de usuário (usadas para git vcs trabalham, algumas sessões screen + irssi, etc).

Ocasionalmente, uma nova atualização do kernel será lançada em yum / apt-get , e fiquei me perguntando se a maioria das correções é grave o suficiente para justificar uma reinicialização ou se posso aplicar as correções sem reinicialização. / p>

Nosso servidor de desenvolvimento principal atualmente tem 213 dias de atividade, e eu não tinha certeza se era inseguro rodar um kernel tão antigo.

    
por lfaraone 19.05.2009 / 23:03

8 respostas

23

Não há nada realmente especial em ter um longo tempo de atividade. Geralmente é melhor ter um sistema seguro. Todos os sistemas precisam de atualizações em algum momento. Você provavelmente já está aplicando atualizações, você agendar interrupções quando você aplica essas atualizações? Você provavelmente deve apenas no caso de algo der errado. Uma reinicialização não deve muito tempo assim.

Se o seu sistema é tão sensível a interrupções, você provavelmente deve estar pensando em algum tipo de configuração de clustering para que você atualize um único membro do cluster sem derrubar tudo.

Se você não tem certeza sobre uma atualização em particular, é mais seguro agendar uma reinicialização e aplicá-la (preferencialmente depois de testá-la em outro sistema similar).

Se você estiver interessado em saber se a atualização é importante, leia atentamente o aviso de segurança e siga os links para o CVE ou as postagens / listas / blogs descrevendo o problema. Isso deve ajudá-lo a decidir se a atualização se aplica diretamente ao seu caso.

Mesmo que você não ache que isso se aplica, você deve considerar atualizar o seu sistema eventualmente. Segurança é uma abordagem em camadas. Você deve assumir em algum momento que as outras camadas podem falhar. Além disso, você pode esquecer que tem um sistema vulnerável porque você ignorou uma atualização quando alterou a configuração em algum momento posterior.

De qualquer forma, se você quiser ignorar ou esperar por algum tempo em atualizações em sistemas baseados em Debian, você pode colocar o pacote em espera. Eu pessoalmente gosto de colocar em espera todos os pacotes do kernel apenas no caso.

Método CLI para fixar um pacote em sistemas baseados em Debian.

dpkg --get-selections | grep 'linux-image' | sed -e 's/install/hold/' | sudo dpkg --set-selections
    
por 19.05.2009 / 23:37
11

A maioria das atualizações não requer uma reinicialização, mas as atualizações do Kernel (você não pode realmente substituir o kernel em execução sem reinicializar).

Uma coisa que descobri é que, se o seu servidor estiver em execução há muito tempo sem uma reinicialização, é mais provável que você queira fazer verificações de disco (fsck) ao reinicializar, o que pode aumentar significativamente o tempo para voltar a funcionar novamente. Melhor antecipar isso e planejar isso.

Eu também descobri que às vezes as alterações na configuração podem ser perdidas, e não serão notadas até a reinicialização (como adicionar novos endereços IP / regras de iptables, etc.) Isso também aumenta o "risco de inatividade" ao reinicializar com pouca freqüência .

É melhor planejar algum tempo de inatividade ao fazer uma reinicialização - ou se essa não for uma opção desejável, configure seus servidores em clusters para que as reinicializações possam ser feitas, se necessário.

    
por 20.05.2009 / 01:22
8

Se você precisar apenas de atualizações de segurança e não de um kernel completamente novo, talvez esteja interessado em Ksplice - ele permite que você corrija um certo kernel atualizações em um kernel em execução.

    
por 20.05.2009 / 03:32
3

Não há uma resposta simples para isso, algumas atualizações do kernel não são relacionadas à segurança, e algumas podem corrigir problemas de segurança que não afetam você, enquanto outros podem afetá-lo.

A melhor abordagem é se inscrever nas listas de discussão de segurança relevantes, como anuncio de segurança do ubuntu para que você possa ver quando os patches de segurança estão sendo exibidos e como eles podem afetá-lo.

Eu também considero apticron ou similar para obter os detalhes e changelogs de quaisquer outras atualizações de pacotes.

    
por 21.06.2009 / 19:40
2

Esta é uma função da atualização - se ela consertar um priv. escalação que resulta em acesso root, você pode querer aplicá-lo.

    
por 19.05.2009 / 23:07
2

No caso de você não reiniciar, você deve garantir que o novo kernel não seja o padrão para iniciar na inicialização.

A última coisa que você deseja é um kernel não testado sendo usado para produção após uma reinicialização não planejada.

    
por 22.06.2009 / 02:14
1

Como mibus mencionou, se você instalar o kernel e não reiniciar, certifique-se de que não seja o padrão. Você não sabe se ou em que estado seu servidor retornará, portanto, verifique se ele foi testado.

Dito isso, acho que é bom usar o hábito de reinicializar as máquinas regularmente quando possível. Muitas falhas de hardware e software se manifestarão apenas em uma reinicialização e é melhor descobrir isso quando você estiver planejando uma reinicialização, em vez de durante uma interrupção não planejada.

    
por 22.06.2009 / 07:27
0

Observe que algumas das atualizações do kernel debian requerem (bem, recomendo) que você reinicialize o mais rápido possível depois de aplicá-las.

Este é o caso quando a diferença não é suficiente para justificar uma mudança de diretório de módulos, mas os módulos podem ser diferentes.

Você será avisado pela Debian quando instalar tais pacotes do kernel.

    
por 19.05.2009 / 23:10