
Em: Gosto de aprender lendo fontes. Mas é cansativo pesquisá-los na Internet, divididos em muitos sites de projetos diferentes. adoraria vercentral navegávelrepositório com fontes de muitos aplicativos em um só lugar.
- Quando alguém deseja encontrar documentação de alguma ferramenta Linux, o melhor lugar é:
man toolname
. - Quando quero navegar pelas fontes do Linux "sob demanda", posso sempre pular para:Referência Cruzada do Linux.
- Quando quero encontrar a equipe mais comum, posso encontrar todas as fontes em Coreutils.
- Quando quero verificar como construir algo, posso (por exemplo) pular parahttp://www.archlinux.org/packages/, verifique se é pkgbuild.
Existe algum repositório que contenha fontes da maioria das ferramentas em um só lugar? - assim como man
contém documentação ouReferência Cruzada do Linuxfontes do kernel.
Quero dizer algo para verificação "rápida" "sob demanda" de como as coisas são implementadas. (Sim, eu conheço o Google -> mas estou cansado da rotina: 1. pesquisando no site do projeto 2. navegando no repositório ou pior ainda -> verificando seu repositório 3. excluindo quando terminar)
OBSERVAÇÃO:
Já enfatizei que gostaria de verificar as ferramentas: rapidamente, rápido, sob demanda.
Isso significa: não quero instalar o aplicativo inteiro com suas fontes apenas para dar uma olhada em suas fontes. (aliás, o recurso da web é preferível, para que eu possa verificar as fontes de muitos computadores - não tenho administrador em todos eles)
Responder1
Deixe-me responder à sua pergunta com uma resposta alternativa. Acho que você deseja ler o código das ferramentas tradicionais de linha de comando do Unix, não apenas da versão GNU delas. Ler o código de ferramentas semelhantes de diferentes projetos é uma boa prática para aprender diferentes ideias e implementações.
GNU possui uma interface web agradável para o repositório de coreutils:http://git.savannah.gnu.org/cgit/coreutils.git
A família BSD possui interfaces web semelhantes para os repositórios:
- OpenBSD:http://www.openbsd.org/cgi-bin/cvsweb/src/
- Libélula BSD:http://gitweb.dragonflybsd.org/dragonfly.git/tree
- NetBSD:http://cvsweb.netbsd.org/bsdweb.cgi/src/
- FreeBSD:http://svnweb.freebsd.org/base/head/
A base de código BSD é interessante porque geralmente usa menos código para as mesmas ferramentas, ou seja: suporta apenas opções tradicionais, sem opções extras, sh é um shell real e não apenas um link para outro grande shell (bash), etc. estão dentro de bin, sbin, usr.bin e usr.sbin.
Você também pode navegar pelas mesmas interfaces da web se quiser ler o código para construir software de terceiros (semelhante ao pkgbuild do arch). NetBSD e DragonFly usam pkgsrc do repositório NetBSD. OpenBSD e FreeBSD possuem essas estruturas em seus respectivos repositórios.
Outros repositórios interessantes para o seu propósito são:
Responder2
Como não existe um local central para o desenvolvimento de código aberto, não existe um repositório central contendo a maior parte do software de código aberto. Alguns usam GitHub, BitBucket, servidores privados, Sourceforge, Launchpad, etc. Portanto, este é um ambiente verdadeiramente distribuído e não há benefício imediato em ter um repositório apenas copiando o código-fonte.
Por outro lado, distribuições binárias (enviando binários em vez de código-fonte) normalmente fornecem a fonte para a maioria de seus pacotes e os fornecem a todos os usuários. Portanto, sua melhor chance é utilizar a infraestrutura fornecida pelas Distribuições. Esteja ciente de que eles não contêm necessariamente as alterações e correções mais recentes e podem estar desatualizados.
Exemplos de como baixar um pacote fonte da sua distribuição:
yumdownloader --source packagename
apt-get source packagename
Para Arch, dê uma olhada nas respostas emas respostas para uma pergunta semelhanteno stackoverflow.
Se você quiser apenas baixar o código fonte, você pode usar packages.debian.org, por exemplolink para coreutils. Isto fornecerá um link de download para o pacote original ( orig.*
ou a fonte limpa para alguns pacotes dsfg.*
). Você poderia fazer o mesmo com a lista de pacotes do Arch Linux, por exemplo:página do arch coreutils. O Download from Mirror
download do pacote será feito.