sudo apt-get update
和sudo apt-get upgrade
。有没有办法将其设置为自动执行此操作?我正在运行Raspbian Jessie。#1 楼
您可以安装unattended-upgrades
来代替手动cron,这对于确保安装了最新的内核很有用。它主要是出于安全性目的而设计的。#2 楼
在终端中,键入:sudo su
以访问根级别的提示。然后,运行:
crontab -e
要开始编辑crontab,要在给定时间自动运行的任务表。它将在您首选的文本编辑器中打开。对其进行修改以包括以下行:在crontab上阅读以了解如何根据自己的喜好进行调整。
评论
最好将命令与&&放在同一行,因为它们是相关的,并且如果'update'失败,则没有理由进行'upgrade'。
–tedder42
2015年12月5日,下午2:36
在crontab中0表示星期日,但是在您的代码中已放置1,因此该命令将在星期一而不是星期日运行
– rav_kr
2015年12月5日在21:14
dist-upgrade比upgrade更好,仅使用upgrade就会导致依赖关系破裂。您也不会绕过需要对话框确认的更新。 @ tedder42指出了Debian首选的方法(使用无人值守的升级)。
–ryanpcmcquen
16年1月31日在18:51
添加&&后,您错过了第二个sudo。尽管它仍然在crontab根目录中。
–user643011
18年4月12日在11:41
那里不应该有任何须藤。您已经使用su切换到了根帐户。超级用户的crontab以超级用户特权运行。
– goldilocks♦
18年4月12日在12:34
#3 楼
在其默认配置中,unattended-upgrades
在Raspbian Buster中损坏。它不会为内核和其他软件安装重要更新。您的选项是:推荐的选项:
安装并修复无人值守的升级:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
要获得更快的安全更新(但稳定性较差,因为该软件包尚未获得rasbian的批准),可以将debian-security软件包添加到apt:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
您
其他选项:
通过使用cron-apt可以解决该问题:
sudo apt install cron-apt
建议使用无人值守更新并修复软件包,因为它最适合此用途。 Cron-apt是您的第二好的选择,因为它也是出于类似目的而设计的。我不确定cron-apt在内核更新后是否可以自动重启系统。无人值守升级具有该选项,以我的经验,内核升级后可以使用上述修复程序重新启动。
#4 楼
您可以安装和配置cron-apt。通过执行以下操作进行安装:apt-get install cron-apt
主要配置文件是/ etc / cron-apt / config
我要添加的一件事我的配置是:
MAILON="always"
它每次运行时都会发送一封电子邮件,不仅是遇到错误时。
请注意,默认设置不会自动安装更新(有一些充分的理由不这样做),但是您可以对其进行配置。与简单的cron解决方案相比,此程序提供的一个优势是,它使您可以控制安装的内容(仅下载新软件包,安装安全更新或安装所有更新)。
设置运行时间/etc/cron.d/cron-apt文件。
您可以在此处找到更多信息和配置选项。
该软件包包含非常好的文档,但已将其压缩。提取文件:
创建工作目录-mkdir cron-apt_documentation
切换到新目录-cd cron-apt_documentation
复制压缩文件-cp /usr/share/doc/cron-apt/README.gz。 (注意尾随点)
解压缩文件-gunzip README.gz
读取文件-cat README |更少
评论
或zcat /usr/share/doc/cron-apt/README.gz |减
–user67475
19年4月2日在15:29
评论
对我来说,默认设置不是很好。它什么也没做:/var/log/unattended-upgrades/unattended-upgrades.log文件报告了允许的来源是:[]因此,基本上没有进行任何更新。更新/etc/apt/apt.conf之后.d / 50unattended-upgrades包括“ origin = Raspbian,codename = $ {distro_codename},label = Raspbian”;更新开始出现。
– Rabarberski
17年5月18日在20:10
我的骨干股票(截至2017年9月)有50个无人参与的升级,其中列出了“ origin = Debian,codename = $ {distro_codename},label = Debian-Security”;并且似乎可以正确找到相关的软件包。当然,它忽略了其中许多。我尚未设置任何白名单或黑名单。
–乔恩五世
17年9月15日在13:11
默认的50unattended-upgrade实际上是愚蠢的,必须更改才能在Raspian上工作。没有树莓派安全。安全更新未标记。重要的是同时添加“ origin = Raspbian,codename = $ {distro_codename},label = Raspbian”;和“ origin = Raspberry Pi Foundation,代号= $ {distro_codename},label = Raspberry Pi Foundation”;到/etc/apt/apt.conf.d/50unattended-upgrades
–user643011
18年4月8日,0:37
我只想澄清一下,我应该添加这些行,而不是替换“ origin = Debian,codename = $ {distro_codename},label = Debian”;和“ origin = Debian,codename = $ {distro_codename},label = Debian-Security”;用新的线?
–林德
20-10-3在9:13