I'm trying to install winswitch
on CentOs 6. It requires nxagent
. But in centos, the package name is nx
. Is there a way to tell yum to skip checking the nxagent
dependency (I installed nx
already)? Specifying --skip-broken
skips the whole thing.
The
rpm
command has the--nodeps
option that you can use. A challenge is thatrpm
by itself is not aware of yum repositories. The following command will install or update the package, ignoring dependencies, but automatically looking up the download URL from your repositories withrepoquery
which is in packageyum-utils
.After that, a regular
yum update
will likely succeed without dependency errors.Generally
yum
doesn't have options to ignore a single package from the dependencies. Option--skip-broken
ignores all unresolved dependences.You can try
yum --exclude=packagename
but it excludes a specific package by name or glob from updates on all repositories, not from dependencies.It sounds like you're trying to install package that has not been designed for the OS, i.e. if it was designed for CentOS it would require
nx
correctly.Another workaround for the problem is to create and install a small shim RPM package that contains no files, but in the spec file contains the following lines (amongst others):
That way the dependency should be satisfied however it may be expecting files to be in a location that differs between the
nxagent
package it expects to have installed and thenx
package that CentOS provides.you can also use rpmrebuild to change the rpm metadata to point at the new package name. this will then be "your" package, but is cleaner as far as the rpm dependencies go. There's no disadvantage over using --nodeps I think.
This one-liner example does it ( tigervnc-server is the package being installed )
Use yumdownloader to automatically download the package for you, then use rpm -i and --nodeps to install the package without dependency checks.