Как я могу найти исходный код Ubuntu?

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

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

5 ответов

Если это так, Google должен быть в состоянии помочь вам - он проиндексировал тонны общедоступного исходного кода. Я был бы очень удивлен, если бы он не нашел что-то.

В противном случае (или любой другой вид веб-поиска), strings довольно удобное небольшое приложение. Он читает все строки из файла, даже если он двоичный. Я взломал, и вы можете использовать это, чтобы найти фразу в любом месте на вашем компьютере. Эта версия ищет "плохо" в /usr/bin

find /usr/bin -exec bash -c 'if [[ $(strings {} | grep -i bad) ]]; then echo "{}"; fi' \;

Это, очевидно, довольно хардкорный способ делать вещи. Но подождите, это еще не все. Вы можете найти пакет для каждого результата, как вы идете:

find /usr/bin -exec bash -c 'if [[ $(strings {} | grep -i bad) ]]; then dpkg -S "{}"; fi' \;

Теперь это то, что я называю потрясающим. Вот оно в действии, ищем "Нет такого устройства"

oli@bert:/var/log$ find /usr/bin -exec bash -c 'if [[ $(strings {} | grep -i "No such device") ]]; then dpkg -S "{}"; fi' \;
handbrake-gtk: /usr/bin/ghb
usbutils: /usr/bin/usbhid-dump

Есть веб-сайт Ubuntu Code Search, который позволяет вам искать исходный код всех пакетов в репозиториях Ubuntu: http://ubuntu-codesearch.surgut.co.uk/

Похоже, что вышеупомянутый сайт некоторое время не работал. Я постараюсь связаться с сопровождающим.

Редактировать: я говорил с сопровождающим, и этот проект в настоящее время не является приоритетным. Я бы порекомендовал использовать поиск кода Debian, поскольку мы делимся с ними множеством пакетов / кода: https://codesearch.debian.net/

Ответ, который я знаю, вы боялись:

Загрузите все исходные пакеты и найдите их локально. Это около 40 ГБ, GZIP. Я бы начал с установки apt-mirror только с deb-src записей.

Я знаю, что опоздал, но все же, имя пакета libnotify и исходный код для него здесь http://libnotify.sourcearchive.com/documentation/0.4.4/notify-send_8c-source.html

Ubuntu использует исходный код Debian Linux. Но вы должны знать, что linux - это ядро ​​(http://www.kernel.org/), а дистрибутив - это программное обеспечение (http://www.gnu.org/), поставляемое в комплекте с ним. Вы можете получить репозиторий Ubuntu Source с сайта archive.ubuntu.com. Вы также можете обратиться к https://code.launchpad.net/ubuntu

Другие вопросы по тегам