YUM工具

目录

  • YUM工具
  • yum基本概述
  • YUM源的配置
  • YUM包管理命令
  • YUM全局配置文件

yum基本概述

什么是yum

YUM,全称Yellow dog Updater, Modifier,是一个自由、开源的命令行软件包管理工具,运行在基于RPM包管理的的Linux操作系统(例如RedHat、CentOS、Suse等)。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

什么是yum源

包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称之为yum源或者是yum仓库,这个源可以是本地的也可以是网络的。

YUM源的配置

# 使用阿里云的yum源
http://mirrors.aliyun.com

# 系统中需要的基础yum源
base源:和镜像中的Linux基础rpm包差不多
epel源:一些扩展安装包

# yum源的配置文件存放目录
[root@localhost~]# ll /etc/yum.repos.d/
-rw-r--r--1 root root 1759 Jul  52021 CentOS-Base.repo
-rw-r--r--1 root root  664 Jul  52021 epel.repo

# 1.删除所有官方yum源
[root@zls ~]# rm -f /etc/yum.repos.d/*
# 1.2 安全方式,打包 不使用yum源
[root@zls ~]# gzip -r /etc/yum.repos.d

2.下载Base源
wget-O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

curl-o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
## 注意:在/etc/yum.repos.d/目录下所有的yum源配置,必须以.repo结尾
  • 打开对应yum源的镜像站:mirrors.aliyun.com

源仓库最新链接 源仓库软件_源仓库最新链接

  • 下载两个yum源
  • base源:所有系统的基础软件包
  • epel源:扩展软件

源仓库最新链接 源仓库软件_CentOS_02

找到centos7复制命令

需下载wget命令才能使用
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

系统自带下载命令,无需下载
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

YUM包管理命令

使用yum查询软件包的方式

# 1.查询仓库中所有的rpm包
yum list
可以配合|grep过滤出想要的rpm包

# 2.查看仓库中所有安装包的详细信息
yum info
yum info tree (查看tree安装包的详细信息)

# 3.根据命令或文件查找该命令属于哪个rpm包
yum provides 
命令注意:尽量接命令的绝对路径,不知道命令的绝对路径的情况下,*/命令

使用yum安装软件包的方式

yum安装方式:
  - 本地安装
    - yum localinstall -y 包名 (前提该包已经下载到服务器上了)
  - yum源安装
    - yum install -y 包名
  - 网站上安装
    - yum install -y 网站地址
 自动解决依赖关系的前提条件:在你的所有yum源中都要有该软件的依赖包

使用yum重装软件包的方式

#检查软件是否存在
[root@localhost~]# rpm -q vsftpd
vsftpd-2.2.2-24.el6.x86_64
 
#检查vsftpd软件配置文件
[root@localhost~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
 
#不小心删除vsftpd配置文件
[root@localhost~]# rm -f /etc/vsftpd/vsftpd.conf
 
#重新安装软件
[root@localhost~]# yum reinstall vsftpd

作用:误删除了该服务相关的任何一个文件,使用reinstall都可以恢复,但是恢复的是最初始的配置。恢复的是被误删除的文件。

reinstall的方式,必须跟最开始安装这个包的方式保持一致。如果一开始是本地安装则重装也必须接路径本地安装。否则版本可能不一致 无法重装。

使用yum更新软件包的方式

# 查看当前系统中,有哪些软件是可以更新的
[root@localhost]# yum check-update

# 更新指定的软件包
[root@localhost]# yum update -y zlib

# 更新所有可更新的软件包
[root@zlocalhost]# yum update -y
很危险,可能会将系统内核进行更新。centOS7更新成8

使用yum删除软件包的方式

[root@localhost~]# yum erase samba -y
[root@localhost~]# yum remove samba -y

yum仓库相关指令

# 查看所有源中可用的yum仓库
仓库名                  仓库描述信息                            多少个包
repo id                 repo name                              status
base/7/x86_64        CentOS-7 - Base - mirrors.aliyun.com      10,072
# 查看所有源中,所有的yum仓库
[root@localhost]# yum repolist all

启用软件包:
[root@localhost~] # yum-config-manager --enable 包名
关闭软件包
[root@localhost~] # yum-config-manager --disable 包名
建议:修改yum源配置文件,开启或关闭仓库

yum缓存相关指令

## 清除所有的缓存
yum clean all

## 加载缓存
yum makecache

## 默认情况下,yum是不会下载rpm的只会安装
## 除非开启,下载的配置
vim/etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
# 把0改成1就是开启下载rpm

## 下面是yum下载后的默认路径
ll /var/cache/yum/x86_64/7/

## 下载nginx,不安装,并指定目录
yum install nginx -y --downloadonly--downloaddir=/tmp

--downloadonly:仅下载,不安装
--downloaddir:指定下载的目录

## yum clean packages
只会清除默认路径下的rpm包,不会清除指定路径的包

yum包组相关指令

# 查看有哪些包组可以安装
[root@localhost]# yum group list
# 安装包组
yum groups install 包组名字
# 卸载包组
yum groups remove 包组名字

yum历史命令

#查看历史执行yum命令
[root@localhost~]# yum history
 
#查询历史执行yum命令ID详细信息
[root@localhost~]# yum history info ID
 
#撤销历史执行过的yum命令
[root@localhost~]# yum history undo ID

YUM全局配置文件

# 仓库名字
[base]
# 仓库的描述
name=CentOS-$releasever- Base - mirrors.aliyun.com
# 仓库的地址baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
# 仓库签名检查机制
gpgcheck=1
# 仓库开启/关闭(1:开启,0:关闭,默认1)
enabled=1
# 公钥的地址
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CenOS-7