GNU/Linux >> Linux Esercitazione >  >> Linux

Come escludere un repository specifico per l'aggiornamento di Yum in CentOS/Red Hat

D:Ho più repository yum sul mio sistema. Ad esempio, centos, epel, docker, mongo, ecc. Quando eseguo il comando yum update, i pacchetti installati da tutti i repository vengono aggiornati. Come posso escludere un repository specifico durante l'aggiornamento di yum?

R:Durante l'aggiornamento di yum, per escludere i pacchetti che appartengono a un repository specifico, utilizza uno qualsiasi dei due metodi spiegati in questo tutorial.

Inoltre, tieni presente che invece di escludere un intero repository, può anche escludere un pacchetto specifico:10 esempi di esclusione Yum per saltare i pacchetti per l'aggiornamento Yum di Linux (come escludere gli aggiornamenti del kernel Yum)

1. Ottieni elenco repository

Per visualizzare tutti i repository disponibili sul tuo sistema, esegui yum repolist come mostrato di seguito.

# yum repolist
repo id                repo name              status
base                   CentOS-6 - Base        6,575
extras                 CentOS-6 - Extras         62
updates                CentOS-6 - Updates     1,622
dockerrepo             Docker Repository          2
mongodb-org-3.0        MongoDB Repository        75
repolist: 8,336

Nell'esempio sopra, abbiamo quanto segue:

  • I primi tre repository sopra elencati sono i principali repository CentOS:base, extra e aggiornamenti
  • dockerrepo è un repository di terze parti che contiene pacchetti relativi ai container Docker
  • mongodb-org-3.0 è un repository di terze parti che contiene pacchetti relativi a MongoDB.

Quando esegui l'aggiornamento come mostrato di seguito, aggiornerà tutti i pacchetti già installati sul tuo sistema all'ultima versione disponibile da tutti i repository sopra.

yum update

Se hai già installato mongodb sul tuo sistema e quando esegui il precedente "yum update", aggiornerà anche i pacchetti mongodb all'ultima versione.

Se non vuoi aggiornare mongodb quando esegui "yum update", dovresti escluderlo durante yum update come spiegato nella sezione seguente.

Inoltre, se vuoi sapere a quale repository appartiene un particolare pacchetto, in modo da poter escludere quel repository dall'aggiornamento, usa il comando yum info come mostrato di seguito.

yum info package-name | grep -i repo

Se non conosci il comando yum:15 esempi di comandi Yum per Linux:installazione, disinstallazione, aggiornamento dei pacchetti

2. Escludi un repository dall'aggiornamento di Yum (metodo 1)

Puoi usare l'opzione –disablerepo=nome-repository insieme a yum update. Questo non aggiornerà i pacchetti che appartengono al nome del repository specificato.

Nell'esempio seguente, yum update aggiornerà tutti i pacchetti installati ad eccezione di tutti i pacchetti installati che appartengono al repository MongoDB.

yum --disablerepo=mongodb-org-3.0 update

Puoi anche specificare l'opzione –disablerepo alla fine dopo l'aggiornamento di yum. Quanto segue escluderà i pacchetti che appartengono al repository Docker durante l'aggiornamento di yum.

yum update --disablerepo=dockerrepo

Puoi ottenere il nome esatto del repository che desideri escludere guardando la prima colonna dell'output del comando "yum repolist".

3. Escludi un repository dall'aggiornamento Yum utilizzando il parametro abilitato (metodo 2)

Invece di escludere un repository specifico dalla riga di comando di yum update, puoi escludere in modo permanente un pacchetto da yum update impostando il parametro abilitato su 0 nel file di configurazione del repository.

I file di configurazione del repository si trovano nella directory /etc/yum.repos.d come mostrato di seguito.

# ls -l /etc/yum.repos.d/
-rw-r--r--. 1 root root 1926 Jan 30  2016 CentOS-Base.repo
-rw-r--r--  1 root root  166 Feb 18  2016 docker.repo
-rw-r--r--  1 root root  142 Feb  5  2016 mongodb-org-3.0.repo
..
..

Per escludere il repository mongodb, apri il file del repository mongodb e imposta la modifica del valore di abilitato su 0 come mostrato di seguito.

# vi /etc/yum.repos.d/mongodb-org-3.0.repo 
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=0

Ora, se esegui il repolist, non vedrai il repository MongoDB nell'output.

# yum repolist
repo id           repo name              status
base              CentOS-6 - Base        6,575
extras            CentOS-6 - Extras         62
updates           CentOS-6 - Updates     1,622
dockerrepo        Docker Repository          2
repolist: 8,261

Ciò significa anche che anche se sul tuo sistema sono installati pacchetti relativi a mongodb, quando esegui il seguente "yum update", i pacchetti mongodb non verranno più aggiornati.

yum update

4. Escludi più repository dalla riga di comando dell'aggiornamento di Yum

Puoi anche escludere più repository durante l'aggiornamento di yum specificando i repository delimitati da virgole come mostrato di seguito.

L'esempio seguente escluderà i repository MongoDB, Docker ed EPEL durante l'aggiornamento di yum.

yum update --disablerepo=mongodb-org-3.0,dockerrepo,epel

5. Abilita un repository per l'aggiornamento di Yum

Se hai disabilitato un repository impostando "enabled=0" nel file di configurazione del repository, puoi comunque includerlo durante il tuo "yum update" utilizzando l'opzione –enablerepo come mostrato di seguito.

L'esempio seguente includerà i pacchetti dal repository MongoDB durante "yum update" anche se questo repository è disabilitato nel file del repository nella directory /etc/yum.repos.d/.

yum update --enablerepo=mongodb-org-3.0

6. Combina EnableRepo e DisableRepo nell'aggiornamento Yum

Puoi anche diventare creativo combinando l'opzione enablerepo e disablerepo.

Ad esempio, il seguente comando yum update aggiornerà solo i pacchetti dal repository MongoDB.

yum update --disablerepo=* --enablerepo=mongodb-org-3.0

In quanto sopra:

  • –disablerepo=* Indica che tutti i repository devono prima essere disabilitati e non essere presi in considerazione per l'aggiornamento yum
  • –enablerepo=mongo Questo indica che solo il repository MongoDB dovrebbe essere considerato durante l'aggiornamento di yum (se combinato con l'opzione di disabilitazione sopra)

Linux
  1. Come creare un repository Red Hat locale

  2. Come aggiungere un repository Yum

  3. Come eseguire il mirroring di un repository in Linux

  4. Come prepararsi per gli esami di certificazione di amministratore di sistema Linux

  5. Come pulire la cache yum su CentOS?

Preparazione per l'applicazione degli aggiornamenti su Red Hat Linux

Come aggiornare CentOS

Come ho costruito una lezione interattiva OpenShift per Red Hat Academy

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

Come abilitare Remi Repository su Fedora/Red Hat per installare LAMP Stack

8 repository di terze parti YUM per CentOS e RHEL