首页 > CentOS > RPM软件包管理总结
2016
03-09

RPM软件包管理总结

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的命令实例:

            (1)、安装本地软件包

RPM软件包管理总结 - 第1张  | 运维手册

            (2)、刷新软件包       (没有更高版本将回馈消息)               

RPM软件包管理总结 - 第2张  | 运维手册

            (3)、查询安装的所有包 

A、排序列表方式(sort排序列表、more太多翻页)
RPM软件包管理总结 - 第3张  | 运维手册  

B、所有包的数量(wc -l 统计行)

RPM软件包管理总结 - 第4张  | 运维手册    

C、所有包中的所有文件数量(wc -l 统计行)

 RPM软件包管理总结 - 第5张  | 运维手册

D、所有文档文件的数量(wc -l 统计行)

 RPM软件包管理总结 - 第6张  | 运维手册 

D、所有文档文件的数量(grep -i zsh 是用正则 i忽略大小写 字符 zsh)

RPM软件包管理总结 - 第7张  | 运维手册 

            (4)、升级:替换软件的旧版本;(选项与安装时,相同)

RPM软件包管理总结 - 第8张  | 运维手册

(5)、卸载:将软件从硬盘清除;

RPM软件包管理总结 - 第9张  | 运维手册

(6)、校验:

                    未安装包校验

RPM软件包管理总结 - 第10张  | 运维手册

已安装包的校验

RPM软件包管理总结 - 第11张  | 运维手册

(7)、显示RPM包和其中的文件

RPM软件包管理总结 - 第12张  | 运维手册

(8)、显示RPM依赖关系

RPM软件包管理总结 - 第13张  | 运维手册

最后编辑:
作者:李国庆
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复

你的email不会被公开。