背景:
在Linux下,安装软件的时候,经常碰到软件依赖的情况,不同的安装包依赖的软件的版本还不一样,比如安装nginx 1.2.3
需要依赖perl 2.3.4 ,但是安装nginx 2.1.3 ,需要的perl 2.3.5,如果这些依赖都手动安装的话,需要知道软件的版本和依赖的版本,然后按个安装,效率太低了。yum的出现解决安装依赖的问题
yum主要分两个部分:
yum服务器端:
yum服务端保存着每个安装包文件,同时记录了安装文件的meta信息包括,conf文件,依赖包及版本,版本号yum客户端:
根据当前系统版本,cpu架构获取获安装包信息进行安装
yum install 流程:
- 1.根据/etc/yum.repo.d/*.repo 找到yum源
- 2.如果/var/cache/yum下没有对应yum源的缓存,则拉取yum源下的安装包信息,报告安装包名称,版本号,依赖及版本,conf文件
- 3.从 /var/cache/yum缓存中找到对应安装包的信息,进行安装,同时缓存安装依赖,下次要安装相同依赖时则从缓存中读取即可
几个常用命令:
- 1.yum search/install xxx
- 2.yum makecache 更新yum源的软件包缓存信息
- 3.yum clean all 清除yum源的软件包信息
注意:系统安装好后,yum一般都指向国外yum源,可能yum无法访问,或者访问速度太慢,所以安装好系统可以把yum源修改为国内的,推荐使用阿里云的,还是比较稳定的
修改yum源为阿里云步骤:
1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、之后运行yum makecache生成缓存