rpm(8) | System Manager's Manual | rpm(8) |
rpm - RPM 软件包管理器
rpm {-q|--query} [select-options] [query-options]
rpm --querytags
rpm {-V|--verify} [select-options] [verify-options]
rpm {-i|--install} [install-options] PACKAGE_FILE ...
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
rpm {--reinstall} [install-options] PACKAGE_FILE ...
rpm {-e|--erase} [--allmatches]
[--nodeps] [--noscripts]
[--notriggers] [--test]
PACKAGE_NAME ...
rpm --showrc
rpm --setperms PACKAGE_NAME ...
rpm --setugids PACKAGE_NAME ...
[PACKAGE_NAME] [-a,--all] [-f,--file
FILE]
[-g,--group GROUP] {-p,--package
PACKAGE_FILE]
[--hdrid SHA1] [--pkgid MD5]
[--tid TID]
[--querybynumber HDRNUM] [--triggeredby
PACKAGE_NAME]
[--whatprovides CAPABILITY] [--whatrequires
CAPABILITY]
[--changelog] [-c,--configfiles] [--conflicts]
[-d,--docfiles] [--dump] [--filesbypkg]
[-i,--info]
[--last] [-l,--list] [--obsoletes] [--provides]
[--qf,--queryformat QUERYFMT] [-R,--requires]
[--scripts] [-s,--state]
[--triggers,--triggerscripts]
[--nodeps] [--nofiles] [--noscripts]
[--nodigest] [--nosignature]
[--nolinkto] [--nofiledigest] [--nosize]
[--nouser]
[--nogroup] [--nomtime] [--nomode] [--nordev]
[--nocaps]
[--allfiles] [--badreloc] [--excludepath
OLDPATH]
[--excludedocs] [--force] [-h,--hash]
[--ignoresize] [--ignorearch] [--ignoreos]
[--includedocs] [--justdb] [--nocollections]
[--nodeps] [--nodigest] [--nosignature]
[--noorder] [--noscripts] [--notriggers]
[--oldpackage] [--percent] [--prefix
NEWPATH]
[--relocate OLDPATH=NEWPATH]
[--replacefiles] [--replacepkgs]
[--test]
rpm是一个强大的的包管理器,可以用于构建、安装、查询、核实、 更新以及卸载单个软件包。 一个软件包通常包括一个文件档以及关于包的用于安装和卸载的元信息, 包括帮助脚本、文件属性和软件包的描述性信息。
必须选取下列基本模式中一个: 初始化数据库, 重新生成数据库, 生成包, 重新编译包, 从Tar包生成RPM包, 查询, 显示查询标签, 安装, 更新, 卸载, 核实, 签名检查, 再签名, 添加签名, 设置所有者和组 以及 显示配置.
这些选项可以各种不同的方式使用.
通常的rpm安装命令如下:
rpm -i [install-options] <package_file>+
这样将安装一个新的包. 通常的rpm升级命令如下:
rpm -U [install-options] <package_file>+
这样将当前已安装的包升级或新安装到一个新的RPM版本. 升级和 安装是一样的, 区别在于升级要将所有别的版本的包从系统移去.
rpm [-F|--freshen] [install-options] <package_file>+
这样也升级包, 但只有在系统存在一个更早版本的包时候才使用这 种方式.
如果包在安装之前要先进行下载, <package_file>应该指明为一个 ftp或者http URL. 要得到关于RPM包生成的ftp和http支持的信息, 可以参阅FTP/HTTP 选项.
rpm的查询命令通常的格式如下:
rpm -q [query-options]
可以制定包信息的打印格式, 这时要用[--queryformat|-qf]选项, 格式串跟在选项后面.
查询格式由标准printf(3)格式的版本决定. 格式由静态字符串 (包括除了换行符, tab, 以及其它的特殊字符之外的标准C字符), 以及printf(3)类型格式符. 如果rpm已经知道打印类型, 则类型说明就必须被忽略, 并且以要打印的头部tag的名字取代, 该名字被括在{}之间. 而且tag的RPMTAG_部分也被忽略.
可以用:typetag来改变输出格式.当前支持的有如下类型:octal, date, shescape, perms, fflags, 以及 depflags.
例如,要只打印被查询包的名字,可以用%{名称}作为格式字符串. 要在两个栏里打印包名及分布信息,可以用%-30{名称}%{分布}.
当被--querytags参数激发时,rpm将列出所有tags.
查询选项有两种子设置: 包选择和信息选择.
包选择选项:
信息选择选项:
rpm -V|-y|--verify [verify-options]
将所安装包的文件信息和源发包的文件信息以及在rpm数据库的文件信息做比较, 以此来核实包. 对于别的东西,则??? 任何的差异都会展示.包的说明选项与查询选项相同.
对于不是从包安装的文件,例如在安装的时候用"--excludedocs" 选项排除了的文档文件,将在没有提示的情况下被忽略掉.
核实选项可以使用如下模式:
通常的rpm签名检查命令如下:
rpm --checksig <package_file>+
这将检查包<package_file>的PGP签名以确保其完整性和源发性. 可以从配置文件读取PGP配置信息.细节请查阅 PGP 签名 部分.
rpm卸载命令的通常格式如下:
rpm -e <package_name>+
The general form of an rpm build command is
rpm -[b|t]O [build-options]
<package_spec>+
The argument used is -b if a spec file is being used to build the package and -t if RPM should look inside of a gzipped (or compressed) tar file for the spec file to use. After the first argument, the next argument (O) specifies the stages of building and packaging to be done and is one of: rpm通常的生成选项如下:
rpm -[b|t]O [build-options]
<package_spec>+
还可以使用的选项如下:
There are two other ways to invoke building with rpm: 有两种不同的方法用rpm重新生成包:
rpm --recompile <source_package_file>+
rpm --rebuild <source_package_file>+
当以这种方式激发的时候,rpm安装指明的源包,并且完成prep,compile,install工作. 另外,--rebuild生成一个新的二进制包. 当包的生成完成的时候,生成所用目录被移去(就如同使用了--clean), 而且该包的源和spec文件也要移走.
rpm --resign <binary_package_file>+
该选项生成并将新签名插入所列出的包里.已存在的签名会被移走.
rpm --addsign <binary_package_file>+
该选项生成并将新签名附加到所列出的包的签名之后.
要使用签名特性,RPM必须要能够运行PGP(要安装了PGP并且你可以访问它), 而且还需PGP能找到一个带有RPM公钥的公钥环. 缺省情况下,RPM使用PGP的缺省设置(著名的PGPPATH)来查找钥环. 如果你的钥环并不在PGP所期望它们处在的地方,则你需要配置宏
如果你想要签名一个你自己生成的包,你还必须创建自己的公钥和密钥对(请参阅PGP手册). 还需要配置签名类型宏:
在生成包的时候,可以将--sign加到命令行里.这样只需给出你的口令短语, 就可以在生成包的同时对其签名.
比如,要想以用户"John Doe <jdoe@foo.com>"的身份,用在 /etc/rpm/.pgp的钥环,去签名一个包,就应该将
包括在一个宏配置文件里. 对于系统的配置可以使用/etc/rpm/macros, 而对于个人配置可以使用~/.rpmmacros.
rpm重建数据库的命令是
rpm --rebuilddb
要重建一个新的数据库,可以:
rpm --initdb
对这些模式唯一的选项是--dbpath 和 --root.
运行
rpm --showrc
展示一些设置在rpmrc文件里的值,RPM所有选项都会利用这些值.
RPM包括简单的FTP和HTTP客户端程序,这样可以简化那些从internet取得的包的安装和查询. 用于安装,升级,以及查询操作的包文件可以说明为ftp或者http格式的URL:
ftp://<user>:<password>@hostname:<port>/path/to/package.rpm
如果忽略掉:password部分,会提示要求给出口令(每个用户/主机名对一次) 如果用户名和口令都忽略了,就使用匿名ftp. 总是使用消极(PASV) ftp传送.
RPM允许使用下列操作辅助ftp URLs
RPM允许使用下列操作辅助http URLs
/usr/lib/rpm/rpmrc /etc/rpmrc ~/.rpmrc /var/lib/rpm/packages /var/lib/rpm/pathidx /var/lib/rpm/nameidx /tmp/rpm*
glint(8), rpm2cpio(8) http://www.rpm.org/
Marc Ewing <marc@redhat.com> Jeff Johnson <jbj@redhat.com> Erik Troan <ewt@redhat.com>
mapping <email>
2001/7/21
http://cmpp.linuxforum.net
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
2002年6月9日 | Red Hat, Inc. |