如何在CLI中进行检查,以确保每4周进行一次更新并自动安装更新而无需访问软件资源?


10

安装它们后,我在计算机上运行了一组自定义命令。如何使Ubuntu每4周检查一次更新并在检查时自动安装它们?

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

第一条命令将使更新管理器每2周检查一次更新,因为更新并不总是那么多,并节省了Ubuntu服务器的带宽。

我还需要进行设置,以便用户无需单击即可安装更新,因为每次我帮助朋友设置计算机时,它都会很累人。

Answers:


10

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

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的回答是关于“更新管理器”对话框在屏幕上弹出的时间间隔,我想这不是您想要的,但是我不确定。:)


不需要弹出对话框,它不会在1行中显示。如果我在“软件来源”中设置了2个星期进行检查,那么更新对话框是否可能早晚弹出?需要的是,仅用一条线路就可以设置该用户,甚至不知道他每4周更新一次系统更新,并且他不需要查看任何更新并自动安装它。因此,我不需要在软件源中使用鼠标手动进行设置。
袋鼠

我不确定我是否理解你。您可以通过以下方法禁用更新通知:转到系统→首选项→启动应用程序,然后删除“更新通知程序”上的复选标记。这是你的意思吗?另外,您当然可以将其设置为“ 30”,而不是“ 14”天(或任意数量)
Stefano Palazzo

那也可以用一行完成吗?如果是的话,那还不错,如果不是,那不是我想要的主要事情。主要的事情是要克服去软件源设置来更改更新检查和执行的操作。我想每28天检查一次并安装更新,而无需在终端中询问任何内容,因此它更快。
袋鼠

我的答案中有一条命令:apt-get update && apt-get upgrade -y
luri 2011年

@luri这不是这个问题的意思
Stefano Palazzo

2

如果您的意思是更新所有“可更新”的内容,即更新所有软件包,那么我想您可能会在apt-get update && apt-get upgrade -y运行28天后(在root cron内)进行cron 。

有些人由于限制性条件而无法使用crond PATH。如果您有任何问题,可以PATHcrontab -e文件的开头定义您的名称(如CronHowto所建议)

另外,要检查一切正常,我将记录结果,如下所示:

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."

这对我不起作用。当我得到我的cron日志时,aptitude -y safe-upgrade抱怨需要控制tty,然后出现了许多路径错误。也许我应该提一个问题..
djeikyb 2011年

您是否在根cron中设置了它?
luri 2011年

是的 由于某些不同的路径问题而失败,因此我在/ root / bin上创建了一个脚本,并带有#!/ bin / bash以及apt-get的完整路径。它工作得更好,但仍然无法升级。
djeikyb

将错误发布到日志中。...或其他失败
2011年

我提出了一个单独的问题:askubuntu.com/q/23795/8515
djeikyb 2011年

1

您可以通过打开gconf-editor(例如,使用Alt + F2并键入gconf-editor)来更改运行update-manager的时间间隔。然后找到/apps/update-notifier

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

请注意,由于错误,Ubuntu可能不会自动安装安全更新。


4
这是此答案的命令行版本:(gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 7其中7是间隔天数)
Stefano Palazzo

我刚刚检查它已经是7。但是在Software来源中将其设置为2周。也许其他地方?
袋鼠

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.