debian/ubuntu 是高度自动化的Linux系统,编译源码包也不例外。
首选需要确保你的sources.list 包含src 源
例如:
|
1
|
deb-src http:
//http
.us.debian.org
/debian
stable main contrib non-
free
|
如果你刚刚在source.list里添加了上面那行,请运行下面的命令清除缓存
|
1
|
apt-get clean all
|
安装编译环境
|
1
|
apt-get
install
dpkg-dev devscripts build-essential
|
以软件包nginx为例
1、建立一个临时目录
|
1
2
|
mkdir -p /usr/src/nginx
cd /usr/src/nginx
|
2、下载源码,并编译软件包
|
1
2
|
apt-get
source
nginx
apt-get build-dep nginx
|
3、修改编译参数,并重新编译
|
1
2
3
4
|
cd nginx-*/debian
nano rules
cd ../../nginx-*/
dpkg-buildpackage -us -uc
|
4、生成的deb包位于当前目录
dpkg-deb: building package `nginx' in `../nginx_1.6.2-1~precise_amd64.deb'.
dpkg-deb: building package `nginx-debug' in `../nginx-debug_1.6.2-1~precise_amd64.deb'.
dpkg-genchanges >../nginx_1.6.2-1~precise_amd64.changes
dpkg-genchanges: including full source code in upload
dpkg-source --after-build nginx-1.6.2
dpkg-buildpackage: full upload (original source is included)
5、保留文件,以ubuntu precise 为例
nginx_1.6.2-1~precise.debian.tar.gz
nginx_1.6.2.orig.tar.gz
6、将上述两个文件移动到另外一台机器
|
1
2
3
4
5
6
7
|
mkdir
build
cp
nginx_1.6.2-1~precise.debian.
tar
.gz build/
cp
nginx_1.6.2.orig.
tar
.gz
tar
zxvf nginx_1.6.2.orig.
tar
.gz
tar
zxvf nginx_1.6.2-1~precise.debian.
tar
.gz -C nginx-1.6.2
cd
nginx-1.6.2
dpkg-buildpackage -us -uc
|
这样就完成了移植性。
本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1156077,如需转载请自行联系原作者