Introduzione
Potrebbe essere necessario avere la possibilità di inserire nella blacklist un pacchetto o pacchetti multipli in modo tale che quando viene eseguito il comando di aggiornamento, questo ignori i pacchetti nella blacklist e installi il resto degli aggiornamenti nel sistema.
Bloccare l'aggiornamento di un pacchetto
Esistono quattro modi per trattenere i pacchetti: con dpkg
, apt
, aptitude
o dselect
.
dpkg
Metti un pacchetto in attesa con il seguente comando:
echo "<package-name> hold" | sudo dpkg --set-selections
Rimuovi la sospensione:
echo "<package-name> install" | sudo dpkg --set-selections
Visualizza lo stato dei tuoi pacchetti:
dpkg --get-selections
Visualizza lo stato di un singolo pacchetto:
dpkg --get-selections | grep "<package-name>"
apt
Tenere un pacchetto:
sudo apt-mark hold <package-name>
Rimuovi la sospensione:
sudo apt-mark unhold <package-name>
Mostra tutti i pacchetti in attesa:
sudo apt-mark showhold
dselect
Con dselect, accedi alla schermata [S]elect, trova il pacchetto che desideri conservare nel suo stato attuale e premi =
o H
. Le modifiche diventeranno effettive immediatamente dopo essere usciti dalla schermata [S]elect.
I seguenti approcci sono limitati in quanto il blocco/mantenimento (locking/holding) di un pacchetto all'interno di aptitude o synaptic non influenza apt-get/apt.
aptitude
Bloccare (hold) un pacchetto:
sudo aptitude hold <package-name>
Rimuovi la sospensione:
sudo aptitude unhold <package-name>
Bloccare con Synaptic Package Manager
In alternative è possibile bloccare l'aggiornamento di un pacchetto specifico utilizzando il Gestore pacchetti Synaptic.
Vai in Gestore pacchetti Synaptic (Sistema> Amministrazione> Gestore pacchetti Synaptic).
Fai clic sul pulsante di ricerca e digita il nome del pacchetto.
Quando trovi il pacchetto, selezionalo e vai al menu Pacchetto e seleziona Blocca versione.
Quel pacchetto ora non verrà mostrato nel gestore aggiornamenti e non verrà aggiornato.
Conclusione
In questo articolo abbiamo visto come bloccare l'aggiornamento, quindi inserirlo in una blacklist, di un pacchetto su Linux.