List Upgradable Packages With apt Command in Ubuntu

Il apt command is used for package management in Debian and Ubuntu. While you are probably already familiar with the install and remove options, apt provides a few extra features as well.

One of them is the ability to see all the upgradable packages on your system. And to display them, all you have to do is to use this command in the terminal:

apt list --upgradable

As you can notice, you don’t even need sudo to list the updatable packages. It just lists the packages that can be updated. It doesn’t update them.

In fact, the apt command adds this hint when you run the sudo apt update command to update the local package repository cache.

Fetched 1,243 kB in 17s (71.4 kB/s)           
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.

I don’t recall any similar direct option in the older apt-get command to list all the upgradable packages. That’s one of the several new features apt has added on top of the older apt-get command.

Let’s talk about it in a bit more detail.

Elenco di tutti i pacchetti aggiornabili

What you should know here is that you only get to list the updates available through the APT package manager. So, if you have added PPAs or external repositories to your system’s sources.list, you’ll see the updates from them.

But you won’t get updates for AppImage, Flatpak, Snap or some other packaging formats here.

In other words, it works with apt packages only.

So, to list all the upgradable packages on your Ubuntu or Debian system, you should update the local package cache first:

sudo apt update

And then your system will be aware of the available package updates. The apt command tells you how many packages can be upgraded at the end of the update command:

The apt command shows the number of upgradable packages at the bottom of the apt update command outputThe apt command shows the number of upgradable packages at the bottom of the apt update command output
Il comando apt mostra il numero di pacchetti aggiornabili nella parte inferiore dell'output del comando apt update

Per vedere quale pacchetto può essere aggiornato, esegui il comando:

apt list --upgradable

Dovresti vedere un output come questo:

[email protected]:~$ apt list --upgradable 
Listing... Done
apparmor/jammy-updates 3.0.4-2ubuntu2.1 amd64 [upgradable from: 3.0.4-2ubuntu2]
brave-browser/stable 1.40.113 amd64 [upgradable from: 1.40.107]
evolution-data-server-common/jammy-updates,jammy-updates 3.44.2-0ubuntu1 all [upgradable from: 3.44.1-0ubuntu2]
evolution-data-server/jammy-updates 3.44.2-0ubuntu1 amd64 [upgradable from: 3.44.1-0ubuntu2]
Listing all the upgradable packages in UbuntuListing all the upgradable packages in Ubuntu
Elenco di tutti i pacchetti aggiornabili

esso elenca tutti i pacchetti aggiornabili in ordine alfabeticocon le informazioni sulla versione attualmente installata e sulla nuova versione del pacchetto disponibile.

brave-browser/stable 1.40.113 amd64 [upgradable from: 1.40.107]

Ad esempio, mostra che sul sistema è installata la versione 1.40.107 del browser Brave e che è disponibile la versione 1.40.113.

Cosa puoi fare con queste informazioni? Vorrei condividere alcune cose che mi vengono in mente.

Aggiorna tutti i pacchetti

Questo è probabilmente ciò che fanno gli utenti Ubuntu più occasionali. Puoi aggiornare tutti i pacchetti aggiornabili con il seguente comando:

sudo apt upgrade

Elenca quali pacchetti verranno aggiornati e quindi chiede di confermare l'aggiornamento premendo Invio o Y.

Upgrade all packages in Ubuntu with apt commandUpgrade all packages in Ubuntu with apt command
Aggiorna tutti i pacchetti

Se sei sicuro di aggiornare tutti i pacchetti, puoi saltare la parte "Vuoi continuare" dando il via libera aggiungendo -y al comando.

sudo apt upgrade -y

Simula un aggiornamento (ma non aggiornare alcun pacchetto)

Questo è ciò che si faceva prima del comando apt list. Con l'opzione di simulazione, in realtà non apporti alcuna modifica. Mostra semplicemente quali pacchetti verranno installati o aggiornati se esegui l'aggiornamento.

apt -s upgrade

Non è necessario utilizzare sudo (anche se l'ho usato nello screenshot qui sotto).

Running an upgrade simulation with apt command in UbuntuRunning an upgrade simulation with apt command in Ubuntu
Esecuzione di una simulazione di aggiornamento con il comando apt

Aggiorna solo i pacchetti selezionati

Se gestisci un server Ubuntu e non vuoi aggiornare tutti i pacchetti ma solo uno dei pochi selezionati (come MySQL/Ngnix), puoi farlo facilmente con il comando apt.

sudo apt --only-upgrade install package_name

In realtà, se esegui il comando apt install su un pacchetto già installato per il quale è disponibile un aggiornamento, il pacchetto verrà aggiornato.

Con il --only-upgradeflag, ti assicuri che un pacchetto venga aggiornato solo (se è già installato). Non installerà il pacchetto specificato se non è già installato.

Puoi anche aggiornare alcuni pacchetti selezionati fornendo il loro nome:

sudo apt --only-upgrade install package1 package2

Puoi anche fare il contrario econservare i pacchetti selezionati dall'aggiornamento.

sudo apt-mark hold package_name

Con ciò, il pacchetto specificato non verrà aggiornato quando si aggiornano tutti i pacchetti di sistema.

Puoi rimuovere il blocco con questo comando:

sudo apt-mark unhold package_name

Mostra gli aggiornamenti del kernel?

Questo è un po' complicato.

Quando esegui il comando 'apt list –upgradable' mostra tutti i pacchetti che possono essere aggiornati.

Ma se sono disponibili nuove versioni del kernel, queste potrebbero non essere mostrate poiché il nome del pacchetto del kernel inizia con linux-headers-xy. È perché il sistema li tratta come nuovi pacchetti, non come un aggiornamento del pacchetto linux-headers-ab già installato.

Tuttavia, vedrai comunque il tipo di pacchetto "linux-generic-hwe" nell'elenco dei pacchetti aggiornabili. Perché quel pacchetto verrà aggiornato (con il kernel più recente).

Conclusione

La possibilità di elencare i pacchetti aggiornabili è una delle numerose nuove funzionalità che il comando apt ha introdotto rispetto al vecchio comando apt-get. Per approfondire questo argomento puoi leggere il mio articolospiegando la differenza tra i comandi apt e apt-get.

Come utente desktop, non controllo sempre i pacchetti che possono essere aggiornati. Vado subito per l'aggiornamento. Tuttavia, quando gestisco un server, preferisco vedere quali aggiornamenti sono disponibili e poi decidere se effettuare o meno un aggiornamento.

E tu? Vedete un buon utilizzo di questa funzione per voi stessi?

Articolo originale