Где найти исходный код утилит и демонов Linux. В основном я хочу знать репозиторий исходных кодов, кроме ядра Linux.
Вы можете найти это на Саванна GNU. Например вот coreutils.
Я подозреваю, что это не принесет вам много пользы, если вы не поймете разницы между утилитами, демонами и ядром.
Ответ - Интернет.
Не существует единого репозитория, содержащего весь исходный код для каждого дистрибутива Linux.
Официальные выпуски ядра доступны по адресу http://www.kernel.org/
Дистрибутивы Al linux в соответствии с условиями лицензирования большей части их программного обеспечения должны публиковать исходный код (включая любые модификации) - эта функция обычно доступна из диспетчера пакетов - но вы не сказали, какой дистрибутив вы используете.
Я бы предложил исходный код freebsd и дерево портов, но вы спрашивали о Linux.
В прошлый раз, когда я использовал его некоторое время назад, я мог в любое время перекомпилировать любое из пользовательских приложений, таких как: ps, df, ls, netstat, sockstat, sendmail и т. Д. Во freebsd я мог загрузить из portstree исходный код, изменить его, построить и установить. Кроме того, мне было легко включать собственные патчи.
Это одна функция, которую мне не хватает в Linux. Перекомпилировать ядро или всю ОС, любое приложение или службу было так просто и быстро. Конечно, эта функция существует и в Linux, но не так автоматизирована, как во freebsd.
Я так чувствую и могу ошибаться. Я не хочу начинать здесь войну Linux / BSD.
HTH
В каждом дистрибутиве, вероятно, есть «исходные» пакеты, которые включают любые изменения, внесенные ими в различные утилиты - вы можете загрузить и установить их в своей системе, чтобы прочитать исходный код и / или изменить и перекомпилировать его по своему усмотрению.
Вы также можете изучить исходные деревья для операционных систем BSD (их можно загрузить из каждого проекта, а также различные веб-интерфейсы для просмотра кода и истории изменений, например CVSWeb проекта FreeBSD).
В дополнение к Саванне, как указано @Dennis, каждый дистрибутив обычно имеет свой собственный метод предоставления исходного кода для различных двоичных пакетов. Например, в Debian или Ubuntu вы можете использовать apt-get source packagename
, который загрузит исходный код указанного пакета в рабочий каталог.