Come posso mantenere aggiornato il mio "Wheezy" di Raspbian?


45

Esiste una sorta di strumento di aggiornamento per il mio pacchetto Raspbian Debian 7 (Wheezy)?

Ho installato phpe lighttpd, e voglio mantenere quelli aggiornati automaticamente per quando vengono rilevati dei bug.

Risposte:


48

Devi inserire alcuni comandi nella riga di comando. Prima di tutto:

apt-get update  

(questo aggiornerà le fonti del software)

apt-get upgrade  

(questo aggiornerà tutto all'ultima versione)


È tutto qui? Aggiornerà tutto ciò che ho installato tramite apt-get, incluso l'Os stesso?
Michel,

1
Il "SO stesso" è il kernel linux, sì. La prima volta che lo fai, ci saranno probabilmente un sacco di aggiornamenti poiché il repository conterrà solitamente pacchetti più recenti rispetto all'immagine di installazione.
Riccioli d'oro

Tutto ciò che proviene dal repository apt, cioè. Che normalmente è tutto tranne i tuoi dati, ma potrebbe non includere ad esempio il kernel o il bootloader in questo caso. Se hai scaricato materiale da altre parti o ne hai creato uno tuo, ovviamente non può essere aggiornato automaticamente :)
XTL

Sì, questo è tutto. Potrebbe essere necessario rispondere alla domanda sì / no occasionale per software più grandi, ma in pratica è così semplice.
recantha,

1
@Michel: A volte "il sistema operativo linux" è più ampiamente definito "GNU / Linux" che include il kernel ("linux" in senso stretto) e le basi dello spazio utente come la libreria C, la shell, ecc., Che sono sotto l'ombrello GNU. Con Windows, tutte queste parti sono immutabilmente integrate, mentre il mondo Linux è più eterogeneo e modulare, quindi può esserci un po 'di confusione. Avrei preso "OS" qui per fare riferimento alla debian wheezy distro (incluso il kernel), ma sembravi fare riferimento a qualcosa di più specifico.
riccioli d'oro

41

Il unattended-upgradespacchetto è il modo per automatizzare l'aggiornamento del sistema operativo in queste distribuzioni della famiglia debian. Segui le istruzioni che trovi qui .

Fondamentalmente devi installare il pacchetto:

sudo apt-get install unattended-upgrades

e aggiungere a /etc/apt/apt.conf.d/10periodicquanto segue:

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

Inoltre (poiché sembra che il porting del pacchetto non sia stato impeccabile), cambia la seguente riga nella prima sezione di /etc/apt/apt.conf.d/50unattended-upgrades:

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

per

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

Ora il tuo sistema si mantiene automaticamente aggiornato.


3
L'ultimo passaggio (sostituzione origin=Debian) non è più necessario nell'ultima distribuzione di Raspbian.
Dolph,

Su Raspbian Wheezy, oggi, sembra essere ancora necessario come, ad esempio:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije,

Oops, ho letto male. Sì, origin=Raspbianè ancora necessario nel file di configurazione ma, no, non è più necessario farlo da soli, scusa ...
astorije,

26

dist:

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

Rpi-update prima volta: installa git e le certificazioni per raggiungere 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

aggiorna firmware

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

Aggiornamento RPI dopo:

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

RPI-update


5

rpi-update ora può essere scaricato direttamente tramite apt-get, quindi non sarebbe necessario occuparsi di Wget . Quindi ecco ora il modo aggiornato:

dist:

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

È necessario riavviare Raspberry Pi ora, altrimenti il ​​nuovo kernel non verrebbe utilizzato!

Rpi-update prima volta: installa Git e le certificazioni per raggiungere GitHub .

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

Aggiorna firmware

$ sudo rpi-update
$ sudo reboot

RPI-update


3

Potresti anche scrivere un piccolo script con i tuoi passaggi apt-get lì dentro ed eseguirlo secondo una pianificazione una volta al giorno / per quanto spesso ti piaccia, è quello che ho fatto.

Come impostare un cron job sul Pi:

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

Come scrivere uno script bash:

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

La mia sceneggiatura era solo una semplice

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

e l'ho registrato registrando l'output in un file con >>alla fine di ogni riga, ad es apt-get update >> autoupdate.txt.

È discutibile su quanto sia buona l'idea di farlo però!


Ogni possibilità di condividere lo script e / o le informazioni su come eseguire questi eventi a tempo. Immagino che se l'OP avesse saputo farlo, non avrebbe pubblicato.
Phill Healey,

1

L'Arte del sito Web ha una guida meravigliosa per Debian Wheezy che ho dovuto modificare solo una riga per farlo funzionare sul mio RPi di prova. Il link ti porterà alla loro guida cron-apt; che è stato parafrasato di seguito con la modifica del sistema di repository RPi spiegato.

Installa cron-apt

sudo apt-get install cron-apt

Configurazione predefinita, azioni e configurazioni personalizzate sono disponibili con

ls -hal /etc/cron-apt/config

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

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

Aggiungi quanto segue al /etc/cron-apt/configfile con sudo tee -aper abilitare l'invio di e-mail con informazioni verbos sulle azioni intraprese durante l'aggiornamento automatico

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

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

La registrazione viene scaricata su: /var/log/cron-apt/log

Crea un nuovo file di azioni per aggiornare solo i pacchetti relativi alla sicurezza con il comando touch e aggiungi una riga con il comando sudo tee; altri verranno scaricati ma attendono che sys-admin installi aggiornamenti non di sicurezza. Gli allarmi di aggiornamenti e output verranno inviati via e-mail all'utente root o all'amministratore di sistema per ulteriori revisioni e / o azioni da intraprendere.

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

Crea un nuovo file di configurazione da utilizzare sopra l'azione; usando in modo speciale /etc/apt/sources.list.d/security.listcome percorso per gli aggiornamenti di sicurezza. Il percorso del file potrebbe differire sul tuo sistema se non completamente basato su Debian Linux; RPi ora utilizza il mirror director, quindi /etc/apt/sources.listdovrebbe essere usato, tuttavia, questo non può essere consigliato per i server a livello di produzione perché aggiornerà anche gli aggiornamenti non di sicurezza.

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

Attendi un giorno per cron-aptaggiornare il tuo sistema e controlla i registri locali con quanto segue per vedere cosa è stato aggiornato mentre dormivi

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

Questo è stato testato su un RPi per funzionare per l'aggiornamento di ogni pacchetto e di un PC Unbuntu che aggiorna solo i pacchetti relativi alla sicurezza. Quindi penso che sia una delle opzioni più portatili disponibili. L'altro pacchetto per gli aggiornamenti automatici, suggerito da grassroot (grazie, lo unattended-upgradestesterò dopo), sembra un'altra ottima opzione per automatizzare il processo di aggiornamento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.