vòng / phút cung cấp một tập tin


11

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:


10

Đố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"

5

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.jar
bạ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.


2

Trong kho dựa trên yum, bạn có thể thử một cái gì đó như yum provides */filename


1

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ữ.


1

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").


-3

Tôi e rằng tôi không chắc chắn cách thực hiện với RPMS, nhưng với Debian và Ubuntu, bạn có thể sử dụng chương trình apt-file

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.