Ответы:
Обычно есть две ситуации, когда перезагрузка обычно необходима:
libc
(скорее glibc
) обновляется.Существует механизм для перезагрузки ядра без перезапуска ( Как я могу обновить ядро моего сервера без перезагрузки? ). С glibc
самой большой проблемой является init. Можно перезапустить init (см. Перезапуск init без перезагрузки системы ).
Для обычного пользователя ни один не рекомендуется, и перезапуск необходим .
По-видимому, существует третий случай:
dbus
был обновлен. dbus-daemon
по-видимому, не в состоянии перезапустить (из того, что я могу понять из обсуждения этой статьи LWN ). А поскольку многое зависит от DBus ...На самом деле, это зависит от того, что вы пытаетесь достичь:
Если вы делаете, apt-get dist-upgrade
и новое ядро входит, и вы хотите активировать его, вам нужна перезагрузка.
Если приходит новая версия FireFox, вы, очевидно, этого не делаете.
И между этими двумя крайностями 50 оттенков серого:
;-)
У меня на самом деле сегодня была ситуация, которая доказывает это. Иногда в системе остаются остаточные вещи после внесения изменений. Например, у меня был пользователь, который не смог получить доступ, /dev/dsp
несмотря на то, что был добавлен в соответствующие группы. Первый пользователь, получивший к нему доступ, заблокировал его. Однако даже после убийства этого пользователя блокировка все еще была на месте, и второй пользователь не мог получить к ней доступ. Однако после перезагрузки оба пользователя смогли одновременно использовать /dev/dsp
без каких-либо конфликтов. Выполнение перезагрузки освобождает любые остаточные элементы, которые могут помешать правильному вступлению изменений в силу.
Я не могу думать ни о каких ситуациях, когда перезагрузка абсолютно необходима .
На самом деле, вы можете оставить Ubuntu запущенным на неопределенный срок. Это может привести к появлению вредоносного ПО (поскольку обновления ядра и libc не применяются), а также к панике или сбою ... Но что же делать, чтобы избежать тех, кто действительно собирается сделать для вас?
Учитывая сложности жизни, может быть более необходимо игнорировать постоянные требования компьютеров и поддерживать себя другими способами. Как дышать, есть, любить ... жить.
Но даже тогда, они абсолютно необходимы? Находится ли ваше существование на этом плане в абсолютном определении необходимости? Я, честно говоря, не знаю. Немного странный вопрос.
Двумя толстякам-шутникам, которые понизили этот пост и тех, кто за ним последовал,
Этот вопрос был неполным или, по крайней мере, открытым. Когда вы подбрасываете слова, как это необходимо , вам нужно дать контекст.
Во многих ответах уже предполагалось, что OP означает весьма желательный (в техническом смысле), поэтому размещенные ответы, которые соответствуют контекстам, например, необходимы, чтобы избежать взлома или необходимости в случае сбоя вашего компьютера . Это хорошие ответы. Добавление другого не было действительно оправдано.
Но они говорят, что предположения являются матерью всех наворотов (или что-то в этом роде), поэтому я вернул их к абсолютной необходимости . Если вы настаиваете на использовании старой версии 10.10, Время и Пространство будут продолжаться, как и их победа.
Вы заметите, что я не рекомендую эту позицию.
Вопрос действительно должен быть закрыт как основанный на мнении .
Дело в том, что это зависит от того, что было обновлено, насколько ваша система открыта для открытого Интернета, и какие системные службы у вас есть / нуждаются в работе.
Простая установка новых версий пакета не приводит к перезапуску соответствующих служб и приложений. Например, если вы запускаете Firefox во время установки для него обновленного пакета, то при переключении обратно в браузер вы получите уведомление о том, что его необходимо перезапустить после установки обновления. Аналогично, само ядро должно быть «перезапущено», когда для него применены обновления. Поскольку ядро находится на самом низком уровне выше аппаратного обеспечения, вам необходимо перезагрузить систему, чтобы загрузить новое ядро. Для других служб их можно перезапустить без перезагрузки. Обновление до Unityили базовые библиотеки, используемые службами среды, потребуют, чтобы вы вышли из системы и снова вошли в нее, чтобы перезапустить их. Для системных служб может быть возможно перезапустить их вручную после применения обновления, но автоматическое выполнение может быть очень разрушительным, если вы пытаетесь использовать систему.
Единственный способ узнать абсолютно точно, необходимо ли определенное действие, - это узнать, что это за изменения, и каков ваш риск не выполнить это действие. Исправления безопасности, очевидно, требуют более резких действий, чем простые изменения других вещей, с которыми вы никогда не столкнетесь напрямую. Чем больше ваш компьютер подключен к Интернету, тем больше риск. Вам нужно будет рассмотреть все переменные и принять решение о необходимости перезагрузки сейчас или позже при установке обновлений.
Когда необходимо перезагрузить систему Ubuntu?
Работающая машина и строго ли при обновлении / апгрейде? Вероятно, никогда (но читайте дальше). Система Linux настроена таким образом, что после того, как вы обновили систему, где для активации новых функций потребуется перезагрузка (т. Е. Прочитать измененное ядро; изменения в apache, mysql требует только перезапуска службы). всегда может работать с текущим состоянием системы.
Теперь, если вы хотите активировать эти новые функции, самый простой способ сделать это - перезагрузить компьютер. Но, как ни крути, вы продолжаете работать над этой машиной и перезагружаете ее на следующих выходных или после нее. Или на следующее рождество. Это умно? Возможно, нет. Но никто не мешает вам сделать это. Система достаточно умна, чтобы не принимать следующее обновление, если сервер еще не перезагружен.
Для меня единственная причина, по которой требуется перезагрузка, это после первой установки или при выполнении обслуживания, когда требуется один пользователь (например, такие как разбиение диска, исправление ошибок жесткого диска) или когда какой-то идиот запустил знаменитую бомбу-вилку (хотя эту можно исправить из самой системы).
Все остальные перезагрузки выполняются по усмотрению администратора. И я не могу назвать это «необходимым».
Прежде всего, я ценю этот вопрос, потому что он всегда будет актуальным.
Другие ответы правильные и очень подробные - вот почему я говорю коротко.
Существуют сценарии, когда требуется перезагрузка, например, после установки нового ядра.
Есть сценарии, где это рекомендуется, например, после установки нового рабочего стола.
В большинстве случаев, например после установки или обновления программного обеспечения, перезагрузка не требуется.
Всякий раз, когда вы сомневаетесь, я рекомендую выполнить перезагрузку, чтобы вы были в безопасности.
Установите пакет debian-goodies
:
sudo apt-get install debian-goodies
и запустить команду
sudo checkrestart
Вы увидите список услуг и теперь у вас есть выбор:
или
$ 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