Ubuntu学习笔记(1)---编译源码包

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

1) 在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src

2) 使用如下命令获取tree源码包的详细信息:

sudo apt-cache showsrc tree

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

3)源码包中通常包含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命令去解压缩源码包。

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

sudo apt-get build-dep tree

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

cd tree-1.5.1.2
sudo dpkg
-buildpackage

这样就会编译生成tree-1.5.1.2-1_i386.deb

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

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

7)测试tree程序,我们用它来查看编译所在工作目录的内容。

tree –L 2

 

posted on   Phinecos(洞庭散人)  阅读(2068)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2007-11-22 uC/OS-II源码分析(四)
2007-11-22 uC/OS-II源码分析(三)
2007-11-22 uC/OS-II源码分析(二)
2007-11-22 uC/OS-II源码分析(一)

导航

统计

点击右上角即可分享
微信分享提示