Làm cách nào tôi có thể tìm thấy gói nào cung cấp trang man bị thiếu trên CentOS?


7

Ở dưới cùng man pcregrep, có một thông báo:

SEE ALSO

       pcrepattern(3), pcresyntax(3), pcretest(1).

Tuy nhiên, khi tôi cố gắng xem, man pcresyntaxtôi nhận được:

$ man pcresyntax
No manual entry for pcresyntax
$ man 3 pcresyntax
No entry for pcresyntax in section 3 of the manual
$ man -k pcre
pcre-config          (1)  - program to return PCRE configuration
pcregrep             (1)  - a grep with Perl-compatible regular expressions
pcre_table           (5)  - format of Postfix PCRE tables
pcretest             (1)  - a program for testing Perl-compatible regular expressions

Tôi đã cố gắng yum info pcresyntaxvà thậm chí yum search pcresyntaxvà không có gì. Theo đề nghị của một số ý kiến ​​được đăng dưới đây, tôi đã thử yum provides pcresyntaxyum whatprovides pcresyntaxkhông có kết quả. (Hộp này đang chạy CentOS 6.6.)

Gói nào bao gồm trang man pcresyntax? Quan trọng hơn, làm thế nào tôi có thể tìm ra gói nào bao gồm một trang người đàn ông mà tôi đang thiếu?

(Điều này chủ yếu dành cho các trang man bị thiếu được đề cập trong các trang man khác, thay vì các trang man bị thiếu cho một lệnh được cài đặt. Nói cách khác, các trang man không được liên kết rõ ràng với một lệnh đã cho.)


LƯU Ý: Tôi làm việc với Linux một cách chuyên nghiệp và tôi quan tâm đến các câu trả lời được áp dụng rộng rãi, cũng như các câu trả lời cụ thể cho bất kỳ người quản lý gói chính nào. pcresyntaxchỉ là một ví dụ cụ thể về một trang người đàn ông mất tích, không phải là câu hỏi cuối cùng của tôi.

Hiện tại trong công việc tôi chủ yếu sử dụng yum, chủ yếu trên RHEL / CentOS 6, và tôi đã hỏi câu hỏi tiêu đề thay vì "tôi có thể tìm thấy pcresyntaxtrang người đàn ông ở đâu?" bởi vì tôi muốn biết càng nhiều càng tốt về cách tìm và cài đặt các trang man bị thiếu, để sử dụng chuyên nghiệp cả hiện tại (RHEL / CentOS) và trong tương lai (Ubuntu / Debian, OpenSUSE, ...?)

Kể từ khi hỏi câu hỏi này, tôi cũng tìm thấy Câu hỏi thường gặp về Stack Overflow thường xuyên trong đó trả lời tất cả các câu hỏi ngay lập tức của tôi về PCRE. ;)


Lưu ý rằng đây không phải là bản sao của unix.stackexchange.com/q/79028/135943 , vì (a) Tôi đang sử dụng CentOS 6.6 và quan trọng hơn là vì (b) Tôi thậm chí không biết gói nào sẽ bao gồm trang người đàn ông phù hợp; đó là những gì tôi cần tìm hiểu.
tự đại diện

Và bạn đã thử man 3 pcresyntaxchưa?
Faheem Mitha

@FaheemMitha, tôi đã làm. Cùng một kết quả. Trong dự thảo đầu tiên của tôi rằng bình luận là một phần của câu hỏi của tôi, nhưng cho rằng tôi đang hỏi làm thế nào để câu cá chứ không phải hỏi cho một con cá, tôi quyết định nó thuộc về ý kiến vì nó không có liên quan trực tiếp đến câu hỏi chung, đối với độc giả trong tương lai.
tự đại diện

@Wildcard những công cụ nào có sẵn để phân phối ảnh hưởng mạnh mẽ đến bất kỳ câu trả lời nào có thể có. Bạn nên chỉ định phân phối hoặc ít nhất là công cụ quản lý gói đang được sử dụng. Hoặc nếu không, câu trả lời là: "tìm công cụ nào có thể tìm kiếm cơ sở dữ liệu gói cho các tệp và sử dụng công cụ đó."
muru

@Wildcard Tất cả thông tin liên quan, bao gồm phân phối bạn đang sử dụng và những lệnh bạn đã cố gắng giải quyết vấn đề của mình, thuộc về câu hỏi. Ít nhất quan điểm của tôi là thế.
Faheem Mitha

Câu trả lời:


4

Đối với hệ thống sử dụng trình quản lý gói RPM (yum), ví dụ (tại đây) CentOS, hãy sử dụng yum provideshoặc yum whatprovides:

provides or whatprovides
              Is used to find out which package provides some feature or
              file. Just use a specific name or a file-glob-syntax wildcards
              to list the packages available or installed that provide that
              feature or file.

Đối với pcresyntax, bạn có thể thử:

yum whatprovides "*/pcresyntax"

Từ tài liệu của RHL ,

yum provides "*/file_name" là một cách hữu ích để tìm các gói chứa file_name.

Cũng truy cập Làm thế nào để tôi tìm thấy gói vòng / phút nào cung cấp một tệp tôi đang tìm kiếm?


Đối với hệ thống dựa trên Debian / Ubuntu sử dụng APT làm trình quản lý gói mặc định, có lệnh apt-file(cảm ơn @Gilles đã chỉ ra) có thể thực hiện công việc mà bạn đang tìm kiếm.

DESCRIPTION
       apt-file is a command line tool for searching files in packages for the APT package management system.

search Search in which package a file is included. A list of all packages containing the  pattern  pattern  is returned.

Vì vậy, sử dụng apt-file searchđể tìm một gói bao gồm một tệp bạn đang tìm kiếm.


Nói cách khác, manpage được cung cấp bởi các tệp (thường là từ / usr / share / man) và có thể trùng lặp với Làm thế nào để tìm ra gói (không được cài đặt) mà một tệp thuộc về? !


3

Tôi thấy nó như sau:

yum whatprovides '*/man3/pcresyntax*'

mà trên máy CentOS 6.5 của tôi cho biết nó ở pcre-devel-7.8-6.el6


Trên Fedora: dnf whatprovides '*man3/pcresyntax*'... hoặc tự do hơn: dnf whatprovides '*man?/pcresyntax*'... việc này mất toàn bộ 1m25. (Cuối cùng tôi đã thấy rằng getpeereid (3) đến từ libbsd-develyay!)
David Tonhofer
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.