Hoe stel ik mijn Raspberry Pi in om automatisch te updaten/upgraden?

Om op de hoogte te blijven van mijn Raspberry Pi, moet ik momenteel de sudo apt-get update en sudo apt-get upgrade intypen. Is er een manier om het in te stellen om dit automatisch te doen? Ik run Raspbian Jessie.

26

3 antwoord

in plaats van een handmatige cron, kunt u onbeheerde upgrades installeren, wat handig is om ervoor te zorgen dat de nieuwste kernels zijn geïnstalleerd. Het is meestal ontworpen voor beveiliging.

https://wiki.debian.org/UnattendedUpgrades

apt-get install unattended-upgrades

Er zijn enkele bits die kunnen worden aangepast/geconfigureerd, maar de standaard is prima.

39
toegevoegd
Voor mij was de standaard niet goed. Het heeft niets gedaan: het /var/log/unattended-upgrades/unattended-upgrades.log -bestand dat is gemeld Toegestane oorsprong is: [] dus eigenlijk was het niet eventuele updates binnenhalen. Na het bijwerken van /etc/apt/apt.conf.d/50unattended-upgrades om "origin = Raspbian, codename = $ {distro_codename}, label = Raspbian" & zwnj ;; updates begonnen binnen te komen.
toegevoegd de auteur Mark van der Loo, de bron
Mijn bottenbestand (vanaf september 2017) 50 onbewaakte upgrades lijsten "oorsprong = Debian, codenaam = $ {distro_codename}, label = Debian-Secu & zwnj; rity"; en het lijkt relevante pakketten correct te vinden. Natuurlijk negeert het veel van hen. Ik heb geen witte of zwarte lijsten ingesteld.
toegevoegd de auteur Benjamin Cuningham, de bron
De standaard 50 onbewaakte upgrades is inderdaad stom en moet hiervoor worden gewijzigd om op Raspian te werken. Er is geen Raspian-Security . Beveiligingsupdates zijn niet gelabeld. Het is belangrijk om zowel "origin = Raspbian, codenaam = $ {distro_codename}, label = Raspbian" & zwnj;; en "origin = Raspberry Pi Foundation, codenaam = $ {distro_codename} toe te voegen , label = Raspberry Pi Foundation "; naar /etc/apt/apt.conf.d/50unattended-upgrades
toegevoegd de auteur user643011, de bron

Typ in een terminal:

sudo su

Voor toegang tot een prompt op hoofdniveau. Voer vervolgens uit:

crontab -e

Om te beginnen met het bewerken van uw crontab, moet een tabel met taken op een bepaald moment automatisch worden uitgevoerd. Het wordt geopend in de teksteditor van uw voorkeur. Pas het aan zodat het de volgende regels bevat:

0 7 * * 1 apt update && apt upgrade -y

Om uw apps elke maandag om 7.00 uur automatisch bij te werken en te upgraden. Lees op crontab om te zien hoe u zich naar wens kunt aanpassen.

21
toegevoegd
het is waarschijnlijk beter om de commando's op dezelfde regel te zetten met && omdat ze gerelateerd zijn en er geen reden is om 'op te waarderen' als 'update' mislukt.
toegevoegd de auteur Joseph Harvey, de bron
Er mag geen sudo voorkomen; u bent overgeschakeld naar het root -account met behulp van su . De crontab van de superuser wordt uitgevoerd met superuser-rechten.
toegevoegd de auteur David Harris, de bron
dist-upgrade is beter dan upgrade , je zult eindigen met gebroken afhankelijkheden met alleen upgrade . U komt ook niet in de buurt van updates waarvoor dialoogbevestigingen nodig zijn. @ tedder42 wees op de methode van Debian (met onbewaakte upgrades ).
toegevoegd de auteur Stepan Mazurov, de bron
in crontab 0 betekent zondag, maar in je code heb je 1 geplaatst, zodat het commando zou worden uitgevoerd op maandag, niet op zondag
toegevoegd de auteur Jarod42, de bron
Je hebt de tweede sudo gemist na het toevoegen van de &&. Hoewel het toch in rootcrontab is.
toegevoegd de auteur user643011, de bron

U kunt cron-apt installeren en configureren. Installeer het als volgt:

apt-get install cron-apt

het hoofdconfiguratiebestand is/etc/cron-apt/config

Eén ding dat ik toevoeg aan mijn configuratie is:

MAILON="always"

dit zal elke keer dat het wordt uitgevoerd een e-mail sturen, niet alleen als er een fout optreedt.

Merk op dat de standaard setup niet automatisch de updates installeert (er zijn enkele goede redenen om dit niet te doen), maar je kunt het configureren om dit te doen. Een voordeel van dit programma ten opzichte van een eenvoudige cron-oplossing is dat het u controle geeft over wat er wordt geïnstalleerd (download alleen nieuwe pakketten, installeer beveiligingsupdates of installeer alle updates).

Om de tijd in te stellen, voert u het bestand /etc/cron.d/cron-apt uit.

You can find more info and config options here

Het pakket bevat zeer goede documentatie, maar het is gzipped. Om het bestand uit te pakken:

  1. maak een map om in te werken - mkdir cron-apt_documentation
  2. ga naar de nieuwe map - cd cron-apt_documentation
  3. kopieer het gecomprimeerde bestand - cp /usr/share/doc/cron-apt/README.gz. (let op de punt van de punt)
  4. pak het bestand uit - gunzip README.gz
  5. lees het bestand - cat README | minder
7
toegevoegd