Pourquoi Ubuntu nécessite-t-il un redémarrage pour terminer les mises à jour?

15

J'ai entendu dire que les machines Linux peuvent fonctionner pendant des mois sans redémarrer. Pourquoi Ubuntu dit-il alors "Redémarrage requis pour terminer les mises à jour ..." après l'installation des mises à jour?

Les utilisateurs de Linux et UNIX se vantent de ne pas avoir redémarré leurs systèmes depuis que George Bush père était président.

http://www.tested.com/news/feature/1141-how-often-do-you-really-need-to-reboot-your-pc/

Roland
la source
3
La plupart des gens qui disent utiliser des systèmes horriblement vulnérables, mais ils ne sont pas connectés à Internet ou sont derrière de nombreux pare-feu.
Zoredache

Réponses:

12

Ce que vous avez lu était vrai. La plupart des administrateurs se vanteront de la disponibilité de leur machine. Cela pourrait être des jours, des mois ou même des années.
Cependant, ce que vous devez savoir, c'est que ces machines ne sont pas vos systèmes de bureau de tous les jours. Ce sont des machines serveur spécialisées.

Première chose à leur sujet, ils exécutent rarement X11. La plupart des systèmes de serveurs ne seront généralement que sur les terminaux. Donc, une mise à niveau sur XServer n'a pas d'importance.
Deuxièmement, comme Karthik l'a souligné, une mise à jour de X Server nécessite uniquement que vous redémarriez X, pas la machine entière. Votre disponibilité est donc toujours là.

Un autre point très important est que les systèmes serveur ne sont pas mis à jour vers la dernière version du noyau à sa sortie. Sur Ubuntu, vous utilisez probablement la version 3.2 en ce moment. Sur mon Arch System, j'utilise la version 3.6, mais bon nombre de ces systèmes bénéficiant de longues périodes de disponibilité sont encore probablement quelque part dans la ligne 2.xx, bien que complètement sécurisés avec des correctifs rétroportés.

Toutes les mises à jour de ces systèmes sont effectuées uniquement sur place. Les mises à jour sont d'abord testées sur une machine de test, et après des tests approfondis pour s'assurer que rien ne casse, et qu'un redémarrage n'est pas nécessaire pour l'implémenter, elles sont mises à niveau par les administrateurs.

Vous pouvez également faire de même sur votre système Ubuntu. Mais oubliez les mises à jour automatisées. Faites un peu de test et essayez de mettre vos mises à jour en place. Même les noyaux peuvent être remplacés à chaud. Cependant, il faut beaucoup de compétences et d'expertise pour réussir à chaque fois.

darnir
la source
1
Ce n'est pas si difficile. Utilisez simplement ksplice. ksplice.com/pricing
Zoredache
Je l'ai mentionné du point de réaliser l'ensemble du processus manuellement, pas avec un outil d'automatisation.
darnir
8

C'est le cas UNIQUEMENT si le noyau linux lui-même est mis à jour. Tous les autres types de mises à jour sont appliqués directement. Le noyau ne peut pas être remplacé pendant son fonctionnement et nécessite donc un redémarrage.

Une mise à jour du noyau devrait se produire rarement pendant les mises à jour régulières et généralement effectuée uniquement pendant les cycles de mise à niveau (12.04-12.10, etc.)

Vous pouvez choisir de ne pas redémarrer, il continuera à utiliser l'ancien noyau.

Edit : Kernel Hotswapping peut être fait pour empêcher le redémarrage en théorie, mais il ne semble pas être trivial à distance.

Karthik T
la source
2
Je viens de faire une mise à jour, et elle a mis à jour certains fichiers xserver. Pourtant, le système d'exploitation dit qu'il nécessite un redémarrage pour terminer les mises à jour. De plus, je suis sûr d'avoir lu quelque part que les OS Linux peuvent continuer à fonctionner sans redémarrer même après une mise à jour du noyau.
Roland
7
xserver TECHINICALLY n'a pas besoin de redémarrage, vous pouvez simplement redémarrer xserver :). C'est juste une instruction plus simple pour dire redémarrer la machine. Dans de nombreux cas, la déconnexion peut également suffire.
Karthik T
$ cat /var/run/reboot-required.pkgssorties libssl1.0.0- libssl fait-il partie du noyau?
Dan Dascalescu
3
@DanDascalescu Cela ne devrait pas être le cas, et si vous me le demandez, un redémarrage n'est pas obligatoire lors de la mise à jour de openssl / libssl, tant que vous vous assurez de redémarrer tous les programmes / services qui utilisent openssl / libssl. Je pense que les responsables du package ont simplement choisi le moyen le plus simple et le plus sûr en exigeant un redémarrage au lieu de passer par tous les processus en cours d'exécution, en vérifiant lesquels utilisent libssl et en faisant ensuite des suppositions pour mapper les processus avec les noms de service upstart et / ou sysvinit .
blubberdiblub