Lệnh liệt kê những gì rpms có thể cung cấp một tệp cụ thể: vòng / phút cung cấp các tệp đã được cài đặt hoặc rpms có thể cung cấp các tệp không được cài đặt?
Lệnh liệt kê những gì rpms có thể cung cấp một tệp cụ thể: vòng / phút cung cấp các tệp đã được cài đặt hoặc rpms có thể cung cấp các tệp không được cài đặt?
Câu trả lời:
Đối với các tệp / gói đã được cài đặt:
[jb @ smokey ~] $ rpm -qf / etc / sudoers sudo-1.6.9p13-8.fc9.x86_64
Đối với các tệp & gói chưa được cài đặt:
[jb @ smokey ~] $ yum whatprovides "/ etc / sudoers" sudo-1.6.9p13-8.fc9.x86_64: Cho phép truy cập root bị hạn chế đối với người dùng được chỉ định Repo: cập nhật-newkey Phù hợp từ: Tên tệp: / etc / sudoers sudo-1.6.9p13-4.fc9.x86_64: Cho phép truy cập root bị hạn chế đối với người dùng được chỉ định Repo: fedora Phù hợp từ: Tên tệp: / etc / sudoers sudo-1.6.9p13-8.fc9.x86_64: Cho phép truy cập root bị hạn chế đối với người dùng được chỉ định Repo: đã cài đặt Phù hợp từ: Khác: Cung cấp kết hợp: / etc / sudoers
Lưu ý rằng "yum whatprovides" là một mẫu khớp, vì vậy nếu bạn không chắc chắn nơi tệp bạn đang tìm kiếm sẽ nằm trong cấu trúc thư mục, hãy bao quanh nó bằng dấu ngoặc kép và dấu hoa thị:
yum whatprovides "* foo *"
Tương tự như vậy nếu bạn chắc chắn những gì bạn đang tìm kiếm là một nhị phân bạn có thể làm:
yum whatprovides "* bin / foo"
Tôi không biết về các tệp chưa được cài đặt nhưng đối với một tệp đã được cài đặt, bạn có thể sử dụng vòng / phút:
vòng / phút / bin / ls Tên: coreutils Relocations: (không thể di dời) Phiên bản: 5.97 Nhà cung cấp: Red Hat, Inc. Phát hành: 23.el5 Ngày xây dựng: Thứ hai 13 tháng 7 năm 2009 04:21:27 AM MDT Ngày cài đặt: Thứ Sáu 11 Tháng Chín 2009 04:46:01 AM MDT Build Host: hs20-bc1-7.build.redhat.com Nhóm: Môi trường hệ thống / RPM nguồn cơ sở: coreutils-5.97-23.el5.src.rpm Kích thước: 9053874 Giấy phép: GPLv2 + Chữ ký: DSA / SHA1, Thứ ba ngày 28 tháng 7 năm 2009 03:42:40 AM MDT, ID khóa 5326810137017186 Nhà đóng gói: Red Hat, Inc. URL: Tóm tắt: Các tiện ích lõi GNU: một bộ công cụ thường được sử dụng trong các tập lệnh shell Sự miêu tả : Đây là những tiện ích cốt lõi của GNU. Gói này là sự kết hợp của các tập tin GNU, sh-utils và gói textutils cũ.Nếu bạn đã tải xuống RPM, bạn có thể truy vấn để xem những gì sẽ cài đặt:
vòng / phút -qilp ./Server/jzlib-1.0.7-4jpp.1.i386.rpm cảnh báo: ./Server/jzlib-1.0.7-4jpp.1.i386.rpm: Tiêu đề V3 DSA chữ ký: NOKEY, ID khóa 37017186 Tên: jzlib Relocations: (không thể di dời) Phiên bản: 1.0.7 Nhà cung cấp: Red Hat, Inc. Phát hành: 4jpp.1 Ngày xây dựng: Thứ ba ngày 08 tháng 8 năm 2006 12:10:03 PM MDT Ngày cài đặt: (chưa cài đặt) Build Host: hs20-bc1-6.build.redhat.com Nhóm: Phát triển / Thư viện / RPM nguồn Java: jzlib-1.0.7-4jpp.1.src.rpm Kích thước: 280436 Giấy phép: Kiểu BSD Chữ ký: DSA / SHA1, ngày 18 tháng 1 năm 2007 08:49:50 AM MST, ID chính 5326810137017186 Nhà đóng gói: Red Hat, Inc. URL: Tóm tắt: JZlib triển khai lại zlib trong Java thuần Sự miêu tả : Các zlib được thiết kế để được miễn phí, mục đích chung, không bị cản trở về mặt pháp lý - nghĩa là, không được bảo vệ bởi bất kỳ bằng sáng chế nào - nén dữ liệu không mất dữ liệu thư viện để sử dụng trên hầu hết mọi phần cứng máy tính và hệ điều hành. Bản zlib được viết bởi Jean-loup Gailly (nén) và Mark Adler (giảm bớt sức ép). /usr/lib/gcj/jzlib/jzlib-1.0.7.jar.db /usr/lib/gcj/jzlib/jzlib-1.0.7.jar.so /usr/share/doc/jzlib-1.0.7 /usr/share/doc/jzlib-1.0.7/LICENSE.txt /usr/share/java/jzlib-1.0.7.jar /usr/share/java/jzlib.jarbạn có thể bỏ qua "-i" từ các tùy chọn nếu bạn không muốn xem tất cả thông tin về RPM.
afaik, nó là không thể với vòng / phút tinh khiết. vòng / phút cung cấp điều này chỉ cho các gói cài đặt với tùy chọn --whatprovides
.
Khi bạn có thể sử dụng yum, hãy thử yum provides <filename>
tìm kiếm trong kho lưu trữ.
Nếu bạn không muốn (hoặc có thể) sử dụng yum (ví dụ: trên máy ngoại tuyến), bạn có thể tìm kiếm bên trong các RPM chưa được cài đặt bằng cách thực hiện
# rpm -qp --filesbypkg *rpms-to-search-in* | grep *file-to-search-for*
Điều này có thể mất một chút thời gian, vì vậy hãy kiên nhẫn khi tìm kiếm trong số * .rpm trên một kho lưu trữ lớn, chẳng hạn như DVD cài đặt chẳng hạn. Nhưng, không giống như "-qpl", "-qp --filesbypkg" sẽ liệt kê cả tệp và RPM mà nó thuộc về, ví dụ:
# rpm -qpl p*.rpm|grep libpq.so.4
/usr/lib/libpq.so.4
/usr/lib64/libpq.so.4
# rpm -qp --filesbypkg p*.rpm|grep libpq.so.4
postgresql-libs /usr/lib/libpq.so.4
postgresql-libs /usr/lib64/libpq.so.4
trong trường hợp trùng lặp rõ ràng là do sự hiện diện của các gói i386 và x86_64 (được làm rõ từ chuỗi "lib64").