deb包安装起来真的很方便,但有的时候只有源代码,或者是提供的deb包版本太旧。
如果源码编译安装,管理和卸载不是很方便。这时我们可以自己构建deb包,非常好用。
流程
以tree为例,
sudo apt-cache showsrc tree
查询当前镜像站点中的源代码包。
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:错误:未找到依赖项信息