除了升级内核之外,是否需要对Linux系统进行任何更改才能重启?我知道在某些情况下,重新启动会使事情变得更容易,但是除了重新启动之外,是否还有其他无法完成的事情?
需要澄清的是:我正在考虑的典型台式机或服务器系统不会出现硬件故障。
除了升级内核之外,是否需要对Linux系统进行任何更改才能重启?我知道在某些情况下,重新启动会使事情变得更容易,但是除了重新启动之外,是否还有其他无法完成的事情?
需要澄清的是:我正在考虑的典型台式机或服务器系统不会出现硬件故障。
Answers:
我想到了几件事:
从内核崩溃中恢复
根据定义,如果不重新启动内核,则无法从内核恐慌中恢复。
从挂起中恢复,使您无法访问终端
如果系统无响应,并且您束手无策,无法发出恢复命令,那么您唯一能做的就是重启。通常,您要避免手动重启电源。对于此类情况,Linux内核具有Magic SysRq支持,可用于在紧急情况下重启计算机。
只要CONFIG_MAGIC_SYSRQ
在内核配置中启用了该kernel.sysrq
sysctl
选项,并且启用了该选项,就可以使用魔术SysRq组合键直接向内核发出命令:
请注意,下面的Alt+ SysRq表示按住 Alt,然后按住 SysRq(通常是PrintScrn键)。
SIGTERM
给所有进程,除了init
,使它们有机会优雅地终止SIGKILL
给所有进程,但init
强制终止Alt+ SysRq+ b:重新启动,或者
Alt+ SysRq+ o:关机
神奇的SysRq组合键尝试正常重启的助记符是:
“ - [R EBOOT é VEN 我˚F 小号ystem ù tterly 乙洛克 ”
对于无头服务器,甚至还有一个iptables目标,可通过网络启用远程SysRq序列。
从无法启动的状态中恢复
如果系统已经进入无法进行常规引导的状态(例如,由于系统升级失败,文件系统损坏等),则访问系统上故障恢复控制台的唯一方法可能是重新引导使用适当的启动时间选项。
更改启动时内核参数
某些内核参数(例如audit
,启用/禁用内核审核)只能在引导时加载内核时设置。
我可以想到两次要重新启动的位置:
当我需要确保系统可以以正确的状态启动时。
我曾经在一个运行了某些守护程序的系统上工作。它运行了几年后,电源故障导致它重新启动,但是该守护进程不是启动过程的一部分,没有人知道几年前如何配置它。当我们弄清楚如何重新配置系统时,该系统停机了几天。
实际上,重新启动是唯一可确定断电后系统将正确重新启动的方法。
系统库已更新时。
假设在与系统上许多应用程序/服务器共享的库中发现了一个主要的安全漏洞。您可以在不重新引导的情况下更新库,但是在加载了不安全的库后仍在运行多少个进程?您可以使用旧库来尝试重新启动任何内容(如果可以解决的话),但这很容易出错,并且比重新启动要花更长的时间。
重新启动是确保所有正在运行的进程仍未使用旧的故障排除库的最佳方法。
lsof
在升级库之前检查哪些进程已将库映射到其内存空间。