作者简介:一位没有在简历上标注精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图展示了计划更新的内容和当前进度(不定期更新)。
在linux进阶部分中,我们已经讨论了许多细分领域,最近刚讲完Linux日常运维。那些内容都属于系统自带的功能,但作为服务器操作系统,Linux需要安装运行软件来满足业务需求。本章将从以下几个方面介绍基础软件部分:
- Linux基础软件-软件安装
- Linux基础软件-yum(一)(本节)
- Linux基础软件-yum(二)
- Linux基础软件-ntp
- Linux基础软件-chrony
- Linux基础软件-dns(一)
- Linux基础软件-dns(二)
- Linux基础软件-nfs
- Linux基础软件-lvm
- Linux基础软件-Selinux&库文件&swap
在上一节中,我们讨论了在Linux服务器中安装软件的几种方法,其中一种是通过yum进行在线安装。但本地yum命令是如何知道从哪个网络仓库下载呢?
YUM源配置
在Linux系统中,/etc/yum.repos.d/目录下的配置文件指定了yum命令从哪个仓库下载文件。
[root@localhost]# ll /etc/yum.repos.d/总用量 40 -rw-r--r--. 1 root root 2523 8月 4 2022 centos-Base.repo -rw-r--r--. 1 root root 1309 9月 5 2019 CentOS-CR.repo -rw-r--r--. 1 root root 649 9月 5 2019 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 314 9月 5 2019 CentOS-fasttrack.repo -rw-r--r--. 1 root root 630 9月 5 2019 CentOS-Media.repo -rw-r--r--. 1 root root 1331 9月 5 2019 CentOS-Sources.repo -rw-r--r--. 1 root root 6639 9月 5 2019 CentOS-Vault.repo -rw-r--r--. 1 root root 951 10月 3 2017 epel.repo -rw-r--r--. 1 root root 1050 10月 3 2017 epel-testing.repo
需要特别说明的是,由于CentOS 7已过了最后支持期,CentOS关闭了域名解析,因此我们必须更换其他源。这里我们选择了阿里云源,当然也可以选择其他源。
#备份当前配置 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #下载阿里云的源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
配置其他源
刚才配置的源实际上是替代了官方源,因为无论是阿里云还是其他源,最终都是同步自官方源,目前只是官方源关闭了,而阿里云源仍在运作。但这些源中的软件包并不是最全的,版本也不是最新的。在这里使用最广泛的源称为epel源。上述epel.repo文件是在安装epel-release包后生成的。
yum -y install epel-release
安装特定源
刚才无论是配置的阿里云源还是epel源都属于公共源,虽然里面有些软件源都有,但它们的版本都是比较旧的,这里举两个简单的例子。
docker,在默认源中的版本是1.13.1,但这个版本已经非常老,新版本的Docker名称已经更改为docker-ce。如果我们要安装较新的版本,可以使用以下方法。
#本应该使用官方源,但由于docker仓库源被屏蔽的原因,原理是一样的 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
#安装了指定源后,就可以安装最新版本的Docker yum install -y docker-ce
mysql,在CentOS 7默认的源中甚至找不到这个包,因为CentOS 7的源没有MySQL,只有mariadb。至于它们之间的关系,是另一个故事,这里就不展开。
#下载源repo文件 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
#安装源 rpm -ivh mysql57-community-release-el7-11.noarch.rpm
#安装数据库 yum install -y mysql-community-server
总结
-
我们需要掌握如何更换源,了解可以更换哪些源。实际上,在实际运维中,不仅CentOS系需要源,其他系统和某些软件(如pip、nodejs)也需要更换源。
-
掌握对于某些特殊软件(如Docker、MySQL)源的更换方法。
-
/etc/yum.repos.d/目录下的文件与仓库对应,有兴趣的可以进一步了解。
-
更换源后通常需要清理并更新本地缓存,这个缓存记录了软件的索引和版本之间的依赖关系,以加速yum命令的使用。
#清理缓存 yum clean all #生成缓存 yum makecache