linux软件包重新编译

1
这个估计要分成好多次才能写完了,包含rpm和deb两部分

rpm是redhat及类似系统的通用包管理系统,广泛用与各种发行版,feodra,centos等,二进制软件包格式为rpm,源码包围srpm

获取源码包

1
yumdownloader --source vim
1
yumdownloader --source vim

获取二进制包

1
yumdownloader  vim

重新编译源码包

1
rpmbuild --rebuild vim.srpm

如果编译中提示缺少源码包,自己直接使用yum 安装缺少的库就行了

完整的rpm的构建过程,是基于rpm的一套mock系统,为目标机系统构建一套完整的开发环境,这里有空的话,我会专门分析一下,感谢nb的同事,我只需要分析实现就行了

deb是debian系统的通用包管理系统,mint,ubuutu,debian等多种流行的发行版使用deb

下载deb源码包,确保你的sources.list中包含src,如:

1
deb-src http://http.us.debian.org/debian stable main contrib non-free

准备编译环境

1
apt-get install dpkg-dev devscripts

获取源码包

1
apt-get source less

安装编译依赖

1
apt-get build-dep less
1
2
cd less-*
debuild -us -uc