目录
- Yum简介
- Rpm 简介
- Rpm 命令
- rpm 安装的缺点与 yum 安装的优点
- yum命令
- 参考链接
Yum简介
Yum
(全称为Yellow dog Updater Modified
)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,避免了手动安装的麻烦(寻找资源、下载;放到指定目录安装;处理依赖关系并下载依赖关系的包进行安装)。所以用 yum 安装,实质上是在用 RPM 安装,所以RPM查询信息的指令都可用。
也就是说,Yum
只是统合了所有的 rpm
包的所有依赖关系,所谓的依赖关系指的是必要的安装包程序,如果没有这些依赖包,那么在安装的时候就会缺失某种依赖包,从而报错。
Rpm 简介
RPM
(redhat package manager
),RPM
是 Linux操作系统下的一种软件安装的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个rpm
包(Redhat Linux Packet Manager
,就是Redhat的包管理器),后缀是.rpm
。
RPM
是 Red Hat 公司随 Redhat Linux 推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。
- 源代码形式的特点:操作复杂、编译时间长、极易出现问题、依赖关系复杂
- 为了方便,开发了RPM(redhat package manager)
- RPM通过将代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。针对不同的系统设定了不同的包
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包的:执行
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 安装的缺点与 yum 安装的优点
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
命令:
yum install
software.rpm
安装软件;yum remove
software.rpm
卸载软件;yum update
software.rpm
升级制定软件
本质上,就是在将一系列的 rpm 安装命令,统合成自动化程序,简化成一个 yum 命令,运行对象为 rpm 包,不去考虑其依赖关系,完全自动化安装 rpm 包。
其他 yum
命令:
Linux系统下yum命令查看安装了哪些软件包:
yum list installed //列出所有已安装的软件包
yum针对软件包操作常用命令:
- 使用YUM查找软件包
命令:yum search
- 列出所有可安装的软件包
命令:yum list
- 列出所有可更新的软件包
命令:yum list updates
- 列出所有已安装的软件包
命令:yum list installed
- 列出所有已安装但不在
Yum Repository
内的软件包
命令:yum list extras
- 列出所指定的软件包
命令:yum list
- 使用YUM获取软件包信息
命令:yum info
- 列出所有软件包的信息
命令:yum info
- 列出所有可更新的软件包信息
命令:yum info updates
- 列出所有已安装的软件包信息
命令:yum info installed
- 列出所有已安装但不在
Yum Repository
内的软件包信息
命令:yum info extras
- 列出软件包提供哪些文件
命令:yum provides
-y
指的是每次安装 rpm 包出现选项时,默认选择 yes
参考链接
linux中yum与rpm区别
Linux上安装Mysql
Linux如何查看YUM的安装目录
在linux下如何使用yum查看安装了哪些软件包