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

         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 描述了源码包的信息,上述命令是解压源码和打补丁的综合操作。

 

 

 

大白技术控 CSDN认证博客专家 CSDN博客专家 .NET开发者 计算机硕士
本人个人博客: 极客玩家大白,欢迎关注本人公众号:大白技术控。
本博主大白BravoYeung是985高校计算机硕士,目前任职于一家高科技外企。平时的我是知乎干货答主(知乎上有近4万关注者)和CSDN博客专家。
我的公众号【大白技术控】(ID:DaBaiTech)专注于分享IT前沿技术、干货知识、热点资讯等,同时分享硬核的自媒体赚钱方法、推广技巧和运营实战,最近在发力短视频(微信视频号为主)。有兴趣交流成长的小伙伴可以来撩(微信:iMath7)~
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值