yum:Yellow dog Updater, Modified:是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 【Fedora Linux(第七版以前为Fedora Core)是由Fedora项目社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统。Fedora是商业化的Red Hat Enterprise Linux发行版的上游源码】
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
流程:
查看yum仓库配置文件:
ls /etc/yum.repos.d/
语法:
yum [选项] [命令] [软件包]
选项:
-h, --help : 显示此帮助消息并退出
-t, --tolerant : 忽略错误
-C, --cacheonly : 完全从系统缓存运行,不升级缓存
-q, --quiet : 静默执行:不显示安装的过程
-v, --verbose : 详尽的操作过程
-y, --assumeyes : 当安装过程提示选择全部为 "yes"
--downloaddir=DLDIR : 指定一个其他文件夹用于保存软件包
--releasever=RELEASEVER : 在 yum 配置和 repo 文件里设置 $releasever 的值
命令:
check : 检查
的软件包
示例:
1.检查yum源是否安装:
rpm -pa |grep yum
2.卸载yum源
rpm -aq|grep yum|xargs rpm -e --nodeps
3.下载安装yum:
#下载yum安装包,输入以下5条:
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
#开始安装:
rpm -ivh python-2.7.5-89.el7.x86_64.rpm python-iniparse-0.4-9.el7.noarch.rpm --nodeps --force
rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm --nodeps --force
rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm --nodeps --force
4.列出所有可更新的软件清单命令:
yum check-update
5.更新所有软件:
yum update -y
6.仅更新指定软件:
yum update 软件包名
#更新vim
yum update vim
#不询问直接安装
yum -y update NetworkManager
7.安装 指定的软件 :
yum install -y 软件包名
#重新安装指定的软件
yum -y reinstall 软件名
#安装vim
yum install -y vim
yum -y reinstall vim
8.卸载/删除 指定软件:包括与该包有依赖性的包
#卸载程序包,此卸载命令会对 yum或rpm 安装的包生效,如果是编译安装的,则不受yum控制
yum remove 软件包名
yum -y remove bc
# 删除程序组group
yum groupremove 软件包名
9. 列出所有 可安装 或 更新 的软件清单:
#列出所有可以 安装 或 更新 的rpm包
yum list
# yum list available 列出所有升级源上的包;
# yum list updates 列出所有升级源上的可以更新软件包;
# yum list installed 列出所有已安装的软件包;
#列出名称中包含“gstreamer”和“plugin”的所有可用包
yum list available "*gstreamer*plugin*"
#列出以 bc 为开头的软件名称有
yum list bc*
#列出可用的软件包,并且中禁用所有已配置的软件仓库(repository),然后启用名为"elrepo-kernel"的软件仓库
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
--disablerepo="*" 指示Yum禁用所有已配置的软件仓库。通配符"*"表示禁用所有仓库,这样在执行命令时,Yum将不会使用任何已配置的仓库。
--enablerepo="elrepo-kernel": :这指示Yum启用名为"elrepo-kernel"的软件仓库。"elrepo-kernel"是一个第三方仓库,提供了额外的内核软件包。通过启用该仓库,Yum将从该仓库中获取可用的软件包列表。
list available: 这个命令告诉Yum列出可用的软件包。Yum将检查已启用的仓库,并将可用的软件包列表显示在终端上。
10.查找 搜索匹配 特定字符的rpm包
yum search 关键字
#
yum search vim
11. 清除 缓存目录下的软件包 :
yum clean packages
12.清除 缓存目录下的 headers :
yum clean headers
13.清理 yum缓存:(清楚元数据缓存数据表) :
yum clean all
14.建立元数据缓存
yum makecache
15.显示已配置的仓库源的信息
yum repolist
16.查看 命令 属于哪个软件包:(若显示没找找到,则说明无对应的本地仓库)
#语法:
yum provides 命令
#
yum provides vim
17.全部下载某一个仓库的所有rpm包
reposync --gpgcheck -l --repoid=base --download_path=/tmp/rpm
#--repoid=仓库名称
#--download_path=保存路径
更换yum源
1.把 /etc/yum.repos.d/ 下的所有 .repo 文件备份一下;
2.下载 阿里云yum源 配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#-O /etc/yum.repos.d/CentOS-Base.repo 把下载资源另存为/etc/yum.repos.d/下的CentOS-Base.repo
#http://mirrors.aliyun.com/repo/Centos-7.repo 阿里云的yum源
vim CentOS-Base.repo
[basae] #方括号里面的是软件源的名称,将被yum取得并识别
【name】该源的名字
【failovermethod】priority:从列出的baseurl中顺序选择镜像服务器地址;roundrobin:在列出的服务器中随机选择
【exclude】用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔
【baseurl】源的镜像服务器地址
【enabled】1是启用,0为禁用
【gpgcheck】下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的
【gpgkey】定义用于校验的gpg密钥
3.下载安装 扩展源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
vim epel.repo
通过镜像制作本地yum源
通过镜像制作yum源:一般在断网情况下。
1.找一个镜像文件,放到本地,创建一个目录,把镜像文件挂载到该目录:
#创建镜像文件挂载点
mkdir /mnt/centos7/
#把镜像文件挂载到centos7目录
mount /etc/yum.repos.d/CentOS-7-x86_64-DVD-2009.iso /mnt/centos7/
语法: mount 挂载设备 挂载点 (目录)
2.查看挂载文件,所有的rpm包都在 Packages 目录
ls /mnt/centos7/
3.在 /etc/yum.repos.d/ 下创建.repo 文件:输入配置选项
vim /etc/yum.repos.d/centos7.repo
#输入以下内容:
[centos7]
name=centos7 本地
baseurl=file:///mnt/centos7
enabled=1
gpgcheck=0
yum repolist
通过开启yum下载缓存功能制作本地yum源
1.创建一个目录作为 本地yum仓库
mkdir /mnt/yum_cache/
2.开启yum缓存功能
vim /etc/yum.conf
3.下载一个软件,查看yum是否有缓存包,并把缓存软件包移动到 /mnt/yum_cache/
yum install -y wget
#查找软件包:
find . -name "*.rpm"
#移动:
find . -name "*.rpm" | xargs -i mv {} /mnt/yum_cache/
4.createrepo把 /mnt/yum_cache/ 声明为yum仓库
#若无createrepo命令,需要安装
yum -y install createrepo
#声明仓库
createrepo /mnt/yum_cache/
5.在 /etc/yum.repos.d/ 下创建仓库配置文件
vim /etc/yum.repos.d/cache.repo
#编辑:cache.repo
[cache]
name=yum本地缓存仓库
baseurl=file:///mnt/yum_cache/
gpcheck=0
#验证:
yum repolist
yum排错:
1.yum配置文件必须以.repo结尾
2.yum.conf里面8,9行的值设置成0
3.配置文件关键字错误
4.检查yum源是否存在
5.baseurl路径是否正确
6.镜像大小是否正确
7.当有Yum进程存在的时,无法同时再打开一个Yum进程