当前位置:   article > 正文

rpm与yum_yum和rpm

yum和rpm

前言

在安装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最基本的熟悉都是必要的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/381631
推荐阅读
相关标签
  

闽ICP备14008679号