我有一套自定义命令我在电脑上安装后运行它。如何让 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
定义您的任务(如PATH
crontab -e
Cron如何操作)
另外,为了检查一切是否正常,我会记录结果,如下所示:
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
答案4
我gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1
每天都会打开它,显示我还没有安装更新。如果没有新的更新,它会打开吗?那么每 4 周自动更新一次就不会弹出这个窗口了?那么如何使用 CLI 每 4 周检查一次自动安装更新?这就是我想要的。不要去软件源并用鼠标来做。这样做可能是因为不能在那里放超过 2 周的时间。