GNU/Linux >> Linux Esercitazione >  >> Linux

4 modi per disabilitare/bloccare alcuni aggiornamenti del pacchetto utilizzando il comando Yum

Gestione pacchetti è un software che consente a un utente in caso di installazione di nuovo software, aggiornamento del sistema o aggiornamento di software specifico e cose del genere. Nel caso di sistemi basati su Linux in cui un software ha molte dipendenze che devono essere presenti sul sistema per un'installazione completa di quel software, tale software come un gestore di pacchetti diventa uno strumento molto necessario su ogni sistema.

Ogni distribuzione Linux viene fornita con il suo gestore di pacchetti predefinito per le funzionalità sopra indicate, ma di tutte queste più trovate sono:yum su RHEL e Fedora sistemi (dove è attualmente in fase di sostituzione con DNF da Fedora 22+ in poi) e apt da Debian.

Se stai cercando APT strumento per bloccare o disabilitare determinati aggiornamenti di pacchetti specifici, dovresti leggere questo articolo.

Disattiva/Blocca o inserisci nella lista nera l'aggiornamento del pacchetto Certian tramite APT

No o Danificato yum sta sostituendo yum su Fedora sistemi che è un altro nella nostra lista. Se esplorati correttamente, questi Package Manager possono essere utilizzati per le seguenti funzionalità:

  1. Installazione di nuovo software dal repository.
  2. Risolvi le dipendenze del software installando tali dipendenze prima di installare il software.
  3. Mantenimento del database delle dipendenze di ogni software.
  4. Esegui il downgrade della versione di qualsiasi software esistente.
  5. Aggiornamento della versione del kernel.
  6. Elenco dei pacchetti disponibili per l'installazione.

Abbiamo già trattato articoli dettagliati separatamente su ogni singolo gestore di pacchetti con esempi pratici, dovresti leggerli per controllare e gestire la gestione dei pacchetti nelle tue rispettive distribuzioni Linux.

Leggi anche:

  1. Padroneggiare il comando Yum con questi 20 esempi pratici
  2. 27 comandi DNF per gestire i pacchetti in Fedora 22+ versioni
  3. Impara 25 comandi APT per gestire i pacchetti Ubuntu

Nell'articolo vedremo come bloccare/disabilitare alcuni aggiornamenti di pacchetti utilizzando il gestore di pacchetti Yum nei sistemi RHEL/CentOS e Fedora (applicabile fino a Fedora 21 , la versione successiva di Fedora viene fornita con dnf come gestore di pacchetti predefinito).

Disabilita/Blocca gli aggiornamenti dei pacchetti utilizzando Yum

Aggiornatore Yellow Dog, modificato (ehm ) è uno strumento di gestione dei pacchetti nelle distribuzioni basate su RedHat come CentOS e Fedora. Di seguito vengono discusse varie strategie utilizzate per bloccare/disabilitare gli aggiornamenti dei pacchetti utilizzando Yum:

1. Disattiva definitivamente il pacchetto per l'installazione o l'aggiornamento

1. Apri e modifica il yum.conf file, che si trova in /etc/yum.conf o in /etc/yum/yum.conf .

Sembra di seguito:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
...

Qui, per escludere un determinato pacchetto dall'installazione o dall'aggiornamento, devi solo aggiungere la variabile di esclusione insieme al nome del pacchetto che desideri escludere. Ad esempio, se voglio escludere tutti i python-3 pacchetti dall'aggiornamento, quindi aggiungerò semplicemente la seguente riga a yum.conf :

exclude=python-3*

Per escludere più di un pacchetto, separa i loro nomi con uno spazio.

exclude=httpd php 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
exclude=python-3*        [Exclude Single Package]
exclude=httpd php        [Exclude Multiple Packages]
...

Nota :per includere questi pacchetti, ignorando le voci in yum.conf , usa "-disableexcludes ” e impostalo su all|main|repoid , dove "principale" sono quelli inseriti in yum.conf e 'repoid' sono quelli la cui esclusione è specificata in repos.d directory, come spiegato più avanti.

Ora proviamo a installare o aggiornare i pacchetti specificati e vediamo che il comando yum li disabiliterà installando o aggiornando.

# yum install httpd php

Loaded plugins: fastestmirror, langpacks, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
Nothing to do
# yum update httpd php

Loaded plugins: fastestmirror, langpacks, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
No packages marked for update

2. Disattiva temporaneamente il pacchetto per l'installazione o l'aggiornamento

2. Sopra era una soluzione permanente per escludere un pacchetto poiché, a meno che il file non venga modificato, quel pacchetto non verrà aggiornato. Ecco una soluzione temporanea anche per questo. Proprio nel momento in cui esegui qualsiasi aggiornamento, usa -x passa al comando yum per escludere il pacchetto che non vuoi aggiornare, come:

# yum -x python-3 update

Il comando precedente aggiornerà tutti i pacchetti i cui aggiornamenti sono disponibili, escluso python-3 sul tuo sistema.

Qui, per escludere più pacchetti, usa -x più volte o separare i nomi dei pacchetti con ',' in un unico passaggio.

# yum -x httpd -x php update
OR
# yum -x httpd,php update

3. Usando --exclude switch funziona come -x , devi solo sostituire -x con –escludi e passa ',' elenco separato di nomi di pacchetti ad esso.

# yum --exclude httpd,php

3. Disabilita gli aggiornamenti dei pacchetti utilizzando il repository

4. Per qualsiasi pacchetto installato da qualsiasi fonte esterna tramite l'aggiunta di un repository, esiste un altro modo per interromperne l'aggiornamento in futuro. Questo può essere fatto modificando il suo .repo file che viene creato in /etc/yum/repos.d/ o /etc/yum.repos.d directory.

Aggiungi l'opzione di esclusione con il nome del pacchetto nel repo . Come:per escludere qualsiasi pacchetto di' vino da epel repo , aggiungi la seguente riga in epel.repo file:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
exclude=wine

Ora prova ad aggiornare il vino pacchetto, riceverai un errore come mostrato di seguito:

# yum update wine

Loaded plugins: fastestmirror, langpacks, versionlock
epel/x86_64/metalink                                    | 5.6 kB     00:00     
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
No Match for argument: wine
No package wine available.
No packages marked for update

4. Disabilita l'aggiornamento del pacchetto utilizzando l'opzione versionlock

5. Un altro modo in yum per mascherare la versione di qualsiasi pacchetto rendendolo così non disponibile per l'aggiornamento, è usare versionlock opzione di yum, ma per farlo devi yum-plugin-versionlock pacchetto installato sul sistema.

# yum -y install yum-versionlock

Ad esempio, per bloccare la versione del pacchetto, pronuncia httpd a 2.4.6 solo, scrivi il seguente comando come root.

# yum versionlock add httpd
Risultato campione
Loaded plugins: fastestmirror, langpacks, versionlock
Adding versionlock on: 0:httpd-2.4.6-40.el7.centos
versionlock added: 1

Per visualizzare i pacchetti bloccati, utilizzare il comando seguente per elencare i pacchetti la cui versione è stata bloccata.

# yum versionlock list httpd
Risultato campione
Loaded plugins: fastestmirror, langpacks, versionlock
0:httpd-2.4.6-40.el7.centos.*
versionlock list done

Conclusione

Questi sono alcuni suggerimenti che ti aiuteranno a disabilitare/bloccare gli aggiornamenti dei pacchetti usando il gestore di pacchetti yum. Se hai altri trucchi per fare le stesse cose, puoi commentarli con noi.


Linux
  1. Come disabilitare il repository del pacchetto YUM su CentOS

  2. Come disabilitare/bloccare o inserire nella blacklist gli aggiornamenti dei pacchetti utilizzando lo strumento Apt

  3. Utilizzo dei comandi Yum per disabilitare e rimuovere i repository di pacchetti su CentOS

  4. Downgrade di un pacchetto rpm a una versione inferiore (usando il comando "rpm")

  5. Come disabilitare Ctrl+c o Ctrl+z usando il comando "trap" in Linux

YUM comandi

I 50 migliori esempi di comandi YUM per utenti RHEL o CentOS

4 modi per controllare la versione di CentOS nella riga di comando di Linux

Utilizzo del comando Watch in Linux

15 Esempi di comandi Yum Linux:installazione, disinstallazione, aggiornamento dei pacchetti

Yum Command – Utilità di gestione dei pacchetti basata su RPM