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 | 查询已安装的指定软件属于哪个安装包 |
案例一: | |
| |
案例二: | |
| |
②查询未安装的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(使用前将#替换为@)