Risposte:
Generalmente yum
non ci sono opzioni per ignorare un singolo pacchetto dalle dipendenze. L'opzione --skip-broken
ignora tutte le dipendenze irrisolte.
Puoi provare yum --exclude=packagename
ma esclude un pacchetto specifico per nome o glob dagli aggiornamenti su tutti i repository, non dalle dipendenze.
--exclude
né --skip-broken
aiuta bypass uno o più dipendenze nel modo in cui rpm --nodeps
lo fa.
Il rpm
comando ha l' --nodeps
opzione che puoi usare. Una sfida è che di rpm
per 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 repoquery
quali si trova nel pacchetto yum-utils
.
rpm -Uvh --nodeps $(repoquery --location winswitch)
Successivamente, un normale yum update
avrà probabilmente successo senza errori di dipendenza.
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 nx
correttamente.
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 nxagent
pacchetto che prevede di aver installato e il nx
pacchetto fornito da CentOS.
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.
yum --exclude
non funziona sulle dipendenze