Escludere un repository specifico dall'aggiornamento YUM


13

Sto eseguendo un aggiornamento yum a livello di sistema su RHEL 5.5 e il repository IEL EPEL sta generando un errore di dipendenza mancante:

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-   5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

Esiste un modo per eseguire l'aggiornamento YUM su tutti gli altri repository ignorando il repository EPEL IUS per saltare questo problema di dipendenza?

Una precisazione

Sto cercando di installare gli aggiornamenti solo dalla rete Redhat. Non riesco a trovare il nome del repository, quindi non riesco a fare qualcosa di simile sudo yum --disablerepo=* --enablerepo=rhel updatepoiché la versione di yum che sto utilizzando non supporta più repository elencati dopo --disablerepo.

Aggiornare

La mia soluzione temporanea è di eseguire sudo yum --exclude=php53* update. Sono convinto che esista un modo migliore. Questo modo migliore include la risoluzione del problema reale, quindi ho archiviato un bug anche con il progetto IUS Community .

Aggiornamento n. 2

Sembra che ho riscontrato il problema con la dipendenza . Penso ancora che ci dovrebbe essere una soluzione alternativa praticabile.

Grazie!


Ho aggiornato la mia risposta per tenere conto dei tuoi chiarimenti.
plasmid87,

Risposte:


21

Prova l'opzione disabilita repo:

--disablerepo=REPONAME

AGGIORNARE

Per trovare tutti i repository attualmente "noti" (abilitati e disabilitati):

yum repolist all

Quindi per trovare quale repository ti sta dando fastidio per il pacchetto sopra, prova:

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

Questo mostrerà quindi quale dei tuoi repository fornisce il pacchetto sopra (vedrai anche "installato" nell'elenco, per mostrare i pacchetti installati localmente).

Riprovare a disabilitare l'interruttore una volta che si conosce il repository utilizzando l'interruttore disabilita repository.

yum update --disablerepo=[from above]

Se i passaggi precedenti non riescono a individuare il repository che si desidera omettere, provare a dare un'occhiata a /etc/yum.repos.d/ , che è la posizione predefinita di RHEL per le definizioni del repository. Una volta in questa directory, individuare tutti i file di repository RHEL non standard e di aggiornamento e includere enabled = 0 , ad es.

[repo]
enabled=0

Spero che sia di aiuto.


Questo potrebbe funzionare se fossi in grado di specificare più repository. Ho provato --disablerepo=epel --disablerepo=iuse --disablerepo=epel,ius.
Robin,

yum repolist allmostra che sono abilitati solo i seguenti repository: epel, ius e rhel-x86_64-server-5. Il tuo --showduplicatescomando mostra quel pacchetto come installato dal repository ius. Quindi ho provato quanto segue sudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 updatee sta ancora generando un errore di dipendenza sullo stesso pacchetto. Ho anche provato a disabilitare i enabled=0repository modificando l' impostazione in /etc/yum.repos.d/
Robin,

Immagino che quando hai installato il repository IUS, è stato configurato per essere abilitato per impostazione predefinita. Prova invece: sudo yum update --disablerepo=iussupponendo che tutti gli altri repository siano abilitati per impostazione predefinita. Altrimenti, prova sudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64a saltare del tutto questo pacchetto.
plasmid87,

Nessuna di queste opzioni funziona. Mi manca qualcosa.
Robin,

Posso solo immaginare che qualcos'altro necessiti di quel pacchetto aggiornato come parte del processo di aggiornamento. Se lo esegui sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64, ti mostreranno tutte le dipendenze e i provider per quel particolare pacchetto. Nella mia esperienza con i pacchetti PHP e RHEL, questo è un problema comune. Non volendo deviare dal problema attuale, ma ho scoperto che Remi fornisce i migliori pacchetti per PHP, non ho mai avuto problemi di dipendenza con PHP dopo essermi spostato nei loro repository.
plasmid87,

1

il modo più semplice per farlo è commentare Linux con il tuo repository indesiderato in /etc/yum.repos.d/


1

È possibile disabilitare più repository dalla riga di comando di yum:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

Tuttavia, se lo fai, devi abilitare esplicitamente il repository che desideri:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.