一、yum的基本介绍
- Yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装。
- yum源:要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源。(可以是本地源、网络源)
- 配置yum源
#base源: 基础软件包
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#epel源: 第三方软件
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
配置一个源的方式有两种:
- 手动添加一个 repo 文件(手动)
- 安装一个 “ release ” 的包,包中提供一个repo的文件(自动)
二、yum实际应用
- 使用yum安装软件包的方式
#1.yum通过公网仓库进行安装
yum install tree #交互,麻烦
yum install tree -y #非交互
#2.yum安装公网的rpm包,会自动找当前系统上已有的仓库解决依赖关系
yum install https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/samba-4.8.3-4.el7.x86_64.rpm
#3.yum直接安装本地的rpm包,会自动查找当前系统上已有的仓库解决依赖关系
yum localinstall samba-4.8.3-4.el7.x86_64.rpm
如果下载一个rpm包到本地
若用rpm -ivh进行安装,安装过程中会碰到很多依赖,需要手动去安装这些依赖。
而用yum localinstall,会自动处理这些依赖:
- 分析软件的依赖
- 通过所有已经配置的repo源,上对应的仓库去寻找所需要的依赖包
- 安装所有的依赖包,最后安装本地的rpm
#下载一个rpm包到本地
wget https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.6/x86_64/RPMS/mongodb-org-3.6.0-1.el7.x86_64.rpm
#rpm -ivh mongodb-org-3.6.0-1.el7.x86_64.rpm 用这种会很麻烦所以一般选择不用
#配置一个MongoDB的源
cat /etc/yum.repos.d/mongodb.repo
[mongodb-org]
name = MongoDB Repository
baseurl = https://mirrors.aliyun.com/mongodb/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck = 0
enabled = 1
gpgkey = https://www.mongodb.org/static/pgp/server- 3.6.asc
#然后用yum本地安装
yum localinstall mongodb-org-3.6.0-1.el7.x86_64.rpm
- 使用yum重新安装软件包方式
#不小心删掉配置文件
rm -f /etc/vsftpd/vsftpd.conf
#对包进行重新安装
yum reinstall vsftpd
#检查软件的配置文件
rpm -qc vsftpd
- 使用yum更新软件包
#1.对比Linux已安装的软件和yum仓库中的软件, 有哪些需要升级
yum check-update
#2.更新acl软件
yum update acl -y
#3.更新整个系统所有的软件,包括内核 (通常刚装完系统会进行执行) 非常危险
yum update -y
- 使用yum删除软件包
yum install vsftpd -y #安装
yum remove vsftpd -y #删除
- 与yum仓库相关指令
yum repolist #查看 当前可用的仓库
yum repolist all #查看所有的仓库(不管是否可用)
#查看一个命令或文件所属软件包是什么
rpm -qf $(which cd) #需要知道命令的绝对路径
yum provides cd
如何启用或禁止仓库
两种方式:
- 找到该仓库的repo文件,将里面的enable 修改为 0不启用 1启动
- gzip /etc/yum.repos.d/xx.repo 压缩该文件,让该文件失效
- 与yum缓存相关指令
#1.缓存rpm包方式一、修改yum全局配置文件
vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 #启动缓存
#2.缓存rpm包方式二,只下载不安装
yum install -y yum-plugin-downloadonly #插件
yum install httpd -y --downloadonly --downloaddir=/tmp
#3.清除所有yum缓存的软件包以及元数据
yum clean all
#4.只清除缓存的软件包
yum clean packages
- 组包相关指令
yum groups list
#安装一整个组的软件
yum groups install Development tools \
Compatibility libraries \
Base Debugging Tools
#yum删除包组
yum groups remove -y Base
- 历史记录指令
#1.查看历史执行yum命令
yum history
#2.查询历史执行yum命令ID详细信息
yum history info N
#3.撤销历史执行过的yum命令
yum history undo N
命令总结
命令 | 描述 |
---|---|
yum install | 安装 |
yum reinstall | 重装 |
yum update | 更新 |
yum remove | 删除 |
yum repolist | 查看仓库总和的rpm包 |
yum repolist all | 查看所有的仓库 ( 包括启用和禁用 ) |
yum provides | 查询命令是 哪个仓库下的哪个软件包提供 |
yum groups install | 安装组包 |
yum groups remove | 移除组包 |
yum history | 查询yum历史记录 |
yum history info | 查询yum命令ID详细信息 |
yum history undo | 撤销历史记录 |
yum clean all | 清理所有的缓存 |
yum clean packages | 清理所有已缓存的rpm包 |
yum deplist | 查看所依赖的软件包 |