deb定制_定制deb安装包

本文介绍了如何在Ubuntu或Debian系统中定制deb安装包,包括修改现有deb包和通过deb-source制作deb包的方法。通过解压、修改、重新封包等步骤,实现对软件的个性化配置和大规模部署时的便捷管理。
摘要由CSDN通过智能技术生成

选择一个合适的Linux发行版的重要因素就是是否有足够丰富的软件以及软件的维护是否方便。对于正常情况下的使用,Ubuntu继承自Deb

选择一个合适的Linux发行版的重要因素就是是否有足够丰富的软件以及软件的维护是否方便。对于正常情况下的使用,Ubuntu继承自Debian系的deb已经可以满足,部分情况下还是无法摆脱需要编译安装的情况。对于有点洁癖的管理员,或者需要大规模部署的情况,每台机器的编译显然不现实,于是就需要定制deb包。

本文以Ubuntu下的操作为例,同样适用于Debian。

修改现有deb包

这种情况往往是现有的deb包已经满足使用,只是需要修改部分文件,例如批量部署apache服务器而不希望每台主机上去修改配置。

下载现有的deb包:可以直接从安装源中找到需要的deb文件,或者通过网易的镜像站 ubuntu/pool/

解包:

dpkg -X apache2-common_2.0.55-4ubuntu2.13_i386.deb apache2 #将apache2的包解压

修改配置

cd apache2

这样,你会看到apache2目录下的文件结构很眼熟,跟安装后的文件存放路径完全一致。你可以根据需要修改对应的文件。

提取配置文件

dpkg -e ../dpkg -X apache2-common_2.0.55-4ubuntu2.13_i386.deb

会多出一个DEBIAN目录,决定了部分安装参数,同样也可以定制修改。

重新封包

cd ..

dpkg -b apache2 myApache2.deb

安装测试

dpkg -i myApache2.deb

通过deb-source制作deb包

这种方式往往是需要为原有的包进行小幅度优化,例如修改nginx软件的header识别信息,并适用-O3参数重新编译。

获取source包

mkdir nginx

cd nginx

apt-get source nginx  #等待下载

修改代码

下载完成后会出现一个nginx*的目录,既是nginx的源码,如果需要修改,,则直接进入该目录下修改源码。例如我修改src/core/nginx.h,定制了nginx的头部信息。

修改编译信息

源码目录下,相比直接在nginx官网下载的会增加几个目录,其中debian目录下就是deb包特有的配置。修改方式可以参考上种方式。

debian/rules是一个可执行文件,直接编辑可以修改。例如我直接将头部的CFLAGS += -O2 变态的修改为 CFLAGS += -O3 -msse3 -mmmx -maccumulate-outgoing-args(没有经过测试,仅作为示例)

准备编译环境和依赖包

apt-get install dpkg-buildpackage

下载打包工具

apt-get build-dep nginx

很多情况下不能完成编译就是因为没有执行这一步

重新打包

dpkg-buildpackage -uc -d

完成后上一级目录将会出现一个或多个deb文件,视情况而定安装测试。

源码制作deb

这种方法相对比较少见了,事实上前两种方法几乎已经解决了80%的应用,即便没有对应的Ubuntu包,也可以从丰富的Debian库中找到合适的deb,这种情况只有少数项目才会需要,例如安装 支持中文分词的索引服务器coreseek。

下载,解压源码

wget …

tar ….

这一步没什么说的,下载,解压而已。

预编译

./configure …

make

也没什么特殊的,参考官方安装手册的操作

打包

apt-get install checkinstall #下载打包工具

checkinstall -D -y -install=no -default make install

一定记得要测试一下,相比前两种方法出错概率较高。

看到网上很多安装教程都是编译安装的,抱着“没有必要重新发明轮子”的原则,我还是建议尽量使用deb的方式安装。同时建议社区尽可能的提供rpm和deb等安装包,在方便用户的同时同样也有利于产品的优化。

logo.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值