Into: J'aime apprendre en lisant des sources. Mais il est fatigant de les rechercher sur Internet, répartis sur de nombreux sites de projets différents. J'adorerais voir le référentiel central navigable avec les sources de nombreuses applications en un seul endroit.
- Quand quelqu'un veut trouver de la documentation de certains outils Linux, le meilleur endroit est:
man toolname
. - Lorsque je souhaite parcourir les sources Linux "à la demande", je peux toujours accéder à: Référence croisée Linux .
- Lorsque je veux trouver le personnel le plus courant, je peux trouver toutes les sources dans Coreutils .
- Quand je veux vérifier comment construire quelque chose, je peux (par exemple) aller sur http://www.archlinux.org/packages/ , vérifier que c'est pkgbuild.
Existe-t-il un référentiel contenant les sources de la plupart des outils en un seul endroit? - tout comme la man
documentation ou les sources du noyau de référence croisée Linux.
Je veux dire quelque chose pour "rapide" "à la demande" vérifier comment les choses sont implémentées. (Oui, je connais google -> mais je suis fatigué de la routine: 1. recherche sur le site du projet 2. navigation repo ou pire encore -> vérification de son repo 3. suppression une fois terminé)
REMARQUE:
Je l'ai souligné, je voudrais vérifier les outils: rapidement, rapidement, à la demande.
Cela signifie: je ne veux pas installer l'application entière avec ses sources juste pour jeter un œil à ses sources. (btw. ressource web est préférable, donc je pourrais vérifier les sources de nombreux ordinateurs - je n'ai pas d'administrateur sur chacun d'eux)
la source
apt-get source $PACKAGE-NAME
après avoir ajouté le référentiel sourceapt-get source
vous pouvez exécuter cette commande en tant qu'utilisateur normal.Réponses:
Permettez-moi de répondre à votre question par une réponse alternative. Je suppose que vous voulez lire le code des outils de ligne de commande Unix traditionnels, pas seulement la version GNU de ceux-ci. Lire le code d'outils similaires de différents projets est une bonne pratique pour apprendre différentes idées et implémentations.
GNU a une belle interface web pour le dépôt de coreutils: http://git.savannah.gnu.org/cgit/coreutils.git
La famille BSD possède des interfaces Web similaires pour les dépôts:
La base de code BSD est intéressante car utilise généralement moins de code pour les mêmes outils, c'est-à-dire: ne prend en charge que les options traditionnelles, pas d'options supplémentaires, sh est un vrai shell et pas seulement un lien vers d'autres gros shell (bash), etc. Outils similaires à coreutils sont dans bin, sbin, usr.bin et usr.sbin.
Vous pouvez également parcourir les mêmes interfaces Web si vous souhaitez lire le code pour construire un logiciel tiers (similaire à pkgbuild de arch). NetBSD et DragonFly utilisent pkgsrc à partir du référentiel NetBSD. OpenBSD et FreeBSD ont ces frameworks dans leurs référentiels respectifs.
D'autres repos intéressants pour votre but sont:
la source
Comme il n'y a pas de place centrale pour le développement open source, il n'y a pas de référentiel central contenant la plupart des logiciels open source. Certains utilisent GitHub, BitBucket, des serveurs privés, Sourceforge, Launchpad, etc. Il s'agit donc d'un environnement vraiment distribué et il n'y a aucun avantage immédiat à avoir un référentiel copiant simplement la source.
D'un autre côté, les distributions binaires (expédition de binaires au lieu du code source) fournissent généralement la source de la plupart de leurs packages et les fournissent à tous les utilisateurs. Votre meilleure chance est donc d'utiliser l'infrastructure fournie par les distributions. Veuillez noter qu'ils ne contiennent pas nécessairement les dernières modifications et correctifs et peuvent être obsolètes.
Exemples de téléchargement d'un package source à partir de votre distribution:
Pour Arch, regardez les réponses aux réponses à une question similaire sur stackoverflow.
Si vous voulez juste télécharger le code source, vous pouvez utiliser packages.debian.org, par exemple un lien pour coreutils . Cela fournira un lien de téléchargement vers le package d'origine (
orig.*
ou la source nettoyée pour certains packagesdsfg.*
). Vous pouvez faire de même avec la liste des paquets Arch Linux, par exemple: page arch coreutils . LeDownload from Mirror
téléchargera le package.la source