Làm thế nào để có được danh sách các phụ thuộc của gói RPM chưa được cài đặt?


73

apt-cache show <package> cũng cho thấy nó phụ thuộc.

yum info <package> không thể hiện sự phụ thuộc, nhưng rõ ràng nó biết chúng.

Làm thế nào để hỏi yum cho các phụ thuộc của gói được chỉ định?

Câu trả lời:


85

yum không có khả năng đó. Sử dụng repoquerycông cụ từ yum-utilsgói thay thế.

repoquery --requires <package>

HOẶC để xem các gói RPM bổ sung nào là cần thiết để đáp ứng các phụ thuộc, sử dụng - giải quyết

repoquery --requires --resolve <package>

Làm thế nào tôi có thể làm tương tự nếu tôi có một tệp vòng / phút cục bộ?
Usman Ismail

Có thể trích xuất tập tin điều khiển từ gói vòng / phút và xem xét nó?
Vi.

13
Nếu bạn đã tải về thì bạn sử dụng rpm -qp --requires <package file>.
Ignacio Vazquez-Abrams

Nếu bạn sử dụng RHN, bạn cần thêm --plugins vào lệnh gọi để truy xuất lại. Xem stackoverflow.com/questions/15433843/ Lời
nlu

Những gì --resolvethực sự làm? Chạy repoquery --requires --resolvetrên một gói đã được cài đặt sẽ trả về một danh sách trống, vì tất cả các phụ thuộc đã được thỏa mãn? Khi tôi thử nó trên một gói đã được cài đặt, tôi đã nhận được một vài danh sách, bao gồm cả chính nó (tất cả những thứ này đã được cài đặt).
haridsv

46

Sử dụng deplistlệnh,

yum deplist <package>

Từ hướng dẫn của yum:

Tạo một danh sách tất cả các phụ thuộc và gói nào cung cấp các phụ thuộc đó cho các gói đã cho.

Cập nhật cho dnf

Để làm điều tương tự với dnf, chúng ta có thể làm

dnf repoquery --requires <package>

Như đã man yum2dnfnói:

Thay thế cho Yum deplist lệnh để tìm hiểu sự phụ thuộc của gói được DNF repoquery --requires sử dụng plugin repoquery.


5
Thật không may, điều này sẽ trả về một danh sách tất cả các nhà cung cấp có thể có của mỗi phụ thuộc, cuối cùng có thể trả về hàng trăm hoặc hàng nghìn dòng, thay vì một danh sách đơn giản tên của các gói phụ thuộc.
deesto

13

Nếu bạn có RPM cục bộ, bạn có thể nhận danh sách các phụ thuộc thông qua:

rpm -qpR mediawiki-1.4rc1-4.i586.rpm

2
Hoạt động cho các URL quá.
Acumenus

nếu bạn không biết -q thì bạn có thể truy vấn các repos được cấu hình của mình: rpm -qR graphviz liệt kê tất cả các phụ thuộc cho tôi
natxo asenjo

2

Nếu bạn cần danh sách các gói cần thiết, hãy sử dụng:

dnf repoquery --requires --resolve`

Trong trường hợp firefox, bằng cách chạy:

sudo dnf repoquery --requires --resolve firefox

Tôi đã có thông số: Last metadata expiration check: 0:00:00 ago on Wed 13 Dec 2017 21:41:47 GMT. atk-0:2.26.1-1.fc27.x86_64 bash-0:4.4.12-12.fc27.x86_64 cairo-0:1.15.8-1.fc27.x86_64 cairo-gobject-0:1.15.8-1.fc27.x86_64 dbus-glib-0:0.108-4.fc27.x86_64 dbus-libs-1:1.12.0-1.fc27.x86_64 fontconfig-0:2.12.6-4.fc27.x86_64 freetype-0:2.8-6.fc27.x86_64 freetype-freeworld-0:2.8-4.fc27.x86_64 gdk-pixbuf2-0:2.36.11-1.fc27.x86_64 glib2-0:2.54.2-1.fc27.x86_64 glibc-0:2.26-16.fc27.i686 glibc-0:2.26-16.fc27.x86_64 gtk2-0:2.24.31-6.fc27.x86_64 gtk3-0:3.22.26-1.fc27.x86_64 hunspell-0:1.5.4-4.fc27.x86_64 libX11-0:1.6.5-4.fc27.x86_64 libX11-xcb-0:1.6.5-4.fc27.x86_64 libXcomposite-0:0.4.4-11.fc27.x86_64 libXdamage-0:1.1.4-11.fc27.x86_64 libXext-0:1.3.3-7.fc27.x86_64 libXfixes-0:5.0.3-4.fc27.x86_64 libXrender-0:0.9.10-4.fc27.x86_64 libXt-0:1.1.5-6.fc27.x86_64 libffi-0:3.1-14.fc27.x86_64 libgcc-0:7.2.1-2.fc27.x86_64 libjpeg-turbo-0:1.5.1-4.fc27.x86_64 libstdc++-0:7.2.1-2.fc27.x86_64 libvpx-0:1.6.1-4.fc27.x86_64 libxcb-0:1.12-5.fc27.x86_64 mozilla-filesystem-0:1.9-17.fc27.x86_64 nspr-0:4.17.0-1.fc27.i686 nspr-0:4.17.0-1.fc27.x86_64 nss-0:3.34.0-1.0.fc27.i686 nss-0:3.34.0-1.0.fc27.x86_64 nss-util-0:3.34.0-1.0.fc27.x86_64 p11-kit-trust-0:0.23.8-1.fc27.i686 p11-kit-trust-0:0.23.9-2.fc27.x86_64 pango-0:1.40.14-1.fc27.x86_64 startup-notification-0:0.12-14.fc27.x86_64 u2f-hidraw-policy-0:1.0.2-5.fc27.x86_64 zlib-0:1.2.11-4.fc27.x86_64


0

Nếu bạn muốn cài đặt một gói nó phụ thuộc thông qua yum, hãy thử tùy chọn cài đặt cục bộ thay vì cài đặt. Việc localinstallcài đặt một gói và tìm thấy bất kỳ phụ thuộc và tải chúng:

$ yum -y localinstall <package>

Tôi không phải là guru yum nhưng điều này hoạt động tốt với tôi, giúp dễ dàng cài đặt bao gồm cả phụ thuộc :-)

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.