Ubuntu-20.04LTS构建deb包

2022/3/20 7:35:33

本文主要是介绍Ubuntu-20.04LTS构建deb包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

deb包安装起来真的很方便,但有的时候只有源代码,或者是提供的deb包版本太旧。
如果源码编译安装,管理和卸载不是很方便。这时我们可以自己构建deb包,非常好用。

流程

以tree为例,

sudo apt-cache showsrc tree

查询当前镜像站点中的源代码包。

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

apt source tree

获取源代码包。(要确保你的dokg-source命令能正确运行)

apt build-dep tree

安装具有依赖关系的软件包

cd tree-1.8.0.0
dpkg-buildpackage

编译。
然后

$ cd ..
$ ls

tree-1.8.0                    tree_1.8.0-1.debian.tar.xz
tree_1.8.0-1_amd64.buildinfo  tree_1.8.0-1.dsc
tree_1.8.0-1_amd64.changes    tree_1.8.0.orig.tar.gz
tree_1.8.0-1_amd64.deb        tree-dbgsym_1.8.0-1_amd64.ddeb

tree_1.8.0-1_amd64.deb就是我们要的了。

报错处理

在我的环境下,dpkg-buildpackage会报错:

dpkg-shlibdeps: 错误: no dependency information found for /lib/x86_64-linux-gnu/libc.so.6 (used by debian/tree/usr/bin/tree)

解决方案:
进入

vim tree.1.8.0/debian/rules

加上:

override_dh_shlibdeps:
    dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info

参考博客:
1.Linux下如何自己编译源代码(制作成可以安装的.deb文件)
2.dpkg-shlibdeps:错误:未找到依赖项信息



这篇关于Ubuntu-20.04LTS构建deb包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程