Risposte:
Esistono generalmente due situazioni in cui un riavvio è generalmente necessario:
libc
(piuttosto, glibc
) viene aggiornato.Esiste un meccanismo per ricaricare il kernel senza riavviare ( Come posso aggiornare il kernel del mio server senza riavviare? ). Con glibc
, il problema più grande è init. È possibile riavviare init (consultare Riavvio di init senza riavviare il sistema ).
Per l'utente medio, nessuno dei due è raccomandato ed è necessario riavviare .
Apparentemente, esiste un terzo caso:
dbus
è stato aggiornato. dbus-daemon
è apparentemente incapace di ricominciare (da quello che posso capire della discussione su questo articolo LWN ). E poiché molte cose si basano su DBus ...In realtà, dipende da cosa stai cercando di realizzare:
Se lo fai apt-get dist-upgrade
e arriva un nuovo kernel, e vuoi attivarlo, devi riavviare.
Se arriva una nuova versione di FireFox, ovviamente no.
E tra questi due estremi ci sono 50 sfumature di grigio:
;-)
In realtà oggi ho avuto una situazione che lo dimostra. A volte, rimangono delle cose residue nel sistema dopo aver apportato una modifica. Ad esempio, avevo un utente che non era in grado di accedere /dev/dsp
nonostante fosse stato aggiunto ai gruppi appropriati. C'era un lucchetto posto su di esso dal primo utente che vi accedeva. Tuttavia, anche dopo aver ucciso quell'utente, il blocco era ancora in atto e il secondo utente non poteva accedervi. Tuttavia, dopo un riavvio, entrambi gli utenti sono stati in grado di utilizzare contemporaneamente /dev/dsp
senza alcun conflitto. L'esecuzione di un riavvio rilascia eventuali elementi residui che potrebbero impedire che le modifiche abbiano l'effetto corretto.
Non riesco a pensare a nessuna situazione in cui un riavvio è assolutamente necessario .
Davvero, puoi lasciare Ubuntu in esecuzione a tempo indeterminato. Potrebbe ricevere malware (perché non vengono applicati gli aggiornamenti di kernel e libc) e potrebbe andare in panico o esplodere ... Ma cosa stanno evitando quelli che effettivamente faranno per te?
Date le complessità della vita, potrebbe essere più necessario ignorare le costanti esigenze dei computer e sostenerti in altri modi. Come respirare, mangiare, amare ... vivere.
Ma anche allora, sono essi assolutamente necessario? La tua esistenza su questo piano rientra nella definizione assoluta di necessità? Onestamente non lo so. Un po 'di una domanda strana da porre.
Ai due grandi spoiler scherzosi che hanno declassato questo post e quelli che seguono,
Questa domanda era incompleta, o almeno a tempo indeterminato. Quando lanci parole come necessario , devi dare un contesto.
Molte risposte presumevano già che il PO fosse altamente desiderabile (in senso tecnico), quindi le risposte postate che si adattavano a contesti come necessari per evitare di essere hackerate o necessarie in caso di crash del computer . Sono buone risposte. L'aggiunta di un altro non era davvero giustificata.
Ma dicono che i presupposti sono la madre di tutti i pasticci (o qualcosa del genere), quindi l'ho riportato alla necessità assoluta . Se insisti nell'usare una vecchia copia del 10.10, Time and Space continuerà a girare, così come le loro vincite.
Noterai che non sto raccomandando quella posizione.
La domanda dovrebbe davvero essere chiusa principalmente come opinione .
Il fatto è che dipende da ciò che è stato aggiornato, da come il tuo sistema è esposto a Internet aperto e da quali servizi di sistema hai / devi eseguire.
La semplice installazione di nuove versioni di un pacchetto non comporta il riavvio dei relativi servizi e applicazioni. Ad esempio, se stai eseguendo Firefox mentre installi un pacchetto aggiornato, ti verrà notificato all'interno del browser quando torni ad esso, che deve essere riavviato dopo l'installazione dell'aggiornamento. Allo stesso modo, il kernel stesso deve essere "riavviato" quando gli vengono applicati degli aggiornamenti. Poiché il kernel è il livello più basso sopra l'hardware, è necessario riavviare il sistema per caricare il nuovo kernel. Per altri servizi, possono essere riavviati senza riavviare. Un aggiornamento a Unityo le librerie sottostanti utilizzate dai servizi dell'ambiente, dovranno disconnettersi e riconnettersi per riavviarle. Per i servizi di sistema, potrebbe essere possibile riavviarli manualmente dopo l'applicazione di un aggiornamento, ma farlo automaticamente potrebbe essere molto distruttivo se si sta tentando di utilizzare il sistema.
L'unico modo per sapere con assoluta certezza se è necessaria una determinata azione, è sapere quali sono i cambiamenti e quali sono i rischi per non eseguire tale azione. Ovviamente le correzioni di sicurezza richiedono un'azione più brusca delle semplici modifiche ad altre cose, che potresti non incontrare mai direttamente. Più direttamente il tuo computer è connesso a Internet, maggiore è anche il rischio. Dovrai considerare tutte le variabili e decidere se riavviare ora o più tardi quando installi gli aggiornamenti.
Quando è necessario riavviare un sistema Ubuntu?
Una macchina in esecuzione e rigorosamente quando si esegue un aggiornamento / aggiornamento? Probabilmente mai (ma continua a leggere). Il sistema Linux è impostato in modo tale che dopo aver aggiornato il sistema in cui richiederebbe un riavvio per attivare le nuove funzionalità (ad es. Leggere il kernel è stato modificato; modifiche ad apache, mysql richiede solo un riavvio del servizio) può sempre continuare a lavorare con lo stato corrente del sistema.
Ora, se si desidera che queste nuove funzionalità siano attive, il metodo più semplice per farlo è il riavvio. Ma per quanto ci interessa, continui a lavorare su questa macchina e riavviarla il fine settimana successivo o il fine settimana successivo. O il prossimo Natale. È intelligente? Forse no. Ma nessuno ti impedisce di farlo. Il sistema è abbastanza intelligente da non accettare il prossimo aggiornamento se il server non si è ancora riavviato.
Per me gli unici motivi per cui è necessario un riavvio sono dopo la prima installazione o quando si esegue la manutenzione dove è richiesto un singolo utente (pensa a cose come il partizionamento, la correzione di errori del disco rigido) o quando qualche idiota ha eseguito la famosa bomba a forcella (anche se si potrebbe risolvere dal sistema stesso).
Perché tutti gli altri riavvii avvengano è per grazia dell'amministratore. E non posso definirlo "necessario".
Innanzitutto, apprezzo questa domanda perché sarà sempre attuale.
Le altre risposte sono corrette e molto dettagliate - ecco perché vado breve.
Ci sono scenari in cui è necessario un riavvio, come dopo aver installato un nuovo kernel.
Esistono scenari in cui è consigliato, ad esempio dopo l'installazione di un nuovo desktop.
Nella maggior parte degli scenari, come dopo l'installazione o l'aggiornamento del software non è necessario riavviare.
Ogni volta che hai dei dubbi, ti consiglio di eseguire un riavvio, quindi sei al sicuro.
Installa il pacchetto debian-goodies
:
sudo apt-get install debian-goodies
ed esegui il comando
sudo checkrestart
Vedrai un elenco di servizi e ora hai la scelta:
o
$ 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