nói với yum bỏ qua một phụ thuộc duy nhất


37

Tôi đang cố gắng cài đặt winwitch trên CentOs 6. Nó yêu cầu 'nxagent'. Nhưng tính bằng centos, tên gói là 'nx'. Có cách nào để bảo yum bỏ qua việc kiểm tra sự phụ thuộc của 'nxagent' (tôi đã cài đặt 'nx' chưa)? Chỉ định --skip bị hỏng bỏ qua toàn bộ

Câu trả lời:


14

Nói chung yumkhô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-brokenbỏ qua tất cả các phụ thuộc chưa được giải quyết.

Bạn có thể thử yum --exclude=packagenamenhư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.


1
yum --excludekhông hoạt động trên các phụ thuộc
DrStrangepork

2
@DrStrangepork vâng Tôi biết tôi đã viết điều đó trong câu trả lời của mình
B14D3

5
Không --excludephải cũng không --skip-brokengiúp bỏ qua một hoặc nhiều phụ thuộc theo cách đó rpm --nodeps.
Acumenus

3
Đi đến câu trả lời thứ hai.
brthornbury

49

Các rpmlệnh có --nodepstùy chọn mà bạn có thể sử dụng. Một thách thức là rpmbả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 repoquerytrong gói yum-utils.

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

Sau đó, một người thường xuyên yum updatesẽ có khả năng thành công mà không có lỗi phụ thuộc.


$ (repoquery --location winwitch) không hoạt động với tôi. Tuy nhiên, người ta có thể tải xuống gói .rpm thông qua "yumdoader --destdir =. Tên gói". "vòng / phút" có nghĩa là nâng cấp. Nếu gói không được cài đặt, người ta có thể sử dụng "vòng / phút" cho điều đó. yumdoader là từ yum-utils (dnf-utils trong trường hợp của tôi).
Yaroslav Nikitenko

2

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 nxchí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 nxagentgói mà nó dự kiến ​​sẽ cài đặt và nxgói mà CentOS cung cấp.


0

bạn cũng có thể sử dụng rpmrebuild để thay đổi siêu dữ liệu vòng / phút để trỏ đến tên gói mới. đây sẽ là gói "của bạn", nhưng sạch hơn tùy theo vòng tua máy. Tôi nghĩ không có bất lợi nào khi sử dụng --nodeps.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.