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
版权声明
本文出自 Lesca 技术宅,转载时请注明出处及相应链接。
本文永久链接: https://www.lesca.cn/archives/copile-source-package-on-ubuntu.html