Wie kann ich mein Raspbian "Wheezy" auf dem neuesten Stand halten?

45

Gibt es eine Art Update-Tool für mein Raspbian Debian 7 (Wheezy) -Paket?

Ich habe phpund installiert und lighttpdmöchte, dass diese automatisch aktualisiert werden, wenn Fehler gefunden werden.

Michel
quelle

Antworten:

48

Sie müssen einige Befehle in die Befehlszeile eingeben. Als erstes:

apt-get update  

(Dadurch werden die Softwarequellen aktualisiert.)

apt-get upgrade  

(Dadurch wird alles auf die neueste Version aktualisiert.)

recantha
quelle
Ist das alles, was dahinter steckt? Wird es alles upgraden, was ich über apt-get installiert habe, einschließlich der Os selbst?
Michel
1
Das "Betriebssystem selbst" ist der Linux-Kernel, ja. Wenn Sie dies zum ersten Mal tun, wird es wahrscheinlich eine Reihe von Updates geben, da das Repository normalerweise neuere Pakete als das Installationsimage enthält.
Goldlöckchen
Also alles, was aus dem Apt Repo kam. Das ist normalerweise alles außer Ihren Daten, enthält aber in diesem Fall möglicherweise nicht zB den Kernel oder den Bootloader. Wenn Sie Inhalte von einem anderen Ort heruntergeladen oder selbst erstellt haben, können diese offensichtlich nicht automatisch aktualisiert werden :)
XTL
Ja, das ist alles was dazu gehört. Möglicherweise müssen Sie gelegentlich Ja / Nein-Fragen für größere Software-Teile beantworten, aber im Grunde ist es so einfach.
Recantha
1
@Michel: Manchmal wird "das Linux-Betriebssystem" allgemeiner als "GNU / Linux" bezeichnet, was den Kernel ("Linux" im engeren Sinne) und Benutzerbereichsgrundlagen wie die C-Bibliothek, die Shell usw. einschließt, die darunter liegen der GNU Regenschirm. Bei Windows sind all diese Teile unveränderlich integriert, während die Linux-Welt heterogener und modularer ist, sodass Verwirrung herrschen kann. Ich hätte "das OS" hier genommen, um auf die Debian Wheezy Distribution (einschließlich des Kernels) zu verweisen, aber Sie schienen sich auf etwas Spezifischeres zu beziehen.
Goldlöckchen
41

Das unattended-upgradesPaket ist die Möglichkeit, die Aktualisierung des Betriebssystems in diesen Distributionen der Debian-Familie zu automatisieren. Befolgen Sie die Anweisungen hier .

Grundsätzlich müssen Sie das Paket installieren:

sudo apt-get install unattended-upgrades

und füge hinzu /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";

Ändern Sie außerdem (da die Portierung des Pakets anscheinend nicht fehlerfrei war) die folgende Zeile im ersten Abschnitt von /etc/apt/apt.conf.d/50unattended-upgrades:

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

zu

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

Jetzt hält sich Ihr System automatisch auf dem neuesten Stand.

Graswurzel
quelle
3
Der letzte Schritt (Auslagern origin=Debian) ist in der neuesten Version von Raspbian nicht mehr erforderlich.
Dolph
Auf Raspbian Wheezy scheint es heute noch notwendig zu sein, wie zum Beispiel:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije
Hoppla, ich habe falsch gelesen. Ja, origin=Raspbianist in der Konfigurationsdatei immer noch erforderlich, aber nein, Sie müssen es in der Tat nicht mehr selbst tun, sorry ...
5.
26

Dist:

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

Rpi-Update zum ersten Mal: Installieren Sie Git und Zertifizierungen für Reach 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

Firmware aktualisieren

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

RPI-Update nach:

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

RPI-Update

István Simon
quelle
5

rpi-update kann jetzt direkt über apt-get abgerufen werden, sodass Wget nicht mehr benötigt wird . Also hier ist jetzt der aktualisierte Weg:

Dist:

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

Sie müssen den Raspberry Pi jetzt neu starten, sonst würde der neue Kernel nicht verwendet!

Rpi-Update zum ersten Mal: Installieren Sie Git und Zertifizierungen, um GitHub zu erreichen .

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

Firmware aktualisieren

$ sudo rpi-update
$ sudo reboot

RPI-Update

BastianW
quelle
3

Sie können auch ein kleines Skript mit Ihren apt-get-Schritten schreiben und es einmal am Tag nach einem Zeitplan ausführen. So oft Sie möchten, habe ich das getan.

So richten Sie einen Cron-Job auf dem Pi ein:

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

So schreiben Sie ein Bash-Skript:

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

Mein Drehbuch war einfach

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

und ich hatte es die ausgabe in eine datei mit >>am ende jeder zeile zu protokollieren , zb apt-get update >> autoupdate.txt.

Es ist fraglich, wie gut es ist, dies zu tun!

Steji
quelle
Bei jeder Gelegenheit können Sie das Skript und / oder Informationen zur Durchführung dieser zeitgesteuerten Ereignisse weitergeben. Ich stelle mir vor, wenn der OP wüsste, wie das geht, hätte er nichts gepostet.
Phill Healey
1

Die Art of- Website enthält eine wunderbare Anleitung für Debian Wheezy, dass ich nur eine Zeile ändern musste, damit sie auf meinem Test-RPi funktioniert. Über den Link gelangen Sie zu Ihrem Reiseführer cron-apt. Das wurde unten mit Modifikation für das RPi-Repos-System erklärt.

Installieren Sie cron-apt

sudo apt-get install cron-apt

Standardkonfiguration, Aktionen und benutzerdefinierte Konfigurationen finden Sie mit

ls -hal /etc/cron-apt/config

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

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

Hängen Sie Folgendes an die /etc/cron-apt/configDatei mit sudo tee -aan, damit E-Mails mit ausführlichen Informationen zu den während der automatischen Aktualisierung ausgeführten Aktionen gesendet werden können

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

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

Die Protokollierung wird gespeichert in: /var/log/cron-apt/log

Erstellen Sie eine neue Aktionsdatei, um nur sicherheitsrelevante Pakete mit dem Befehl touch zu aktualisieren, und fügen Sie mit dem Befehl sudo tee eine Zeile hinzu. andere werden heruntergeladen, warten jedoch, bis sys-admin nicht sicherheitsrelevante Updates installiert hat. Alle Aktualisierungen und Ausgaben werden per E-Mail an den Root-Benutzer oder an sys-admin gesendet, damit weitere Überprüfungen und / oder Maßnahmen ergriffen werden können.

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

Erstellen Sie eine neue Konfigurationsdatei für die oben beschriebene Aktion. Verwenden Sie spicifficly /etc/apt/sources.list.d/security.listals Pfad für Sicherheitsupdates. Der Dateipfad kann auf Ihrem System abweichen, wenn er nicht vollständig auf Debian Linux basiert. RPi verwendet jetzt Mirror Director und /etc/apt/sources.listsollte stattdessen verwendet werden. Dies kann jedoch nicht für Server auf Produktionsebene empfohlen werden, da hierdurch auch nicht sicherheitsrelevante Updates aktualisiert werden.

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

Warten Sie einen Tag, cron-aptbis Ihr System aktualisiert ist, und überprüfen Sie die lokalen Protokolle wie folgt, um festzustellen, was während des Schlafens aktualisiert wurde

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

Dies wurde auf einem RPi getestet, um alle Pakete zu aktualisieren, sowie auf einem Unbuntu-PC, der nur sicherheitsrelevante Pakete aktualisiert. Ich bin der Meinung, dass dies eine der tragbareren Optionen ist. Das andere Paket für automatische Updates, das von grassroot vorgeschlagen wird (danke, ich werde es als nächstes testen), unattended-upgradesscheint eine weitere großartige Option zu sein, um den Update-Prozess zu automatisieren.

S0AndS0
quelle