Al momento, per aggiornare le cose sul mio Raspberry Pi, devo digitare sudo apt-get update
e sudo apt-get upgrade
. C'è un modo per configurarlo per farlo automaticamente? Sto gestendo Raspbian Jessie.
Al momento, per aggiornare le cose sul mio Raspberry Pi, devo digitare sudo apt-get update
e sudo apt-get upgrade
. C'è un modo per configurarlo per farlo automaticamente? Sto gestendo Raspbian Jessie.
Risposte:
invece di un cron manuale, è possibile installare unattended-upgrades
, il che è utile per assicurarsi che siano installati i kernel più recenti. È principalmente progettato per la sicurezza.
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
Ci sono alcuni bit che possono essere regolati / configurati, ma il valore predefinito va bene.
50unattended-upgrades
elenca "origin=Debian,codename=${distro_codename},label=Debian-Security";
e sembra trovare correttamente i pacchetti pertinenti. Naturalmente ignora molti di loro. Non ho creato alcuna lista bianca o nera.
50unattended-upgrades
è davvero stupida e deve essere modificata affinché funzioni su Raspian. Non c'è Raspian-Security
. Gli aggiornamenti di sicurezza non sono etichettati. E 'importante aggiungere sia "origin=Raspbian,codename=${distro_codename},label=Raspbian";
e "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
per/etc/apt/apt.conf.d/50unattended-upgrades
In un terminale, digitare:
sudo su
Per accedere a un prompt a livello di root. Quindi, esegui:
crontab -e
Per iniziare a modificare il tuo crontab, una tabella di attività da eseguire automaticamente in un determinato momento. Si aprirà nel tuo editor di testo preferito. Modificalo per includere le seguenti righe:
0 7 * * 1 apt update && apt upgrade -y
Per aggiornare e aggiornare automaticamente le tue app alle 7:00 ogni lunedì. Leggi su crontab per vedere come adattarti a tuo piacimento.
&&
poiché sono correlati e non c'è motivo di fare 'upgrade' se 'update' fallisce.
0
significa domenica ma nel tuo codice hai inserito in 1
modo che il comando venga eseguito lunedì, non domenica
dist-upgrade
è meglio di upgrade
, finirai con dipendenze rotte usando solo upgrade
. Inoltre, non otterrai aggiornamenti che richiedono conferme nella finestra di dialogo. @ tedder42 ha sottolineato il metodo preferito da Debian (usando unattended-upgrades
).
sudo
lì dentro; sei passato root
all'account utilizzando su
. Il crontab del superutente è gestito con privilegi di superutente.
È possibile installare e configurare cron-apt. Installalo procedendo come segue:
apt-get install cron-apt
il file di configurazione principale è / etc / cron-apt / config
Una cosa che aggiungo alla mia configurazione è:
MAILON="always"
questo invierà un'e-mail ogni volta che viene eseguito, non solo se si verifica un errore.
Si noti che l'installazione predefinita non installerà automaticamente gli aggiornamenti (ci sono alcuni buoni motivi per non farlo), ma è possibile configurarlo per farlo. Un vantaggio offerto da questo programma rispetto a una semplice soluzione cron è che ti dà il controllo su ciò che viene installato (scarica solo nuovi pacchetti, installa aggiornamenti di sicurezza o installa tutti gli aggiornamenti).
Per impostare il tempo di esecuzione, modifica il file /etc/cron.d/cron-apt.
Puoi trovare maggiori informazioni e opzioni di configurazione qui
Il pacchetto include un'ottima documentazione, tuttavia è compresso con gzip. Per estrarre il file:
Nella sua configurazione predefinita, unattended-upgrades
è rotto in Raspbian Buster. Non installerà aggiornamenti cruciali per il kernel e altri software. Le tue opzioni sono:
Opzione consigliata:
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
Per aggiornamenti di sicurezza più rapidi (ma meno stabilità, poiché i pacchetti non sono stati approvati per rasbian), è possibile aggiungere i pacchetti debian-security ad 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
Probabilmente dovrai installare nuove chiavi apt per il repository debian .
Altre opzioni:
Aggirare il problema usando cron-apt:
sudo apt install cron-apt
Altri modi per aggirare il problema.
Si consiglia di utilizzare gli aggiornamenti automatici e correggere il pacchetto, poiché è più adatto allo scopo. Cron-apt è la tua seconda opzione migliore, perché è progettata anche per uno scopo simile. Non sono sicuro che uno dei due possa riavviare automaticamente il sistema dopo un aggiornamento del kernel. Gli aggiornamenti non presidiati di solito hanno questa opzione, ma non sono sicuro che funzioni con la correzione sopra.
/var/log/unattended-upgrades/unattended-upgrades.log
file riportavaAllowed origins are: []
così sostanzialmente che non stava/etc/apt/apt.conf.d/50unattended-upgrades
inserendo alcun aggiornamento. Dopo l'aggiornamento per includere gli"origin=Raspbian,codename=${distro_codename},label=Raspbian";
aggiornamenti ha iniziato a entrare.