![防止 Ubuntu Core 16.xx 更新后自动重启](https://linux22.com/image/1145460/%E9%98%B2%E6%AD%A2%20Ubuntu%20Core%2016.xx%20%E6%9B%B4%E6%96%B0%E5%90%8E%E8%87%AA%E5%8A%A8%E9%87%8D%E5%90%AF.png)
如此处所述,如果有核心更新,电脑会自动更新,然后重启。
我希望自动更新,但不希望机器自动重启。有什么办法吗?
答案1
我试图追踪Snappy Ubuntu 核心源代码,我能找到最接近的是这其中有一个公认的答案,但我认为是不可接受的。许多开发人员寻求源代码关闭自动更新也许能够实现与你类似的目标。
对他们(也许对您自己来说)来说,第二个最佳解决方案是找到执行自动更新的二进制文件的名称。假设它名为a
。将其重命名为b
。a
用显示“Hello World”的简单程序替换。在系统启动期间b
在启动脚本中调用。
基本上,只要您想随时更新操作系统(或他们喜欢称之为“商店”),只需重新启动计算机即可。更新后,它将再次重新启动。在第二次重新启动时,b
第一次重新启动已经更新了应用程序(称为“快照”),因此第二次重新启动无需更新即可执行。
每当 Ubuntu 试图在您不知情的情况下运行自动更新时,它都会运行一个将“Hello World”写入的新程序/var/log/syslog
。
我没有使用 Raspberry Pi 2,因此找不到需要重命名为“b”的自动更新程序的名称。希望其他人确实使用它并且可以提供名称。
答案2
据我所知,没有办法阻止/或让 Ubuntu 在升级后不自动重启。
但是,作为一种解决方法,您可以rootpw
在中启用该标志sudoers
,以便sudo reboot
在升级结束时触发该触发器(我猜)要求输入 root 密码而不是用户密码。通过以下方式打开它visudo
Defaults rootpw
或者,如果升级过程像这样进行,upgrade && reboot
它将要求您输入升级部分命令的密码,并将使用缓存的密码执行下一个命令。您可能需要重置此捕获,以便在第二次重启时再次要求输入密码。
sudo -K
或者您可以设置timestamp_timeout
参数让sudo
调用的每个命令都询问密码sudo
。