可能重复:
如何更改 Ubuntu 源代码
我不太熟悉 Ubuntu 或 Linux,但我是一名程序员,有人告诉我你可以继续修改你的系统。
所以我的问题是,你如何继续下去?例如,如果我有兴趣修改按钮或桌面图标的行为,或者其他什么:
- 我如何获取源代码?我想我需要包名称并下载它。但我如何才能获取包名称?假设我想要按钮包,我在哪里可以找到包名称?网站上有列表或帮助文件吗?
- 一旦我修改了它,我该如何用新的替换原来的?
PS:我在寻找合适的标签时遇到了一些麻烦,请随意编辑它们
答案1
好吧,这个问题太笼统了,但大致来说……
首先你找出哪个包提供您想要更改的软件(ubuntu 由数百个独立的软件包组成,并且有多种不同的方法可以确定哪个软件包提供了每个已安装的程序/文件),然后:
apt-get source <packagename>
这将下载源代码并将其解压到当前位置下的子文件夹中。
例如,如果我想改变 Rhythmbox 音乐播放器的行为:
apt-get source rhythmbox
随意编辑源代码。如何构建和运行、调试等实际上取决于程序……语言、构建系统、软件类型等。大多数情况下,Linux 软件项目都使用生成文件. 每个源代码树的根目录中还应该有各种 README 文件,解释如何处理该特定项目。
对更改满意后,要构建可安装的替换包,请创建一个新版本并运行命令(由安装提供)开发脚本软件包)来构建可安装的“deb”文件。您将在软件包源代码的根目录中找到一个“debian”文件夹。编辑文件,debian/changelog
创建一个带有新版本号的新条目并描述您的更改。现在运行命令debuild
来构建一个新软件包。
您可以使用Ubuntu Launchpad 中的 PPA 系统创建您自己的软件存储库并将更改后的源包上传到那里(使用debuild -S
然后dput
上传 .changes 文件),以便为所有支持的体系结构自动构建,并可由想要将您的存储库添加到其列表的任何人安装。
当然还有很多事情要做,但这是一个典型的(也是“传统的”)工作流程。我依稀记得一个项目叫地面控制试图让一切变得更加便捷。
答案2
Ubuntu 软件包包含所有受支持版本的软件包(Hardy 8.04 LTS 是最老的系统)。您可以在此处找到任何软件包的源文件。这是查找源文件的官方位置。
发射台是一个提供代码托管等功能的软件协作平台。您可以在这里找到大量源代码,人们在其中创建了自己的软件并对现有软件进行了修改,并用它来存储他们所做的更改并公开。
作为一名程序员,你会明白,这是你可以编辑、构建、编译(如果未解释)并安装到系统中的源代码。基本上,你下载的源代码有一个安装文件或一个自述文件,解释了如何安装它(configure、make、make install 是你会经常看到的内容),因此你可以编辑所需的内容,然后按照说明进行操作。
找到正确的软件包可能很困难。如果你想得到答案,你可能需要更好的描述或图片,以便让别人告诉你你真正需要什么软件包。这太宽泛了。
以下是一些可帮助您入门的软件构建资源:
https://help.ubuntu.com/community/CompilingSoftware这里解释了您需要构建什么包。它还包含一些有关从 git 获取源文件的信息,您可以在其中查看源/这里还有该页面的初学者版本:https://help.ubuntu.com/community/CompilingEasyHowTo