如何为我的系统启用静默更新?

如何为我的系统启用静默更新?

我如何让 Ubuntu 12.10 静默执行自动更新而不出现任何问题和消息?如果有安全更新可用,GUI 工具中有一个选项可以执行此操作。但我希望所有更新都以这种方式安装。

我认为可以使用 apt-get 和 cron 来完成。但这是最好的方法吗?

答案1

Ubuntu 使用此软件包unattended-upgrades为您的系统静默安装重要的安全更新。它默认启用并在每个当前的 Ubuntu 版本上运行。

您可以使用相同的实用程序通过启用升级非安全相关更新来升级您的系统unattended-upgrades。为此,请使用您最喜欢的文本编辑器编辑位于的必要配置文件/etc/apt/apt.conf.d/50unattended-upgrades,即:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

并删除//行首的标记"${distro_id}:${distro_codename}-更新";所以看起来像这样

在此处输入图片描述

不要忘记保存文件。

您可以通过编辑文件来更改无人值守更新的配置/etc/apt/apt.conf.d/10periodic,配置选项位于/etc/cron.daily/apt脚本头中。阅读它们以配置无人值守更新的频率。

就是这样!您的系统将自行更新,独立于用户,无需交互。

答案2

这不是一个好主意,但是 Linux 的一大优点就是你无论如何都可以这样做。

在 root conjob 运行中

apt-get update && apt-get upgrade -y

这将更新 apt-cache,然后应用您的升级。但是,如果存在冲突的配置文件或 dpkg 需要提示的其他内容,这也可能会失败(dpkg 将检测到它是非交互式的,并将对问题执行默认操作,就像您在命令行上按下回车键一样,如果没有默认设置,dpkg 将失败)。

还有人性化的问题。如果你像这样更新系统,事情可能会随机发生变化。这可能会导致事情中断或行为异常,直到你重新启动程序。然而你无法知道这一点,因为一切都发生在幕后。

一个稍微好一点的选择可能是在给定的时间弹出 GUI。例如:

0 3 * * * export DISPLAY=:0 && /usr/bin/update-manager

在您的用户 crontab 中。同样,这将失败很多次(如果该用户在凌晨 3 点没有登录,如果 DISPLAY 变量错误,等等)。

基本上这是一个坏主意,没有人需要“那么”更新,将“其他更新”设置为在更新管理器中立即显示,并接受您只有在系统运行时才会收到通知apt-get update(已经有一个夜间 cron 作业用于此。)

相关内容