如何获取 Ubuntu 源代码?
Posted
技术标签:
【中文标题】如何获取 Ubuntu 源代码?【英文标题】:How do I get the Ubuntu source code? 【发布时间】:2011-06-13 15:51:35 【问题描述】:在哪里可以找到最新 Ubuntu 版本的源代码?
另外,我将如何查看代码?我可以在 Visual Studio 中查看大量 .cpp 和 .h 文件吗?
【问题讨论】:
谢谢,我选择 dists 子文件夹了吗?在这一点上,我看到了大量的子文件夹?这些都是操作系统的一部分吗? 子集:askubuntu.com/questions/106818/… 【参考方案1】:您可以从此处选择源图像(本例中为 16.04):http://cdimage.ubuntu.com/releases/16.04/release/source/
你也可以选择你想要的版本。
参考:https://askubuntu.com/a/167472
【讨论】:
在我的情况下,我想要源代码,而不是图像【参考方案2】:ubuntu 的源代码按包划分 - 从正在运行的 ubuntu 系统中,您可以通过以下操作轻松检索任何包的源代码:
apt-get source (package name)
否则,请转到launchpad,并搜索有问题的包。例如,这里是特定版本 curl 的源代码的下载页面:https://launchpad.net/ubuntu/+source/curl/7.21.2-4ubuntu1
也就是说,如果你已经在 Linux 系统上,那就容易多了——包源分为原始源 tarball 和 ubuntu 补丁,所以如果你不使用apt-get source
,你需要手动将补丁应用到源代码。而新式包甚至被分成多个包。
更重要的是,这些包通常不是为从非 Linux 系统交叉编译而设计的。即使你下载它们并在 VS 中打开它们,你也无法从 Windows 系统构建它们。
最后,请注意,并非所有内容都使用 C 和 C++ - 几乎所有您能想象到的语言都有包。但我想它们中的大多数都可以在 VS 中作为文本文件打开 :)
注意:如果您真的,真的想要所有这些,我怎么强调都不过分地下载所有东西来开始学习系统,您可以使用 ubuntu 中提供的debmirror
工具来执行此操作:
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
这将是一个绝对巨大的下载。有几十 GB 的可用空间。请注意,这只会下载核心包 - 将 -s main
替换为 -s main,universe,multiverse,restricted
以获取所有内容。
获得包文件后,您可以通过在感兴趣的 .dsc 文件上运行 dpkg-source -x
来提取源代码。
【讨论】:
有没有办法把它们全部搞定,因为我真的不能说我知道我想要哪些“包”?我只是想了解 Linux 作为操作系统的工作原理 把它们全部搞定会让你不知所措——我们在这里谈论的是千兆字节。我建议从已安装的 ubuntu 系统开始,使用 shell,当您发现有兴趣了解更多信息时,使用 apt-get source 就可以了。 也许您应该添加源已下载到当前工作目录。【参考方案3】:-
archive.ubuntu.com
其中大部分是 .c 和 .h 文件(不确定 C++),但肯定不是全部(一些 perl、一些 Python 等)。还会有很多文档文件不是用 .txt 保存的,比如
README
和LICENSE
。
【讨论】:
以上是关于如何获取 Ubuntu 源代码?的主要内容,如果未能解决你的问题,请参考以下文章