如何获取Ubuntu操作系统的源代码?如何运行修改后的代码?可以使用哪些编程语言来修改代码?
答案1
ubuntu 的源代码按包进行划分 - 从正在运行的 ubuntu 系统中,您可以通过执行以下操作轻松检索任何包的源代码:
apt-get source (package name)
否则,转到发射台,然后搜索相关软件包。例如,这是特定版本 curl 的源代码下载页面:
https://launchpad.net/ubuntu/+source/curl/7.21.2-4ubuntu1
话虽如此,如果你已经在使用 Linux 系统,那就简单多了 - 软件包源分为原始源 tarball 和 ubuntu 补丁,所以如果你不使用
apt-get source
,你需要手动将补丁应用到源代码中。新式软件包甚至分为多个软件包。而且,这些软件包通常不是为了在非 Linux 系统上进行交叉编译而设计的。即使你下载了它们并在 VS 中打开它们,你也无法在 Windows 系统中构建它们。
最后,请注意,并非所有东西都是用 C 和 C++ 编写的 - 几乎任何你能想到的语言都有包。但我想它们中的大多数都可以在 VS 中作为文本文件打开 :)
注意:如果你真的真的想要全部,我不能强调只是为了开始学习系统而下载所有内容是多么愚蠢,你可以使用
debmirror
ubuntu 中提供的工具来执行此操作: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
可获得所有内容。一旦您有了包文件,您可以通过运行
dpkg-source -x
感兴趣的.dsc 文件来提取源代码。
答案2
您需要将一些 Debian/Ubuntu 服务器添加到此文件的列表中 - 之后才能使用命令 apt-get source:
/etc/apt/sources.list
sources.list 在 Ubuntu 的 man 中有解释:
手册来源列表
在 /etc/apt/sources.list 中添加以下内容(仅当该内容尚未写入时):
sudo gedit /etc/apt/sources.list
这一行:
deb-源文件http://archive.ubuntu.com/ubuntu 主受限宇宙多元宇宙
然后保存并关闭 gedit 后,执行以下操作:
sudo apt-get 更新
此后您应该能够对任何包使用命令:
sudo apt-get 源
干杯。