Ubuntu下将自编译软件纳入dpkg管理
2015-09-15 本文已影响130人
lyallchan
背景和目标
linux下编译、卸载程序
# 编译三部曲
./configure --prefix=/usr
make
sudo make install
# 删除中间文件
make clean
# 删除make的配置文件,以便于重新编译
make distclean
# 卸载
sudo make uninstall
问题
- 不能通过apt-get或者dpkg管理
- 迁移到别的系统上,尤其是迁移到docker中,只能重新编译,费时费力
工具
两个神器 auto-apt
和checkinstall
sudo apt-get install auto-apt checkinstall
auto-apt run ./configure --prefix=/usr
make
sudo checkinstall
ok了
运行成功以后,编译完成,安装完成,同时在当前目录下生成.deb文件,可以cp到docker中,然后
dpkg -i ***.deb # 安装
dpkg -r 包名称 # 卸载
apt-get remove 包名称 # 同上
dpkg -l | grep 包名称 # 检查是否安装成功
apt-cache pkgnames | grep 包名称 # 同上
dpkg -L 包名称 # 列出包中安装的文件位置
注意要点
- checkinstall默认是交互式运行,允许你定义包的名称,版本号之类的,其中版本号要以数字开头,否则会报错
- docker中安装的时候,需要手工指定这些参数,具体的可以看看帮助文件,都有