目录

  • Yum简介
  • Rpm 简介
  • Rpm 命令
  • rpm 安装的缺点与 yum 安装的优点
  • yum命令
  • 参考链接


Yum简介

Yum(全称为 Yellow dog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,避免了手动安装的麻烦(寻找资源、下载;放到指定目录安装;处理依赖关系并下载依赖关系的包进行安装)。所以用 yum 安装,实质上是在用 RPM 安装,所以RPM查询信息的指令都可用。

也就是说,Yum 只是统合了所有的 rpm 包的所有依赖关系,所谓的依赖关系指的是必要的安装包程序,如果没有这些依赖包,那么在安装的时候就会缺失某种依赖包,从而报错。

Rpm 简介

RPMredhat package manager),RPM 是 Linux操作系统下的一种软件安装的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个rpm 包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm

RPM是 Red Hat 公司随 Redhat Linux 推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。

  1. 源代码形式的特点:操作复杂、编译时间长、极易出现问题、依赖关系复杂
  2. 为了方便,开发了RPM(redhat package manager)
  3. RPM通过将代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。针对不同的系统设定了不同的包

Rpm 命令

1.安装软件:执行rpm -ivh software.rpm(加了绝对路径
如:

rpm -ivh 
 eg:
 rpm -ivh mysql80-community-release-el7-6.noarch.rpm

-i install 安装软件
-v 显示详细信息
-h显示进度条

  1. 升级软件:执行rpm -Uvh software.rpm(加了绝对路径
rpm -Uvh
 eg:
 rpm -Uvh mysql80-community-release-el7-6.noarch.rpm

-U update 更新软件

  1. 反安装(常用于计算机软件之中,是指删除、卸载软件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 安装过的

  1. 查询某个文件是属于那个rpm包的:执行rpm -qf 当前路径下的文件夹名或文件名(或者写入绝对路径

注意是文件,而不是 rpm包

rpm -qf
eg:
rpm -qf /etc/yum

-q (query) 查找
-f (file) 文件/文件夹

  1. 查该软件包会向系统里面写入哪些文件:执行 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

yum 安装 samba yum 安装rpm_yum 安装 samba

rpm 安装的缺点与 yum 安装的优点

rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。很多时候安装一个软件安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂Yum解决这些问题。Yumrpm 的前端程序,主要目的是设计用来自动解决rpm的依赖关系,其特点:

  1. 自动解决依赖关系
  2. 可以对rpm进行分组,基于组进行安装操作
  3. 引入仓库概念,支持多个仓库

yum 仓库(Yum Repository)用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系的包,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTPFTPNFS形式使用的集中地、统一的网络仓库

相关的本地仓库目录如下:

/etc/yum.repos.d/

目前笔者只知道,使用了 rpm -Uvh 命令,会在此目录下,生成相应的仓库文件,即.repo后缀的文件

其他命令尚未测试过。

但笔者认为,按逻辑来讲,既然是网络仓库,应该生成仓库文件的命令应该有 rpm -ivh 安装命令和 rpm -Uvh 升级命令,使用了这两个命令都会在此目录下生成相应的仓库文件.repo文件,然后按此文件进行一个依赖查找安装的过程。

yum命令

三大常用yum命令:

  1. yum install software.rpm 安装软件;
  2. yum remove software.rpm 卸载软件;
  3. yum update software.rpm升级制定软件

本质上,就是在将一系列的 rpm 安装命令,统合成自动化程序,简化成一个 yum 命令,运行对象为 rpm 包,不去考虑其依赖关系,完全自动化安装 rpm 包。

其他 yum 命令:
Linux系统下yum命令查看安装了哪些软件包:

yum list installed //列出所有已安装的软件包

yum针对软件包操作常用命令:

  1. 使用YUM查找软件包
    命令:yum search
  2. 列出所有可安装的软件包
    命令:yum list
  3. 列出所有可更新的软件包
    命令:yum list updates
  4. 列出所有已安装的软件包
    命令:yum list installed
  5. 列出所有已安装但不在 Yum Repository 内的软件包
    命令:yum list extras
  6. 列出所指定的软件包
    命令:yum list
  7. 使用YUM获取软件包信息
    命令:yum info
  8. 列出所有软件包的信息
    命令:yum info
  9. 列出所有可更新的软件包信息
    命令:yum info updates
  10. 列出所有已安装的软件包信息
    命令:yum info installed
  11. 列出所有已安装但不在 Yum Repository 内的软件包信息
    命令:yum info extras
  12. 列出软件包提供哪些文件
    命令:yum provides

-y 指的是每次安装 rpm 包出现选项时,默认选择 yes

参考链接

linux中yum与rpm区别

Linux上安装Mysql

Linux如何查看YUM的安装目录

在linux下如何使用yum查看安装了哪些软件包