Debian e derivate: differenza fra upgrade e dist-upgrade

recycle-147287_640

Parlando con un amico ci siamo trovati in disaccordo circa il corretto comando per l'aggiornamento della nostra distribuzione da linea di comando: upgrade o dist-upgrade?

Tralasciando il poco condivisibile "se funziona non aggiornare", ci siamo resi conto che nessuno dei due aveva chiarissima la differenza fra i due comandi:

sudo apt upgrade e sudo apt dist-upgrade

Documentandomi ho scoperto la vera differenza.

apt upgrade

Aggiorna tutti i pacchetti sul sistema all'ultima versione disponibile. Per ogni pacchetto presente cerca di installare la versione più recente disponibile, se però questa nuova versione dipende da un pacchetto non installato, verrà mantenuta la versione corrente.

apt dist-upgrade

Tutti i pacchetti della distribuzione vengono portati alla versione più recente, risolvendo eventuali dipendenze. Differentemente dal precedente se un pacchetto dipende da un altro non installato la dipendenza viene risolta installandolo.

Conclusioni

Qual è il migliore? Come sempre dipende tutto dalle nostre esigenze. Se vogliamo pacchetti aggiornati ma non ci piace avere una distribuzione "sporca" ci conviene utilizzare apt upgrade, se invece pensiamo prima o poi di passare da una versione all'altra e/o vogliamo tutti i pacchetti aggiornati comprensivi di nuove funzioni, utilizzeremo apt dist-upgrade. Il primo comando di solito è consigliato sui server.

Nota: in caso di passaggio di versione manuale dist-upgrade è indispensabile.