在网上看到很多观点,有的说yum安装好,有的说源码安装好,还有的人说两者结合起来好,下面是从网上摘录的几种观点:
观点一
根做运维的朋友聊天,谈到了,yum安装和源码安装哪个好的问题。真没想到,关于这个问题,分歧还挺大的。有的人认为,不用源码安装就不是好的运维,不是好的系统管理员。这帽子扣的有点大了。在此我想说一说我的看法,经常看我博客的,也许知道,前期我写关于服务器的文章,基本上都是源码安装的,后来基本上是用yum安装的,除非yum源里面没有,我才会源码安装。在我看来,yum安装和源码安装,基本上没区别,最终还是生成系统所需求的文件,有什么区别呢?
一,yum安装和源码安装,方式的不同
1,yum安装是将yum源中的rpm包下载到本地,安装这个rpm包。这个rpm包是别人编译安装好的二进制包。这种方式与其说是安装不如说是,更新来的更确切一点。
2,源码安装,下载是源码包,要进行编译和安装,编译过程,可以进行参数设定。
二,yum安装和源码安装,优缺点分析
1,yum安装的优缺点
yum安装的优点,做运维的都很清楚,安装东西,方便快捷,特别是不用考虑包依赖。
yum安装的缺点,安装过程,人为无法干预,不能按需,安装。源里面有什么就安装什么,安装的版本也比较低。
2,源码安装的优缺点
源码安装的优点,编译安装过程,可以设定参数,按照需求,进行安装,并且安装的版本,可以自己选择,灵活性比较大。
源码安装的缺点,由于安装包过新或者是其他问题,导致依赖的包没有,或者版本过低。这个时候就要解决包的依赖问题,linux系统中有的包,一个依赖一个,可能装一个小东西,就要解决一堆包的依赖问题,花很多时间解决包的依赖问题,得不尝失。源码安装的多了,不敢升级系统,升级系统,可能会导致以前手动装的东西,不能用。
很多做运维的,都认为,源码安装比yum安装的性能要好,根据参数选择安装,肯定比yum装了一大堆要好。这样认为的运维,我只能说,他不懂配置。根本不了解自已装的东西。在我看来,同一版yum安装和源码安装完全是一样的。
以apache以例吧,这个东西,非常常见的,用做web最广泛的工具之一,源码安装,./configure时候,可以添加很多参数,来实现订制。yum安装也可以,yum安装装了很多,apache的模块,有的模块根本用不到,无故浪费系统资源和影响性能。但是我们可以配置httpd.conf啊,不需求的模块,我们可以不LoadModule啊,通过修改配置文件,完全可以实现根源码安装一样的效果。不排除少数软件,安装后,不能配置情况,也就是说安装的时候是多少东西,就是多少东西,没有配置文件可以配置。
我觉得,对于刚接触linux的人来说,源码安装很有必要,这样你可以知道自己在做什么,安装过程中,肯定会遇到很多很多的问题,遇到问题,解决问题。这样才会成长。不要一直都用yum装,如果yum安装出了一点问题,就傻眼了,不知道怎么解决,这样很杯具。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/linux/1498.html
观点二
1) YUM二进制方式,部署配置非常的简单,基于YUM工具可以在线直接部署安装,可以自动解决软件包之间依赖的问题,但是YUM不能自定义软件的模块和功能,不能自定义软件部署的路径,对后期的维护成本会增加;
2) MAKE源码方式,部署配置非常的复杂,不能自动解决软件包之间的依赖关系,但是基于源码编译方式可以自定义功能和模块,而且可以自定义部署的路径,统一的管理,减轻后期的维护工作量;
3) 生产环境中,yum和源码安装的区别根本不是性能和yum库里面版本过低的问题。大部分生产环境要求服务器的环境配置要一致,因为后期会不定时增减机器、开关新服,环境不一致出问题排查成本过高,想想看,一两百台服务器没什么,如果是一两千台服务器呢?几万服务器呢?监控维护成本太高。并且,对自动化运维来说,统一环境如果需要升级某个程序版本,一个脚本几条命令的事。如果是yum安装,机房和机房之间,国家和国家之间,yum的库不能保持一致,会很蛋疼。
大型的软件包、软件服务,采用源码编译
小型的软件环境,库文件,YUM
观点三
1、YUM安装可以看成是在线安装的一种方式,只需要yum install 软件名,系统就自动根据yum源配置文件中的镜像位置去下载安装包了,并可以自动分析所需的软件依赖关系,自动安装所需的依赖软件包。此方式适合初学者,简单方便,不用考虑依赖关系。但有些软件并不能通过yum来安装。
2、而源码安装方式是需要自己到网上下载源码包,然后解压安装。此方式可以指定配置参数,更加灵活方便,兼容性更强。比较适合对Linux系统有较多了解的进阶用户使用。
3、实际工作中,两种方式结合起来使用,效果更佳。
最后想说一下:对于我们来说只要能解决问题都是好方法,我们最主要的是要知道这两种方法的优缺点,找到合适的解决办法。