如何在 CLI 中每 4 周检查一次更新并自动安装它们而无需转到软件源?

如何在 CLI 中每 4 周检查一次更新并自动安装它们而无需转到软件源?

我有一套自定义命令我在电脑上安装后运行它。如何让 Ubuntu 每 4 周检查一次更新并在检查时自动安装它们?

我需要通过命令行完成此操作,以便我在设置普通用户的计算机时可以为他们设置它。

第一个命令将使更新管理器每两周检查一次更新,因为更新并不总是那么多,而且可以节省 Ubuntu 服务器的带宽。

我还需要进行设置,以便用户不需要单击来安装更新,因为每次帮助朋友设置电脑时都很累。

答案1

首先,启用自动更新,如下所示:

sudo apt-get install unattended-upgrades

然后你需要编辑它的配置,输入

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

nano如果需要,请用您喜欢的文本编辑器替换)

该文件如下所示:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu maverick-security";
//      "Ubuntu maverick-updates";
};

//这条线意味着评论并且不会被程序考虑,删除笔划以包括稳定版本更新以及安全修复。另外,将其替换maverick为您运行的 Ubuntu 版本。

要设置系统检查更新的间隔,请/etc/apt/apt.conf.d/10periodic使用文本编辑器编辑文件:

APT::Periodic::Update-Package-Lists "14";
APT::Periodic::Download-Upgradeable-Packages "14";
APT::Periodic::AutocleanInterval "14";
APT::Periodic::Unattended-Upgrade "14";

在此示例中,系统每两周更新一次。

有关更详细的解释,请参阅自动更新在 Ubuntu 服务器指南中。


请注意,papukaija 的回答谈论的是更新管理器对话框在屏幕上弹出的间隔,我猜这不是你想要的,但我不确定。:)

答案2

如果您的意思是更新所有“可更新”的内容,即更新所有软件包,我猜您可以每 28 天apt-get update && apt-get upgrade -y运行一次 cron(在根 cron 内)。

有些人在使用 crond 任务时遇到问题,因为设置有限制。如果您遇到任何问题,您可以在文件的最开头PATH定义您的任务(如PATHcrontab -eCron如何操作

另外,为了检查一切是否正常,我会记录结果,如下所示:

root@PORTATIL:/var/log$ crontab -l
* * */2 * * /usr/share/myupdate.sh > /var/log/myupdate.log

myupdate.sh可以像这样简单:

#!/bin/bash
#Testing updates
echo "$(date) Crond myupdate sarting."
apt-get update -y
apt-get upgrade -y
echo "$(date)Crond myupdate finished."

答案3

您可以通过打开gconf-编辑器(例如使用 Alt+F2 并输入 gconf-editor)。然后找到/apps/update-notifier

间隔在键中定义regular_auto_launch_interval,其中值是天数。我认为这种方法不会影响非图形自动更新程序(无人值守升级)。

请注意,Ubuntu 可能无法自动安装安全更新,原因是漏洞

答案4

gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1每天都会打开它,显示我还没有安装更新。如果没有新的更新,它会打开吗?那么每 4 周自动更新一次就不会弹出这个窗口了?那么如何使用 CLI 每 4 周检查一次自动安装更新?这就是我想要的。不要去软件源并用鼠标来做。这样做可能是因为不能在那里放超过 2 周的时间。

相关内容