Mã nguồn mới nhất của lệnh man cho linux ở đâu?


20

Tôi đang tìm mã nguồn mới nhất của lệnh man, phiên bản trong Linux của tôi khá cũ (v1.6f), nhưng tôi đã thất bại sau khi googling một thời gian.

Tôi có nghĩa là mã nguồn mới nhất của man, man-pagesnhưng không phải là tệp nhị phân /usr/bin/mancó thể được biên dịch và cài đặt.

Câu trả lời:


19

Bạn thường có thể truy vấn phân phối của mình để xem nguồn đến từ đâu. Ví dụ: tôi đang ở Fedora và tôi có thể thấy rằng manlệnh xuất phát từ man-dbgói:

$ rpm -qf /usr/bin/man
man-db-2.6.7.1-16.fc21.x86_64

Sau đó tôi có thể truy vấn man-dbgói cho url ngược dòng:

$ rpm -qi man-db | grep -i url
URL         : http://www.nongnu.org/man-db/

Và bạn đang ở đó, http://www.nongnu.org/man-db/ .

Bạn có thể thực hiện một chuỗi các bước tương tự với các hệ thống đóng gói được sử dụng trên các bản phân phối khác.


Cảm ơn, tôi đã có man-db sau khi tôi đăng câu hỏi này, có vẻ như tôi không thể biên dịch man từ mã nguồn vì nhiều phụ thuộc.
CodyChan

Điều đó đúng. Bạn sẽ phải giải quyết tất cả các phụ thuộc đầu tiên. thậm chí sau đó, nhị phân người đàn ông mới của bạn có thể không hữu ích cho bạn vì phụ thuộc vào các nhị phân mới hơn khác.
fpmurphy

1
Nếu chỉ có các phụ thuộc tuyến tính, điều này thật dễ dàng ;-) Có các hệ thống dòng Gnome có các phụ thuộc vòng tròn. Tôi hy vọng rằng một số nhà phát triển OSS học cách tạo nguồn với các phụ thuộc tuyến tính được ghi lại.
schily

1
Để tham khảo trong tương lai, trên các bản phân phối dựa trên Debian, các lệnh tương đương là dpkg -S /usr/bin/manapt-cache show man-db | grep Homepage
Tim

2

Trên các bản phân phối dựa trên Debian, giống như Ubuntu, bạn có thể tìm và tải xuống mã nguồn như dưới đây:

$ which man
/usr/bin/man
$ dpkg --search /usr/bin/man
man-db: /usr/bin/man
$ apt-get source man-db

Điều này sẽ đặt mã nguồn trong thư mục làm việc hiện tại của bạn.


Cảm ơn, điều này đã giúp tôi. Sẽ tốt hơn nếu câu trả lời này có thể được khái quát hơn bằng cách nào đó.
Aaron Hall

-2

Linux không phải là một hệ điều hành mà chỉ là một hạt nhân. Vì vậy, trong lý thuyết, mọi distro đều miễn phí sử dụng bất cứ thứ gì họ thích.

Ngay cả vòng / phút không nhất thiết phải được sử dụng trên mọi bản phân phối linux, vì vậy bước đầu tiên là tìm ra cách triển khai nào được sử dụng. Điều này thường có thể được thực hiện bằng cách sử dụng stringstrên nhị phân và sau đó sử dụng một chuỗi đáng kể trong dấu ngoặc kép làm chuỗi tìm kiếm trên Google.


1
Nếu rpm -qfhoặc dpkg -Shoặc tương đương với hệ thống đóng gói của bạn cho `" $ (lệnh -v man) "trả về tên của gói, thì phương thức đó sẽ đáng tin cậy hơn nhiều so với việc tìm kiếm các chuỗi được tìm thấy trong nhị phân. Hãy nhớ rằng hầu hết các bản phân phối vá phần mềm từ thượng nguồn. Vì vậy, gói nguồn cho phân phối của bạn là nơi duy nhất sử dụng mã nguồn chính xác như được biên dịch cho / usr / bin / man của bạn.
Stéphane Chazelas

Có hơn một chục hệ thống đóng gói khác nhau, vì vậy bạn sẽ cần đề cập đến nhiều phương pháp ..... nhưng bạn đã đúng: Nói chung, nhiều bản phân phối không hợp tác và vá lỗi vào phần mềm hoặc không báo cáo các bản vá hữu ích Thượng nguồn.
schily
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.