Linux 运维中,为什么现在很多人用源码安装而不用 RPM 安装?

linux运维的软件安装中,网上的文章,80%以上都是源码安装,无论是安装lamp,lnmp还是puppet,而且都是脚本的方式安装,一般都会叫一键安…
关注者
296
被浏览
66,071

29 个回答

从来我都是推荐使用系统默认包的(虽然我不用rpm,而是deb,道理是一样的)。

我会用到源码编译,通常会是这么一些情况:

1. 需要的软件系统上游还没有提供(通常比如Debian系的软件都相对落后一定年限,其实AS系列可能更旧)

2. 系统提供的软件包确实被证明发现了不可接受的缺陷或漏洞。

Redhat的没太多发言权,Debian上面大部份软件通过已经实现了很好的模块化定制,可以增减自己不需要的模块。

虽然在有些时候,编译出来的内容,可能在精简度或者性能方面相对系统提供的有一定提升,但是由于在编译源码方面,自由度相对比较高,可能破坏了生产环境的“生态圈”,这个有可能得不偿失(当然了,这里一定程度上是管理的问题)

所以,如果有位同学告诉我,需要用源码装个什么,我第一反应通常会是,你确认编译出来的内容能达到系统提供包达不到,且是你需要的效果?(给我个确实靠谱的理由)然后我会要求对方尽量参照操作系统默认包的提供方式,提供一个可维护的第三方包,而不是直接编译丢到某个目录(更恶劣的当然是连目录都不指定了)

其实我想说,自己用源码编译跟用RPM安装并没有非彼即此的矛盾,可以自己打RPM包,便于分发和管理。

可以参考

How to create an RPM package/zh-cn