#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
.