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:
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]
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.
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).
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-upgrade
flag, 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?