Ricerca nel sito web

Come disabilitare/bloccare o inserire nella lista nera gli aggiornamenti dei pacchetti utilizzando lo strumento Apt


APT significa Advanced Packaging Tool è un altro gestore di pacchetti presente sui sistemi basati su Linux. Inizialmente progettato come front-end per dpkg per lavorare con i pacchetti .deb, apt è riuscito a mostrare la sua visibilità su Mac OS, Open Solaris ecc.

Vuoi imparare e padroneggiare i comandi APT e DPKG per gestire la gestione dei pacchetti Debian, quindi utilizza i nostri articoli approfonditi che tratteranno più di 30+ > esempi su entrambi gli strumenti.

In questo articolo vedremo varie tecniche per disabilitare/bloccare i pacchetti dall'installazione, aggiornamento e rimozione in Debian Linux e le sue derivate come Ubuntu e Linux Mint.

1. Disabilita/Blocca il pacchetto utilizzando "apt-mark" con l'opzione hold/unhold

Il comando apt-mark contrassegnerà o deseleziona un pacchetto software come installato automaticamente e viene utilizzato con l'opzione hold o unhold.

  1. hold: questa opzione viene utilizzata per contrassegnare un pacchetto come trattenuto, impedendone l'installazione, l'aggiornamento o la rimozione.
  2. rimuovi: questa opzione viene utilizzata per rimuovere un blocco precedentemente impostato su un pacchetto e consentire l'installazione, l'aggiornamento e la rimozione del pacchetto.

Ad esempio, per rendere un pacchetto apache2 non disponibile per l'installazione, l'aggiornamento o la disinstallazione, è possibile utilizzare il seguente comando sul terminale con privilegi di root:

apt-mark hold apache2

Per rendere questo pacchetto disponibile per l'aggiornamento, sostituisci semplicemente "hold" con "unhold".

apt-mark unhold apache2

Blocco degli aggiornamenti dei pacchetti utilizzando il file delle preferenze APT

Un altro modo per bloccare gli aggiornamenti di un pacchetto specifico è aggiungere la sua voce in /etc/apt/preferences o /etc/apt/preferences.d/official-package-repositories.preffile. Questo file ha la responsabilità di aggiornare o bloccare determinati aggiornamenti del pacchetto in base alla priorità specificata dall'utente.

Per bloccare il pacchetto ti basterà inserirne il nome, le funzionalità aggiuntive e la priorità a cui vuoi portarlo. In questo caso, la priorità < 1 bloccherebbe il pacchetto.

Per bloccare qualsiasi pacchetto, inserisci semplicemente i suoi dettagli nel file /etc/apt/preferences in questo modo:

Package: <package-name> (Here, '*' means all packages)
Pin: release *
Pin-Priority: <less than 0>

Ad esempio, per bloccare gli aggiornamenti per il pacchetto apache2 aggiungere la voce come mostrato:

Package: apache2
Pin: release o=Ubuntu
Pin-Priority: 1

Possiamo utilizzare altre opzioni con release key per identificare ulteriormente il pacchetto su cui stiamo applicando la Pin Priority. Queste parole chiave sono:

  1. a -> Archivio
  2. c -> Componente
  3. o -> Origine
  4. l -> Etichetta
  5. n -> Architettura

Piace :

Pin: release o=Debian,a=Experimental

Significherebbe estrarre il pacchetto indicato dall'archivio sperimentale del pacchetto Debian.

Inserire nella blacklist un aggiornamento del pacchetto utilizzando APT Autoremove File

Un altro modo per inserire nella lista nera un pacchetto dall'installazione è aggiornare la sua voce in uno dei file contenuti nella directory /etc/apt/apt.conf.d/ che è 01autoremove.

Il file di esempio è mostrato di seguito:

APT
{
  NeverAutoRemove
  {
        "^firmware-linux.*";
        "^linux-firmware$";
  };

  VersionedKernelPackages
  {
        # linux kernels
        "linux-image";
        "linux-headers";
        "linux-image-extra";
        "linux-signed-image";
        # kfreebsd kernels
        "kfreebsd-image";
        "kfreebsd-headers";
        # hurd kernels
        "gnumach-image";
        # (out-of-tree) modules
        ".*-modules";
        ".*-kernel";
        "linux-backports-modules-.*";
        # tools
        "linux-tools";
  };

  Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
  };
};

Ora, per inserire nella lista nera qualsiasi pacchetto, devi solo inserire il suo nome in Never-MarkAuto-Sections. Basta inserire il nome del pacchetto alla fine in Never-MarkAuto-Section e salvare e chiudere il file. Ciò bloccherebbe la ricerca di ulteriori aggiornamenti di quel pacchetto.

Ad esempio, per inserire nella lista nera un pacchetto in fase di aggiornamento, aggiungere la voce come mostrato:

Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
        "apache2*";
  };
};

Selezione del pacchetto personalizzato per l'aggiornamento

Un'altra alternativa è scegliere cosa si desidera aggiornare. Lo strumento apt ti dà la libertà di scegliere cosa vuoi aggiornare, ma per questo dovresti essere a conoscenza di quali tutti i pacchetti sono disponibili per l'aggiornamento.

Per una cosa del genere, la seguente serie di comandi può rivelarsi utile:

a. Per elencare quali pacchetti hanno aggiornamenti in sospeso.

apt-get -u -V upgrade

b. Per installare solo pacchetti selettivi.

apt-get --only-upgrade install <package-name>

Conclusione

In questo articolo, abbiamo spiegato alcuni modi per disabilitare/bloccare o inserire nella lista nera gli aggiornamenti dei pacchetti utilizzando il metodo APT. Se conosci qualche altro modo preferito, faccelo sapere tramite commenti o se stavi cercando il comando yum per disabilitare/bloccare l'aggiornamento del pacchetto, quindi leggi questo articolo di seguito.