GNU/Linux >> Linux Esercitazione >  >> Linux

10 esempi di esclusione Yum per saltare i pacchetti per l'aggiornamento Yum di Linux (come escludere gli aggiornamenti del kernel Yum)

Quando esegui l'aggiornamento yum, verrà scaricata l'ultima versione di tutti i pacchetti installati sul tuo sistema, e aggiornali all'ultima versione.

Potresti trovarti in una situazione in cui potresti non volere che yum aggiorni automaticamente uno (o più) pacchetti specifici.

In queste situazioni, usa l'opzione di esclusione yum come mostrato negli esempi seguenti.

1. Escludi un pacchetto singolo utilizzando l'opzione -x

Ad esempio, su questo sistema utilizziamo PHP 5.1 e l'applicazione php personalizzata in esecuzione su questo sistema non è ancora stata testata con altre nuove versioni di PHP.

# rpm -q php
php-5.1.0-27.el6_5.x86_64

Quindi, in questo caso, quando eseguiamo un aggiornamento, vogliamo escludere solo un pacchetto specifico, che è php. Come vediamo di seguito, quanto segue indica che il pacchetto php verrà aggiornato alla versione 5.3.3 quando eseguiamo il comando 'yum update'.

# yum check-update php
php.x86_64    5.3.3-40.el6_6      updates

Quanto segue escluderà un solo pacchetto (php) durante l'aggiornamento di yum.

# yum -x php update

2. Escludi più pacchetti usando l'opzione -x

Puoi escludere più pacchetti specificando più opzioni -x come mostrato di seguito:

yum -x php -x httpd update

Puoi anche escludere più di un pacchetto specificando l'elenco dei pacchetti separati da virgola. Quanto segue si comporterà esattamente come sopra.

yum -x php,httpd update

3. Escludi più pacchetti (ad es. pacchetti del kernel) utilizzando Wildcard

Nella maggior parte delle situazioni potresti non volere che yum update aggiorni automaticamente il kernel.

Prima di eseguire il vero aggiornamento di yum, puoi eseguire il check-update di yum, che visualizzerà tutti i pacchetti che aggiornerà durante l'aggiornamento di yum.

Come puoi vedere di seguito, in questo esempio, ci sono tre pacchetti relativi al kernel che verranno aggiornati da yum update.

# yum check-update | grep -i kernel
kernel.x86_64            2.6.32-504.1.3.el6  updates
kernel-firmware.noarch   2.6.32-504.1.3.el6  updates
kernel-headers.x86_64    2.6.32-504.1.3.el6  updates

Invece di specificare tutti i nomi dei singoli pacchetti nell'elenco di esclusione -x, possiamo semplicemente usare i caratteri jolly del glob della shell come mostrato di seguito. Quanto segue escluderà tutti i pacchetti relativi al kernel che verranno aggiornati durante l'aggiornamento di yum.

yum -x kernel* update

4. Più elenchi di caratteri jolly nell'opzione -x

Puoi anche specificare più elenchi di caratteri jolly nell'opzione -x.

Come vedi di seguito, quanto segue indica che ci sono più pacchetti php che verranno aggiornati durante il prossimo aggiornamento di yum.

# yum check-update | grep -i php
php.x86_64         5.3.3-40.el6_6   updates
php-cli.x86_64     5.3.3-40.el6_6   updates
php-common.x86_64  5.3.3-40.el6_6   updates
php-xml.x86_64     5.3.3-40.el6_6   updates

Se vuoi escludere tutti i pacchetti relativi a php e kernel durante il prossimo aggiornamento di yum, puoi usare quanto segue. Tieni presente che dovresti usare " " in questo esempio.

yum -x 'php*' -x 'kernel*' update

5. Usando –exclude invece di -x

Puoi anche usare –exclude invece di -x come mostrato di seguito:

yum --exclude php update
yum --exclude httpd update
yum --exclude kernel update

yum -exclude php*,httpd*,kernel* update

6. Escludi i pacchetti usando il file yum.conf

Invece di specificare i pacchetti da escludere nella riga di comando, puoi specificarli nel file /etc/yum.conf.

Ad esempio, per escludere tutti i pacchetti php, httpd e kernel da escludere dall'aggiornamento yum, aggiungi la seguente riga:

exclude=php* httpd* kernel*

Oppure, esegui il seguente comando:

echo "exclude=php* httpd* kernel*" >> /etc/yum.conf

7. Usa l'elenco separato da virgole

Puoi anche escludere più di un pacchetto specificando l'elenco dei pacchetti con caratteri jolly separati da virgola. Quanto segue si comporterà esattamente come sopra.

yum -x php*,kernel* update

Per essere coerenti con il modo in cui abbiamo mostrato gli altri esempi usando l'opzione -x sopra, puoi anche usare la virgola (anziché solo lo spazio) per separare i pacchetti multipli come mostrato di seguito:

# vi /etc/yum.conf
exclude=php*,httpd*,kernel*

8. Escludi parametro all'interno del file repository personalizzato

Invece di specificare il parametro di esclusione nel file yum.conf principale, puoi anche specificarlo nel singolo file del repository.

Ad esempio, se hai installato mongodb, avrai mongodb.repo nella directory /etc/yum.repos.d. Puoi specificare l'elenco dei pacchetti di esclusione per il repository mongodb all'interno di questo file mongodb.repo.

# vi /etc/yum.repos.d/mongodb.repo
exclude=mongo*

9. Simula Yum Exclude Check usando il check-update (Dry-run -x)

Puoi anche specificare l'opzione -x insieme a check-update. Questo ti aiuta a controllare se l'opzione -x che hai specificato nella riga di comando o nel file yum.conf funziona come previsto.

Ad esempio, quanto segue indica che il kernel verrà aggiornato durante l'aggiornamento yum.

# yum check-update | grep -i kernel
kernel.x86_64                        2.6.32-504.1.3.el6                  updates
kernel-firmware.noarch               2.6.32-504.1.3.el6                  updates
kernel-headers.x86_64                2.6.32-504.1.3.el6                  updates

Quanto segue indica che il flag -x funzionerà come previsto poiché non ha restituito nulla nel risultato.

# yum -x kernel* check-update | grep -i kernel

Ad esempio, diciamo che la seguente riga di esclusione è presente nel file yum.conf.

# grep exclude /etc/yum.conf
exclude=php*,httpd*,kernel*

Quindi, quanto segue indica che l'elenco di esclusione specificato nel precedente /etc/yum.conf funzionerà come previsto poiché il check-update non ha mostrato quei pacchetti (compreso il kernel) nell'output seguente.

# yum check-update | egrep 'php|httpd|kernel'

10. Ignora Escludi dal file yum.conf

Se ti piace disabilitare le esclusioni menzionate nel file yum.conf. ad esempio, se non vuoi che yum update consideri l'elenco di esclusione specificato nel file yum.conf, puoi utilizzare l'opzione –disableexcludes dalla riga di comando.

Nel nostro esempio precedente, abbiamo escluso i pacchetti php, httpd e kernel da aggiornare con l'aggiornamento yum.

Ma, se vuoi che yum ignori quell'elenco di esclusione (cioè disabiliti l'esclusione) e continui ad aggiornare php, httpd e kernel come parte del normale comando di aggiornamento yum, esegui quanto segue:

yum --disableexcludes=all update

Di seguito sono riportati i tre possibili valori che puoi specificare in disableexcludes

  • tutto Disattiva tutto esclude
  • main Disable esclude specificate nella sezione principale del file yum.conf
  • repoid Disabilita le esclusioni specificate per l'ID repository specificato

Se vuoi disabilitare le esclusioni solo per un repository personalizzato specifico, puoi specificare l'id del repository (che è la prima colonna nel comando yum repolist come mostrato di seguito).

# yum repolist
repo id   repo name           status
mongodb   MongoDB Repository    240
base      CentOS-6 - Base     6,518
extras    CentOS-6 - Extras      35
updates   CentOS-6 - Updates    315

Quanto segue disabiliterà (ignorerà) l'elenco di esclusione specificato nel file mongodb.repo nella directory /etc/yum.repos.d.

yum --disableexcludes=mongodb update

Linux
  1. Come impostare gli aggiornamenti automatici del kernel senza riavvio nel server Linux

  2. Come utilizzare gli esempi di blocco Mutex C per la sincronizzazione dei thread di Linux

  3. Come usare kdump per l'analisi del crash del kernel Linux

  4. 15 Esempi di comandi aptitude per la gestione dei pacchetti in Linux

  5. CentOS / RHEL:esclusione con Yum per gli aggiornamenti del kernel

Come installare gli aggiornamenti su CentOS 7

Come impostare gli aggiornamenti automatici del kernel su Linux

Diversi modi per aggiornare il kernel Linux per Ubuntu

Come impostare gli aggiornamenti automatici del kernel su Linux

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

Come posso generare la copertura del codice per i pacchetti Swift su Linux o OS X?