Casa > O > O Que Realmente Acontece Quando Atualizamos O Linux?

O que realmente acontece quando atualizamos o linux?

Você tem muitas perguntas a fazer! Let's começa no início. You're não é tanto "atualizar o Linux" como você está atualizando "redhat" ou "ubuntu" ou o que quer que seja - you're atualizando sua distro, que é quase certamente uma "distro GNU/Linux".

O próprio Linux - o kernel - é frequentemente configurado como um pacote através de qualquer gerenciador de pacotes que sua distro esteja usando - então, de fato, algumas vezes quando há atualizações, elas serão atualizações para o seu kernel Linux, mas outras vezes, simplesmente haverá atualizações para alguns das centenas de outros pacotes que você tem instalados.

Quando seu gerenciador de pacotes atualiza os pacotes do kernel, você'normalmente não verá nenhum efeito disso até que você reinicie.

Eu digo "normalmente" porque há'é uma hipótese remota, se você'for um desenvolvedor do kernel ou um código que usa os cabeçalhos do kernel, que as alterações feitas no(s) pacote(s) kernel-devel podem impactar suas compilações/teste até que você'tenha reinicializado no novo kernel.

Mas, para a maioria das pessoas, isso ganhou't seja uma preocupação. You're fine to not to reboot immediately after update to a new kernel. O antigo e o novo podem e vão viver lado a lado por algum tempo. Veja os detalhes do "grub" para mais informações sobre isso. Seu sistema provavelmente já tem pelo menos 2 ou 3 versões mais antigas do kernel, prontas para inicializar se a atual lhe causar algum problema.

Next. Vamos ver as atualizações dos programas regulares. Digamos, algo como "vim".

Para esses, a nova versão do programa será instalada logo em cima da versão antiga. Qualquer processo em execução continuará rodando o executável antigo, mesmo que ele's tenha sido deletado. Uma vez que o arquivo-descritor aberto contar com o executável antigo chegar a zero, ele'será realmente excluído. Até lá, it's ainda está acessível para aqueles processos que'ainda o estão executando. A partir de uma shell raiz execute "lsof|grep '(deleted)'" e você'verá que o seu sistema pode mostrar ficheiros apagados que ainda estão abertos, neste momento.

Por vezes, para serviços (processos daemon, ouvir nos portes) os "passos pós-instalação" para uma instalação de pacotes incluirão um reinício para o serviço, para assegurar que ele começa a correr a nova versão do pacote automaticamente.

Isso's feito porque, ao contrário de um programa normal que o usuário vai parar de usar em algum momento ou outro, lá's realmente nada que saia dos vários serviços durante o uso regular, então esse passo de reinício é uma boa idéia.

Atualizações automáticas das linguagens de programação, mecanismos de banco de dados e serviços de sistema podem definitivamente causar problemas. Por exemplo - novas versões do PHP começaram a depreciar certas funções - split() eregi() e eregi() vêm à mente.

Os desenvolvedores acharam que'seria uma boa idéia enviar avisos de depreciação para o log de erros. Uma e outra vez, uma e outra vez, uma e outra vez.

Regrostavelmente, eles definem esses avisos em um nível de log que significa que eles são escritos em quase todos os logs de erros em nível de produção. Assim, administradores de sistemas como eu regularmente encontram servidores de clientes a ficar sem espaço de disco sem razão aparente.

Os logs de erros, que o cliente deixou de ver há meses ou anos atrás, uma vez resolvidos todos os problemas iniciais, de repente começam a ser preenchidos com milhares se não milhões de cópias dos mesmos avisos de depreciação.

Outra coisa que pode causar estragos é a actualização automática dos servidores de base de dados. Aí's um repo francês do linux que é famoso por, do nada, mudar as versões do MySQL para a última versão disponível. Ótimo para desenvolvedores - horrível para ambientes de produção. Servidores assinaram esse repo para atualizações de pacotes todos quebrados no mesmo dia, com os mesmos erros estranhos, causados por quaisquer incompatibilidades/depreciações/mudanças para os padrões que vieram junto com a nova versão do MySQL.

Sua pergunta final era sobre estabilidade após atualizações, antes de uma reinicialização. A resposta é, "normalmente não, mas depende".

Depende de qual distro você're usando, e quais canais você tem seu servidor subscrito.

Se você're rodando Fedora - that's bleeding edge. Espere instabilidade após atualizações de pacotes. Nem tanto a instabilidade "reinicialização corrigirá" - instabilidade devido a possíveis regressões que podem ter entrado, e instabilidade devido a um novo bug que pode ter sido introduzido junto com uma nova funcionalidade que acabou de ser instalada pelas atualizações do pacote.

Se você're rodando RedHat ou Centos, subscrito em canais cuidadosamente testados, don't espere QUALQUER instabilidade. Espere uma consistência sólida, sem necessidade de reiniciar. Espere que uma reinicialização não't ajude o problema se você experimentar uma, porque o problema é provavelmente algo que de alguma forma escapou ao processo de vetting que foi feito para as mudanças que foram introduzidas. E, espere que mais do que provável, foi't a atualização do pacote que quebrou as coisas, tanto quanto algo que você ou alguém da sua equipe fez no servidor que costumava ser OK para fazer, mas não é't mais por qualquer razão.

RedHat é suficientemente estável para que eu regularmente corra em servidores que estão rodando há mais de 2 anos que estão indo bem, sem necessidade de reinicialização. Isso é estável! Dê uma leitura para mais detalhes sobre como a RedHat faz o que faz: https://access.redhat.com/security/updates/backporting/?sc_cid=3093

Ubuntu server é outra distro que's sendo extremamente cuidadoso com atualizações de pacotes - vetando-os. Existem provavelmente algumas outras que eu'não estou ciente disso também.

Existem DEFINITIVAMENTE muitas distribuições Linux que são dirigidas mais para desenvolvedores do que para ambientes de produção - então com essas, você realmente precisará rever as listas de pacotes sendo autoatualizadas, e testar as coisas de tempos em tempos, e corrigir as coisas que quebraram.

Mas por favor esteja ciente, na maioria das vezes, ganhou'não seja um reboot que conserte essas coisas uma vez que elas'tenham quebrado - it'estará introduzindo as novas diretivas corretas em algum arquivo de configuração, ou removendo as antigas, ou similares.

Se você'está se perguntando sobre o que diabos eu estava falando em relação a qualquer uma das coisas acima, por favor me avise, e I'tentará reformular as coisas melhor.

De Romney

O que eu preciso saber para fazer um bom jogo de luta? :: Como resolver um puzzle Sudoku se todos os campos vazios restantes têm múltiplas possibilidades? Será que adivinhar é a única maneira