Devo atualizar o kernel em uma máquina Linux?

2

Pelo que entendi, a atualização para um novo kernel (com o pacote normal linux-image... , não rolando o meu próprio) requer uma reinicialização do servidor.

No entanto, um dos nossos servidores (Ubuntu 10.04) está executando várias screen sessões extensas. Reiniciar mata aqueles que são sempre um incômodo importante para seus donos (principalmente por causa de históricos de sessão perdidos).

O que devo fazer? Eu vejo várias possibilidades:

  • Não fazendo nada, apenas atualizando pacotes não-kernel (talvez use o apt-pinning?)
  • Atualize o kernel, mas não reinicie. (Isso é inteligente? Eu pareço lembrar que pode haver alguns problemas com o carregamento de módulos do kernel.)
  • Atualizando o kernel e reiniciando.
    • Existe alguma maneira de preservar as screen sessões?

Acho que, em última análise, isso se resume a essa pergunta: Qual é a importância de atualizar o kernel?

Eu postei esta pergunta aqui em vez de askubuntu.com porque acho que isso não é um problema específico do Ubuntu, embora este servidor esteja executando o Ubuntu.

    
por Christoph Wurm 20.03.2011 / 16:31

4 respostas

5

Você pode evitar uma reinicialização após uma atualização do kernel com ksplice . Além disso, não há regra geral para responder à pergunta se uma atualização é realmente necessária, pois isso depende de muitos fatores:

  • A natureza dos bugs corrigidos com o patch. Muitas atualizações são específicas apenas para determinados módulos, drivers de hardware ou plataformas ou se referem a uma situação que não pode ocorrer em seu sistema.
  • O tipo de sistema que você executa: Quais serviços ele oferece, como ele está conectado, seus usuários são confiáveis (para o caso de um possível bug de elevação de privilégio de usuário)?
  • Quais serão os efeitos do bug quando acionados? Ele destruirá arquivos ou deixará todos se tornarem root ou algum subsistema não utilizado deixará de funcionar?

Por fim, só você pode decidir se uma determinada atualização é importante o suficiente para garantir a reinicialização, mas é claro que essa é uma regra básica: Em caso de dúvida, faça a atualização.

    
por 20.03.2011 / 17:11
3

Acho que vale a pena manter um sistema atualizado para corrigir vulnerabilidades, mas eu não atualizaria apenas um kernel para atualizá-lo. Se você atualizar o kernel, eu certamente reiniciei. Quando você executar a atualização, ela atualizará o carregador de boot, assim, da próxima vez que ele for reinicializado, ele carregará o kernel de qualquer maneira (a menos que você o modifique antes da mão). Não seria um bom dia para reinicializar seu servidor devido a um evento de energia ou ao uso incorreto de alguém de um sudo, apenas para descobrir que um aplicativo crítico não é executado porque você precisava recompilar algo para o novo kernel.

Eu acho que os sistemas precisam ser executados de uma maneira que permita que atualizações e reinicializações ocorram. Se você tiver um monte de aplicativos que exigem que um usuário inicie um serviço na tela, você não tem um sistema muito robusto. Eu trabalharia para descobrir por que essas sessões de tela existem, e se elas realmente são algo que precisa ser iniciado a partir do init, ou se são porque alguém está sendo preguiçoso.

    
por 20.03.2011 / 16:55
3

Quando uma atualização do kernel vem de um grande fornecedor, geralmente pode-se supor que ela incluirá os patches de segurança. Às vezes esses patches se aplicam, às vezes eles não. Ao decidir se instala ou desativa essa atualização, realmente é necessário consultar as notas de versão do seu fornecedor para determinar exatamente o que foi alterado. Só então você pode começar a decidir o que faz ou o que não se aplica a você.

No caso geral, sempre recomendo que as atualizações automáticas sejam executadas em intervalos regulares. Para esse fim, você deve tomar as seguintes medidas.

  • Designe uma janela de manutenção permanente, como todos os sábados às 0000-0200 horas.
  • Execute todas as suas atualizações durante esse período.
  • Reinicialize o sistema, se necessário, por atualizações.

Concedido, como você passa pelo processo de obter uma programação como essa configuração / aprovada / o que dependerá da sua organização. Em qualquer caso, certifique-se de publicar sua programação para que todos os usuários saibam o que esperar e cumpram-na. Publicar um cronograma e depois não segui-lo é ainda pior do que não ter nenhum.

A maneira como você instala e reinicia os sistemas depende de você, no entanto, eu recomendo que seja o mais automatizado possível. Dessa forma, você não terá que se preocupar em esquecer de fazer uma atualização, e se um usuário reclamar, você pode sempre apontar e dizer a eles: "Não, eu não vi você trabalhando no sistema. Essa é uma janela permanente que você sabe reboots podem acontecer automaticamente . "

Apenas desconfie em como você apresenta a necessidade e como você reage aos usuários quando acontece. A última coisa que você quer é aparecer BOFH-esque.

    
por 20.03.2011 / 18:00
-4

Eu acho que você deveria / Imagine que você continue atualizando o kernel. Mais tarde, você verá quantos usuários com sessões de tela realmente reclamam. Quero dizer, você é root ou não? Mostre a eles quem está no controle.

    
por 20.03.2011 / 16:44