Capitolo 9. Mantenere il sistema Debian aggiornato

# Capitolo 9. Mantenere il sistema Debian aggiornato

Uno degli scopi di Debian è quello di fornire un coerente percorso di aggiornamento ed un sicuro processo di aggiornamento. Viene sempre fatto tutto il possibile per rendere semplice l'aggiornamento a nuovi rilasci. Nel caso ci siano note importanti da aggiungere al processo di aggiornamento, i pacchetti avvisano l'utente e spesso forniscono una soluzione ad un possibile problema.

Si dovrebbero inoltre leggere le Note di rilascio (Release Notes), documento che descrive i dettagli degli specifici aggiornamenti. È disponibile sul sito web Debian all'indirizzo https://www.debian.org/releases/stable/releasenotes e viene anche fornito sui CD, DVD e dischi Blu-Ray Debian.

## 9.1. Come si può mantenere il proprio sistema Debian aggiornato?

Si può semplicemente visitare un sito di archivio Debian, poi esplorare le directory fino a quando si trova il file desiderato, scaricarlo e finalmente installarlo usando `dpkg`. Si noti che `dpkg` installa i file aggiornati al volo, anche su un sistema in esecuzione. A volte, un pacchetto revisionato richiede l'installazione di una rinnovata versione di un altro pacchetto, in questo caso l'installazione fallisce fino a quando/a meno che l'altro pacchetto non venga installato.

Molte persone trovano questo approccio troppo dispendioso in termini di tempo, dato che Debian si evolve molto rapidamente: tipicamente, sono caricati ogni settimana una dozzina o più di nuovi pacchetti. Questo numero aumenta appena prima di un nuovo rilascio principale. Per gestire questa valanga, molte persone preferiscono usare un metodo più automatico. Sono disponibili diversi pacchetti a questo scopo:

### 9.1.1. aptitude

aptitude è il gestore di pacchetti raccomandato per i sistemi Debian GNU/Linux ed è descritto in Sezione 8.1.3, «aptitude».

Prima di poter usare aptitude per effettuare un aggiornamento, è necessario modificare il file `/etc/apt/sources.list` per configurarlo. Se si desidera aggiornare all'ultima versione stabile di Debian, probabilmente si vorrà usare una fonte simile a quella seguente:

    http://deb.debian.org/debian stable main contrib

The mirror https://deb.debian.org/ is backed by a content-delivery network and requests to it will be directed to the closest instance to you. If you have a faster Debian mirror close to you, you can replace deb.debian.org with that one. See the mirror list at https://www.debian.org/mirror/list for more information.

Oppure si può usare il servizio di ridirezionamento httpredir.debian.org che mira a risolvere il problema della scelta di un mirror Debian. Usa la posizione geografica dell'utente e altre informazioni per scegliere il mirror migliore che può servire i file. Per sfruttarlo usare una fonte simile alla seguente:

    http://httpredir.debian.org/debian stable main contrib

Ulteriori dettagli a questo proposito possono essere trovati nella pagina di manuale sources.list(5).

Per aggiornare il proprio sistema dalla riga di comando, eseguire

    aptitude update

seguito da

    aptitude full-upgrade

Rispondere a tutte le domande eventualmente poste e il sistema sarà aggiornato.

Notare che aptitude non è lo strumento raccomandato per aggiornare da un rilascio di Debian GNU/Linux ad un altro. Usare invece apt-get. Per gli aggiornamenti tra i rilasci si dovrebbero leggere le Note di rilascio. Tale documento descrive in dettaglio i passi raccomandati per aggiornare da rilasci precedenti, così come problemi conosciuti che devono essere presi in considerazione prima dell'aggiornamento.

Per i dettagli, vedere la pagina di manuale aptitude(8) e il file `/usr/share/aptitude/README`.

### 9.1.2. apt-get e apt-cdrom

Un'alternativa a aptitude è apt-get che è uno strumento a riga di comando basato su APT (descritto in precedenza in Sezione 8.1.2, «APT»).

apt-get, lo strumento a riga di comando basato su APT per gestire i pacchetti, fornisce un modo semplice e sicuro per installare ed aggiornare pacchetti.

Per usare apt-get, modificare il file `/etc/apt/sources.list` per configurarlo, proprio come per Sezione 9.1.1, «aptitude».

Poi eseguire

    apt-get update

seguito da

    apt-get dist-upgrade

Rispondere a tutte le domande eventualmente poste e il sistema sarà aggiornato. Vedere anche la pagina di manuale apt-get(8), oltre a Sezione 8.1.2, «APT».

Se si vogliono usare CD/DVD/BD per installare i pacchetti, si può usare apt-cdrom. Per dettagli, vedere nelle Note di rilascio (Release Notes) la sezione sull'aggiunta di fonti APT da supporti ottici.

Notare che quando si ottengono e si installano i pacchetti, li si ha ancora nella gerarchia di directory in /var. Per evitare che la propria partizione strabordi, ricordarsi di eliminare i file in più usando `apt-get clean` e `apt-get autoclean`, oppure di spostarli in qualche altro posto (consiglio: si usi `apt-move`).

## 9.2. È necessario entrare in modalità singolo-utente per aggiornare un pacchetto?

No. I pacchetti possono essere aggiornati al volo, anche su sistemi in esecuzione. Debian ha un programma `start-stop-daemon` che viene invocato per fermare e poi riavviare i processi in esecuzione, se necessario, durante l'aggiornamento di un pacchetto.

## 9.3. È necessario tenere tutti questi file di archivio .deb sul disco?

No. Se i file sono stati scaricati nel proprio disco, allora possono essere rimossi dal sistema dopo l'installazione dei pacchetti; lo si può fare ad esempio eseguendo `aptitude clean`.

## 9.4. Come si può tenere un registro dei pacchetti che sono stati aggiunti al sistema? Vorrei sapere quali aggiornamenti e rimozioni di pacchetti sono stati fatti!

Passare l'opzione `--log` a dpkg fa sì che dpkg registri i cambiamenti di stato, gli aggiornamenti e le azioni. Registra sia l'invocazione di dpkg (ad esempio

    2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4

) sia il risultato (ad esempio

    2005-12-30 18:10:35 status installed hello 2.1.1-4

). Se si desidera tenere un registro di tutte le proprie invocazioni di dpkg (anche quelle fatte attraverso frontend come aptitude), si può aggiungere

    log /var/log/dpkg.log

al proprio `/etc/dpkg/dpkg.cfg`. Assicurarsi che il file di registro creato venga periodicamente ruotato. Se si usa logrotate, questo può essere fatto creando un file `/etc/logrotate.d/dpkg` contenente le seguenti righe

    /var/log/dpkg {
      missingok
      notifempty
    }

Si possono trovare ulteriori dettagli sul registro di dpkg nella pagina di manuale dpkg(1).

aptitude tiene un registro delle installazioni, rimozioni e degli aggiornamenti di pacchetti che intende effettuare in `/var/log/aptitude`. Notare che in questo file non sono registrati i risultati di queste azioni.

Un altro modo di registrare le proprie azioni è di eseguire la propria sessione all'interno del programma script(1).

## 9.5. È possibile aggiornare automaticamente il sistema?

Sì. Si può usare cron-apt; questo strumento aggiorna il sistema ad intervalli regolari usando un compito cron. In modo predefinito aggiorna solamente l'elenco dei pacchetti e scarica i nuovi pacchetti, ma senza installarli.

Nota bene: l'aggiornamento automatico di pacchetti NON è raccomandato nei sistemi testing o unstable dato che potrebbe portare a comportamenti inattesi e rimuovere pacchetti senza preavviso.

## 9.6. Se si hanno svariate macchine come è possibile scaricare gli aggiornamenti una volta sola?

Se si ha più di una macchina Debian nella propria rete, è utile usare apt-cacher per mantenere aggiornati tutti i propri sistemi Debian.

apt-cacher riduce i requisiti in termini di banda per i mirror Debian, riducendo la frequenza degli aggiornamenti dei file Packages, Releases e Sources dal backend e scaricando ogni file una singola volta, indipendentemente dalle effettive richieste dal proxy. apt-cacher genera automaticamente un mirror HTTP Debian in base alle richieste che passano per il proxy.

Naturalmente si possono ottenere gli stessi benefici se si sta già usando un proxy standard con cache e se tutti i propri sistemi sono configurati per farne uso.

Capitolo 8. Gli strumenti di gestione dei pacchetti Debian |  | Capitolo 10. Debian e il kernel