Qual é o melhor lugar para encontrar fontes de ferramentas de linha de comando padrão do Linux?

Qual é o melhor lugar para encontrar fontes de ferramentas de linha de comando padrão do Linux?

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 manconté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:

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 Mirrordownload do pacote será feito.

informação relacionada