Câu trả lời:
Nói chung yum
không có tùy chọn để bỏ qua một gói duy nhất từ các phụ thuộc. Tùy chọn --skip-broken
bỏ qua tất cả các phụ thuộc chưa được giải quyết.
Bạn có thể thử yum --exclude=packagename
nhưng nó loại trừ một gói cụ thể theo tên hoặc toàn cầu khỏi các bản cập nhật trên tất cả các kho lưu trữ, không phải từ các phụ thuộc.
--exclude
phải cũng không --skip-broken
giúp bỏ qua một hoặc nhiều phụ thuộc theo cách đó rpm --nodeps
.
Các rpm
lệnh có --nodeps
tùy chọn mà bạn có thể sử dụng. Một thách thức là rpm
bản thân nó không biết về kho yum. Lệnh sau sẽ cài đặt hoặc cập nhật gói, bỏ qua các phụ thuộc, nhưng tự động tra cứu URL tải xuống từ kho lưu trữ của bạn repoquery
trong gói yum-utils
.
rpm -Uvh --nodeps $(repoquery --location winswitch)
Sau đó, một người thường xuyên yum update
sẽ có khả năng thành công mà không có lỗi phụ thuộc.
Có vẻ như bạn đang cố gắng cài đặt gói chưa được thiết kế cho HĐH, tức là nếu nó được thiết kế cho CentOS thì nó sẽ yêu cầu nx
chính xác.
Một cách giải quyết khác cho vấn đề là tạo và cài đặt gói RPM shim nhỏ không chứa tệp, nhưng trong tệp spec chứa các dòng sau (trong số các tệp khác):
requires: nx
provides: nxagent
Bằng cách đó, sự phụ thuộc sẽ được thỏa mãn tuy nhiên có thể các tệp sẽ ở vị trí khác với nxagent
gói mà nó dự kiến sẽ cài đặt và nx
gói mà CentOS cung cấp.
yum --exclude
không hoạt động trên các phụ thuộc