Чому для завершення оновлень Ubuntu потрібен перезапуск?


15

Я чув, що машини Linux можуть працювати місяцями без перезавантаження. Чому тоді після встановлення оновлень Ubuntu каже "Перезапуск потрібен для завершення оновлень ..."?

Користувачі Linux та UNIX хвастаються тим, як вони не перезапустили свої системи з часів Джорджа Буша-старшого.

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


3
Більшість людей, які говорять про те, що працюють жахливо вразливі системи, але вони не підключені до Інтернету, або вони стоять за безліччю брандмауерів.
Зоредаче

Відповіді:


12

Те, що ви читали, було правдою. Більшість адміністраторів похвалиться роботою часу своєї машини. Це можуть бути дні, місяці чи навіть роки.
Однак, що вам потрібно знати, ці машини не є вашими щоденними настільними системами. Це спеціалізовані серверні машини.

Перше про них, вони рідко запускають X11. Більшість серверних систем зазвичай завжди є лише на Терміналах. Отже, оновлення XServer не має значення.
По-друге, як зазначив Картік, для оновлення X Server потрібно лише перезапустити X, а не всю машину. Тож ваше продовження триває.

Іншим дуже важливим моментом є те, що серверні системи не оновлюються до останньої версії ядра в міру появи. На Ubuntu ви, ймовірно, зараз використовуєте версію 3.2. У моїй системі Arch я використовую версію 3.6, але багато хто з цих систем, які мають тривалий час роботи, все ще, мабуть, десь у лінії 2.xx, хоча і повністю захищені підтримуваними патчами.

Усі оновлення таких систем проводяться лише на місці. Оновлення спочатку тестуються на тестовій машині, і після ретельного тестування, щоб переконатися, що нічого не зламається, і що для його впровадження не потрібно перезавантаження, вони оновлюються адміністраторами.

Ви можете зробити те ж саме і на вашій системі Ubuntu. Але тоді забудьте про автоматизовані оновлення. Зробіть трохи тестування і спробуйте зробити свої оновлення на місці. Навіть ядра можуть бути замінені гарячими. Однак для її успішного проведення кожного разу потрібно багато навичок та досвіду.


1
Це не так складно. Просто використовуйте ksplice. ksplice.com/pricing
Zoredache

Я згадував це з точки зору виконання всього процесу вручну, а не з будь-яким інструментом автоматизації.
darnir

8

Це ТІЛЬКИ, якщо оновлено саме ядро Linux . Усі інші види оновлень застосовуються безпосередньо. Ядро не можна замінити під час його роботи і тому потребує перезавантаження.

Оновлення ядра трапляється рідко під час регулярних оновлень, і зазвичай це робиться лише під час циклів оновлення (12.04-12.10 тощо)

Ви можете не перезавантажувати, воно продовжить використовувати старе Ядро.

Редагувати : Хот-обмін ядра може бути зроблений для запобігання перезавантаження теоретично, але це не виглядає віддалено тривіально.


2
Я щойно робив оновлення, і він оновлював деякі файли xserver. Однак ОС каже, що для завершення оновлень потрібен перезапуск. Крім того, я впевнений, що десь читав, що Linux OS'es можуть продовжувати працювати без перезавантаження навіть після оновлення ядра.
Roland

7
xserver ТЕХНІЧНО не потребує перезавантаження, ви можете просто перезапустити xserver :). Це просто простіша інструкція сказати перезавантажити машину. У багатьох випадках виходу з системи також може бути достатньо.
Karthik T

$ cat /var/run/reboot-required.pkgsвиходи libssl1.0.0- це libssl частина ядра?
Дан Даскалеску

3
@DanDascalescu Це не повинно бути, і якщо ви запитаєте мене, перезавантаження не є обов'язковим при оновленні openssl / libssl, доки ви переконайтеся, що перезавантажите всі програми / служби, які використовують openssl / libssl. Я вважаю, що обслуговуючі пакети просто взяли простий вихід і відіграли його безпечно, вимагаючи перезавантажити замість того, щоб переглядати всі запущені процеси, перевіряючи, хто з них використовує libssl, а потім роблять здогадки, щоб відобразити процеси на початку та / або назви служб sysvinit .
blubberdiblub
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.