• Yum 和 Rpm 安装包管理软件的区别 - 分布式网络包仓库管理 - 手动包管理


    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
    
    • 1
    • 2
    • 3

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

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

    -U update 更新软件

    1. 反安装(常用于计算机软件之中,是指删除、卸载软件uninstall )

    执行rpm -e software.rpm

     rpm -e
     eg:
     rpm -e mysql80-community-release-el7-6.noarch.rpm
    
    • 1
    • 2
    • 3

    4.查询软件包的详细信息:执行rpm -qpi software.rpm(加了绝对路径

    rpm -qpi
    eg:
    rpm -qpi mysql80-community-release-el7-6.noarch.rpm
    
    • 1
    • 2
    • 3

    -q query 查找 .rpm 包详细信息
    -p packege
    -i installed 安装过的

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

    注意是文件,而不是 rpm包

    rpm -qf
    eg:
    rpm -qf /etc/yum
    
    • 1
    • 2
    • 3

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

    1. 查该软件包会向系统里面写入哪些文件:执行 rpm -qpl software.rpm加了绝对路径
    rpm -qpl
    eg:
    rpm -qpl mysql80-community-release-el7-6.noarch.rpm
    
    • 1
    • 2
    • 3

    -l (list) 列出rpm 包,等下会安装哪些文件

    查询功能:
    rpm –qa 列出全部已经安装的.rpm软件

     rpm –qa |grep 软件名
     eg:
     rpm -qa|grep mysql
    
    • 1
    • 2
    • 3

    在这里插入图片描述

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

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

    1. 自动解决依赖关系

    2. 可以对rpm进行分组,基于组进行安装操作

    3. 引入仓库概念,支持多个仓库

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

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

    /etc/yum.repos.d/
    
    • 1

    目前笔者只知道,使用了 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 //列出所有已安装的软件包
    
    • 1

    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查看安装了哪些软件包

  • 相关阅读:
    ReactiveUI MVVM框架(1)-Collections
    我用Python连夜离线了100G图片,只为了防止网站被消失
    【Python爬虫原理与基本请求库urllib详解】
    vue循环列表点击选中,默认选中第一个
    defineProperty 和 proxy 的区别
    【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(9 月 12 日论文合集)
    nginx 日志处理goaccess、shell
    平面和射线交点
    操作系统的概念、四个特征以及os的发展和分类
    OpenAcc的使用
  • 原文地址:https://blog.csdn.net/qq_42701659/article/details/126539989