|
|
发表于 2005-5-12 22:29:44
|
显示全部楼层
rpm 相关的手册页已经翻译完了,可以在这里查看,也可以到 http://sf.linuxforum.net/projects/cmpp 去下载所有的 已翻译的中文手册页, 打包为 rpm 格式
gendiff.1
- GENDIFF(1) GENDIFF(1)
- NAME
- gendiff - 致力于创建无错的 diff 文件的工具
- SYNOPSIS
- gendiff <directory> <diff-extension>
- DESCRIPTION
- gendiff 是一个简单的脚本,目标是根据单一的目录生成一个 diff 文件。它以
- 一个目录名,以及一个 "diff 扩展名" 作为它的参数。diff 扩展名应当是一 个
- 唯 一 的 字符序列,添加到所有原始的,未修改的文件后面。程序的输出是一个
- diff 文件,可以使用 patch 程序来应用它,重新创造修改。
- 通常,创建 diff 文件的步骤是创建两个完全相同的目录,在其中一个中进行 修
- 改,然后使用 diff 工具来创建两个目录之间区别的列表。使用 gendiff 消除了
- 对额外的,原始的,未修改的目录复件的要求。只有需要修改的个别文件需要 被
- 保存。
- 在 编辑之前,复制一份文件,将所选的扩展名附加到文件名后面。也就是说,如
- 果要修改 somfile.cpp,并且已经选择了扩展名 "fix",那么在修改之前,将 它
- 复制为 somefile.cpp.fix。然后,修改原来的文件 (somefile.cpp)。
- 这样编辑所有文件之后,进入源代码所在的那个目录的上级目录,然后输入
- $ gendiff somedirectory .fix > mydiff-fix.patch
- 应当将输出重定向到一个文件 (像例子中一样),除非你想在标准输出上看到结果
- 。
- SEE ALSO
- diff(1), patch(1)
- AUTHOR
- Marc Ewing <marc@redhat.com>
- TRANSBY
- LinuxForum.Net CMPP 中文手册页计划 [url=http://cmpp.linuxforum.net]
- * Tue May 3 2005 Yuan Yijun <bbbush@163.com> rpm-4.4.1-3
- - 初始版本, 来自于 rpm 的手册页集合
- 4th Berkeley Distribution Mon Jan 10 2000 GENDIFF(1)
复制代码
rpm2cpio.8
- rpm2cpio(8) Red Hat Linux rpm2cpio(8)
- NAME
- rpm2cpio - 从 RPM 软件包中提取 cpio 归档
- SYNOPSIS
- rpm2cpio [filename]
- DESCRIPTION
- rpm2cpio 将指定的一个 .rpm 文件转换为一个 cpio 文档,输出到标准输出。如
- 果给出了 ‘-’ 参数,那么将从标准输入读取 rpm 文件。
- rpm2cpio rpm-1.1-1.i386.rpm
- rpm2cpio - < glint-1.0-1.i386.rpm
- SEE ALSO
- rpm(8)
- AUTHOR
- Erik Troan <ewt@redhat.com>
- TRANSBY
- LinuxForum.Net CMPP 中文手册页计划 [url=http://cmpp.linuxforum.net]
- * Tue May 3 2005 Yuan Yijun <bbbush@163.com> rpm-4.4.1-3
- - 初始版本, 来自于 rpm 的手册页集合
- Red Hat, Inc. 11 January 2001 rpm2cpio(8)
复制代码
rpmcache.8
- RPMCACHE(8) Red Hat Linux RPMCACHE(8)
- NAME
- rpmcache - 缓存 RPM 打包头部
- SYNOPSIS
- rpmcache [ PACKAGE_NAME ... ]
- DESCRIPTION
- rpmcache 遍历文件树,可能通过 FTP 使用远程文件,使用 glob(7) 表达式过滤
- 路径,读取 rpm 打包头部。最新的软件包 (对于相同的软件包名称,比较代/ 版
- 本/ 发 行数字,以及构建时间,来解决冲突) 的头部,如果唯一的话,就缓存在
- rpm 数据库中。rpm 数据库缓存可以用来提供解决软件包未知依赖关系时的建 议
- 。
- 没有特定于 rpmcache 的选项,只有一般的 rpm 选项。参见 rpmcache 用法信息
- ,察看当前已实现的内容。
- 要搜索的文件树路径是以 rpm 宏配置的。最终路径是 5 个独立的元素的拼装 。
- 下面是用于配置 rpmcache 的宏名称。在文件树中将遍历:
- %_bhpath
- " 路径" 一级包含要遍历的文件树的文件树路径 (或 URL) 的前缀部分。
- 这里不能使用 glob(7) 表达式。
- %_bhcoll
- "集合" 一级包含一个字符串 (或 glob(7) 表达式),来匹 配 %_bhpath
- 的子目录。
- %_bhN " 名 称" 一级包含一个字符串 (或 glob(7) 表达式),来匹配 %_bhcoll
- 的子目录。可以用 PACKAGE_NAME 参数来构造一个 glob(7) 表达式, 匹
- 配 Redhat 构建系统中任何指定软件包的名称,在 Redhat 之外几乎没有
- 任何用处。
- %_bhVR "版本发行" 一级包含一个字符串 (或 glob(7) 表达式),来匹配 %_bhN
- 的子目录。
- %_bhA "体系结构" 一级包含一个字符串 (或 glob(7) 表达式),来匹配 %_bhVR
- 的子目录。
- 缓存数据库的位置也使用一个 rpm 宏
- %_cache_dbpath
- 来配置。默认的值是 /var/spool/up2date/cache。
- 缓存数据库与 rpm 数据库的格式完全相同,可以用在 rpm 命令中。例如,要 使
- 用 缓存数据库,来提供建议,给出满足软件包安装时依赖关系的软件包,可以将
- 下面的宏配置在 /etc/rpm/macros 或 ~/.rpmmacros 中:
- %_solve_dbpath
- 用于提供依赖关系建议的数据库的位置
- 范例 (最小) 配置,针对一个 Redhat 文件树:
- %_cache_dbpath /var/spool/up2date/cache
- %_solve_dbpath %{_cache_dbpath}
- %_bhpath file://localhost/mnt/redhat/beehive/comps/dist
- %_bhcoll 7.3
- %_bhN @(basesystem|bash|filesystem|glibc-common|glibc|ldconfig|libtermcap|mktemp|setup|termcap)
- %_bhVR *
- %_bhA @(i[3456]86|noarch)
- 范例 (最小) 配置,针对一个 Redhat FTP 树:
- %_cache_dbpath /var/spool/up2date/cache
- %_solve_dbpath %{_cache_dbpath}
- %_bhpath ftp://localhost/mnt/dist
- %_bhcoll @(7.3|7.2|7.1|7.0|6.2|6.1|6.0|5.2|5.1|5.0)
- %_bhN @(%{_arch})
- %_bhVR *
- %_bhA @(i[3456]86|noarch)
- BUGS
- Yup. 请将有关 rpm-devel 软件包的错误报告和特性需求提 交 到 bugzilla :
- http://bugzilla.redhat.com/ <URL:http://bugzilla.redhat.com/>
- SEE ALSO
- rpm(8), glob(7),
- http://www.rpm.org/ <URL:http://www.rpm.org/>
- AUTHORS
- Jeff Johnson <jbj@redhat.com>
- TRANSBY
- LinuxForum.Net CMPP 中文手册页计划 [url=http://cmpp.linuxforum.net]
- * Tue May 3 2005 Yuan Yijun <bbbush@163.com> rpm-4.4.1-3
- - 初始版本, 来自于 rpm 的手册页集合
- Red Hat, Inc. 05 July 2002 RPMCACHE(8)
复制代码
rpmdeps.8
- RPMDEPS(8) Red Hat Linux RPMDEPS(8)
- NAME
- rpmdeps - 生成 RPM 软件包依赖关系
- SYNOPSIS
- rpmdeps {-P|--provides} {-R|--requires} FILE ...
- DESCRIPTION
- rpmdeps 根据 FILE 参数集合,生成软件包依赖关系。FILE 参数中的每个都进行
- 搜索,查找 Elf32/Elf64,脚本解释器,以及每个脚本的依赖性关系,将依赖 性
- 关系输出到标准输出。
- SEE ALSO
- rpm(8),
- rpmbuild(8),
- AUTHORS
- Jeff Johnson <jbj@redhat.com>
- TRANSBY
- LinuxForum.Net CMPP 中文手册页计划 [url=http://cmpp.linuxforum.net]
- * Tue May 3 2005 Yuan Yijun <bbbush@163.com> rpm-4.4.1-3
- - 初始版本, 来自于 rpm 的手册页集合
- Red Hat, Inc. 24 October 2002 RPMDEPS(8)
复制代码
rpmgraph.8
- RPMGRAPH(8) Red Hat Linux RPMGRAPH(8)
- NAME
- rpmgraph - 显示 RPM 软件包依赖关系图
- SYNOPSIS
- rpmgraph PACKAGE_FILE ...
- DESCRIPTION
- rpmgraph 使用 PACKAGE_FILE 参数来产生一个软件包依赖关系图。每个 PACK-
- AGE_FILE 参数都被读取并添加到 rpm 事务集中。事务集的元素使用拓扑排序 得
- 到偏序关系。元素的偏序关系被输出到标准输出。
- 依 赖关系图中的节点是软件包名称,有向图中的边指向每个节点的父节点。父节
- 点被定义为,将软件包依赖性作为一个偏序关系,一个软件包的最近的前驱。 这
- 意味着,给定一个软件包,它的父节点是它依赖的软件包中的最后一个。
- 输出是 dot(1) 有向图格式,可以使用 graphviz 软件包中的 dotty 图像编辑器
- 来显示或打印。没有特定于 rpmgraph 的选项,只有一般的 rpm 选 项 。 参 见
- rpmgraph 用法信息,察看当前已实现的内容。
- SEE ALSO
- dot(1),
- dotty(1),
- http://www.graphviz.org/ <URL:http://www.graphviz.org/>
- AUTHORS
- Jeff Johnson <jbj@redhat.com>
- TRANSBY
- LinuxForum.Net CMPP 中文手册页计划 [url=http://cmpp.linuxforum.net]
- * Tue May 3 2005 Yuan Yijun <bbbush@163.com> rpm-4.4.1-3
- - 初始版本, 来自于 rpm 的手册页集合
- Red Hat, Inc. 30 June 2002 RPMGRAPH(8)
复制代码
rpm.8
- RPM(8) Red Hat Linux RPM(8)
- NAME
- rpm - RPM 软件包管理器
- SYNOPSIS
- 查询和校验软件包:
- rpm {-q|--query} [select-options] [query-options]
- rpm {-V|--verify} [select-options] [verify-options]
- rpm --import PUBKEY ...
- rpm {-K|--checksig} [--nosignature] [--nodigest]
- PACKAGE_FILE ...
- 安装,升级和卸载软件包:
- rpm {-i|--install} [install-options] PACKAGE_FILE ...
- rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
- rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
- rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
- [--notriggers] [--repackage] [--test] PACKAGE_NAME ...
- 其他:
- rpm {--initdb|--rebuilddb}
- rpm {--addsign|--resign} PACKAGE_FILE ...
- rpm {--querytags|--showrc}
- rpm {--setperms|--setugids} PACKAGE_NAME ...
- 选择选项
- [PACKAGE_NAME] [-a,--all] [-f,--file FILE]
- [-g,--group GROUP] {-p,--package PACKAGE_FILE]
- [--fileid MD5] [--hdrid SHA1] [--pkgid MD5] [--tid TID]
- [--querybynumber HDRNUM] [--triggeredby PACKAGE_NAME]
- [--whatprovides CAPABILITY] [--whatrequires CAPABILITY]
- 查询选项
- [--changelog] [-c,--configfiles] [-d,--docfiles] [--dump]
- [--filesbypkg] [-i,--info] [--last] [-l,--list]
- [--provides] [--qf,--queryformat QUERYFMT]
- [-R,--requires] [--scripts] [-s,--state]
- [--triggers,--triggerscripts]
- 校验选项
- [--nodeps] [--nofiles] [--noscripts]
- [--nodigest] [--nosignature]
- [--nolinkto] [--nomd5] [--nosize] [--nouser]
- [--nogroup] [--nomtime] [--nomode] [--nordev]
- 安装选项
- [--aid] [--allfiles] [--badreloc] [--excludepath OLDPATH]
- [--excludedocs] [--force] [-h,--hash]
- [--ignoresize] [--ignorearch] [--ignoreos]
- [--includedocs] [--justdb] [--nodeps]
- [--nodigest] [--nosignature] [--nosuggest]
- [--noorder] [--noscripts] [--notriggers]
- [--oldpackage] [--percent] [--prefix NEWPATH]
- [--relocate OLDPATH=NEWPATH]
- [--repackage] [--replacefiles] [--replacepkgs]
- [--test]
- DESCRIPTION
- rpm 是一个强大的 软件包管理器,可以用来构建,安装,查询,校验,升级和卸
- 载单独的软件打包。一个 打包 包括文件的归档,以及用来安装和卸载归档文 件
- 的元信息。元信息包括辅助脚本,文件属性以及打包的描述性信息。打包 有两种
- ,二进制打包,用来封装要安装的软件;源代码打包,包含源代码以及为生成 二
- 进制打包,必要的文件。
- 必 须选择下列模式之一: Query 查询, Verify 校验, Signature Check 检查签
- 名, Install/Upgrade/Freshen 安装/升级/更新, Uninstall 卸载, Initialize
- Database 初始化数据库, Rebuild Database 重构数据库, Resign 重签名, Add
- Signature 添加签名, Set Owners/Groups 设置属主, Show Querytags 显示查询
- 标记, 以及 Show Configuration 显示配置.
- 一般选项
- 这些选项可以用在所有不同的模式中。
- -?, --help
- 输出更长的帮助信息。
- --version
- 输出一行信息,包括使用的 rpm 的版本号。
- --quiet
- 输出尽可能少的信息 - 通常只有错误会显示。
- -v 输出冗余信息 - 通常,常规的进度信息将显示。
- -vv 输出大量丑陋的调试信息。
- --rcfile FILELIST
- FILELIST 中冒号分隔的每个文件名都被 rpm 按顺序读取,从中获得配置
- 信息。只有列表的第一个文件必须存在,波浪线将被替换为 $HOME。默认
- 的 FILELIST 是 /usr/lib/rpm/rpmrc:/usr/lib/rpm/red-
- hat/rpmrc:/etc/rpmrc:~/.rpmrc
- --pipe CMD
- 将 rpm 的输出通过管道送到命令 CMD。
- --dbpath DIRECTORY
- 使用 DIRECTORY 中的数据库,而不是默认的路径 /var/lib/rpm
- --root DIRECTORY
- 以 DIRECTORY 作为根文件系统,进行所有操作。这意味着将使用 DIREC-
- TORY 中 的 数 据库来进行依赖性检测,任何小程序 (也就是安装中的
- %post 和构建中的 %prep) 都将在一个 chroot(2) 到 DIRECTORY 之后执
- 行。
- 安装和升级选项
- 安装命令的一般形式是
- rpm {-i|--install} [install-options] PACKAGE_FILE ...
- 这样安装了一个新软件包。
- 升级命令的一般形式是
- rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
- 这 样安装或升级已安装的软件包到新版本。它与安装类似,只是所有其他版本的
- 打包在新软件包安装后都将移除。
- rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
- 仅当系统中存在更早的版本时,这样会升级软件包。PACKAGE_FILE 必须指 定 为
- ftp 或 http URL,这样软件包可以在安装之前去下载。参见 FTP/HTTP OPTIONS
- 中有关 rpm 的内嵌 ftp 和 http 客户端支持。
- --aid 需要时将建议的软件包加入事务集。
- --allfiles
- 安装或升级软件包中所有 missingok 文件,哪怕它们已经存在。
- --badreloc
- 与 --relocate 搭配使用,允许所有文件的重定位,而不仅仅是在二进制
- 打包中,重定位提示包含的那些 OLDPATH。
- --excludepath OLDPATH
- 不安装名称以 OLDPATH 开始的文件。
- --excludedocs
- 不安装任何标记为文档的文件 (包括手册页和 texinfo)。
- --force
- 与使用 --replacepkgs, --replacefiles, 以及 --oldpackage 相同。
- -h, --hash
- 在打包被解压时,输出 50 个 hash 符号 (#),用来与 -v|--verbose 配
- 合,得到漂亮一点的输出。
- --ignoresize
- 安装前不检测已挂载文件系统的空闲空间。
- --ignorearch
- 允许安装或升级,即使二进制打包的体系结构与主机不匹配。
- --ignoreos
- 允许安装或升级,即使二进制打包的操作系统与主机不匹配。
- --includedocs
- 安装文档文件。这是默认的行为。
- --justdb
- 只更新数据库,不更新文件系统。
- --nodigest
- 读取时不校验打包或头部校验。
- --nosignature
- 读取时不校验打包或头部签名。
- --nodeps
- 在安装或升级前,不进行依赖性检测。
- --nosuggest
- 不建议提供了所需依赖关系的软件包。
- --noorder
- 不为安装重排序。通常软件包列表会被重排序,以满足依赖性关系。
- --noscripts
- --nopre
- --nopost
- --nopreun
- --nopostun
- 不执行对应的小程序。--noscripts 选项与
- --nopre --nopost --nopreun --nopostun
- 等价,将 %pre, %post, %preun, 和 %postun 小程序全部关闭。
- --notriggers
- --notriggerin
- --notriggerun
- --notriggerpostun
- 不执行任何对应的触发小程序。--notriggers 选项与
- --notriggerin --notriggerun --notriggerpostun
- 等价,将 %triggerin, %triggerun, 和 %triggerpostun 小程序全部 关
- 闭。
- --oldpackage
- 允许用旧软件包替换一个新软件包。
- --percent
- 打 印从软件包中解压文件的百分比。这是为了使 rpm 在其他工具中运行
- 时简单一些。
- --prefix NEWPATH
- 对于可重定位的包,将以软件包重定位提示的安装前缀开始的所有文件路
- 径转换为以 NEWPATH 开始。
- --relocate OLDPATH=NEWPATH
- 对 于克重定位的二进制打包,将软件包重定位提示中,以 OLDPATH 开始
- 的文件路径转换为以 NEWPATH 开始。这一选项可以使用多次,如果软 件
- 包中多个 OLDPATH 要重定位的话。
- --repackage
- 在 卸 载 前 重 新 打 包 文 件 。过去安装的打包将根据宏 %_repack-
- age_name_fmt 命名,将创建于宏 %_repackage_dir 指定的目录中 (默认
- 值是 /var/spool/repackage)。
- --replacefiles
- 安装软件包,即使他们替换了其他已安装的软件包的文件。
- --replacepkgs
- 安装软件包,即使其中有些软件包已经被安装到了系统中。
- --test 不安装软件包,仅仅检测并报告可能的冲突。
- 卸载选项
- 卸载命令的一般形式是
- rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers]
- [--repackage] [--test] PACKAGE_NAME ...
- 同时还可以用下列选项:
- --allmatches
- 删除匹配 PACKAGE_NAME 的软件包的所有版本。通常情况下,如果 PACK-
- AGE_NAME 匹配多个软件包将导致错误。
- --nodeps
- 在卸载前不检测依赖关系。
- --noscripts
- --nopreun
- --nopostun
- 不执行相应的小程序。--noscripts 选项在卸载过程中等价于
- --nopreun --nopostun
- 将 %preun, 和 %postun 小程序的执行关闭。
- --notriggers
- --notriggerun
- --notriggerpostun
- 不执行相应的触发小程序。--notriggers 选项等价于
- --notriggerun --notriggerpostun
- 将 %triggerun, 和 %triggerpostun 小程序的执行关闭。
- --repackage
- 卸 载 前 重 新 打 包 文 件 。 过去安装的软件包将根据宏 %_repack-
- age_name_fmt 命名,存放到宏 %_repackage_dir 定义的目录中 (默认值
- 是 /var/spool/repackage)。
- --test 不真正卸载任何东西,仅仅尝试它们。与 -vv 选项联合使用,在调试时
- 很有用。
- 查询选项
- 查询命令的一般形式是
- rpm {-q|--query} [select-options] [query-options]
- 可以指定输出时软件包信息的格式。为此,使用选项
- --qf|--queryformat QUERYFMT
- 附带 QUERYFMT 格式化字符串。查询命令是标准的 printf(3) 格式的修改版本。
- 格式包括静态字符串 (可能包括标准的 C 转义字符,新行符,跳格以及其他特殊
- 字符) 以及 printf(3) 类型标记。由于 rpm 已知输出类型,因此应当忽略类 型
- 标 记,使用头部字段名来代替,包含在 {} 中。字段名是大小写不敏感的,起始
- 的 RPMTAG_ 部分可以被忽略。
- 可选的输出格式是用 :typetag 表示。当前,支持的类型有:
- :armor 将公钥以 ASCII 包装。
- :base64
- 以 base64 编码二进制数据。
- :date 使用 strftime(3) "%c" 格式。
- :day 使用 strftime(3) "%a %b %d %Y" 格式。
- :depflags
- 格式化依赖性标志。
- :fflags
- 格式化文件标志。
- :hex 以十六进制格式化。
- :octal 以八进制格式化。
- :perms 格式化文件权限。
- :shescape
- 转义单引号,用于脚本。
- :triggertype
- 显示触发的后缀。
- 例如,要只输出所查询的软件包的名称,可以使用 %{NAME} 作为格式化字符串。
- 要 分两列输出软件包名称和发行版信息,可以用 %-30{NAME}%{DISTRIBUTION}。
- 如果执行时使用 --querytags 参数,rpm 将输出它已知的所有标记列表。
- 查询的选项有两个子集:软件包选择和信息选择。
- 软件包选择选项:
- PACKAGE_NAME
- 查询名称为 PACKAGE_NAME 的已安装软件包。
- -a, --all
- 查询所有已安装软件包。
- -f, --file FILE
- 查询包含 FILE 的软件包。
- --fileid MD5
- 查询包含给定文件描述字的软件包,例如,文件内容的 MD5 校验和。
- -g, --group GROUP
- 查询属主为 GROUP 的软件包。
- --hdrid SHA1
- 查询包含给定头部描述字的软件包,例如,不可变头部区域的 SHA1 校验
- 和。
- -p, --package PACKAGE_FILE
- 查 询 (未安装的) 软件包 PACKAGE_FILE。这个文件可以指定为一个 ftp
- 或 http 样式的 URL,这时软件包头部将被下载并查询。参见 FTP/HTTP
- OPTIONS 中有关 rpm 的内部 ftp 和 http 客户端支持信息。参数 PACK-
- AGE_FILE 如果不是一个二进制文件,将被解释为一个 ASCII 软件包说明
- 。 其中可以有以 ’#’ 开始的注释,其他的每行都可以包含以空格分隔的
- 匹配表达式,如果是远程的地址,也包括 URL。这些将被扩展为路径,替
- 换 manifest 参数的位置,作为 PACKAGE_FILE 参数的附加查询内容。
- --pkgid MD5
- 查 询 含有给定软件包描述字的软件包,例如,包的头部以及有效内容的
- MD5 校验和。
- --querybynumber HDRNUM
- 直接查询第 HDRNUM 个数据库入口;这只在调试时有用。
- --specfile SPECFILE
- 解释并查询 SPECFILE,就好像它是一个软件包。尽管并非所有信息都 可
- 获 得,但这种查询允许 rpm 从 spec 文件中抽取信息,而不必写一个解
- 释器。
- --tid TID
- 查询包含给定 TID 事务描述字的软件包。当前使用 unix 时间戳作为 事
- 务描述字。任何在一次事务中安装或卸载的软件包拥有相同的描述字。
- --triggeredby PACKAGE_NAME
- 查询被软件包 PACKAGE_NAME 触发的软件包。
- --whatprovides CAPABILITY
- 查询提供了 CAPABILITY 能力的软件包。
- --whatrequires CAPABILITY
- 查询所有需要 CAPABILITY 才能运作的软件包。
- 软件包查询选项:
- --changelog
- 显示软件包的修改信息。
- -c, --configfiles
- 只显示配置文件 (暗含了 -l).
- -d, --docfiles
- 只显示文档文件 (暗含了 -l).
- --dump 转储文件信息:
- path size mtime md5sum mode owner group isconfig isdoc rdev symlink
- 这个选项必须与至少下列之一联合使用 -l, -c, -d.
- --filesbypkg
- 列出所选每个软件包中的文件。
- -i, --info
- 显 示 软件包信息,包括名称,版本,描述。如果指定了 --queryformat
- 就使用它。
- --last 列出软件包时,以安装时间排序,最新的在上面。
- -l, --list
- 列出软件包中的文件。
- --provides
- 列出软件包提供的特性。
- -R, --requires
- 列出软件包依赖的其他软件包。
- --scripts
- 列出软件包自定义的小程序,他们是安装和卸载等等过程的一部分。
- -s, --state
- 显示软件包中文件的状态 states (暗含了 -l)。每个文件的状态是 nor-
- mal, not installed, 或 replaced 其中之一。
- --triggers, --triggerscripts
- 显示软件包中包含的触发脚本,如果有的话。
- 校验选项
- 校验命令的一般形式是
- rpm {-V|--verify} [select-options] [verify-options]
- 校验软件包,是将已安装的文件的信息,与从软件包中获取的保存在 rpm 数据库
- 中的有关文件的元数据进行比较。校验比较的内容有每个文件的大小,MD5 校 验
- 和 ,许可,类型,属主。任何不对的地方都回显示出来。如果软件包中文件未安
- 装,例如在安装过程中使用 "--excludedocs" 选项跳过的文档,将被跳过。
- 软件包选择选项与软件包查询是相同的 (包括以说明文件作为参数)。其他独有的
- 选项包括:
- --nodeps
- 不校验软件包的依赖关系。
- --nodigest
- 读取时不校验软件包或头部校验。
- --nofiles
- 不校验文件的任何属性。
- --noscripts
- 不执行 %verifyscript 小程序,如果有的话。
- --nosignature
- 读取时不校验软件包或头部签名。
- --nolinkto
- --nomd5
- --nosize
- --nouser
- --nogroup
- --nomtime
- --nomode
- --nordev
- 不校验相应的文件属性。
- 输出是 8 个字符的字符串,可能的属性标记为:
- c %config 配置文件
- d %doc 文档
- g %ghost 占位文档 (就是说,文件内容不包含在软件包有效内容里面)
- l %license 许可文件
- r %readme 说明文件
- 从头部开始,接下来是文件名,每 8 个字符表示将文件属性与数据库中记录的值
- 进行一次比较的结果。一个单独的 "." (句点) 表示测试通过了,而一个单独 的
- "?" (问号) 表示测试可能无法进行 (例如,文件许可禁止了读权限)。最后,加
- 重的字母表示相应的 --verify 测试失败了。
- S file Size 大小不一致
- M Mode 模式不一致 (包括许可和文件类型)
- 5 MD5 sum 校验和不一致
- D Device 主从设备号不匹配
- L readLink(2) 路径不匹配
- U User 属主不一致
- G Group 组属主不一致
- T mTime 时间不一致
- 数字签名和校验
- 数字签名命令的一般形式是
- rpm --import PUBKEY ...
- rpm {--checksig} [--nosignature] [--nodigest]
- PACKAGE_FILE ...
- 选项 --checksig 用来检测 PACKAGE_FILE 中所有的签名和摘要,保证打包的 完
- 整 性和来源。注意在读取打包时总会检测签名,而 --checksig 在校验与某个打
- 包关联的所有签名和摘要时有用。
- 没有公钥就无法校验数字签名。可以用 --import 来向 rpm 数据库添 加 ASCII
- 文 本化的公钥。每个导入的公钥都有一个头部,钥匙环的管理与软件包管理完全
- 类似。例如,要显示所有已导入的公钥,使用:
- rpm -qa gpg-pubkey*
- 已导入的公钥的细节,可以查询并显示。下面是有关 Redhat GPG/DSA 公钥的 信
- 息:
- rpm -qi gpg-pubkey-db42a60e
- 最后,已导入的公钥可以像软件包一样被删除。下面是如何卸载 Redhat GPG/DSA
- 公钥:
- rpm -e gpg-pubkey-db42a60e
- 签署软件包
- rpm --addsign|--resign PACKAGE_FILE ...
- 选项 --addsign 与 --resign 都可以为每个软件包 PACKAGE_FILE 生成并插入新
- 的 签名,替换任何已有的签名。存在两个选项,是由于历史的原因,现在它们的
- 行为没有区别。
- 使用 GPG 来签署软件包
- 为使用 GPG 来签署软件包,必须配置 rpm 运行 GPG,并且要能找到包含合适 密
- 钥 的 钥匙环。默认情况下,rpm 使用与 GPG 相同的约定来查找钥匙环,也就是
- $GNUPGHOME 环境变量。如果你的钥匙环不在 GPG 要求的位置,就必须 配 置 宏
- %_gpg_path 为要使用的 GPG 钥匙环的位置。
- 为了与老版本的 GPG, PGP 和 rpm 兼容,只应配置 V3 OpenPGP 签名的打包。可
- 以使用 DSA 或者 RSA 校验算法,但是推荐用 DSA。
- 如果想签署自己创建的打包,还需要创建自己的公钥和私钥对 (参见 GPG 手 册)
- 。还需要配置 rpm 宏:
- %_signature
- 签名类型。当前只支持 gpg 和 pgp。
- %_gpg_name
- 用来签署打包的密钥的所有者 "用户" 的名称
- 例如,要使用 GPG 来签署打包,用户是 "John Doe <jdoe@foo.com>",钥匙环位
- 置在 /etc/rpm/.gpg,使用可执行文件 /usr/bin/gpg,可以将这一段
- %_signature gpg
- %_gpg_path /etc/rpm/.gpg
- %_gpg_name John Doe <jdoe@foo.com>
- %_gpgbin /usr/bin/gpg
- 包含在宏配置文件中。对于系统范围的设置,使用 /etc/rpm/macros,对于个 人
- 设置,使用 ~/.rpmmacros。
- 重建数据库选项
- 重建数据库的命令的一般形式是
- rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root DIRECTORY]
- 使用 --initdb 来创建新的数据库,使用 --rebuilddb 来重建数据库索引,根据
- 已安装的软件包头部。
- 显示配置
- 命令
- rpm --showrc
- 将显示 rpm 使用的,在 rpmrc 和 macros 配置文件中定义的选项的值。
- FTP/HTTP 选项
- rpm 可以作为一个 FTP 和/或 HTTP 客户端,可以查询或安装互联网上的软件包
- 包。要安装、升级和查询的软件包文件可以以 ftp 或 http 样式的 URL 指定:
- ftp://USER:PASSWORD@HOST:PORT/path/to/package.rpm
- 如果忽略了 :PASSWORD 选项,将提示密码,每个用户名/主机组合提示一次。 如
- 果 忽 略 了用户名和密码,将使用匿名 ftp。在所有情况下,都会使用被动 ftp
- (PSAV)。
- rpm 允许在使用 ftp URL 时使用下面的选项:
- --ftpproxy HOST
- 使用主机 HOST 作为所有 ftp 传输的代理服务器,允许用户通过代理 系
- 统防火墙访问 ftp。这个选项也可以用宏 %_ftpproxy 指定。
- --ftpport PORT
- 连 接到 ftp 代理服务器的 TCP PORT 端口,而不是默认的端口。这个选
- 项也可以用宏 %_ftpport 指定。
- rpm 允许在使用 http URL 时使用下面的选项:
- --httpproxy HOST
- 使用主机 HOST 作为所有 http 传输的代理服务器,允许用户通过代理系
- 统防火墙访问 http。这个选项也可以用宏 %_httpproxy 指定。
- --httpport PORT
- 连接到 http 代理服务器的 TCP PORT 端口,而不是默认的端口。这个选
- 项也可以用宏 %_httpport 指定。
- LEGACY ISSUES
- 执行 rpmbuild
- rpm 的构建模式,现在由 /usr/bin/rpmbuild 命令完成。尽管使用下面的 popt
- 别 名提供的兼容性已经够用,但是不够完美;因此通过 popt 别名提供的构建兼
- 容性将从 rpm 中移除。安装 rpmbuild 软件包,参见 rpmbuild(8) 中,有关 过
- 去记录在 rpm(8) 中的,rpm 构建模式的文档。
- 将下面的这些添加到 /etc/popt 中,如果想使用 rpm 命令行运行 rpmbuild的话
- :
- rpm exec --bp rpmb -bp
- rpm exec --bc rpmb -bc
- rpm exec --bi rpmb -bi
- rpm exec --bl rpmb -bl
- rpm exec --ba rpmb -ba
- rpm exec --bb rpmb -bb
- rpm exec --bs rpmb -bs
- rpm exec --tp rpmb -tp
- rpm exec --tc rpmb -tc
- rpm exec --ti rpmb -ti
- rpm exec --tl rpmb -tl
- rpm exec --ta rpmb -ta
- rpm exec --tb rpmb -tb
- rpm exec --ts rpmb -ts
- rpm exec --rebuild rpmb --rebuild
- rpm exec --recompile rpmb --recompile
- rpm exec --clean rpmb --clean
- rpm exec --rmsource rpmb --rmsource
- rpm exec --rmspec rpmb --rmspec
- rpm exec --target rpmb --target
- rpm exec --short-circuit rpmb --short-circuit
- FILES
- rpmrc 配置文件
- /usr/lib/rpm/rpmrc
- /usr/lib/rpm/redhat/rpmrc
- /etc/rpmrc
- ~/.rpmrc
- Macro 宏定义文件
- /usr/lib/rpm/macros
- /usr/lib/rpm/redhat/macros
- /etc/rpm/macros
- ~/.rpmmacros
- Database 数据库
- /var/lib/rpm/Basenames
- /var/lib/rpm/Conflictname
- /var/lib/rpm/Dirnames
- /var/lib/rpm/Filemd5s
- /var/lib/rpm/Group
- /var/lib/rpm/Installtid
- /var/lib/rpm/Name
- /var/lib/rpm/Packages
- /var/lib/rpm/Providename
- /var/lib/rpm/Provideversion
- /var/lib/rpm/Pubkeys
- /var/lib/rpm/Removed
- /var/lib/rpm/Requirename
- /var/lib/rpm/Requireversion
- /var/lib/rpm/Sha1header
- /var/lib/rpm/Sigmd5
- /var/lib/rpm/Triggername
- Temporary 临时文件
- /var/tmp/rpm*
- SEE ALSO
- popt(3),
- rpm2cpio(8),
- rpmbuild(8),
- http://www.rpm.org/ <URL:http://www.rpm.org/>
- AUTHORS
- Marc Ewing <marc@redhat.com>
- Jeff Johnson <jbj@redhat.com>
- Erik Troan <ewt@redhat.com>
- TRANSBY
- LinuxForum.Net CMPP 中文手册页计划 [url=http://cmpp.linuxforum.net]
- * Tue May 3 2005 Yuan Yijun <bbbush@163.com> rpm-4.4.1-3
- - 初始版本, 来自于 rpm 的手册页集合
- Red Hat, Inc. 09 June 2002 RPM(8)
复制代码
rpmbuild.8
- RPMBUILD(8) Red Hat Linux RPMBUILD(8)
- NAME
- rpmbuild - 构建 RPM 打包
- SYNOPSIS
- 构建打包:
- rpmbuild {-ba|-bb|-bp|-bc|-bi|-bl|-bs} [rpmbuild-options] SPECFILE ...
- rpmbuild {-ta|-tb|-tp|-tc|-ti|-tl|-ts} [rpmbuild-options] TARBALL ...
- rpmbuild {--rebuild|--recompile} SOURCEPKG ...
- 其他:
- rpmbuild --showrc
- rpmbuild 选项
- [--buildroot DIRECTORY] [--clean] [--nobuild]
- [--rmsource] [--rmspec] [--short-circuit] [--sign]
- [--target PLATFORM]
- DESCRIPTION
- rpmbuild 是用来构建软件的二进制和源代码打包的。一个软件包 package 包 括
- 文 件的归档以及用来安装和卸载归档中文件的元数据。元数据包括辅助脚本,文
- 件属性,以及有关的描述性的信息。软件包有两种 package:二进制软件包, 用
- 来 封装要安装的软件,源代码软件包,包含了源代码和要构建二进制打包需要的
- 内容。
- 必须选择下列基本模式之一:0 Build Package, Build Package from Tarball,
- Recompile Package, Show Configuration.
- 一般的选项
- 这些选项可以用于所有不同的模式。
- -?, --help
- 输出较长的帮助信息
- --version
- 输出一行信息,包含 rpmbuild 的版本号
- --quiet
- 输出尽可能少的信息 - 通常只有错误信息才会显示出来
- -v 输出冗余信息 - 通常常规的进度信息都将被显示
- -vv 输出大量丑陋的调试信息
- --rcfile FILELIST
- FILELIST 中冒号分隔的每个文件名都被 rpm 按顺序读取,从中获得配置
- 信息。只有列表的第一个文件必须存在,波浪线将被替换为 $HOME。默认
- 的 FILELIST 是 /usr/lib/rpm/rpmrc:/usr/lib/rpm/red-
- hat/rpmrc:/etc/rpmrc:~/.rpmrc
- --pipe CMD
- 将 rpm 的输出通过管道送到命令 CMD。
- --dbpath DIRECTORY
- 使用 DIRECTORY 中的数据库,而不是默认的路径 /var/lib/rpm
- --root DIRECTORY
- 以 DIRECTORY 作为根文件系统,进行所有操作。这意味着将使用 DIREC-
- TORY 中 的 数 据库来进行依赖性检测,任何小程序 (也就是安装中的
- %post 和构建中的 %prep) 都将在一个 chroot(2) 到 DIRECTORY 之后执
- 行。
- 构建选项
- 构建命令的一般形式是
- rpmbuild -bSTAGE|-tSTAGE [ rpmbuild-options
- ] FILE ...
- 如 果要用某个 spec 文件构建,使用 -b 参数。如果需要根据一个可能是压缩过
- 的 tar 归档文件中的 spec 文件构建,就使用 -t 参数。第一个参数之后的字符
- STAGE 指定了要完成的构建和打包的阶段,是下列其中之一:
- -ba 构建二进制和源代码打包 (在执行 %prep, %build 和 %install 之后)
- -bb 构建二进制打包 (在执行 %prep, %build 和 %install 之后)
- -bp 执行 spec 文件的 "%prep" 阶段。通常,这会解包源代码并应用补丁
- -bc 执行 spec 文件的 "%build" 阶段 (在执行了 %prep 阶段之后)。这通常
- 等价于执行了一次 "make"
- -bi 执行 spec 文件的 "%install" 阶段 (在执行了 %prep 和 %build 阶 段
- 之后)。这通常等价于执行了一次 "make install"
- -bl 执行一次 "列表检查"。spec 文件的 "%files" 段落中的宏被扩展,检测
- 是否每个文件都存在。
- -bs 只构建源代码打包
- 还可以用下列选项:
- --buildroot DIRECTORY
- 在构建时,使用目录 DIRECTORY 覆盖默认的值
- --clean
- 在制作打包之后删除构建树
- --nobuild
- 不执行任何构建步骤。用于测试 spec 文件
- --rmsource
- 在构建后删除源代码 (也可以单独使用,例 如 "rpmbuild --rmsource
- foo.spec")
- --rmspec
- 在 构 建 之 后 删 除 spec 文件 (也可以单独使用,例如 "rpmbuild
- --rmspec foo.spec")
- --short-circuit
- 直接跳到指定阶段 (也就是说,跳过指定阶段前面的所有步骤)。只有 与
- -bc 或 -bi 连用才有意义。
- --sign 在打包中包含 GPG 签名。签名可以用来校验打包的完整性和来源。参见
- rpm(8) 的 "GPG 签名" 章节中的配置细节。
- --target PLATFORM
- 在构建时,将 PLATFORM 解析为 arch-vendor-os,并以此设置宏 %_tar-
- get, %_target_cpu, 和 %_target_os 的值。
- 重建和重编译选项
- 还有两种发起构建的方法:
- rpmbuild --rebuild|--recompile SOURCEPKG ...
- 这样执行的话,rpmbuild 安装指定的源代码打包,然后进行准备,编译和安装。
- 另外,--rebuild 构建一个新的二进制打包,在构建结束时,构建目录被删除 (
- 就好像用了 --clean),源代码和 spec 文件也被删除。
- SHOWRC
- 命令
- rpmbuild --showrc
- 将显示 rpmbuild 使用的,在 rpmrc 和 macros 配置文件中定义的选项的值。
- FILES
- rpmrc 配置文件
- /usr/lib/rpm/rpmrc
- /usr/lib/rpm/redhat/rpmrc
- /etc/rpmrc
- ~/.rpmrc
- Macro 宏定义文件
- /usr/lib/rpm/macros
- /usr/lib/rpm/redhat/macros
- /etc/rpm/macros
- ~/.rpmmacros
- Database 数据库
- /var/lib/rpm/Basenames
- /var/lib/rpm/Conflictname
- /var/lib/rpm/Dirnames
- /var/lib/rpm/Filemd5s
- /var/lib/rpm/Group
- /var/lib/rpm/Installtid
- /var/lib/rpm/Name
- /var/lib/rpm/Packages
- /var/lib/rpm/Providename
- /var/lib/rpm/Provideversion
- /var/lib/rpm/Pubkeys
- /var/lib/rpm/Removed
- /var/lib/rpm/Requirename
- /var/lib/rpm/Requireversion
- /var/lib/rpm/Sha1header
- /var/lib/rpm/Sigmd5
- /var/lib/rpm/Triggername
- Temporary 临时文件
- /var/tmp/rpm*
- SEE ALSO
- popt(3),
- rpm2cpio(8),
- gendiff(1),
- rpm(8),
- http://www.rpm.org/ <URL:http://www.rpm.org/>
- AUTHORS
- Marc Ewing <marc@redhat.com>
- Jeff Johnson <jbj@redhat.com>
- Erik Troan <ewt@redhat.com>
- TRANSBY
- LinuxForum.Net CMPP 中文手册页计划 [url=http://cmpp.linuxforum.net]
- * Tue May 3 2005 Yuan Yijun <bbbush@163.com> rpm-4.4.1-3
- - 初始版本, 来自于 rpm 的手册页集合
- Red Hat, Inc. 09 June 2002 RPMBUILD(8)
复制代码 |
|