Odpowiedzi:
Zwykle możesz zapytać swoją dystrybucję, aby zobaczyć, skąd pochodzą źródła. Na przykład korzystam z Fedory i widzę, że man
polecenie pochodzi z man-db
pakietu:
$ rpm -qf /usr/bin/man
man-db-2.6.7.1-16.fc21.x86_64
Mogę następnie wysłać zapytanie do man-db
pakietu o adres URL wysyłania:
$ rpm -qi man-db | grep -i url
URL : http://www.nongnu.org/man-db/
I proszę bardzo, http://www.nongnu.org/man-db/ .
Możesz wykonać podobną sekwencję kroków z systemami pakowania używanymi w innych dystrybucjach.
dpkg -S /usr/bin/man
iapt-cache show man-db | grep Homepage
W dystrybucjach opartych na Debianie, takich jak Ubuntu, możesz znaleźć i pobrać kod źródłowy, jak poniżej:
$ which man
/usr/bin/man
$ dpkg --search /usr/bin/man
man-db: /usr/bin/man
$ apt-get source man-db
Spowoduje to umieszczenie kodu źródłowego w bieżącym katalogu roboczym.
Linux nie jest systemem operacyjnym, ale tylko jądrem. Teoretycznie każda dystrybucja może swobodnie korzystać z tego, co im się podoba.
Nawet rpm niekoniecznie jest używany w każdej dystrybucji Linuksa, więc pierwszym krokiem jest ustalenie, która implementacja jest używana. Zazwyczaj można to zrobić za pomocą strings
pliku binarnego, a następnie użyć znaczącego ciągu w podwójnych cudzysłowach jako ciągu wyszukiwania w Google.
rpm -qf
lub dpkg -S
odpowiednik twojego systemu pakowania dla „$ (polecenie -v man) zwraca nazwę pakietu, to metoda ta będzie o wiele bardziej niezawodna niż wyszukiwanie w łańcuchach znalezionych w pliku binarnym. Należy pamiętać, że większość dystrybucji łata oprogramowanie z góry. Zatem pakiet źródłowy dla twojej dystrybucji jest jedynym miejscem, gdzie można znaleźć dokładny kod źródłowy skompilowany dla twojego / usr / bin / man.