Ubuntu: как найти исходный код утилиты?

#c #ubuntu

#c #ubuntu

Вопрос:

Как мне найти исходный код утилиты, имя которой отличается от имени ее родительского пакета?

Например, я хотел бы посмотреть: /usr/bin/sort

Ответ №1:

apt-get source Команда загрузит упаковку Ubuntu и исходный код для вас:

 $ dpkg -S /usr/bin/sort
coreutils: /usr/bin/sort
$ cd /tmp
$ apt-get source coreutils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Need to get 10.8 MB of source archives.
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/main coreutils 8.5-1ubuntu6 (dsc) [1,955 B]
Get:2 http://us.archive.ubuntu.com/ubuntu/ natty/main coreutils 8.5-1ubuntu6 (tar) [10.7 MB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ natty/main coreutils 8.5-1ubuntu6 (diff) [23.3 kB]
Fetched 10.8 MB in 6s (1,731 kB/s)                                                   
dpkg-source: info: extracting coreutils in coreutils-8.5
dpkg-source: info: unpacking coreutils_8.5.orig.tar.gz
dpkg-source: info: applying coreutils_8.5-1ubuntu6.diff.gz
$ 
  

Теперь coreutils-8.5 каталог содержит исправленные исходные тексты, готовые к перестройке с помощью debuild(1) , и coreutils_8.5.orig.tar.gz содержит исходный исходный код, если вы хотите работать с ним вместо исправленных исходных текстов.

Ответ №2:

вы можете запустить

dpkg -S /usr/bin/sort

чтобы узнать имя пакета, затем посмотреть информацию о пакете, получить URL, перейдите на его сайт и получите исходный код.

Ответ №3:

Запустите программу с помощью --version или --help или прочитайте ссылки на странице руководства или заявление об авторских правах, и вы можете узнать, что это утилита проекта GNU. В любом случае, это даст вам достаточно поисковых запросов, чтобы найти ее. (Вы можете найти справочную страницу в режиме онлайн, даже если вы не используете ОС поблизости.)

В случае вашего /usr/bin/sort примера это вызовет поиск по «gnu coreutils», который вернет этот сайт gnu в качестве верхнего результата.

Комментарии:

1. В дополнение к этому, вы можете найти пакет, из которого была выпущена данная программа, используя dpkg -S, как в dpkg -S /usr/bin/sort .