GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Blocca o impedisci l'aggiornamento di un pacchetto in Debian, Ubuntu

Come già sai, possiamo aggiornare tutti i pacchetti installati usando apt upgrade comando in Debian, Ubuntu e altri sistemi basati su Debian. Durante questo processo di aggiornamento, tutti i pacchetti installati verranno aggiornati, verranno installati alcuni pacchetti aggiuntivi (ad esempio le dipendenze) 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 automaticamente in Debian, Ubuntu e le sue varianti. In questa guida, discuteremo vari metodi per bloccare o impedire l'aggiornamento di un pacchetto in Debian, Ubuntu e suoi derivati ​​come Linux Mint e Pop!_OS.

Perché qualcuno dovrebbe voler impedire l'aggiornamento di un pacchetto?

Potresti chiederti perché qualcuno dovrebbe voler trattenere un pacchetto dall'aggiornamento apt. L'aggiornamento dei pacchetti all'ultima versione non ci aiuta a proteggere il sistema? Certo che si! Ma non vuoi farlo in determinate circostanze. Ecco alcuni motivi per impedire l'aggiornamento dei pacchetti:

  • Una versione corrente di un pacchetto funziona bene, quindi potresti pensare che non sia necessario aggiornarla.
  • Una versione particolare è richiesta da un'altra applicazione per funzionare correttamente.
  • Il pacchetto che stai per aggiornare potrebbe essere problematico. Anche se gli sviluppatori testano accuratamente i pacchetti prima di inserirli nei repository, a volte potrebbero inconsapevolmente inviare pacchetti instabili che interromperanno il tuo sistema.
  • Risparmio di larghezza di banda. Potresti non voler aggiornare un pacchetto che consuma più di 500 MB.

Quindi, qualunque sia il motivo, se hai mai voluto impedire a un pacchetto di modifiche nei sistemi Debian o Ubuntu, questo tutorial ti aiuterà.

Mantieni o impedisci l'aggiornamento di un pacchetto in Debian, Ubuntu

Possiamo impedire/mantenere/ignorare/escludere i pacchetti dall'aggiornamento di apt dalla riga di comando o utilizzando l'utilità di gestione dei pacchetti grafica chiamata Synaptic gestore di pacchetti.

Per prima cosa, vediamo i metodi della riga di comando!

1. Impedisci l'installazione, l'aggiornamento o la rimozione automatica di un pacchetto utilizzando il comando apt-mark in Debian, Ubuntu

Apt-mark viene utilizzato per mostrare, impostare e annullare l'impostazione di varie impostazioni per un pacchetto, ad esempio contrassegnare un pacchetto come installato automaticamente/manualmente o modificare dpkg selezioni come mantieni, installa, disinstalla e elimina che vengono rispettate, ad es. da apt-get dselect-upgrade o aptitude .

Per impedire che un pacchetto venga modificato (installa, disinstalla e aggiorna), il apt-mark command fornisce i seguenti tre sottocomandi:

  1. tieni
  2. sblocca
  3. showhold

La hold Il comando viene utilizzato per contrassegnare un pacchetto come trattenuto, impedendo che il pacchetto venga installato, aggiornato o rimosso automaticamente.

Il unhold Il comando viene utilizzato per annullare un blocco precedentemente impostato su un pacchetto per consentire nuovamente tutte le azioni.

E lo showhold comando viene utilizzato per visualizzare un elenco di pacchetti in attesa.

Vediamo un esempio. Ho intenzione di impedire un pacchetto (ad es. htop ) dall'essere installato, aggiornato o rimosso automaticamente utilizzando il comando:

$ sudo apt-mark hold htop

Risultato di esempio:

htop set on hold.

L'htop bloccato il pacchetto rimarrà la stessa versione anche dopo aver aggiornato il sistema.

Per mostrare i pacchetti in attesa, esegui:

$ sudo apt-mark showhold

Per sbloccare il pacchetto, esegui:

$ sudo apt-mark unhold htop

Risultato di esempio:

Canceled hold on htop.

Tieni presente che questo metodo non impedirà la rimozione manuale del pacco . Puoi comunque rimuovere i pacchetti bloccati usando apt-get remove <packagename> comando.

Questo metodo impedisce solo l'installazione, l'aggiornamento, l'aggiornamento o la rimozione automatica dell'applicazione durante l'aggiornamento del sistema. Tenere un pacchetto in realtà significa che stai dicendo al gestore del pacchetto di mantenere la versione corrente in ogni caso, anche se è disponibile una nuova versione . Questo trucco può essere molto utile mentre trattieni i driver grafici. È anche utile se la versione più recente di un programma attualmente funzionante si interrompe dopo un aggiornamento.

Ogni volta che provi ad aggiornare il sistema usando i comandi sudo apt-get update o sudo apt-get upgrade , i pacchetti contrassegnati saranno ancora la stessa versione nel momento in cui tieni il pacchetto.

Apt-mark non è l'unica utility CLI a prevenire le modifiche ai pacchetti in Debian o Ubuntu. Esistono altri due modi per mettere in attesa un pacchetto e sbloccarlo in un secondo momento dalla riga di comando.

2. Impedisci l'aggiornamento del pacchetto utilizzando dpkg in Debian, Ubuntu

Dpkg è l'utilità della riga di comando per installare, compilare, rimuovere e gestire i pacchetti Debian.

Per mettere un pacchetto, ad esempio htop , in attesa usando dpkg, esegui:

$ echo "htop hold" | sudo dpkg --set-selections

Puoi visualizzare lo stato del pacchetto che hai messo in attesa in precedenza, esegui:

$ dpkg --get-selections | grep "htop"
htop						hold

Come puoi vedere, htop è in attesa.

Per visualizzare lo stato di tutti i pacchetti, esegui:

$ dpkg --get-selections

Per sbloccare il pacco, fai:

$ echo "htop install" | sudo dpkg --set-selections

3. Conserva un pacchetto dall'aggiornamento usando aptitude in Debian, Ubuntu

Atteggiamento è un'interfaccia basata su testo per il sistema di pacchetti Debian GNU/Linux. Consente all'utente di eseguire varie attività di gestione dei pacchetti come l'installazione, l'aggiornamento, l'aggiornamento, l'elenco e la rimozione dei pacchetti.

Per mettere in attesa un pacchetto e impedirne l'aggiornamento automatico, esegui:

$ sudo aptitude hold htop

Per visualizzare lo stato del pacchetto, eseguire:

$ aptitude show htop

Risultato di esempio:

Package: htop                            
Version: 2.2.0-2build1
State: installed [held]
Automatically installed: no
Priority: optional
Section: utils
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Uncompressed Size: 225 k
Depends: libc6 (>= 2.15), libncursesw6 (>= 6), libtinfo6 (>= 6)
Suggests: lsof, strace
Description: interactive processes viewer
 Htop is an ncursed-based process viewer similar to top, but it allows
 one to scroll the list vertically and horizontally to see all processes
 and their full command lines. 
 
 Tasks related to processes (killing, renicing) can be done without
 entering their PIDs.
Homepage: https://hisham.hm/htop/

Come puoi vedere nell'output sopra, il pacchetto htop è sospeso dall'aggiornamento.

Per sbloccare il pacco, fai semplicemente:

$ sudo aptitude unhold htop

4. Impedisci l'installazione, l'aggiornamento o la rimozione automatica di un pacchetto utilizzando il gestore di pacchetti Synaptic in Debian, Ubuntu

Se hai synaptic gestore pacchetti installato sul tuo sistema, puoi facilmente impedire che un pacchetto venga installato, aggiornato, aggiornato o rimosso.

Apri Synaptic Manager e cerca il pacchetto che desideri conservare. Quindi fai clic su Pacchetto dalla barra dei menu e fai clic su tieni premuto .

Questo è tutto. Ora, il pacchetto non verrà toccato durante l'aggiornamento del sistema finché lo tieni in attesa.

Per sbloccarlo, vai su Synaptic -> Pacchetto -> Sblocca versione.

Se Synaptic Package Manager non è installato nel tuo sistema, puoi installarlo usando il comando:

$ sudo apt install synaptic

Conclusione

In questo tutorial, hai imparato come impedire che un pacchetto venga installato, aggiornato e rimosso automaticamente in sistemi basati su Debian come Ubuntu, Linux Mint e Pop! _OS ecc. Mentre trattenere i pacchetti può essere utile in alcuni casi, lo sarà anche lascia scappatoie di sicurezza nel tuo sistema Ubuntu. Bisogna sapere quando tenere o aprire i pacchi. Usa questa funzione con cautela. Buona fortuna!

Lettura correlata:

  • Come ignorare l'aggiornamento di un pacchetto in Arch Linux

Immagine in primo piano di erfouris studio da Pixabay.


Ubuntu
  1. Come disinstallare o rimuovere pacchetti software da Ubuntu

  2. Aggiornamento da Ubuntu 13.10 a Ubuntu 14.04

  3. Aggiornamento da Ubuntu 13.04 a Ubuntu 13.10

  4. Come eseguire l'aggiornamento a Ubuntu 15.10 da Ubuntu 15.04

  5. Come impedire l'aggiornamento di un pacchetto in Ubuntu, Debian o Linux Mint [APT]

Come creare pacchetti Debian dal sorgente

Come aggiornare da Ubuntu 20.04 a Ubuntu 22.04

3 modi per installare il software dai pacchetti .deb in Ubuntu

Come installare i pacchetti Deb in Ubuntu, Debian e Mint

Come escludere i pacchetti dall'aggiornamento di Apt-Get

Come rimuovere i pacchetti da Ubuntu e Debian