现在的位置: 首页 > 综合 > 正文

ubuntu 编译源码包(dsc diff.gz orig.tar.gz):

2014年10月22日 ⁄ 综合 ⁄ 共 1094字 ⁄ 字号 评论关闭

         ubuntu 编译源码包(dsc diff.gz orig.tar.gz)

 

以tree实用程序为例,介绍Ubuntu中如何管理源码包,包括查询,获取,编译源码包,直至安装。
1.准备

在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项
使用如下命令获取tree源码包的详细信息:

sudo apt-cache showsrc tree

这用来查询当前镜像站点中是否有该源码包。
2.获取源文件

源码包中通常包含3个文件,分别以dsc,orig.tar.gz和diff.gz为后缀名。使用apt-get source命令来获取源码包,它会将源码包下载到用户当前目录,并在命令执行过程中,调用dpkg-source命令,根据dsc文件中的信息,将源码包解压到同名目录中,应用程序的源代码就在这里面。

sudo apt-get source tree

要强调的是,在下载源码包前,必须确保安装了dpkg-dev(执行”apt-get install dpkg-dev”来安装),否则,只会下载源码包的3个文件,但不会解压缩源码包。当然你也可以自己用dpkg-source命令去解压缩源码包:

dpkg-source -x tree-1.5.1.2.dsc

3.获取依赖文件

在编译源码包前,需要安装具有依赖关系的相关软件包。使用apt-get build-dep命令可以主动获取并安装所有相关的软件包。

sudo apt-get build-dep tree

4.编译源码包

首先进入源码所在目录,使用dpkg-buildpackage命令来编译源码包,它会将生成的Deb软件包放置在上层目录中。

cd tree-1.5.1.2
sudo dpkg-buildpackage

这样就会在当前目录编译生成可执行文件,并在上层目录生成tree-1.5.1.2-1_i386.deb
5.安装软件包

使用dpkg –i命令来安装生成的Deb软件包。

sudo dpkg –i tree-1.5.1.2-1_i386.deb

6.测试tree程序

我们用它来查看编译所在工作目录的内容。

tree –L 2

References:
[1] ubuntu 编译源码包 dsc diff.gz orig.tar.gz
[2] 请问.dsc怎么用?
[3] man dpkg-source
[4] man dpkg-buildpackage
[5] man dpkg

其中 .orig.tar.gz 是软件原始源码包,没有经过任何修改; .diff.gz 是将源码包 debian 化的文件,包含一些补丁和编译规则;.dsc 描述了源码包的信息,上述命令是解压源码和打补丁的综合操作。

 

 

 

抱歉!评论已关闭.