Articles

Aggiornare e aggiornare Raspberry Pi OS

Posted on

Questa sezione copre come distribuire gli aggiornamenti software ai dispositivi che eseguono Raspberry Pi OS.

Prima di andare avanti, cerchiamo di capire perché mantenere aggiornati i nostri dispositivi è importante.

La prima e probabilmente la più importante ragione è la sicurezza. Un dispositivo con Raspberry Pi OS contiene milioni di linee di codice su cui si fa affidamento. Nel corso del tempo, questi milioni di linee di codice esporranno vulnerabilità note come Common Vulnerabilities and Exposures (CVE), che sono documentate in database pubblicamente disponibili, il che significa che sono facili da sfruttare. Ecco un esempio di un recente CVE trovato in KODI che fornisce un po’ più di comprensione su quali informazioni sono disponibili nel database e come i CVE sono tracciati. L’unico modo per mitigare questi exploit come utente di Raspberry Pi OS è quello di mantenere il vostro software aggiornato, in quanto i repository upstream tracciano i CVE da vicino e cercano di mitigarli rapidamente.

La seconda ragione, che è collegata alla prima, è che il software che state eseguendo sul vostro dispositivo contiene quasi certamente dei bug. Alcuni bug sono CVE, ma i bug potrebbero anche influenzare la funzionalità desiderata senza essere collegati alla sicurezza. Mantenendo il vostro software aggiornato, state abbassando le possibilità di colpire questi bug.

APT (Advanced Packaging Tool)

Per aggiornare il software in Raspberry Pi OS, potete usare lo strumento apt in un terminale. Aprite una finestra di terminale dalla barra delle applicazioni o dal menu delle applicazioni:

Terminale

Prima di tutto, aggiornate la lista dei pacchetti del vostro sistema inserendo il seguente comando:

sudo apt update

In seguito, aggiornate tutti i vostri pacchetti installati alle loro ultime versioni con il seguente comando:

sudo apt full-upgrade

Nota che full-upgrade è usato al posto di un semplice upgrade, in quanto raccoglie anche le modifiche alle dipendenze che possono essere state fatte.

In generale, fare questo regolarmente manterrà la vostra installazione aggiornata per la particolare release principale di Raspberry Pi OS che state usando (ad esempio Stretch). Non aggiornerà da una major release all’altra, per esempio, da Stretch a Buster.

Tuttavia, ci sono occasionali cambiamenti fatti nell’immagine di Raspberry Pi OS della Fondazione che richiedono un intervento manuale, per esempio un nuovo pacchetto introdotto. Questi non vengono installati con un aggiornamento, poiché questo comando aggiorna solo i pacchetti già installati.

Aggiornamento del kernel e del firmware

Il kernel e il firmware sono installati come pacchetto Debian, e quindi riceveranno aggiornamenti anche quando si usa la procedura sopra. Questi pacchetti sono aggiornati raramente e dopo test approfonditi.

Fuori spazio

Quando si esegue sudo apt full-upgrade, verrà mostrato quanti dati verranno scaricati e quanto spazio occuperanno sulla scheda SD. Vale la pena controllare con df -h che abbiate abbastanza spazio libero su disco, poiché purtroppo apt non lo farà per voi. Siate anche consapevoli che i file dei pacchetti scaricati (.deb file) sono tenuti in /var/cache/apt/archives. Puoi rimuoverli per liberare spazio con sudo apt cleansudo apt-get clean nelle vecchie versioni di apt).

Aggiornamento da Stretch a Buster

Avviso: Aggiornare un’immagine Stretch esistente è possibile, ma non è garantito che funzioni in ogni circostanza e non lo raccomandiamo. Se vuoi provare ad aggiornare un’immagine Stretch a Buster, ti consigliamo vivamente di fare prima un backup – non possiamo accettare alcuna responsabilità per la perdita di dati da un aggiornamento fallito.

Per aggiornare, prima modifica i file /etc/apt/sources.list e /etc/apt/sources.list.d/raspi.list. In entrambi i file, cambiare ogni occorrenza della parola stretch in buster. (Entrambi i file richiederanno sudo per essere modificati.)

Poi aprite una finestra di terminale ed eseguite:

sudo apt updatesudo apt -y dist-upgrade

Rispondete ‘sì’ a qualsiasi richiesta. Ci potrebbe anche essere un punto in cui l’installazione va in pausa mentre una pagina di informazioni viene mostrata sullo schermo – tenete premuto il tasto spazio per scorrere tutto questo e poi premete q per continuare.

Infine, se non state usando PulseAudio per qualcosa di diverso dall’audio Bluetooth, rimuovetelo dall’immagine inserendo:

sudo apt -y purge "pulseaudio*"

Se passate a un nuovo modello di Pi (per esempio il Pi 3B+), potreste anche aver bisogno di aggiornare il kernel e il firmware usando le istruzioni di cui sopra.

Soluzioni di terze parti

Questa sezione affronta i motivi per cui soluzioni di terze parti possono essere interessanti e perché apt non è ottimale per tutte le situazioni. Raspberry Pi non raccomanda alcuno specifico strumento di terze parti. I potenziali utenti dovrebbero determinare lo strumento più adatto alle loro particolari esigenze.

Apt è un modo conveniente per aggiornare il software del vostro dispositivo con Raspberry Pi OS, ma la limitazione di questo metodo diventa evidente quando si ha un grande gruppo di dispositivi da aggiornare, e soprattutto quando non si ha accesso fisico ai vostri dispositivi e quando sono distribuiti geograficamente.

Se non avete accesso fisico ai vostri dispositivi e volete distribuire aggiornamenti non presidiati Over-The-Air (OTA), ecco alcuni requisiti generali:

  • L’aggiornamento non deve in nessun caso rompere (“brick”) i dispositivi, ad es.g se l’aggiornamento viene interrotto (perdita di potenza, perdita di rete, ecc.), il sistema dovrebbe ricadere in uno stato funzionante
  • L’aggiornamento deve essere atomico: aggiornamento riuscito o aggiornamento fallito; niente nel mezzo che possa risultare in un dispositivo ancora “funzionante” ma con un comportamento indefinito
  • L’aggiornamento deve essere in grado di installare immagini/pacchetti che sono firmati crittograficamente, impedendo a terzi di installare software sul dispositivo
  • L’aggiornamento deve essere in grado di installare aggiornamenti utilizzando un canale di comunicazione sicuro

Purtroppo apt manca delle caratteristiche di robustezza, vale a dire.cioè atomicità e fall-back. Questo è il motivo per cui hanno iniziato ad apparire soluzioni di terze parti che cercano di risolvere i problemi che devono essere affrontati per distribuire aggiornamenti OTA non presidiati.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *