CentOS7下的软件安装方法及策略详解

2020-01-30 16:42:16王冬梅

2010 年开始正式接触 Linux,入门发行版是 Ubuntu 10.10,后来过渡到 Ubunu 11.04, 这其中也尝试了很多其他主流的发行版。进入实验室之后,开始用 CentOS 5,然后是 CentOS 6,现在进化到 CentOS 7。

使用了四年的 Linux,前三年都是在瞎折腾,浪费了不少时间,也得到了不少经验与教训。 现在可能是真的老了,已经不愿意折腾了,只希望配置好一个系统之后,就一直使用下去。

为什么要写/读这一篇

使用 Linux 尤其是 CentOS 会遇到一些坑,或是一些有洁癖的人不能忍的事情:

官方源中的软件包版本太老,在功能上无法满足需求; 多个源的软件包存在版本冲突; 手动编译软件,默认会将不同文件放置在 /usr/local 下不同的子目录下,使得软件的更新和删除变得麻烦。 等等…

在经历了几次重装 CentOS 之后,特总结出如下几条软件安装的方法与原则,以尽可能保证当前系统的稳定、整洁,尽可能降低系统洁癖引起的重装冲动。

以下所说,仅限于 CentOS7,对其他发行版,或许有借鉴意义。

官方源

CentOS 自带的四个官方源中,默认打开的有 base、updates、extras,这三个源中包含了约 9000 个软件包,是最稳定、也是最值得信赖的源。

因而若一个软件包在官方源内,则应通过官方源安装:

sudo yum install PackageName

第三方源

官方源虽然包含了很多软件包,但无法满足日常需求。幸好有第三方源,可以作为官方源的补充。

在使用第三方源的过程中,最怕遇到这两个问题:

第三方源和官方源中有相同的包,导致官方源的包被第三方源替代; 多个第三方源中存在同一个软件包,且版本不一致,存在冲突;

这两个问题经常是致命的,出现各种预料不到的后果,因而选择第三方源要遵循如下原则:

只选择可靠的第三方源,要确保第三方源不会替换官方源中的包; 使用尽量少的第三方源,以保证第三方源之间不会冲突;

就 CentOS 而言,根据以上的原则,使用如下第三方源:

大型第三方源,已确认不会替换官方源的包,且相互之间无冲突 EPEL:包含 6500 多个软件,科研必备 ELRepo:包含几十个各种硬件的驱动程序 Nux Dextop:多媒体相关的软件包(与 EPEL 的个别软件相冲突,可忽略)

有些小型第三方源,仅包含了几个软件,确认与官方源和 EPEL 源不会冲突,也可以添加 Google Chrome:包含了 Google Chrome,不会与官方源和 EPEL 源冲突; Adobe:仅包含 flash 插件,已确认不会冲突; dropbox:仅包含 dropbox 一个软件,已确认不会冲突;

因而,若一个软件包位于 EPEL、ELRepo 中,或一些小型的第三方源中,则添加该第三方源,并用 yum 命令安装: