O que força uma reinicialização?

5

Eu experimento que meu Ubuntu Linux requer uma reinicialização de vez em quando e também que ele precisa ser reiniciado com mais freqüência do que antigamente (talvez seja porque ele atualiza mais).

Eu entendo que atualizar o kernel força uma reinicialização, mas será que é uma conveniência e tecnicamente viável atualizar sem reinicializar e só é complicado?

É algo tecnicamente impossível atualizar enquanto o sistema está em execução?

"O sistema irá para manutenção agora ..."

Eu entendo que uma atualização do BIOS força uma reinicialização, mas não entendo por que é absolutamente necessário ou se é por conveniência e muito mais fácil de atualizar.

Lendo uma pergunta semelhante , não havia respostas convincentes.

Eu acredito que ele está executando binários que devem ser substituídos.

    
por Niklas Rosencrantz 14.01.2017 / 23:48

2 respostas

5

A única coisa que requer absolutamente uma reinicialização é modificar o kernel. Qualquer processo pode ser eliminado se o programa (ou alguma biblioteca ou outro arquivo do qual ele dependa) tiver sido atualizado, mas esse não é o caso do kernel.

Na verdade, é possível corrigir um kernel do Linux diretamente na memória, às vezes. Existem várias ferramentas que funcionam, pelo menos, em alguns casos: Ksplice , Kpatch , kGraft … Cada um deles trabalha em alguns casos simples, mas não todos; eles normalmente trabalham com atualizações de segurança, pois não alteram nenhuma interface interna (especialmente formatos de estrutura de dados), mas não atualizam entre versões de kernel. O Ubuntu LTS suporta correção de kernel usando o livepatch desde 16.04 com o kernel 4.4 com um cliente proprietário.

p>

Embora qualquer coisa que não esteja no kernel possa ser atualizada em um sistema em execução, ainda é necessário reiniciar os processos afetados. Em um servidor, isso significa reiniciar os servidores que usam um executável, biblioteca, plug-in, arquivo de dados, configuração ou outra dependência que foi atualizada. Em uma máquina desktop, isso pode significar fazer com que os usuários façam logout e back in (por exemplo, se é um bug no driver gráfico). Determinar exatamente o que precisa ser reiniciado pode ser difícil, pois depende da natureza exata da correção do bug e de como o programa é usado. Em vez de percorrer a enorme quantidade de trabalho necessária para determinar isso com precisão, o Ubuntu é seguro e recomenda uma reinicialização nos pacotes que acham que reiniciar o serviço seria muito complicado. A maneira como ele funciona é que você recebe um aviso para reiniciar quando o script de pós-instalação (pós-atualização, neste caso) de um pacote declara que é necessário reinicializar (veja

/> Como posso saber qual pacote requer a reinicialização do sistema? >     
por 16.01.2017 / 00:49
2

Até onde eu sei, você ainda pode usar o sistema antigo após a atualização, mas geralmente terá que reinicializar para experimentar o sistema atualizado.
Como uma exceção, se bem me lembro, há a tecnologia KSplice que permite aplicar patches de segurança a um kernel em execução sem ter que reinicializar o sistema.

    
por 15.01.2017 / 03:10