这一直是个有趣的问题:『如果我要升级的话,或者是全新安装一个新的软件,
那么该选择 RPM 还是 Tarball 来安装呢?』,事实上考虑的因素很多,不过鸟哥通常是这样建议的:
- 优先选择原厂的 RPM 功能:
由於原厂释出的软件通常具有一段时间的维护期,举例来说, RHEL 与 CentOS
每一个版本至少提供五年以上的升级期限。这对於我们的系统安全性来说,实在是非常好的选项!
何解?既然 yum 可以自动升级,加上原厂会持续维护软件升级,那么我们的系统就能够自己保持在软件最新的状态,
对於资安来说当然会比较好一些的!
此外,由於 RPM 与 yum 具有容易安装/移除/升级等特点,且还提供查询与验证的功能,安装时更有数码签章的保护,
让你的软件管理变的更轻松自在!因此,当然首选就是利用 RPM 来处理啦!
- 选择软件官网释出的 RPM 或者是提供的容器网址:
不过,原厂并不会包山包海,因此某些特殊软件你的原版厂商并不会提供的!举例来说 CentOS
就没有提供 NTFS 的相关模块。此时你可以自行到官网去查阅,看看有没有提供相对到你的系统的 RPM 文件,
如果有提供容器网址,那就更好啦!可以修改 yum 配置档来加入该容器,就能够自动安装与升级该软件!
你说方不方便啊!
- 利用 Tarball 安装特殊软件:
某些特殊用途的软件并不会特别帮你制作 RPM 文件的,此时建议你也不要妄想自行制作 SRPM 来转成 RPM 啦!
因为你只有区区一部主机而已,若是你要管理相同的 100 部主机,那么将原始码转制作成 RPM 就有价值!
单机版的特殊软件,例如学术网络常会用到的 MPICH/PVM 等平行运算函式库,这种软件建议使用 tarball 来安装即可,
不需要特别去搜寻 RPM 罗!
- 用 Tarball 测试新版软件:
某些时刻你可能需要使用到新版的某个软件,但是原版厂商仅提供旧版软件,举例来说,我们的 CentOS
主要是定位於企业版,因此很多软件的要求是『稳』而不是『新』,但你就是需要新软件啊!
然后又担心新软件装好后产生问题,回不到旧软件,那就惨了!此时你可以用 tarball 安装新软件到 /usr/local 底下,
那么该软件就能够同时安装两个版本在系统上面了!而且大多数软件安装数种版本时还不会互相干扰的!
嘿嘿!用来作为测试新软件是很不错的呦!只是你就得要知道你使用的命令是新版软件还是旧版软件了!
所以说,RPM 与 Tarball 各有其优缺点,不过,如果有 RPM 的话,那么优先权还是在於
RPM 安装上面,毕竟管理上比较便利,但是如果软件的架构差异性太大,
或者是无法解决相依属性的问题,那么与其花大把的时间与精力在解决属性相依的问题上,还不如直接以
tarball 来安装,轻松又惬意!