[GUIDA] Come impedire l'update di un package su Ubuntu / Debian
Grazie al comando apt upgrade
è molto semplice aggiornare tutti i pacchetti installati su Debian, Ubuntu e sulle varie derivate. Lanciando questo comando, tutti i pacchetti presenti nel sistema (e le relative dipendenze) verranno aggiornati e alcuni pacchetti non necessari verranno eliminati. Il gestore di pacchetti Apt fa tutte queste cose automaticamente per aiutare gli utenti a mantenere un sistema pulito. Apt ha anche un’opzione per impedire che un pacchetto venga installato, aggiornato o rimosso. In questa breve guida, vi mostro come impedire l’aggiornamento di un pacchetto.
Perché NON aggiornare?
Se vi state chiedendo perché dovremmo evitare un aggiornamento sappiate che i motivi non mancano. Ad esempio c’è chi con il PC ci lavora e spesso tende a evitare (o posticipare) l’ultimissimo aggiornamento di un software, o di driver, per non incorrere in bug, crash o problemi. Talvolta una particolare versione di un programma è richiesta da un’altra applicazione affinché possa funzionare correttamente. Anche se gli sviluppatori testano accuratamente i pacchetti prima di inserirli nei repository qualche incompatibilità può sempre sfuggire. Insomma, i motivi per rimandare un aggiornamento non mancano di certo, vediamo come procedere!
Apt-mark su Ubuntu, Debian e derivate
apt-mark
fa parte del pacchetto apt e permette di visualizzare e modificare lo stato dei pacchetti installati nel sistema, in particolare se sono stati installati in automatico (stato: auto) o manualmente (stato: manual), e se futuri aggiornamenti sono bloccati (stato: hold) oppure no.
In particolare, per prevenire l’aggiornamento di un package, ci interessano i comandi hold
,
unhold
e showhold
.# apt-mark hold pacchetto1 pacchetto2 ... pacchettoN
L’output sarà il seguente: nomepacchetto set on hold
, eccolo in azione su Ubuntu 20.10 Groovy Gorilla:
Mettere un pacchetto in hold significa comunicare al gestore dei pacchetti che quel pacchetto non va toccato. Questo trucco può essere molto utile, ad esempio, per evitare di aggiornare i driver grafici.
Questo comando previene l’aggiornamento e la rimozione di tutti i pacchetti specificati, marcandoli come hold. Come fare per rimuovere il blocco dell’aggiornamento?
# apt-mark unhold pacchetto1 pacchetto2 ... pacchettoN
Unhold rimuove il blocco sull’aggiornamento dei pacchetti, togliendo lo stato hold, se precedentemente impostato.
apt-mark showhold
Elenca in ordine alfabetico tutti i pacchetti installati sul sistema per i quali sono impediti futuri aggiornamenti.
I comandi
showauto
, showmanual
e showhold
si limitano a listare i pacchetti del sistema secondo i criteri scelti. Possono essere usati con degli argomenti, per specificare l’insieme di pacchetti tra cui limitare la selezione degli stati desiderati.$ apt-mark showhold
Elenca tutti i package installati sul sistema per i quali sono impediti gli aggiornamenti.
$ apt-mark showauto nomepacchetto
restituisce nomepacchetto soltanto se è stato installato in automatico.
apt-mark showmanual
Elenca i pacchetti installati manualmente.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.