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

作者: lesca 分类: Network,Tutorials,Ubuntu 发布时间: 2011-06-23 20:25

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

1.准备

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

sudo apt-cache showsrc tree

这用来查询当前镜像站点中是否有该源码包。

2.获取源文件

源码包中通常包含3个文件,分别以dscorig.tar.gzdiff.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

版权声明

本文出自 Lesca 技术宅,转载时请注明出处及相应链接。

本文永久链接: https://www.lesca.cn/archives/copile-source-package-on-ubuntu.html

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!