一、rpm格式文件简介
RPM是 Redhat Package Manager,是由红帽公司开发的套件管理程序。
SRPM顾名思义,他是 Source RPM 的意思
两种文件的格式:
xxxxxxxxx.rpm
<==RPM 的格式,已经经过编译且包装完成的 rpm 档案;
xxxxx.src.rpm
<==SRPM的格式,包含未编译的原始码信息。
.rpm文档名的含义:
rp-pppoe
- 3.1 - 5 . i386 .rpm
套件名称 套件的版本信息 释出的次数 适合的硬件平台 附文件名
套件名称
:
当然就是每一个套件的名称了!上面的范例就是 rp-pppoe 。
版本信息
: 每一次更新版本就需要有一个版本的信息,否则如何知道这一版是新是旧?这里通常又分为主版本跟次版本,以上面为例,主版本为 3 ,在主版本的架构下更动部分原始码内容,而释出一个新的版本,就是次版本啦!以上面为例,就是 1 ��!
释出版本次数: 也就是
编译的次数啦!那么为何需要重复的编译呢?这是由于同一版的套件中,可能由于有某些 bug 或者是安全上的顾虑,所以必须要重新设定当初打包时候的设定参数,设定完成之后重新编译并打包成 RPM 档案!因此就有不同的打包数出现了!(
注:这个时候原始码其实还是 3.1 那个版本,只是下达编译时的参数不同而已!)
操作硬件平台
: 这是个很好玩的地方,由于 RPM 可以适用在不同的操作平台上,但是由于不同的平台设定的参数还是有所差异性!并且,我们可以针对比较高阶的 CPU 来进行最佳化参数的设定,所以就有所谓的 i386, i586, i686 与 noarch 等的文件名称出现了!
l i386:几乎适用于所有的
x86 平台,不论是旧的 pentum 或者是新的 pentum-IV 与 K7 系列的 CPU等等,都可以正常的工作!那个 i 指的是 Intel 兼容的 CPU 的意思,至于 386 不用说,就是 CPU 的等级啦!
l i586:就是 586 等级的计算机,那是哪些呢?包括 pentum 第一代 MMX CPU, AMD 的 K5, K6 系列 CPU ( socket 7 插脚 ) 等等的 CPU 都算是这个等级;
l i686:在 pentun II 以后的 Intel 系列 CPU ,及 K7 以后等级的 CPU 都属于这个 686 等级!
l Noarch 就是没有任何硬件等级上的限制。
二.Rpm格式文件的安装
安装rpm文件使用rpm命令
格式:rpm [选项] [安装文件]
如:
rpm -i rp-pppoe-3.1-5.i386.rpm
rpm -ivh rp-pppoe-3.1-5.i386.rpm
选项参数含义:
-i :install
的意思
-v :view
查看更细部的安装信息画面
-h :以安装信息列显示安装进度,例如上面的 # 字符号!
rpm –qa:列出所有已安装的rpm包
rpm –e name:卸载名为name德rpm包
如果有依赖关系的话,注意卸载时候后安装的包要先卸载
RPM 预设安装的路径:
/etc
|
一些设定文件放置的目录,例如 /etc/crontab
|
/usr/bin
|
一些可执行档案
|
/usr/lib
|
一些程序使用的动态函式库
|
/usr/share/doc
|
一些基本的软件使用手册与说明文件
|
/usr/share/man
|
一些 man page 档案
|
还有一些相关参数,使用时候可以查阅:
周详选项:
--h (or --hash) 安装时输出hash记号 (``#’’)
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文件文件
--includedocs 安装文件
--replacepkgs 强制重新安装已安装的软件包
--replacefiles 替换属于其他软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix <path> 将软件包安装到由 <path> 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy <host> 用 <host> 作为 FTP代理
--ftpport <port> 指定FTP的端口号为 <port> 通用选项
-v 显示附加信息 -vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程式和后安装程式都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path> 二、删除 命令格式:
rpm -e ( or --erase) options pkg1 ... pkgN 参数 pkg1 ... pkgN :要删除的软件包 周详选项
--test 只执行删除的测试
--noscripts 不运行预安装和后安装脚本程式
--nodeps 不检查依赖性 通用选项
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程式和后安装程式都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
升级
命令格式
:
rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm 参数 file1.rpm ... fileN.rpm 软件包的名字
周详选项
:
-h (or --hash) 安装时输出hash记号 (``#’’)
--oldpackage 允许"升级"到一个老版本 --test 只进行升级测试
--excludedocs 不安装软件包中的文件文件
--includedocs 安装文件 --replacepkgs 强制重新安装已安装的软件包
--replacefiles 替换属于其他软件包的文件
--force 忽略软件包及文件的冲突
--percent 以百分比的形式输出安装的进度。
--noscripts 不运行预安装和后安装脚本
--prefix <path> 将软件包安装到由 <path> 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系 --ftpproxy <host> 用 <host> 作为 FTP代理
--ftpport <port> 指定FTP的端口号为 <port> 通用选项
-v 显示附加信息 -vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程式和后安装程式都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
查询
命令格式:
rpm -q ( or --query) options 参数: pkg1 ... pkgN :查询已安装的软件包 周详选项
-p <file>(or ``-’’) 查询软件包的文件
-f <file> 查询<file>属于哪个软件包
-a 查询所有安装的软件包
--whatprovides <x> 查询提供了 <x>功能的软件包 -g <group> 查询属于<group> 组的软件包
--whatrequires <x> 查询所有需要 <x> 功能的软件包 信息选项 <null> 显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示设置文件列表
-d 显示文件文件列表
-s 显示软件包中文件列表并显示每个文件的状态
--scripts 显示安装、卸载、校验脚本
--queryformat (or --qf) 以用户指定的方式显示查询信息
--dump 显示每个文件的所有已校验信息
--provides 显示软件包提供的功能
--requires (or -R) 显示软件包所需的功能 通用选项
-v 显示附加信息 -vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程式和后安装程式都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
校验已安装的软件包命令格式:
rpm -V ( or --verify, or -y) options 参数 pkg1 ... pkgN 将要校验的软件包名
软件包选项:
-p <file> Verify against package file <file>
-f <file> 校验<file>所属的软件包
-a Verify 校验所有的软件包
-g <group> 校验所有属于组 <group> 的软件包 周详选项
--noscripts 不运行校验脚本
--nodeps 不校验依赖性
--nofiles 不校验文件属性 通用选项
-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程式和后安装程式都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
校验软件包中的文件语法:
rpm -K ( or --checksig) options file1.rpm ... fileN.rpm 参数: file1.rpm ... fileN.rpm 软件包的文件名 Checksig—
周详选项
--nopgp 不校验PGP签名 通用选项
-v 显示附加信息
-vv 显示调试信息
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
其他RPM选项
--rebuilddb 重建RPM资料库
--initdb 创建一个新的RPM资料库
--quIEt 尽可能的减少输出
--help 显示帮助文件
--version 显示RPM的当前版本