Into: я люблю учиться, читая источники. Но надоело искать их в интернете, разбитых по множеству сайтов разных проектов. Мне бы очень хотелось увидеть централизованное репо с возможностью просмотра и просмотра множества разных приложений в одном месте.
- Когда кто - то хочет найти документацию по какому - то инструменту Linux, лучшее место:
man toolname
. - Когда я хочу просмотреть источники Linux «по требованию», я всегда могу перейти к: Linux Cross Reference .
- Когда я хочу найти наиболее распространенный персонал, я могу найти все источники в Coreutils .
- Когда я хочу проверить, как что-то построить, я могу (например) перейти на http://www.archlinux.org/packages/ , проверить, что это pkgbuild.
Есть ли репозиторий, содержащий источники большинства инструментов в одном месте? - так же, как man
содержит документацию или исходные коды ядра Linux Cross .
Я имею в виду что-то для «быстрой» проверки «по требованию», как все реализовано. (Да, я знаю Google -> но я устал от рутины: 1. поиск по сайту проекта 2. просмотр репо или еще хуже -> проверка его репо 3. удаление после завершения)
Замечание:
Я подчеркнул, я хотел бы проверить инструменты: быстро, быстро, по требованию.
Это означает: я не хочу устанавливать целое приложение с его источниками, просто чтобы взглянуть на его источники. (Кстати, веб-ресурс предпочтительнее, поэтому я мог проверить источники со многих компьютеров - у меня нет администратора на всех из них)
источник
apt-get source $PACKAGE-NAME
после того, как вы добавили исходный репозиторийapt-get source
вы можете запустить эту команду как обычный пользователь.Ответы:
Позвольте мне ответить на ваш вопрос альтернативным ответом. Я думаю, вы хотите прочитать код для традиционных инструментов командной строки Unix, а не только их GNU-версию. Прочитайте код похожих инструментов из разных проектов - это хорошая практика для изучения разных идей и реализаций.
GNU имеет хороший веб-интерфейс для репозитория coreutils: http://git.savannah.gnu.org/cgit/coreutils.git
Семейство BSD имеет похожие веб-интерфейсы для репозиториев:
База кода BSD интересна тем, что обычно использует меньше кода для одних и тех же инструментов, то есть: поддерживает только традиционные опции, никаких дополнительных опций, sh - это настоящая оболочка, а не просто ссылка на другую большую оболочку (bash) и т. Д. Инструменты, подобные coreutils находятся в bin, sbin, usr.bin и usr.sbin.
Вы также можете просматривать те же веб-интерфейсы, если хотите прочитать код для сборки стороннего программного обеспечения (аналогично pkgbuild от arch). NetBSD и DragonFly используют pkgsrc из репозитория NetBSD. OpenBSD и FreeBSD имеют эти платформы в своих соответствующих репозиториях.
Другие репо, интересные для вашей цели:
источник
Так как нет центрального места для разработки с открытым исходным кодом, нет центрального хранилища, содержащего большинство программного обеспечения с открытым исходным кодом. Некоторые используют GitHub, BitBucket, частные серверы, Sourceforge, Launchpad и т. Д. Таким образом, это действительно распределенная среда, и нет никакого непосредственного преимущества, если один репозиторий просто копирует исходный код.
С другой стороны, бинарные дистрибутивы (поставляющие бинарные файлы вместо исходного кода) обычно предоставляют исходный код для большинства своих пакетов и предоставляют их всем пользователям. Таким образом, ваш лучший шанс - использовать инфраструктуру, предоставляемую дистрибутивами. Помните, что они не обязательно содержат последние изменения и исправления и могут быть устаревшими.
Примеры того, как загрузить исходный пакет из вашего дистрибутива:
Для Arch взгляните на ответы на ответы на аналогичный вопрос по stackoverflow.
Если вы просто хотите скачать исходный код, вы можете использовать packages.debian.org, например, ссылку для coreutils . Это обеспечит ссылку для загрузки исходного пакета (
orig.*
или очищенного источника для некоторых пакетовdsfg.*
). Вы можете сделать то же самое со списком пакетов Arch Linux, например: страница arch coreutils .Download from Mirror
Скачает пакет.источник