防止 Ubuntu 在后台自动更新完成之前关闭

Gia*_*nis 21 upgrade package-management apt dpkg shutdown

我在朋友的 PC 上安装了 (x)Ubuntu 14.04。自动更新设置为“下载并自动安装更新”。

问题是,在使用几个月后,他在软件包升级完成之前不知不觉地关闭了他的 PC。这会导致依赖项/包损坏,从而导致更新受到影响并且需要运行sudo dpkg --configure -a

是否可以像 Windows 那样让 Ubuntu 在 PC 关闭或重新启动之前等待更新完成,以确保永远不会有损坏的软件包并且他的 PC 将保持自动更新?

cat*_*cat 8

Molly-Guard正是为此目的而设计的程序;它需要您进行少量设置,并且/usr/sbin 之前 /sbin在您的$PATH.

否则,根据这一点,确切的细节高度依赖于 GUI/DE 的实现。由于我们知道您的朋友正在使用 Xubuntu,因此它缩小了范围,但是如果不使用内置支持(这会产生更多问题)重新编译 Xfce,这似乎非常困难。

根据我的大量研究,理论上您可以只替换/sbin/shutdown为检查 apt 作业是否已启动并执行sudo shutdown -csudo init 2取消正在运行的关闭并wait使其退出的脚本,但我不确定这有多健壮。

根据这个,你可能只是使其难以被用户,而不是挂钩的脚本关机。

最后,概述了在这里,你可以安装unattended-upgrades在您使用的是自动更新的,现在什么系统,并关闭之前确保其退出作为在这个答案详细说明


有很多选择,所有这些都不同程度的不可靠,但我认为最好的一个,它解决了认为在某种程度上,一个潜在的X / Y 问题,是这样的:

使用crontab使他的计算机运行dpkg --configure -a每次启动。

@LovesTha:为了您的目的,我推荐unattended-upgrades,或者可能是 Molly-Guard。


Ser*_*nyy 7

介绍

下面的脚本对来自 dbus 的特定消息使用中断驱动轮询,并且每当它看到 shutdown/reboot 请求时,它将测试包管理器是否正在运行,例如dpkgapt。如果它们正在运行,则关闭请求将被取消。

设置

既然你提到你的朋友不想接触命令行,你要么需要 ssh 进入他的机器,要么过来手动安装。

手动设置

  1. mkdir $HOME/bin
  2. 复制脚本源,保存到名为 preventShutdown.sh
  3. 脚本必须是可执行的。使用chmod +x $HOME/bin/preventShutdown.sh要做到这一点
  4. 使用启动应用程序应用程序或通过手动将.desktop文件放入登录到 Unity/Gnome 时将脚本添加到例程列表中$HOME/.config/autostart

替代设置

sudo apt-get install git
cd /opt
sudo git clone https://github.com/SergKolo/sergrep.git
sudo chmod +x /opt/sergrep/*
Run Code Online (Sandbox Code Playgroud)

将脚本添加为启动应用程序。

脚本源

sudo apt-get install git
cd /opt
sudo git clone https://github.com/SergKolo/sergrep.git
sudo chmod +x /opt/sergrep/*
Run Code Online (Sandbox Code Playgroud)


Fab*_*bby 5

  1. 引用爱因斯坦的话:

    Only two things are infinite, the universe and human stupidity, 
    and I'm not sure about the former.
    
    Run Code Online (Sandbox Code Playgroud)

    所以没有 100% 保证人类的愚蠢,但你可以通过以下方式让非爱因斯坦更难破坏事物:

  2. 关闭时激活自动更新

  3. 说明计算机不是锤子,也不是钉子,而是脆弱的智能设备,需要两种食物:电力和更新。

或者,

  1. 完全停止自动更新,开始时更频繁地拜访您的朋友,然后自己为他/她安装更新。
  2. 要求啤酒或一顿美餐来“调整”计算机

或者:
• 使用 Remmina 保持工作顺利进行

  • 100% 同意。他还可以在路由器上设置 ssh 和端口转发来远程管理它。 (2认同)
  • 减少性别歧视会很好。 (2认同)