博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

庄户人家

曾经是一个技术人员,还算是一个不错的软件开发人员。 自己总是在想:人,一辈子不可能永远做技术,那么我能做什么呢? 于是刻意的锻炼自己,学习与人交流,学习管理,于是变成了现在这个样子。 希望在我的BLOG中能给大家一些启示,选择自己的方向,然后走下去,不回头!!! ————技术已经忘的差不多了,管理也没学好的菜鸟。
littlebird.cublog.cn


RPM帮助资料
rpm帮助
大纲:
   查询与校验包:
       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 ...
   select选项
        [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]
   query选项
        [--changelog] [-c,--configfiles] [-d,--docfiles] [--dump]
        [--filesbypkg] [-i,--info] [--last] [-l,--list]
        [--provides] [--qf,--queryformat QUERYFMT]
        [-R,--requires] [--scripts] [-s,--state]
        [--triggers,--triggerscripts]
   verify选项
        [--nodeps] [--nofiles] [--noscripts]
        [--nodigest] [--nosignature]
        [--nolinkto] [--nomd5] [--nosize] [--nouser]
        [--nogroup] [--nomtime] [--nomode] [--nordev]
   install选项
        [--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]
说明:
    rpm是一个强有力的包管理工具,它可以用于建造、安装、查询、检验、更新和删除个别的软件包。文件包由文件的档案组成且元数据过去常用于安装和删除存档文件。元数据包括帮助角本、文件属性和关于这个包的可描述性信息。包通常有两个变体:二进制包,用于压缩软件的安装;另一个是源程序包,包括原代码和产生二进制包的的方法说明。
    必须选择下面的基本模式:Query, Verify,  Signature  Check, Install/Upgrade/Freshen, Uninstall, Initialize Database, Rebuild Database, Resign, Add Signature, Set Owners/Groups, Show Querytags, and Show Configuration。
一般选项:
       那些选项可以用于所有的不同的模式中。
       -?, --help
              正常情况下输出使用方法。
       --version
              输出包括目前所使用的rpm版本数据的单行。
       --quiet
              输出尽可能少-正常情况下,如果有错误出现,仅输出错误。
       -v     输出详细信息-正常的常规的进程信息。
       -vv    输出很多的调试信息。
       --rcfile FILELIST
            第一个在FILELIST中由冒号区分的文件将被rpm作为配置信息读出。在列表中的第一个文件必须存在,且tildes将被写入到$HOME的值中。默认的FILELIST is /usr/lib/rpm/rpmrc:/usr/lib/rpm/redhat/rpmrc:~/.rpmrc。
       --pipe CMD
            rmp到命令CMD的输出管道。
       --dbpath DIRECTORY
            在DIRECTORY中数据库而不是使用默认的路径/var/lib/rpm。
       --root DIRECTORY
            使用文件系统树为所有操作在DIRECTORY进行登录(rooted)!注意这意味着在DIRECTORY内的数据库将对所有的依赖的检测和任何角本使用 (例如:在一个包中%post安装了或%prep已经建立),将在一个chroot(2)之后运行并赋给DIRECTORY。
安装和更新选项:
       rpm安装的通用命令如下:
       rpm {-i|--install} [install-options] PACKAGE_FILE ...

       Rpm升级的通用命令如下:
       rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

       升级或安装包文件通常是安装一个新的版本。这同安装一样,不同之外仅在于在新包安装之前别的版本的包已经被删除。
       rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
       这将会升级包,但条件是其早期的版本已经存在。PACKAGE_FILE被指定为一个ftp或http的URL,那么在安装之前这个包将会被下载。参见FTP/HTTP选项。
       --aid  在必要的时候为交易集增加暗示包。
       --allfiles
           安装或升级所有的在包中不正确的文件,不管它们是否存在。
       --badreloc
            使用此选项,允许在所有的文件路径中重新定位,不仅是那些包含在二进制包中重定位的hint(s)中的那些OLDPATH.
       --excludepath OLDPATH
            不安装那些名字在OLDPATH中的文件。
       --excludedocs
            不安装那些文档文件(那些man页和texinfo文档)。
       --force
            与使用—replacepkgs、--replacefiles和—oldpackage一样。
       -h, --hash
            在被有效的解开时输出50个信息符。使用-v|--verbose可以优选显示。
       --ignoresize
            在安装包之前不检测mount的文件系统的空间是否够。
       --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
            在解包时输出文件解包的百分比。
       --prefix NEWPATH
            对于可重定位的二进制包,翻译在包重定位线索中以安装前缀开头的文件给NEWPATH.。
       --relocate OLDPATH=NEWPATH
            针对重定位的二进制包,翻译在包重定位线索中以OLDPATH开头的文件给NEWPATH。如果在包中的几个OLDPATH被重新装载,选项可以重复使用。
       --repackage
            在删除之前重新打包文件。先前安装的包将由宏%_repackage_name_fmt指定,且其创建目录也由宏%_repackage_dir指定(默认值是/var/tmp)。
       --replacefiles
            安装包,即使他们已经从别的地方已经安装的包中替换了文件。
       --replacepkgs
            完全安装包,即使其中的一些文件已经在系统中安装完成。
       --test  不安装包,仅仅简单检测或报告潜在的冲突。
删除选项:
       删除格式的rpm命令是:
       rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers]
       [--repackage] [--test] PACKAGE_NAME ...
       下面的选项也可以使用:
       --allmatches
           删除所有那些包匹配PACKAGE_NAME的版本。如果PACKAGE_NAME有多个匹配,正常情况下将有一个错误说明。
       --nodeps
            在没有安装包之前,不检测依赖关系。
       --noscripts
       --nopreun
       --nopostun
            不执行同名角本。--noscripts、--nopreun –nopostun含义相同。关闭%preun、%postun角本的响应。
       --notriggers
       --notriggerun
       --notriggerpostun
            不执行任何指定类型的触发器角本。--notriggers、--notriggerun、 --notriggerpostun含义相同。同时关闭%triggerun、%triggerpostun角本响应。
       --repackage
            在删除之前重新打包文件。先前安装的包将由宏%_repackage_name_fmt指定,且其创建目录也由宏%_repackage_dir指定(默认值是/var/tmp)。
       --test  不真的卸载任何东西, 仅仅是经历一下这个动作。与-vv选项联合使用。
   查询选项:
       rpm查询选项的通用格式:
       rpm {-q|--query} [select-options] [query-options]
           可以指定包信息被打印的格式,如果想做这些,可以使用下面的方式:
       --qf|--queryformat QUERYFMT
       选项,后边是格式字符串QUERYFMT。查询格式是标准printf(3)的标准输出版本。其格式由静态字符串组成(应包括标准C字符,除了换行符、tables或其它特殊字符串)和printf(3)类型格式符。当rpm已经知道打印的类型后,无论如何,类型指定必须被忽略,且被头标签替代的部分将被打印,被符上{}字符。标签名是一个固定的实例,这标签名主要的RPMTAG_ portion也可以被忽略。
       交替的输出格式可以由带: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。PACKAGE_FILE可以以ftp或http风格的URL指定,这种情况下包头的实例将被下载和查询。在rpm的内部的ftp和http支持参见FTP/HTTP选项。PACKAGE_FILE参数,如果不是一个二进制包,将被解释为一个ASCII包的形式。可以存在注释,以#开头,且包说明文件的每一行都可以包括空白分隔的表达式。包括包含有远程一组解释的URL,将展开到作为附加的包PACKAGE_FILE参数赋值给查询代替包说明的路径下。
       --pkgid MD5
            查询包,包括给定的包认证信息,也就是说是一个MD5摘要。
       --querybynumber HDRNUM
            直接查询HDRNUMth数据库入口,仅用于调试方式。
       --specfile SPECFILE
            直接分析和查询SPECFILE,好象它就是一个包。虽然不是所有的信息(也就是说文件列表)都是有效的,允许rpm查询的类型常被用做从specfile中摘要信息而不必写specifle分析。
       --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 Orders  
以包安装的顺序来列出包内容,结果是最后一个安装的包在最上层列出。
       -l, --list
           列出包中的文件。
       --provides
           列出包中规定的容量。
       -R, --requires
           列出这个包所依赖的包。
       --scripts
           列出部分包的指定角本作为安装和卸载的信息。
       -s, --state
           列出在包中文件的状态(意味着-l)文件的状态包括正常、未安装、替换。
       --triggers, --triggerscripts
           显示触发器角本,它包含在包中。
   校验选项:
       格式如下:
       rpm {-V|--verify} [select-options] [verify-options]

           校验在包中已经安装且在rpm数据库中带有来自于中的元数据存储的文件比较信息在这些东西中,校验比较大小、MD5数、许可、类型、拥有者及每个文件的组。所有明细信息都将显示。没有从包中安装的文件,例如:使用—excludedocs选项将文件文档文件没有安装,则文档文件将被默认忽略。
           包选择选项与包查询选项相同(包括象参数的包的说明文件)。别的选项的唯一校验格式如下:
       --nodeps
            不校验包的从属部分。
       --nodigest
            在读时不校验包或头的摘要。
       --nofiles
            不校验包文件的属性。
       --noscripts
            不执行%verifyscript角本(if any)。
       --nosignature
            当读时不校验包或头的信号。
       --nolinkto
       --nomd5
       --nosize
       --nouser
       --nogroup
       --nomtime
       --nomode
       --nordev
            不校验相应文件的属性。
       输出格式是一个8个字符的字符串,可能的属性标记是:
       c %config 配置文件。
       d %doc 文档文件。
       g %ghost file (也就是说文件内容不没有包含在包的有效负荷中)。
       l %license license文件。
       r %readme readme文件。
       从后面跟着文件名的包头中,8个字符每个都指出在数据库中属性记录值文件属性的比较结果。句号"."意味着测试通过,而"?"说明没有不能执行(也就是说文件许不能读)。无论怎样,这些字符都指出了校验测试没有成功。
       S 文件大小不同
       M 模式不同(包括许可和文件类型)
       5 MD5数不同
       D 设置主要/较小的不匹配数
       L readLink(2) 路径不匹配
       U 用户所属关系不同
       G 组所属关系不同
       T mTime不同。
   数字符号和摘要校验:
       rpm数字符号命令的格式是:
       rpm --import PUBKEY ...
       rpm {--checksig} [--nosignature] [--nodigest]
           PACKAGE_FILE ...
       --checksig选项检查所有的包含在PACKAGE_FILE中的摘要和签名,来确认包的完整性及来源。注意,无论包什么时候读,签名都要进行校验,且--checksig对于校验所有的与包相关的摘要和签名都是很有用的。
           在没有公钥的情况下,数字符号不能校验。使用--import将一个ascii公钥加到你的rpm数据库中。导入的公钥存在于头中,且key回响管理是象一个包管理一样正确执行。例如,所有当前输入的公钥可以由下面的式子列出:
       rpm -qa gpg-pubkey*
           当导入时关于指定的公钥的说明,能被查询所显示。,下面是关于Red Hat GPG/DSA key的显示信息:
       rpm -qi gpg-pubkey-db42a60e
       最后,公钥可以在输出后名象包一样被删除,下面是删除Red Hat GPG/DSA key:
       rpm -e gpg-pubkey-db42a60e
   包签名:
       rpm --addsign|--resign PACKAGE_FILE ...
       --addsign和—resign选项产生和插入新的签名给每一个指定的PACKAGE_FILE 包,用来代替所有存在的签名。由于历史的原因,有两个选面,这两者的行为没有什么不同。
   使用GPG签名:
       为了使用GPG为包做签名,rmp必须被配置成运行GPG且可以找到有适当KEY的键环。默认情况下,rpm查找键环的方式与GPG方式相同。也就是$GNUPGHOME 环境变量。如果你的键环没有定位到GPG预设的位置,那么你需要配置宏%_gpg_路径到GPG键环指定的位置。
       为了保证与旧版的GPG、PGP和rpm兼容,只有V3 OpenPGP签名包被配置上了。DSA或者RSA的加密算法可以使用,但DSA是首选项。
       如果你想要为你自己创建的包进行签名,也需要创建自己的公钥和私钥对(参见GPG手册)。你将也需要配置rpm宏。
       %_signature
           签名类型。仅支持gpg与pgp方式。
       %_gpg_name
           你希望使用的给你的包进行签名的键的“user”名。
       例如,使用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命令的通用格式如下:
       rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root DIRECTORY]
       使用--initdb去创建一个新的数据库,使用--rebuilddb去重建一个数据库利用安装的包头索引。
   SHOWRC
       命令格式:
       rpm --showrc
       显示所有在rpmrc和macros配置文件中设置的选项中使用的rpm值。
   FTP/HTTP选项:
           Rpm能象FTP和/或HTTP客户端那样,所以包能从internet中进行查询和安装。安装、更新和查询包文件的操作可以作为一个ftp或http风格的URL指定。
       ftp://USER:PASSWORD@HOST:PORT/path/to/package.rpm
           如果忽略了:PASSWORD部分,将会提示输入密码(针对每个用户/主机对)。如果用户和密码都忽略,ftp将使用匿名(anonymous)方式。实际上,ftp进行的是被动的传输。
       Rpm允许在ftp的URLs中使用下面的选项:
       --ftpproxy HOST
           主机HOST将做为所有传输的代理服务器,允许用户穿过那些使用代理的系统的防火墙去ftp。这个选项也可以通过使用宏%_ftpproxy来配置。
       --ftpport HOST
           ftp使用连接到ftp代理服务器的TCP  PORT号来代替默认值。这个选项也可以由宏%_ftpport来指定。
       Rpm允许以下面的格式使用http URLs:
       --httpproxy HOST
              主机HOST将作为所有http传输的代理服务器。这个选项也可以由宏%_httpproxy指定。
       --httpport PORT
           http使用连接到http代理服务器的TCP  PORT号来代替默认值。这个选项也可以由宏%_httpport来指定。
后续说明:
   执行rpm构建:
       rpm的构建模式目前使用/usr/bin/rpmbuild进行。虽然由 popt别名提供的兼容性已经足够了,但还不是完美的。因此通过popt别名的兼容性目前正在被从rpm中删除。安装rpmbuild包,可参见rpmbuild(8)。在rpm(8)中可以找到所有的当前rpm构建的报有文档。
       如果你想继续在命令行中使用rpmbuild,将下列的行加入到/etc/popt中:
       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

发表于: 2007-12-27 ,修改于: 2007-12-27 15:45,已浏览566次,有评论0条 推荐 投诉


网友评论

发表评论