
Into: Me gusta aprender leyendo fuentes. Pero es agotador buscarlos en Internet divididos en muchos sitios de proyectos diferentes. me encantaría vercentral navegablerepositorio con fuentes de muchas aplicaciones en un solo lugar.
- Cuando alguien quiere encontrar documentación de alguna herramienta de Linux, el mejor lugar es:
man toolname
. - Cuando quiero explorar fuentes de Linux "bajo demanda", siempre puedo saltar a:Referencia cruzada de Linux.
- Cuando quiero encontrar el personal más común, puedo encontrar todas las fuentes en Coreutils.
- Cuando quiero comprobar cómo construir algo, puedo (por ejemplo) saltar ahttp://www.archlinux.org/packages/, comprueba que sea pkgbuild.
¿Existe algún repositorio que contenga fuentes de la mayoría de las herramientas en un solo lugar? - al igual que man
contiene documentación oReferencia cruzada de Linuxfuentes del núcleo.
Me refiero a algo para comprobar "rápidamente" "bajo demanda" cómo se implementan las cosas. (Sí, conozco Google -> pero estoy cansado de la rutina: 1. buscar en el sitio del proyecto 2. explorar el repositorio o incluso peor -> verificar su repositorio 3. eliminarlo cuando haya terminado)
OBSERVACIÓN:
Estoy estresado, me gustaría comprobar las herramientas: rápidamente, rápido, bajo demanda.
Significa: no quiero instalar la aplicación completa con sus fuentes solo para echar un vistazo a sus fuentes. (Por cierto, es preferible el recurso web, por lo que podría verificar las fuentes de muchas computadoras; no tengo administrador en todas ellas)
Respuesta1
Déjame responder a tu pregunta con una respuesta alternativa. Supongo que querrás leer el código de las herramientas tradicionales de línea de comandos de Unix, no solo la versión GNU de estas. Leer el código de herramientas similares de diferentes proyectos es una buena práctica para aprender diferentes ideas e implementaciones.
GNU tiene una bonita interfaz web para el repositorio de coreutils:http://git.savannah.gnu.org/cgit/coreutils.git
La familia BSD tiene interfaces web similares para los repositorios:
- 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/
El código base de BSD es interesante porque generalmente usa menos código para las mismas herramientas, es decir: solo admite opciones tradicionales, no opciones adicionales, sh es un shell real y no solo un enlace a otro shell grande (bash), etc. Herramientas similares a coreutils están dentro de bin, sbin, usr.bin y usr.sbin.
También puede navegar por las mismas interfaces web si desea leer el código para crear software de terceros (similar al pkgbuild de arch). NetBSD y DragonFly usan pkgsrc del repositorio de NetBSD. OpenBSD y FreeBSD tienen estos marcos dentro de sus respectivos repositorios.
Otros repositorios interesantes para su propósito son:
Respuesta2
Como no existe un lugar central para el desarrollo de código abierto, no existe un repositorio central que contenga la mayor parte del software de código abierto. Algunos usan GitHub, BitBucket, servidores privados, Sourceforge, Launchpad, etc. Por lo tanto, este es un entorno verdaderamente distribuido y no hay ningún beneficio inmediato de tener un repositorio simplemente copiando el código fuente.
Por otro lado, las distribuciones binarias (que envían archivos binarios en lugar de código fuente) normalmente proporcionan la fuente de la mayoría de sus paquetes y se los entregan a todos los usuarios. Entonces, su mejor oportunidad es utilizar la infraestructura proporcionada por Distribuciones. Tenga en cuenta que no necesariamente contienen los últimos cambios y correcciones y pueden estar desactualizados.
Ejemplos de cómo descargar un paquete fuente de su distribución:
yumdownloader --source packagename
apt-get source packagename
Para Arch, eche un vistazo a las respuestas enlas respuestas para una pregunta similaren desbordamiento de pila.
Si solo desea descargar el código fuente, puede usar paquetes.debian.org, por ejemploenlace para coreutils. Esto proporcionará un enlace de descarga al paquete original ( orig.*
o la fuente limpiada para algunos paquetes dsfg.*
). Podrías hacer lo mismo con la lista de paquetes de Arch Linux, por ejemplo:página de arch coreutils. Descargará Download from Mirror
el paquete.