Yum(全称为Yellow dog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,避免了手动安装的麻烦(寻找资源、下载;放到指定目录安装;处理依赖关系并下载依赖关系的包进行安装)。所以用 yum 安装,实质上是在用 RPM 安装,所以RPM查询信息的指令都可用。
也就是说,Yum 只是统合了所有的 rpm 包的所有依赖关系,所谓的依赖关系指的是必要的安装包程序,如果没有这些依赖包,那么在安装的时候就会缺失某种依赖包,从而报错。
RPM(redhat package manager),RPM 是 Linux操作系统下的一种软件安装的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个rpm 包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
RPM是 Red Hat 公司随 Redhat Linux 推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。
源代码形式的特点:操作复杂、编译时间长、极易出现问题、依赖关系复杂
为了方便,开发了RPM(redhat package manager)
RPM通过将代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。针对不同的系统设定了不同的包
1.安装软件:执行rpm -ivh software.rpm(加了绝对路径)
如:
rpm -ivh
eg:
rpm -ivh mysql80-community-release-el7-6.noarch.rpm
-i install 安装软件
-v 显示详细信息
-h显示进度条
rpm -Uvh software.rpm(加了绝对路径) rpm -Uvh
eg:
rpm -Uvh mysql80-community-release-el7-6.noarch.rpm
-U update 更新软件
uninstall )执行rpm -e software.rpm
rpm -e
eg:
rpm -e mysql80-community-release-el7-6.noarch.rpm
4.查询软件包的详细信息:执行rpm -qpi software.rpm(加了绝对路径)
rpm -qpi
eg:
rpm -qpi mysql80-community-release-el7-6.noarch.rpm
-q query 查找 .rpm 包详细信息
-p packege 包
-i installed 安装过的
rpm -qf 当前路径下的文件夹名或文件名(或者写入绝对路径)注意是文件,而不是 rpm包
rpm -qf
eg:
rpm -qf /etc/yum
-q (query) 查找
-f (file) 文件/文件夹
rpm -qpl software.rpm(加了绝对路径)rpm -qpl
eg:
rpm -qpl mysql80-community-release-el7-6.noarch.rpm
-l (list) 列出rpm 包,等下会安装哪些文件
查询功能:
rpm –qa 列出全部已经安装的.rpm软件
rpm –qa |grep 软件名
eg:
rpm -qa|grep mysql

rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。很多时候安装一个软件安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂,Yum解决这些问题。Yum是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系,其特点:
自动解决依赖关系
可以对rpm进行分组,基于组进行安装操作
引入仓库概念,支持多个仓库
yum 仓库(Yum Repository)用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系的包,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、NFS形式使用的集中地、统一的网络仓库。
相关的本地仓库目录如下:
/etc/yum.repos.d/
目前笔者只知道,使用了 rpm -Uvh 命令,会在此目录下,生成相应的仓库文件,即.repo后缀的文件
其他命令尚未测试过。
但笔者认为,按逻辑来讲,既然是网络仓库,应该生成仓库文件的命令应该有 rpm -ivh 安装命令和 rpm -Uvh 升级命令,使用了这两个命令都会在此目录下生成相应的仓库文件.repo文件,然后按此文件进行一个依赖查找安装的过程。
三大常用yum命令:
yum install software.rpm 安装软件;
yum remove software.rpm 卸载软件;
yum update software.rpm升级制定软件
本质上,就是在将一系列的 rpm 安装命令,统合成自动化程序,简化成一个 yum 命令,运行对象为 rpm 包,不去考虑其依赖关系,完全自动化安装 rpm 包。
其他 yum 命令:
Linux系统下yum命令查看安装了哪些软件包:
yum list installed //列出所有已安装的软件包
yum针对软件包操作常用命令:
yum searchyum listyum list updatesyum list installedYum Repository 内的软件包yum list extrasyum listyum infoyum infoyum info updatesyum info installedYum Repository 内的软件包信息yum info extrasyum provides-y 指的是每次安装 rpm 包出现选项时,默认选择 yes