1、什么是RPM?
RPM(Red Hat Package Manager)是运行在以Linux内核为基础众多发行版上开放的软件管理包,并基于GPL协议发布。
2、常运行在那些Linux发行版平台?
Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本及二次开发版上。
3、主要优势
(1)、能提供快速安装
(2)、减少编译安装侦错困扰。
(3)、功能众多使系统维护更容易
4、获取途径
(1)、系统发行版的光盘或官方的文件服务器(或镜像站点);
http://mirrors.aliyun.com http://mirrors.sohu.com http://mirrors.163.com
(2)、项目的官方站点
(3)、第三方组织
A、EPEL:
B、搜索引索:http://pkgs.org http://rpm.pbone.net http://rpmfind.net
(4)、自己制作注意
检查其包合法:A、来源合法性 B 、程序包的完整性。
5、软件包格式
name-version.type.rpm 注意:其中version,根据编译平台和源代码不同等因数,会包含相关信息
6、RPM的五大功能:(安、卸、升、查、验)
(1)、安装:将软件从包中解出来,并且安装到硬盘;
语法: rpm -i[vh] PackageName.rpm
选项: -v: 显示附加信息
-h: 安装时输出hash记号(#)
--test: 只对安装进行测试,并不实际安装
--excludedocs: 不安装软件包中的文档文件
--replacepkgs: 强制重新安装已经安装的软件包
--force: 忽略软件包及文件的冲突
--prefix <path>: 将软件包安装到由 <path>指定的路径下
--percent: 以百分比的形式输出安装进度
(2)、卸载:将软件从硬盘清除;
语法: rpm -evh PackageName
选项: -h: 删除时输出hash记号(#)
-vv: 显示调试信息
--test: 只执行删除测试,不删除
(3)、升级:替换软件的旧版本;(选项与安装时,相同)
语法: rpm -Uvh PackageName
选项: -v: 显示附加信息
-h: 安装时输出hash记号(#)
--oldpackage:允许“升级”到一个老版本(实际为降级)
--test: 只进行升级测试
--excludedocs: 不安装软件包中的文档文件
--includedocs: 安装文档
--replacepkgs: 强制重新安装已经安装的软件包
--replacefiles: 替换属于其他软件的文件
--force: 忽略软件包及文件的冲突
--prefix <path>: 将软件包安装到由 <path>指定的路径下
--percent: 以百分比的形式输出安装进度
(4)、查询:查询软件包相关信息(包括已安装和未安装,);
A、查看已安装包的相关信息
a、查询已安装的软件: 语法 rpm -q 软件名(如果显示所有就用-qa)
b、查询已安装的文件属于那个软件包: 语法 rpm -qf 软件名
c、查询已安装文件在那里: 语法 rpm -ql 软件名
d、查询已安装的文件的信息: 语法 rpm -qi 软件名
e、查询已安装文件的配置文件: 语法 rpm -qc 软件名
f、查询已安装文件的文档位置: 语法 rpm -qd 软件名
g、查询已安装文件依赖包: 语法 rpm -qR 软件名
B、查看未安装包的相关信息
a、查询一个软件包的用途、版本信息: 语法 rpm -qpi file.rpm
b、查询一个软件包所包含的文件: 语法 rpm -qpl file.rpm
c、查询一个软件包文档所在位置: 语法 rpm -qpd file.rpm
d、查询一个软件包配置文件: 语法 rpm -qpc file.rpm
e、查询一个软件包的依赖关系: 语法 rpm -qpR file.rpm
(5)、校验:检验系统中的软件与包中软件的区别(防止恶意修改,对软件加入了验证功能验证一般使用非对称加密算法,需要一个密匙)
A、校验已安装的包 语法 rpm -V[选项] 文件名
a、一般选项:
-p: 查询验证指定的软件包。
-f: 校验指定文件的所属软件包。
-a: 校验所有的软件包。
-g: 校验所有属组软件包。(后面加属组)
b、 可选选项:
--noscripts: 不运行交验脚本
--nodeps: 不校验依赖性
--nofiles: 不校验文件属性
c、通用选项:
-v: 显示附加信息
-vv: 显示调试信息
--root<path>: 让RPM将<path>指定的路径作为“根目录”
--rcfile<rcrile>: 设置rpmrc 文件为 <rcfile>
--dbpath<path>:设置RMP资料库所在的路径为 <path>
B、校验未安装的包 语法 rpm -K [选项] 包名
a、一般选项
Checksig:检查签名认证是否正确
--nopgp:不校验PGP签
b、通用选项:
-v: 显示附加信息
-vv: 显示调试信息
--rcfile<rcrile>: 设置rpmrc 文件为 <rcfile>
c、其他选项
--rebuilddb:重建RPM资料库
--initdb:创建一个新的RPM资料库
--quiet:尽可能减少输出
--help:显示帮助文件
--version:显示当前版本
d、交验结果:(不同或不匹配)
S M 5 D L U G T P
文件分布 模式 MD5码 版本号 路径 用户身份 工作组 时间戳 功能
7、RPM的命令实例:
(2)、刷新软件包 (没有更高版本将回馈消息)
(3)、查询安装的所有包
C、所有包中的所有文件数量(wc -l 统计行)
D、所有文档文件的数量(wc -l 统计行)
D、所有文档文件的数量(grep -i zsh 是用正则 i忽略大小写 字符 zsh)
(5)、卸载:将软件从硬盘清除;
(6)、校验:
未安装包校验
已安装包的校验
(7)、显示RPM包和其中的文件
(8)、显示RPM依赖关系