dì a yum di ignorare una singola dipendenza


37

Sto cercando di installare Winswitch su CentOs 6. Richiede 'nxagent'. Ma in centos, il nome del pacchetto è 'nx'. C'è un modo per dire a Yum di saltare il controllo della dipendenza 'nxagent' (ho già installato 'nx')? Specificando --skip-broken si salta il tutto

Risposte:


14

Generalmente yumnon ci sono opzioni per ignorare un singolo pacchetto dalle dipendenze. L'opzione --skip-brokenignora tutte le dipendenze irrisolte.

Puoi provare yum --exclude=packagenamema esclude un pacchetto specifico per nome o glob dagli aggiornamenti su tutti i repository, non dalle dipendenze.


1
yum --excludenon funziona sulle dipendenze
DrStrangepork,

2
@DrStrangepork sì, lo so di averlo scritto nella mia risposta
B14D3,

5
--exclude--skip-brokenaiuta bypass uno o più dipendenze nel modo in cui rpm --nodepslo fa.
Acumenus

3
Vai alla seconda risposta.
Brthornbury,

49

Il rpmcomando ha l' --nodepsopzione che puoi usare. Una sfida è che di rpmper sé non è a conoscenza dei repository yum. Il seguente comando installerà o aggiornerà il pacchetto, ignorando le dipendenze, ma cercando automaticamente l'URL di download dai repository con i repoqueryquali si trova nel pacchetto yum-utils.

rpm -Uvh --nodeps $(repoquery --location winswitch)

Successivamente, un normale yum updateavrà probabilmente successo senza errori di dipendenza.


$ (repoquery --location winswitch) non ha funzionato per me. Tuttavia, è possibile scaricare il pacchetto .rpm tramite "yumdownloader --destdir =. Nome-pacchetto". "rpm -U" significa aggiornamento. Se il pacchetto non è stato installato, è possibile utilizzare "rpm -i" per questo. yumdownloader proviene da yum-utils (dnf-utils nel mio caso).
Yaroslav Nikitenko,

2

Sembra che tu stia cercando di installare un pacchetto che non è stato progettato per il sistema operativo, ovvero se fosse stato progettato per CentOS avrebbe richiesto nxcorrettamente.

Un'altra soluzione alternativa al problema è quella di creare e installare un pacchetto RPM shim di piccole dimensioni che non contiene file, ma nel file delle specifiche contiene le seguenti righe (tra le altre):

requires: nx
provides: nxagent

In questo modo la dipendenza dovrebbe essere soddisfatta, tuttavia potrebbe essere previsto che i file si trovino in una posizione diversa tra il nxagentpacchetto che prevede di aver installato e il nxpacchetto fornito da CentOS.


0

puoi anche usare rpmrebuild per cambiare i metadati rpm in modo che puntino al nuovo nome del pacchetto. questo sarà quindi il "tuo" pacchetto, ma è più pulito per quanto riguarda le dipendenze rpm. Non ci sono svantaggi rispetto all'uso di --nodeps, credo.

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.