Respostas:
Geralmente, existem duas situações em que uma reinicialização geralmente é necessária:
libc
(em vez disso glibc
) é atualizado.Existe um mecanismo para recarregar o kernel sem reiniciar ( como atualizar o kernel do meu servidor sem reiniciar? ). Com glibc
, o maior problema é o init. É possível reiniciar o init (consulte Reiniciando o init sem reiniciar o sistema ).
Para o usuário médio, nenhum dos dois é recomendado e a reinicialização é necessária .
Aparentemente, existe um terceiro caso:
dbus
foi atualizado. dbus-daemon
é aparentemente incapaz de reiniciar (pelo que entendi da discussão neste artigo do LWN ). E como muitas coisas dependem do DBus ...Na verdade, depende do que você está tentando realizar:
Se você apt-get dist-upgrade
criar um novo kernel e quiser ativá-lo, precisará de uma reinicialização.
Se uma nova versão do FireFox chegar, você obviamente não.
E entre esses dois extremos estão 50 tons de cinza:
;-)
Na verdade, eu tive uma situação mais cedo hoje que prova isso. Às vezes, há coisas residuais restantes no sistema após uma alteração. Por exemplo, eu tinha um usuário que não pôde acessar, /dev/dsp
apesar de ter sido adicionado aos grupos apropriados. Havia um bloqueio colocado nele pelo primeiro usuário que o acessou. No entanto, mesmo depois de matar o usuário, o bloqueio ainda estava no lugar e o segundo usuário não pôde acessá-lo. No entanto, após uma reinicialização, os dois usuários puderam usar simultaneamente /dev/dsp
sem nenhum conflito. Fazer uma reinicialização libera qualquer coisa residual que possa impedir que as alterações entrem em vigor corretamente.
Não consigo pensar em nenhuma situação em que uma reinicialização seja absolutamente necessária .
Realmente, você pode deixar o Ubuntu rodando indefinidamente. Ele pode ter malware (porque as atualizações do kernel e da libc não são aplicadas) e pode entrar em pânico ou travar ... Mas o que está evitando os que realmente farão por você?
Dadas as complexidades da vida, pode ser mais necessário ignorar as demandas constantes dos computadores e se sustentar de outras maneiras. Como respirar, comer, amar ... viver.
Mas, mesmo assim, eles são absolutamente necessários? A sua existência neste plano está dentro da definição absoluta de necessidade? Sinceramente, não sei. Uma pergunta estranha para perguntar.
Para os dois spoilers de piadas gordas que votaram abaixo neste post e nos seguintes,
Esta pergunta estava incompleta, ou pelo menos aberta. Quando você joga palavras como o necessário , precisa dar um contexto.
Muitas respostas já assumiram que o OP significava altamente desejável (em um sentido técnico), portanto, postou respostas que se encaixam em contextos necessários para evitar serem hackeados ou necessárias se o computador travar . São boas respostas. Adicionar outro não era realmente necessário.
Mas eles dizem que as suposições são a mãe de todos os estragos (ou algo assim de qualquer maneira), então eu retirei isso de volta à necessidade absoluta . Se você insistir em usar uma cópia antiga da 10.10, o Tempo e o Espaço continuarão rolando, assim como seus ganhos.
Você notará que não estou recomendando essa posição.
A questão deve realmente ser encerrada como primariamente baseada em opiniões .
O fato é que depende do que foi atualizado, de como seu sistema está exposto à Internet aberta e de quais serviços do sistema você tem / precisa executar.
A simples instalação de novas versões de um pacote não resulta na reinicialização dos serviços e aplicativos relacionados. Por exemplo, se você estiver executando o Firefox enquanto instala um pacote atualizado, será notificado no navegador, quando voltar a ele, que ele precisa ser reiniciado após a instalação da atualização. Da mesma forma, o próprio kernel precisa ser "reiniciado" quando as atualizações são aplicadas. Como o kernel está no nível mais baixo acima do hardware, você precisa reiniciar o sistema para que o novo kernel seja carregado. Para outros serviços, eles podem ser reiniciados sem reiniciar. Uma atualização para o Unityou bibliotecas subjacentes usadas pelos serviços do ambiente, será necessário que você efetue logout e logon novamente, para reiniciá-las. Para serviços do sistema, pode ser possível reiniciá-los manualmente após a aplicação de uma atualização, mas fazê-lo automaticamente pode ser muito prejudicial se você estiver tentando usar o sistema.
A única maneira de saber com certeza absoluta se uma determinada ação é necessária é saber quais são as alterações e qual é o seu risco em não executar essa ação. As correções de segurança obviamente exigem ações mais bruscas do que simples alterações em outras coisas, que você nunca poderá encontrar diretamente. Quanto mais diretamente o seu computador estiver conectado à Internet, maior será o risco. Você precisará considerar todas as variáveis e decidir reiniciar agora ou mais tarde ao instalar as atualizações.
Quando é necessário reiniciar um sistema Ubuntu?
Uma máquina em execução e estritamente ao fazer uma atualização / atualização? Provavelmente nunca (mas continue lendo). O sistema Linux é configurado de tal maneira que, após a atualização do sistema, em que seria necessário reiniciar para ativar os novos recursos (ou seja, ler o kernel foi alterado; alterações no apache, o mysql exige apenas uma reinicialização do serviço) sempre pode continuar trabalhando com o estado atual em que o sistema está ativado.
Agora, se você deseja ativar esses novos recursos, o método mais fácil de fazer isso é reiniciar. Mas, apesar de tudo, nós continuamos trabalhando nesta máquina e a reinicializamos no próximo final de semana ou no final de semana seguinte. Ou no próximo natal. Isso é inteligente? Talvez não. Mas não há ninguém impedindo você de fazê-lo. O sistema é inteligente o suficiente para não aceitar a próxima atualização se o servidor ainda não tiver reiniciado.
Para mim, as únicas razões pelas quais uma reinicialização é necessária é após a primeira instalação ou ao fazer manutenção onde é necessário um único usuário (pense em particionar, corrigir erros no disco rígido) ou quando algum idiota executou a famosa bomba de forquilha (embora essa possa ser corrigida do próprio sistema).
Para que todas as outras reinicializações ocorram, é da responsabilidade do administrador. E eu não posso chamar isso de "necessário".
Antes de tudo, aprecio esta pergunta, porque ela sempre será atualizada.
As outras respostas são corretas e muito detalhadas - é por isso que falho.
Existem cenários em que é necessário reiniciar, como após instalar um novo kernel.
Existem situações em que é recomendado, como após a instalação de uma nova área de trabalho.
Na maioria dos cenários, como após a instalação ou atualização do software, a reinicialização não é necessária.
Sempre que você estiver em dúvida, recomendo executar uma reinicialização, para que você esteja do lado seguro.
Instale o pacote debian-goodies
:
sudo apt-get install debian-goodies
e execute o comando
sudo checkrestart
Você verá uma lista de serviços e agora tem a opção:
ou
$ checkrestart
Found 20 processes using old versions of upgraded files
(15 distinct programs)
(14 distinct packages)
Of these, 12 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used to restart them:
gpm:
3044 /usr/sbin/gpm
rpcbind:
2208 /sbin/rpcbind
bind9:
8463 /usr/sbin/named
openssh-server:
22124 /usr/sbin/sshd
ntp:
4078 /usr/sbin/ntpd
tftpd-hpa:
3417 /usr/sbin/in.tftpd
uptimed:
2704 /usr/sbin/uptimed
cron:
3019 /usr/sbin/cron
postfix:
22145 /usr/lib/postfix/qmgr
8892 /usr/lib/postfix/master
hddtemp:
3174 /usr/sbin/hddtemp
autofs:
2792 /usr/sbin/automount
openbsd-inetd:
3254 /usr/sbin/inetd
These are the init scripts:
service gpm restart
service rpcbind restart
service bind9 restart
service ssh restart
service ntp restart
service tftpd-hpa restart
service uptimed restart
service cron restart
service postfix restart
service hddtemp restart
service autofs restart
service openbsd-inetd restart
These processes do not seem to have an associated init script to restart them:
isc-dhcp-client:
3775 /sbin/dhclient