inux运维的软件安装中,网上的文章,80%以上都是源码安装,无论是安装lamp,lnmp还是puppet,而且都是脚本的方式安装,一般都会叫一键安装XXX。一般运维书籍中也是如此,源码安装彷佛成为一个标准。那么,究竟是什么原因大家不去使用rpm包安装呢?源码安装,本身就是一道很高的门槛,作为新手学习安装软件来说,可以作为了解,然而作为运维人员,还源码安装,这个效率问题,版本控制问题怎么去解决,大家对这个问题是怎么看待的?
++++++++++++++++++++++++++++++update 1++++++++++++++++++++++++++++++++
看到各位的回答,总结下几种观点:
1.系统自带的rpm包软件版本太旧,编译参数不适合自己的业务,
2.对rpmbuild机制不了解,觉得rpm不如源码编译方便
3.网络资料书籍误导,学习的人不假思考,盲目从众
软件安装的版本控制,快速变更,最终需要一种机制来控制,而rpmbuild就是这么一种机制。为什么有成熟的方案不用呢?为什么适合于自动化运维的技术而不去采用?
rpmbuild可以定制的,包括下面说的软件版本问题,路径问题,可操作问题,变更问题。
之所以说源码编译门槛很高:
第一个问题,是因为源码编译,机器得有gcc,c++,make等一系列软件包依赖关系,
第二个问题,某些编译的软件包会导致系统原有的库文件被破坏,导致新的软件包无法正常安装,存在着依赖关系,
第三个问题,每个人的编译习惯和参数不同,就算是有统一的编译参数,也难以保证都完全一致
第四个问题,版本控制,规模部署,源码编译的方式搞不定,没有统一的基础设施规范,自动化运维,批量部署很难着地。
这里不是说排斥源码编译的方式,而是有好的解决方案,当然是选择最适合的方式。