RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
RPM文件在Linux系统中的安装最为简便。以著名的图像处理软件XV为例,其RPM包xv-3.10a-13.i386.rpm可以在该程序的主页中下载取得。
相关命令
在Terminal中,基本的安装指令如下:
rpm -i xv-3.10a-13.i386.rpm
如果你的连网速度足够快,也可以直接从网络上安装应用软件,只需要在软件的文件名前加上适当的URL路径。
作为一个软件包管理工具,RPM管理着系统已安装的所有RPM程序组件的资料。我们也可以使用RPM来卸载相关的应用程序。
rpm -e xv
RPM的常用参数还包括:
- -vh:显示安装进度;
- -U:升级软件包;
- -qpl:列出RPM软件包内的文件信息;
- -qpi:列出RPM软件包的描述信息;
- -qf:查找指定文件属于哪个RPM软件包;
- -Va:校验所有的RPM软件包,查找丢失的文件;
- -qa: 查找相应文件,如 rpm -qa mysql
RPM主要功能
- 安装、卸载、升级和管理软件
- 组件查询功能
- 验证功能
- 软件包GPG和MD5数字签名的导入、验证和发布
- 软件包依赖处理
- 选择安装
- 网络远程安装功能
rpm 命令:遵循GPL协议且功能强大的包管理,它可以建立、安装、请求、确认、和卸载软件包。间接的提升了Linux 的易用性
- -e 卸载rpm包
- -q 查询已安装的软件信息
- -i 安装rpm包
- -u 升级rpm包
- --replacepkgs 重新安装rpm包
- --justdb 升级数据库,不修改文件系统
- --percent 在软件包安装时输出百分比
- --help 帮助
- --version 显示版本信息
- -c 显示所有配置文件
- -d 显示所有文档文件
- -h 显示安装进度
- -l 列出软件包中的文件
- -a 显示出文件状态
- -p 查询/校验一个软件包文件
- -v 显示详细的处理信息
- --dump 显示基本文件信息
- --nomd5 不验证文件的md5支持
- --nofiles 不验证软件包中的文件
- --nodeps 不验证软件包的依赖关系
- --whatrequires 查询/验证需要一个依赖性的软件包
- --whatprovides 查询/验证提供一个依赖性的软件包
范例1:安装软件
[root@hnlinux lx1 3 8.c o m]# rpm -hvi dejagnu-1.4.2-10.noarch.rpm
警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 签名:NOKEY, key ID db42a60e
准备...
########################################### [100%]
范例2: 显示软件安装信息
[root@hnlinux lx1 3 8.c o m]# rpm -qi dejagnu-1.4.2-10.noarch.rpm
硬件描述
资源电源管理(Resource Power Manager)
RPM是高通专用的硬件引擎,用于管理共享的SoC(系统级芯片)相关资源,其中包括总线,时钟,电源轨等。RPM的目标是满足SoC的操作和性能要求的同时实现最大的功率节省。RPM接受多个RPM主控的资源请求。仲裁和聚合请求,并配置共享资源。RPM的主控方有应用处理器,调制解调处理器,以及一些硬件加速器。
RPM驱动提供了一个同RPM交互的API。内核代码调用RPM驱动来请求RPM管理和共享资源。内核代码也可以为RPM通知注册驱动,RPM通知在共享资源状态发生变化时发送。
RPM给每个RPM的主控方提供了一个单独的寄存器区域。一般情况下,每个寄存器代表了一些共享资源。通常情况下,主控方通过写寄存器来请求资源,然后产生一个中断给RPM。RPM处理请求,向寄存器中写确认信息,然后产生中断给主控方。
除了主控方特定区域,RPM也提供了一个共享区域,其中包含了共享资源的状态。只有RPM可以写状态区域,主控方只能够读取状态。
RPM包含内部逻辑,用来聚合和仲裁不同RPM主控方的请求。它同PMIC,总线仲裁模块,以及时钟控制模块都有接口,以便配置共享资源。
软件描述
RPM驱动封装了低级RPM交互,就是依赖于读/写寄存器和产生/处理中断的交互;同时也提供了高级同步的set/clear/get接口。
大部分功能使用一个“ID值匹配队列”,ID表明了对应于某些RPM资源的RPM寄存器,这些值表明了新的资源值。
RPM驱动同步访问RPM,主要是为了保护多个任务,SMP内核,任务上下文和原子上下文同时访问。