yum是rpm的一个前端程序,用于解决rpm包之间的以来关系。rpm包安装无法自动安装相关的以来,可能会造成服务错误,yum应运而生,它通过内建的数据库机制存储了rmp包的相关元数据,让你在安装服务是自动加所需要的依赖一并安装上去。
centos7系统在安装的时候已经内置了很多网络配置的yum源(repo),它们存储在/etc/yum.repos.d/下。我们可以使用默认的yum仓库进行安装程序,centos7默认的yum仓库很多都在国外,国内服务器使用有时速度会非常不理想,这是我们就要手动指定yum源服务以提高效率。
如阿里云、华为云、京东云等都有自己的yum仓库镜像服务器,分为内网、外网两个。如果我们使用了他们的服务器,再配置一个内网的yum源服务,安装速度会成倍提升。
yum源服务器可以理解为一个为网络内的用户提供rpm安装包和元数据的文件管理系统。用户可以通过http、https、ftp、file等方式访问。
今天自然就来简单介绍一下挂载光盘作为yum源服务和使用网络上yum源服务的配置。
备份原来的repo文件
yum服务器的信息都已经存储在/etc/yum.repos.d/文件夹下。centos7的配置文件我们不要轻易的去删除它们,在空间足够的情况下进行备份即可。yum服务默认会读取/etc/yum.repos.d/下的所有.repo后缀的文件作为配置,我们新建一个bak文件夹,将他们都移入其中即可。
挂载光盘作为yum源
一些特殊情况下,我们无法链接外网,这时我们就需要挂载光盘作为yum源或者使用内网中的yum源服务。这里我们先来讲一下挂载光盘作为yum源。
光盘成功插入系统后,我们将它挂载到我们自定义的目录下。自然这里演示将它挂载到/data/cdrom目录下。挂载完成后我们查看一下,文件系统已经挂载成功了。其中的repodata就是yum的元数据库,Packages存储了RPM包,ROM-GPG-KEY-Centos-7是安装秘钥。
创建yum仓库配置文件
文件已经有了,那么我们如何让系统使用它呢?我们还需要给系统一个配置文件,让它使用光盘中的yum源。这是一个简易配置,配置完成后按esc键,输入:wq回车保存并退出。
[base] 是必备字段
name 是这个源的名称,可不选择
baseurl 是yum仓库的地址,repodata所在的路径就是仓库路径
gpgkey 是该yum仓库的公钥,用于验证yum包是否被篡改
校验配置是否生效
yum仓库配置完成后,自然需要检验一下是否正确,我们来读取一下仓库的信息。可以看到我们刚才配置的信息。repo name是cdrom ,status统计出了10097个rpm包,说明yum仓库信息已经生效。
程序的安装
这里我们尝试安装一个httpd的包,可以看到yum已经为我们自动列出了需要的依赖包。如果是手动装包,系统不会列出完整的信息,我们只能慢慢弄,装完一个可能又需要一个包。使用yum自动就列出了所需要的依赖包,并且提示我们是否需要安装这些包。
配置网络中的yum仓库
为了保证服务的稳定性,光盘中的软件包版本都是比较老旧的。如果我们需要使用最新的包,那么就需要使用到网络中的yum仓库。下面给举例一下阿里云仓库的配置文件怎么写:
- [base]
- name=aliyun
- baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
- gpgkey=https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
yum仓库地址我们还可以有一些高级的写法:
https://mirrors.aliyun.com/centos/$releaserver/os/$basearch/
$releaserver #当前系统大版本号,如:6/7
$basearch #当前的cpu架构,如x86_64/i386
常用的公共镜像
阿里云#https://opsx.alibaba.com
华为云#https://mirrors.huaweicloud.com
中科院#http://mirrors.ustc.edu.cn
163网易#http://mirrors.163.com