一、yum 简介
Linux系统安装软件的方式一般分为三种:
第一种:源码包,需要程序员自行编译安装。
优点:开源,可以实现自定义可裁剪安装软件;软件是编译安装,更加稳定,卸载方便
缺点:安装过程繁琐,如果是大型项目软件很容易出错
第二种:rpm(Redhat Package Manager)工具。rpm原是Red Hat Linux发行版专门用来管理Linux的程序工具,遵循GPL规则且功能强大,因而深受喜爱。
优点:包管理变得简单,通过几个命令就可以实现安装,卸载和更新软件
缺点:无法解决依赖性问题,比如复杂一点的软件包依赖于别的软件包才能安装,而别的软件包又以来于另外的软件包。非常的麻烦
第三种:yum(Yellow dogUpdater Modified)工具。yum是一款在RedHat,Fedora以及CentOS中的Shell前端软件管理器。
说明:
1. yum软件仓库的产生,就是为了解决软件包之间的依赖关系,最大的优点就是帮助Linux用户降低软件安装要求;
2.yum的宗旨就是自动化地升级,安装和移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。
3.yum包含rpm的header部(包含软件描述信息,功能信息,提供的文件信息以及依赖信息),yum会收集这些header部并且分析,所以才自动的处理rpm软件包之间的依赖关系。
二、yum源核心文件
yum信息存储目录:/etc/yum.repo.d/
[root@centos01 ~]# ll /etc/yum.repos.d/
total 32
-rw-r--r--. 1 root root 1664 Apr 29 2018 CentOS-Base.repo #
-rw-r--r--. 1 root root 1309 Apr 29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Apr 29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Apr 29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Apr 29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29 2018 CentOS-Vault.repo
*.repo文件定义了一个或多个软件仓库的细节内容,比如从哪里下载以及升级的软件包,repo文件会被yum读取
[root@centos01 ~]# cat /etc/yum.repos.d/CentOS-Base.repo
[base] # yum ID,基础镜像源
name=CentOS-\$releasever - Base # 具体的yum源名称
mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=os&infra=\$infra # 镜像服务器的地址列表,可以包含多个地址
#baseurl=http://mirror.centos.org/centos/\$releasever/os/\$basearch/ # 镜像服务器的地址
gpgcheck=1 # 是否需要验证,0表示取消验证,1表示使用公钥检验rpm的正确性
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 # gpgcheck验证的公钥,只有gpgcheck=1时对下载的rpm会进行gpg的校验,密钥时gpgkey
yum源配置文件:/etc/yum.conf
[root@centos01 ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/\$basearch/\$releasever # yum下载的RPM包的缓存目录
keepcache=0 # 缓存示符保存,1保存,0不保存
debuglevel=2 # 调试级别(0-10),默认为2
logfile=/var/log/yum.log # yum的日志文件所在的位置
exactarch=1 # 更新的时候,是否运行更新不同版本的RPM包
obsoletes=1 # 是否运行更新陈旧的RPM包
gpgcheck=1 # 是否检查密钥的签名
plugins=1 # 是否运行使用插件
installonly_limit=5 # 运行保留多少个内核包
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release # bug追踪镜像源地址
三、如何优化yum基础镜像源(以阿里云为例)
第一步:打开阿里镜像源网站
https://developer.aliyun.com/mirror/
第二步:选择CentOS
第三步:配置方法(2.下载最新的Centos-Base.repo)
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
四、如何优化yum扩展镜像源(主要是跟Base镜像源进行互补,解决软件不够丰富的问题)
第一步:打开阿里镜像源网站
https://developer.aliyun.com/mirror/
第二步:选择EPEL
第三步:选择扩展源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
五、yum源常用命令 yum --help
1. 软件安装 yum install -y
2. 软件更新 yum update
3. 软件检查 yum list
4. 软件卸载 yum remove(强烈不建议使用)
5. 清除缓存 yum clean
6. 检查某个软件是哪个大礼包提供的? yum provides