如何使Raspbian“ Wheezy”保持最新状态?


45

我的Raspbian Debian 7(Wheezy)软件包是否有某种更新工具?

我安装了phplighttpd,并且希望在发现错误时自动更新它们。

Answers:


48

您需要在命令行中输入一些命令。首先:

apt-get update  

(这将更新软件的来源)

apt-get upgrade  

(这会将所有内容升级到最新版本)


这就是全部吗?它会升级我通过apt-get安装的所有内容,包括OS本身吗?
米歇尔

1
是的,“ OS本身”是Linux内核。第一次执行此操作可能会进行大量更新,因为存储库通常包含比安装映像更新的软件包。
goldilocks

也就是说,一切都来自apt回购。通常情况下,除了您的数据外,所有内容都是如此,但在这种情况下,可能不包括例如内核或引导程序。如果您从其他地方下载或自己制作了东西,则显然无法自动升级:)
XTL 2013年

是的,仅此而已。对于大型软件,您可能偶尔需要回答是/否问题,但是基本上,这很容易。
recantha

1
@Michel:有时“ linux OS”被更广泛地称为“ GNU / Linux”,其中包括内核(严格意义上为“ linux”)和用户空间基础知识,例如C库,shell等GNU伞。使用Windows,所有这些部分都是一成不变的集成,而linux世界则更加异构和模块化,因此可能会有些混乱。我本来会以“操作系统”来指代debian wheezy发行版(包括内核),但是您似乎是在指更具体的东西。
goldilocks

41

unattended-upgrades软件包是在这些debian-family发行版中自动更新OS的方法。按照此处的说明进行操作。

基本上,您必须安装该软件包:

sudo apt-get install unattended-upgrades

并添加到/etc/apt/apt.conf.d/10periodic以下内容:

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

另外(由于软件包的移植似乎并非完美无缺),请在以下内容的第一部分更改以下行/etc/apt/apt.conf.d/50unattended-upgrades

        "origin=Debian,archive=stable,label=Debian-Security";

//        "origin=Debian,archive=stable,label=Debian-Security";
        "origin=Raspbian";

现在,您的系统会自动保持最新状态。


3
origin=Debian在最新版本的Raspbian中,不再需要最后一步(交换)。
Dolph

今天,在Raspbian Wheezy上似乎仍然有必要,例如:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije

糟糕,我误读了。是的,origin=Raspbian在配置文件中仍然有必要,但是,不,您确实不需要自己做,对不起……
astorije 2015年

26

距离:

 $ sudo apt-get update
 $ sudo apt-get upgrade 

第一次Rpi更新: 安装git和到达github的证书。

$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
$ sudo chmod +x /usr/bin/rpi-update

更新固件

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

Rpi更新后:

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

rpi更新


5

现在可以通过apt-get直接获取rpi-update,因此无需处理Wget。现在是更新的方式:

距离:

 $ sudo apt-get update
 $ sudo apt-get upgrade 

您需要立即重新启动Raspberry Pi,否则将不使用新内核!

第一次Rpi更新: 安装Git和认证以到达GitHub

$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo apt-get install rpi-update

更新固件

$ sudo rpi-update
$ sudo reboot

rpi更新


3

您还可以在其中编写一些易于执行步骤的脚本,并按计划每天运行一次,但是您经常喜欢这样做,这就是我所做的。

如何在Pi上设置cron作业:

http://www.wexoo.net/20130406/running-cron-jobs-on-raspberry-pi-in-raspbmc

如何编写bash脚本:

https://www.linux.com/learn/tutorials/284789-writing-a-simple-bash-script-

我的剧本很简单

apt-get update
apt-get upgrade -yes
apt-get dist-upgrade -yes
apt-get clean

并且我将输出记录到>>每行末尾的文件中,例如apt-get update >> autoupdate.txt

尽管这样做有多么好主意尚待商!!


您有机会共享有关如何执行这些定时事件的脚本和/或信息。我想如果OP知道如何做到这一点,他就不会发布。
Phill Healey 2013年

1

网络的艺术网站有Debian的喘息一个完美的事情的指南,我只需要修改一个线为它工作在我的测试RPI。该链接将带您进入他们的指南cron-apt;下面解释了RPi repos系统的修改。

安装cron-apt

sudo apt-get install cron-apt

默认配置,操作和自定义配置可以在以下位置找到

ls -hal /etc/cron-apt/config

ls -hal /etc/cron-apt/action.d/

ls -hal /etc/cron-apt/config.d/

将以下内容附加到/etc/cron-apt/config文件中,sudo tee -a以使有关自动更新过程中所采取操作的详细信息发送给电子邮件

echo 'MAILON="output"' | sudo tee -a /etc/cron-apt/config

echo 'DEBUG="verbose"' | sudo tee -a /etc/cron-apt/config

日志转储到: /var/log/cron-apt/log

使用touch命令创建仅更新与安全性相关的软件包的新操作文件,并使用sudo tee命令添加一行;其他将下载,但等待sys-admin安装非安全更新。更新和输出的所有通知将通过电子邮件发送给root用户或sys-admin,以供进一步检查和/或采取措施。

sudo touch /etc/cron-apt/action.d/5-security

echo 'upgrade -y -o APT::Get::Show-Upgraded=true' | sudo tee -a /etc/cron-apt/action.d/5-security

制作新的配置文件以使用上述操作;专门/etc/apt/sources.list.d/security.list用作安全更新的路径。如果不是完全基于Debian Linux,则文件路径在您的系统上可能会有所不同;RPi现在使用镜像导向器,因此/etc/apt/sources.list应改为使用镜像导向器,但是,对于生产级服务器,建议不要这样做,因为它也会更新非安全更新。

sudo touch /etc/cron-apt/config.d/5-security

echo 'OPTIONS="-o quiet=1 -o APT::Get::List-Cleanup=false -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts=\"/dev/null\""' | sudo tee -a /etc/cron-apt/config.d/5-security

请等待一天cron-apt以更新系统,并使用以下内容检查本地日志,以查看睡眠时更新的内容

sudo cat /var/log/cron-apt/log

这已经在一个RPi上进行了测试,可用于更新每个软件包,以及在Unbuntu PC上仅可更新与安全性相关的软件包。因此,我认为它是更便携的选项之一。草根建议的另一个用于自动更新的软件包(谢谢,我接下来将对其进行测试)unattended-upgrades似乎是另一个自动化更新过程的不错选择。

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.