web-dev-qa-db-fra.com

Comment puis-je obtenir le code source d'Ubuntu?

Où puis-je trouver le code source de la dernière version d'Ubuntu?

De plus, comment pourrais-je voir le code? Serait-ce juste de nombreux fichiers .cpp et .h que je pourrais visualiser dans Visual Studio?

24
Tom

Le code source d'ubuntu est divisé par paquet - à partir d'un système ubuntu en cours d'exécution, vous pouvez facilement récupérer la source de n'importe quel paquet en faisant:

apt-get source (package name)

Sinon, accédez à tableau de bord et recherchez le package en question. Par exemple, voici la page de téléchargement du code source pour une version spécifique de curl: https://launchpad.net/ubuntu/+source/curl/7.21.2-4ubuntu1

Cela dit, c'est beaucoup plus facile si vous êtes déjà sur un système Linux - les sources du paquet sont divisées en un tarball source original plus des correctifs ubuntu, donc si vous n'utilisez pas apt-get source, vous devrez appliquer manuellement le correctif au code source. Et les packages de nouveau style sont même divisés en plusieurs packages.

De plus, les packages ne sont généralement pas conçus pour être compilés de manière croisée à partir d'un système non Linux. Même si vous les téléchargez et les ouvrez dans VS, vous ne pourrez pas les construire à partir d'un système Windows.

Enfin, notez que tout n'est pas en C et C++ - il existe des packages dans presque tous les langages que vous pouvez imaginer. Mais je suppose que la plupart d'entre eux pourraient être ouverts en VS sous forme de fichiers texte :)

Remarque: Si vous voulez vraiment tout cela, et je ne saurais trop insister sur la façon dont il serait stupide de télécharger tout juste pour commencer à découvrir le système, vous pouvez utiliser l'outil debmirror, disponible dans ubuntu, pour ce faire:

debmirror -a none \
          --source \
          -s main \
          -d lucid,lucid-security,lucid-updates \
          -r /ubuntu \ 
          --progress \
          -e http \
          -h archive.ubuntu.com \ ## or other ubuntu archive mirror
          destpath

Ce sera un téléchargement absolument énorme. Disposez de plusieurs dizaines de Go d'espace. Notez que cela télécharge uniquement les packages de base - remplacez -s main avec -s main,universe,multiverse,restricted pour tout obtenir.

Une fois que vous avez les fichiers du package, vous pouvez extraire la source en exécutant dpkg-source -x sur un fichier .dsc qui vous intéresse.

18
bdonlan
  1. archive.ubuntu.com
  2. La plupart d'entre eux sont des fichiers .c et .h (pas sûr de C++), mais certainement pas tous (certains Perl, certains Python, etc.). Il y aura également beaucoup de fichiers de documentation qui ne seront pas enregistrés avec .txt, tout comme README et LICENSE.
7
orlp