Câu trả lời:
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 man
lệnh xuất phát từ man-db
gó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-db
gó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.
dpkg -S /usr/bin/man
vàapt-cache show man-db | grep Homepage
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.
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 strings
trê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.
rpm -qf
hoặc dpkg -S
hoặ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.