rpm与yum

2023-05-16

rpm与yum

  • 前言
  • 一、应用程序与命令系统的关系
  • 二、典型应用程序的目录结构
  • 三、常见的软件封装类型
  • 四、rpm
    • (1)概述
    • (2)命令概述
    • (3)查询rpm软件包信息
      • ①查询已安装的rpm软件信息
      • ②查询未安装的rpm软件包文件中的信息
      • ③安装、升级、卸载rpm包
      • ④维护rpm数据库
      • ⑥解决软件包依赖关系的方法
  • 五、yum
    • (1)什么是yum
    • (2)yum的使用方法
    • (3)本地源仓库
      • ①设置虚拟机设置
      • ②挂载并查看是否成功
      • ③切换至yum.repo.d目录,新建一个文件夹,再将自带的仓库移走
      • ④新建yum仓库文件
  • 总结

前言

在安装Linux之后,主机就拥有了一些基础的软件和网络服务功能,当然这些自带的软件功能毕竟是少数。所以当我们需要一些扩展的功能时,就需要rpm或者yum来下载其他软件服务来实现了。

一、应用程序与命令系统的关系

角色系统命令应用程序
文件位置一般在/bin或/sbin目录中,或为Shell内部指令通常在/usrlocal/bin、/usr/local/sbin两个目录里
主要用途完成对系统的基本管理工作,例如IP配置工具完成相对独立的其他辅助任务,例如网页浏览器
适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
运行格式一般包括命令字、 命令选项和命令参数通常没有固定的执行格式,由程序开发者自行定义

二、典型应用程序的目录结构

文件类型保存目录
普通的可执行程序文件/usr/bin
服务器程序、管理程序文件/usr/sbin
应用程序配置文件/etc
日志文件/var/log
应用程序参考文档文件usr/share/doc
应用程序手册页文件/usr/share/man

三、常见的软件封装类型

文件类型保存目录
RPM软件包
DEB软件包扩展名为:“.deb"
源代码软件包一般为”.tar.gz、tar.bz2"等格式的压缩包 包含程序的原始代码
绿色免安装的软件包软件包扩展名不一;以TarBall格式的居多;在压缩包内提供已经编译好的执行程序文件,解开压缩包后的文件即可直接使用

四、rpm

(1)概述

rpm软件管理器Red-Hat package Manager

  • 由Red Hat公司提出,被众多Linux发行版所采用
  • 建立统一的数据库
  • 文件详细记录软件包安装、卸载等变化信息
  • 自动分析软件包依赖关系
  • 保持各应用程序在一个协调、有序的整体环境中允许
    获取途径
  • 软件素材参考:http://www.rpm.org
  • 一般命名格式: bash-4.2.46-28.el7.x86_64.rpm
    (软件名称-版本号-发布次数-硬件平台-扩展名)
  • 其中硬件平台通常为“i386”或“i686”等,表示适用于 Intel 公司的处理器,“x86_64”表示适用于 64 位的系统,如果是“noarch”表示不区分硬件架 构(支持不同硬件体系的处理器)。 CentOS 的 DVD 安装光盘携带的大部分软件包都在 Packages 目录中,通过该目录中 的文件可以熟悉 RPM 软件包的一般命名格式

(2)命令概述

  • rpm命令能够实现几乎所有对RPM软件包的管理功能
  • 执行“man rpm”命令可以获得关于rpm命令的详细帮助信息详细
  • rpm命令功能
  • 查询、验证RPM软件包的相关信息
  • 安装、升级、卸载RPM软件包
  • 维护重建RPM数据库信息等综合管理操作

(3)查询rpm软件包信息

①查询已安装的rpm软件信息

格式:rpm -q【子选项】【软件名】

  • 常用选项
选项功能
-qa当前系统已安装的软件包查询
-qi查看已安装的指定软件的详细信息 --info
-ql查看已安装的指定软件包在当前系统中安装的所有目录 --list
-qc查看已安装的指定软件的配置文件
-qd列出已安装的指定软件的软件包文档所在位置
-qR列出已安装的指定软件的依赖的软件包及文件
-qf反向查看已安装的指定的文件或目录属于哪个安装包 --file
-qF查询已安装的指定软件属于哪个安装包
案例一:
在这里插入图片描述
案例二:
在这里插入图片描述
  • mount:挂载,你的包在你的光驱里并没有放在系统中,光盘的包只有先挂载在光盘到我的系统
    什么是挂载:将硬件,比如光盘、光驱等,挂载在目录上使用,变成文件

  • unmount:解挂载,跟着硬件设备走,不在挂在的文件下

②查询未安装的rpm软件包文件中的信息

格式:rpm -qp【子选项】rpm包文件

  • 常用选项
选项说明
-qpi查询指定软件包的详细信息
-qpl查询指定软件包的准备要安装的所有目录及文件列表
-qpc查询指定软件包的配置文件
-qpd查询指定软件包的软件包文档的位置

③安装、升级、卸载rpm包

格式:

  • rpm [选项] RPM软件包
  • rpm -ivh RPM软件包 #安装软件包,install
  • rpm -evh RPM软件包 #卸载软件包
  • 常用选项
选项说明
-i安装一个新的RPM软件包。
-U升级某个软件包,若未安装过,则进行安装。
-F升级某个软件包,若未安装过,则放弃安装。
-h在安装或升级软件包的过程中,以“#”号 显示安装进度。
-v显示软件安装过程中的详细信息。
- -force强制安装某个软件包,比如要安装版本更旧的软件包
-e卸载指定名称的软件包
- -nodeps在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系

④维护rpm数据库

1、重建RPM数据库 当RPM 数据库发生损坏,可通过重建RPM数据库修复
格式:rpm --rebuilddb 或rpm --initdb
2、导入验证公钥 在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一 部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件。
格式:mount /dev/cdrom /mnt/ 先挂载
rpm --import /mnt/RPM-GPG-KEY-CentOS-7导入公钥

⑥解决软件包依赖关系的方法

1、安装有依赖关系的多个软件时

  • 被依赖的软件包需要先安装
  • 可同时指定多个.rpm包文件进行安装

2、卸载有依赖关系的多个软件时

  • 依赖其他程序的软件包需要先卸载
  • 可同时指定多个软件名进行卸载

3、 忽略依赖关系

  • 结合“- -nodeps”选项,但可能导致软件异常

五、yum

(1)什么是yum

  • yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的Shell 前端软件包管理器。
  • 基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
  • yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

(2)yum的使用方法

格式:yum [可选项] [要进行的操作] [安装报名 …]

  • 常用操作
命令作用
-y install 软件名#安装、升级软件包,“-y”选项表示自动确认
-y remove 软件名#卸载软件包,可自动解决其依赖关系
-y update 软件名#升级软件包
yum list查询软件包列表
yum list installed查询系统中已安装的软件包
yum list available查询仓库中尚未安装的软件包
yum list available查询仓库中尚未安装的软件包
yum list updates查询可以升级版本的软件包
yum info 软件名查询软件包的描述信息
yum search [all] 关键词根据某个关键词来查找相关的软件包
yum whatprovides 命令查询命令属于哪个软件包
案例:
在这里插入图片描述

(3)本地源仓库

①设置虚拟机设置

在这里插入图片描述

②挂载并查看是否成功

在这里插入图片描述

③切换至yum.repo.d目录,新建一个文件夹,再将自带的仓库移走

在这里插入图片描述

④新建yum仓库文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

虽然在实际使用中,yum往往是我们的优先选择,但是无论是rpm还是yum都有其独特的地方,有些时候我们也有需要使用到rpm的地方,所以,对rpm最基本的熟悉都是必要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rpm与yum 的相关文章

随机推荐

  • 平衡车直立PID调节总结

    苦战一周 xff0c 终于使平衡小车站了起来 xff0c PID无疑是我从学习板子至今遇到最困难的东西了 xff0c 并不是说它原理有多么复杂 xff0c 只是想让小车的效果更佳 xff0c 调参的过程无疑是漫长而艰难的 连续调了俩天的参数
  • Lua 字符串

    Lua 字符串 参考至菜鸟教程 字符串或串 String 是由数字 字母 下划线组成的一串字符 Lua 语言中字符串可以使用以下三种方式来表示 xff1a 单引号间的一串字符 双引号间的一串字符 与 间的一串字符 以上三种方式的字符串实例如
  • Lua 迭代器

    Lua 迭代器 参考文章 xff1a 菜鸟教程 https cloud tencent com developer article 2203215 迭代器 xff08 iterator xff09 是一种对象 xff0c 它能够用来遍历标准
  • Lua table(表)

    Lua table 表 参考至菜鸟教程 Lua table 使用关联型数组 xff0c 你可以用任意类型的值来作数组的索引 xff0c 但这个值不能是 nil Lua table 是不固定大小的 xff0c 你可以根据自己需要进行扩容 Lu
  • Lua 模块与包

    Lua 模块与包 参考至菜鸟教程 模块类似于一个封装库 xff0c 从 Lua 5 1 开始 xff0c Lua 加入了标准的模块管理机制 xff0c 可以把一些公用的代码放在一个文件里 xff0c 以 API 接口的形式在其他地方调用 x
  • Lua 文件I/O

    Lua 文件I O 参考至菜鸟教程 Lua I O 库用于读取和处理文件 分为简单模式 xff08 和C一样 xff09 完全模式 简单模式 xff08 simple model xff09 拥有一个当前输入文件和一个当前输出文件 xff0
  • Lua 错误处理

    Lua 错误处理 参考至菜鸟教程 程序运行中错误处理是必要的 xff0c 在我们进行文件操作 xff0c 数据转移及web service 调用过程中都会出现不可预期的错误 如果不注重错误信息的处理 xff0c 就会造成信息泄露 xff0c
  • Lua 调试(Debug)

    Lua 调试 Debug 参考至菜鸟教程 Lua 提供了 debug 库用于提供创建我们自定义调试器的功能 Lua 本身并未有内置的调试器 xff0c 但很多开发者共享了他们的 Lua 调试器代码 Lua 中 debug 库包含以下函数 x
  • Lua 垃圾回收

    Lua 垃圾回收 参考至菜鸟教程 Lua 采用了自动内存管理 这意味着你不用操心新创建的对象需要的内存如何分配出来 xff0c 也不用考虑在对象不再被使用后怎样释放它们所占用的内存 Lua运行了一个垃圾收集器来收集所有死对象 xff08 即
  • Lua 面向对象(详解)

    Lua 面向对象 xff08 详解 xff09 参考文章 xff1a https blog csdn net linxinfa article details 103254828 https zhuanlan zhihu com p 115
  • Lua实现矩阵的加减乘除

    Lua实现矩阵的加减乘除 参考文章 xff1a https blog csdn net qq 54180412 article details 122943327 https www bilibili com video BV1434y18
  • ubuntu系统配置大恒相机驱动并读取ros话题

    文章目录 0 说明1 安装大恒相机sdk1 1 下载1 2 安装sdk 用于配置ip和调试相机参数 1 电脑网卡配置 网卡固定ip 2 查看相机图像以及配置相机参数 2 安装ros驱动包 注 xff1a 大恒相机官方没ros驱动 2 0 正
  • C++类对象与Lua之间的交互

    C 43 43 类对象与Lua之间的交互 C语言与Lua进行交互 xff0c 我们可以相对轻易的做到 xff0c 但在实际应用中我们更加偏向于使用C 43 43 与Lua进行交互 xff0c 面向对象编程 关于C语言与Lua之间的调用交互实
  • C++与Lua交互实例 -- 矩阵的加减乘除(版本一)

    C 43 43 与Lua交互实例 矩阵的加减乘除 xff08 版本一 xff09 关于lua中封装的类模板以及相关知识可参考以下链接 xff1a https ufgnix0802 blog csdn net article details
  • C++与Lua交互实例 -- 矩阵的加减乘除(版本二)

    C 43 43 与Lua交互实例 矩阵的加减乘除 xff08 版本二 xff09 TIPS xff1a 关于使用矩阵的加减乘除测试C 43 43 与Lua的交互以及下面没讲述到的知识点可以阅读第一版 xff1a https blog csd
  • Windows下LuaBridge2.8的环境配置及简单应用

    Windows下LuaBridge2 8的环境配置及简单应用 LuaBridge2 8下载链接 xff1a https github com vinniefalco LuaBridge tags 关于Lua的环境配置可参考以下链接 xff0
  • Lua 开发过程中常见坑

    Lua 开发过程中常见坑 Lua next span class token keyword return span G span class token punctuation span span class token function
  • 私网与公网地址转换

    私网与公网地址转换 NAT概述NAT功能静态NAT动态NATEASYIP xff08 多个内网地址对一个接口 xff09 PAT端口多路复用 NAT概述 NAT xff08 Network Address Translation xff0c
  • VWmare安装CentOS7及连接Xshell超详细过程(图文)

    VWmare安装CentOS7及连接Xshell超详细过程 xff08 图文 xff09 前言一 准备工作二 安装虚拟机过程 1 选择文件 xff0c 新建虚拟机 2 选择配置类型 3 自定义硬件配置 4 进入系统安装界面 二 连接Xshe
  • rpm与yum

    rpm与yum 前言一 应用程序与命令系统的关系二 典型应用程序的目录结构三 常见的软件封装类型四 rpm 1 概述 2 命令概述 3 查询rpm软件包信息 查询已安装的rpm软件信息 查询未安装的rpm软件包文件中的信息 安装 升级 卸载