当前,要使Raspberry Pi保持最新状态,我必须输入sudo apt-get update
和sudo apt-get upgrade
。有没有办法将其设置为自动执行此操作?我正在运行Raspbian Jessie。
当前,要使Raspberry Pi保持最新状态,我必须输入sudo apt-get update
和sudo apt-get upgrade
。有没有办法将其设置为自动执行此操作?我正在运行Raspbian Jessie。
Answers:
您可以安装unattended-upgrades
,而不是手动的cron,这对于确保安装了最新的内核很有用。它主要是为安全性而设计的。
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
有一些位可以调整/配置,但是默认值可以。
50unattended-upgrades
列出了"origin=Debian,codename=${distro_codename},label=Debian-Security";
,并且似乎可以正确找到相关的包裹。当然,它忽略了其中许多。我尚未设置任何白名单或黑名单。
50unattended-upgrades
确实是愚蠢的,必须对此进行更改才能在Raspian上运行。没有Raspian-Security
。安全更新未标记。同时添加这一点很重要"origin=Raspbian,codename=${distro_codename},label=Raspbian";
,并"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
要/etc/apt/apt.conf.d/50unattended-upgrades
在终端中,键入:
sudo su
访问根级提示。然后,运行:
crontab -e
要开始编辑crontab,需要在给定时间自动运行的任务表。它将在您首选的文本编辑器中打开。对其进行修改以包括以下几行:
0 7 * * 1 apt update && apt upgrade -y
要在每个星期一的上午7点自动更新和升级您的应用。在crontab上阅读以了解如何根据自己的喜好进行调整。
&&
因为它们是相关的,并且如果“更新”失败,则没有理由进行“升级”。
0
表示星期日,但是在您的代码中已经放置1
了该命令,因此该命令将在星期一而不是星期日运行
dist-upgrade
比更好upgrade
,您最终只能使用来破坏依赖upgrade
。您也不会绕过需要对话框确认的更新。@ tedder42指出了Debian首选的方法(使用unattended-upgrades
)。
sudo
东西。您已root
通过使用切换到该帐户su
。超级用户的crontab以超级用户特权运行。
您可以安装和配置cron-apt。通过执行以下操作安装它:
apt-get install cron-apt
主要配置文件是/ etc / cron-apt / config
我添加到配置中的一件事是:
MAILON="always"
这将在每次运行时发送电子邮件,不仅是遇到错误时。
请注意,默认设置不会自动安装更新(有一些很好的理由不这样做),但是您可以对其进行配置。与简单的cron解决方案相比,此程序提供的一个优势是,它使您可以控制安装的内容(仅下载新软件包,安装安全更新或安装所有更新)。
要设置运行时间,请编辑/etc/cron.d/cron-apt文件。
您可以在此处找到更多信息和配置选项
该软件包包括非常好的文档,但是已压缩。要提取文件:
在其默认配置中,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
您可能需要为debian存储库安装新的apt密钥。
其他选项:
通过使用cron-apt来解决此问题:
sudo apt install cron-apt
其他解决方法。
建议使用无人值守更新并修复程序包,因为它最适合此用途。Cron-apt是您第二好的选择,因为它也是出于类似目的而设计的。我不确定在内核更新后,任何一个都可以自动重启系统。无人值守升级通常具有该选项,但是我不确定它是否可以与上述修复程序一起使用。
/var/log/unattended-upgrades/unattended-upgrades.log
文件报告的Allowed origins are: []
基本上没有任何更新。在进行更新/etc/apt/apt.conf.d/50unattended-upgrades
以包括"origin=Raspbian,codename=${distro_codename},label=Raspbian";
更新开始之后