Provided by: manpages-zh_1.5.1-1_all bug

NAME

       rpm - Red Hat 包管理器

`覽
       rpm [選項]

yz
       rpm是一茷雃野峈]z,     可以用於生成,     安裝,    查詢,    核實,
       更新以及卸載單荇M件. 一]通常包括一蚗仵袤犮H及關於包 的信息, 比如名字,
       版本, 描z等.

       必須選取下列基本模式中一:    lw,    sw,   ],
       ss], qTar]RPM],  d,  d,  w,  s,  ,
       , Wd, AW, K[W, ]mM 以及 tm.

       數據庫維護:
           rpm -i [--initdb]
           rpm -i [--rebuilddb]

       生成:
           rpm [-b|t] [package_spec]+
           rpm [--rebuild] [sourcerpm]+
           rpm [--tarbuild] [tarredsource]+

       查詢:
           rpm [--query] [queryoptions]
           rpm [--querytags]

       維護已安裝的包:
           rpm [--install] [installoptions] [package_file]+
           rpm [--freshen|-F] [installoptions] [package_file]+
           rpm [--uninstall|-e] [uninstalloptions] [package]+
           rpm [--verify|-V] [verifyoptions] [package]+

       簽名:
           rpm [--verify|-V] [verifyoptions] [package]+
           rpm [--resign] [package_file]+
           rpm [--addsign] [package_file]+

       Miscellaneous:
           rpm [--showrc]
           rpm [--setperms] [package]+
           rpm [--setgids] [package]+

q項
       這些選項可以各種不同的方式使用.

       -vv    將列印出釵h難以嬝牧瑤楖晛H息.

       --quiet
              列印盡可能少的信息 - 普通只展示錯誤訊息.

       --help 給出比常規更多的用法信息.

       --version
              在單獨一茼翦媯馴X所用 rpm 的版本號

       --rcfile <filelist><filelist>裏列出了一些檔案,      各檔案之間以冒號分隔,     rpm
              順序讀取這些檔案以獲得配置信息.                   <filelist>預設
              是/usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc.          列表中的第一-
              蚗仵(/usr/lib/rpm/rpmrc)且只有這蚗仵                 必須存在,
              代字符~指向$HOME的.

       --root <dir>
              對所有操作均將<dir>視為系統根目錄.  注意這意味著對數 據庫的讀或-
              蚹嚝犑@都將是在<dir>目錄下進行,                         並且稿本
              的prepost操作都是在做了以<dir>為根目錄的chroot() 之後進行.

       --dbpath <path>
              依照<path>使用RPM的數據庫.

       --justdb
              更新只針對數據庫,而不是整蚗仵蚳t統.

       --ftpproxy <host>, --httpproxy <host><host>為FTP或HTTP的代理伺服器. 參閱fBFTP/HTTP 選項.

       --ftpport <port>, --httpport <port><port>為FTP或HTTP的代理伺服器的端口. 參閱fBFTP/HTTP 選項.

       --pipe <cmd>
              通過管道將rpm的輸出輸入到命令<cmd>.

wM項
       通常的rpm安裝命令如下:

            rpm -i [install-options] <package_file>+

       這樣將安裝一虓s的包. 通常的rpm升級命令如下:

            rpm -U [install-options] <package_file>+

       這樣將當前已安裝的包升級或新安裝到一虓s的RPM版本.  升級和 安裝是一樣的,
       區別在於升級n將所有別的版本的包從系統移去.

            rpm [-F|--freshen] [install-options] <package_file>+

       這樣也升級包, 但只有在系統存在一荍韟版本的包時啎~使用這 種方式.

       如果包在安裝之前n先進行下載,  <package_file>應該指明為一   ftp或者http
       URL.  n得到關於RPM包生成的ftp和http支持的信息, 可以參閱fBFTP/HTTP 選項.

       --force
              與使用--replacepkgs, --replacefiles, 以及--oldpackage效果相同

       -h, --hash
              包檔如果沒有被解包,        列印50荅}折號.         配合-v使用可以
              使得有更好的展示.

       --oldpackage
              允野恲穠岩貌漸]取代較新的版本.

       --percent
              給出檔案從包檔解包的百分比.              該項的作用是為了使rpm相
              比於別的工具更容易使用.

       --replacefiles
              即使n安裝的包會取代別的已安裝包的檔案, 也安裝該包.

       --replacepkgs
              即使包的部分內容已安裝在系統裏,也安裝該包.

       --allfiles
              安裝或升級包裏所有的缺失檔案,不管其是否存在.

       --nodeps
              在安裝或升級包之前不做依賴檢查.

       --noscripts
              不執行安裝前或安裝後稿本

       --notriggers
              不執行由該包的安裝所激發的稿本

       --ignoresize
              安裝該包前不檢查mount檔案系統是否有足夠的磁碟空間.

       --excludepath <path>
              不安裝檔名以路徑<path>開頭的檔案.

       --excludedocs
              不安裝任何標記為文件的檔案(包括手冊隊峇憟賓H息檔案).

       --includedocs
              安裝文件檔案, 這是預設的操作.

       --test 不安裝包, 只是簡單地檢查並報告可能的沖突.

       --ignorearch
              允釵w裝或升級其體系與主機不匹配的二進制RPM包.

       --ignoreos
              允釵w裝或升級其作業系統與主機不匹配的二進制RPM包.

       --prefix <path>
              對於可浮動包, 這將把安裝前綴設置到<path>.

       --relocate <oldpath>=<newpath>
              將檔案從<oldpath>改置到<newpath>, 這使得可以浮動包.

       --badreloc
              與--relocate配合使用, 強制改置不可浮動的包.

       --noorder
              安裝時對包不奐s排序,       正常在安裝時應該奐s排序包列       表,
              以滿足依賴性.

d項
       rpm的查詢命令通常的格式如下:

            rpm -q [query-options]

       可以制定包信息的列印格式,               這時n用[--queryformat|-qf]選項,
       格式串跟在選項後.

       查詢格式由標準printf(3)格式的版本決定.                 格式由靜態字符串
       (包括除了換行符,        tab,        以及其它的特殊字符之外的標準C字符),
       以及printf(3)類型格式符.                       如果rpm已經知道列印類型,
       則類型說明就必須被忽略,                 並且以n列印的頭部tag的名字取代,
       該名字被括在{}之間. 而且tag的RPMTAG_部分也被忽略.

       可以用:typetag來改變輸出格式.當前支持的有如下類型:octal,          date,
       shescape, perms, fflags, 以及 depflags.

       例如,n只列印被查詢包的名字,可以用%{%-30{%{--querytags參數激發時,rpm將列出所有tags.

       查詢選項有兩種子設置: 包選擇和信息選擇.

       包選擇選項:

       <package_name>
              查詢名為<package_name>的安裝包.

       -a, --all
              查詢所有安裝的包.

       --whatrequires <capability>
              查詢所有需n<capability>才能提供適當弁鄋漸].

       --whatprovides <virtual>
              查詢所有提供<virtual>弁鄋漸].

       -f <file>, --file <file>
              查詢擁有檔案<file>的包.

       -g <group>, --group <group>
              查詢屬於???組<group>的包

       -p <package_file>
              查詢一茖S有安裝的包<package_file>.
              <package_file>可以被說明為ftp或http
              URL,這時包頭會被下載並被查詢.
              n得到關於RPM生成的ftp和http客戶端支持的信息,請參閱fBFTP/HTTP
              OPTIONS

       --specfile <specfile>
              像對待一茈]一樣Parse並查詢<specfile>.
              雖pbg@spefileprsr,Uqspcfles提取信息.
              允

       --querybynumber <num>
              直接查詢<num>數據庫入口,該選項在調試時很有用處.

       --triggeredby <pkg>
              查詢由包<pkg>所激發的包.

       信息選擇選項:

       -i     展示包信息,包括名字,版本,以及描z.???

       -R, --requires
              列出該包所依賴的別的包.

       --provides
              列出該包所提供的弁.

       --changelog
              展示該包的變更信息.

       -l, --list
              列出該包的檔案.

       -s, --state
              展示該包各檔案的狀態信息,因此該選項實際隱含了-l選項.
              檔案狀態可以是如下之一: normal, not installed, 或者 replaced.

       -d, --docfiles
              只列出文件檔案(隱含-l選項).

       -c, --configfiles
              只列出配置檔案(隱含-l選項).

       --scripts
              如果有的話,就列出該包裏作為安裝或卸載過程一部分的特殊shell稿本.

       --triggers, --triggerscripts
              如果有的話,展示該包包含的激發子稿本.

       --dump 如下的啞檔案信息:  path  size  mtime  md5sum  mode  owner  group
              isconfig isdoc rdev symlink.  該選項必須至少配合如下選項之一:-l,
              -c, -d使用.

       --last 按包的安裝時間進行排序,這使得最新的包在序列頂部.

       --querybypkg
              列出每茈]裏的所有檔案.

       --triggerscripts
              顯示所選包的所有激發子稿本.

項
            rpm -V|-y|--verify [verify-options]

       將所安裝包的檔案信息和源發包的檔案信息以及在rpm數據庫的檔案信息做比較,
       以此來核實包.                                        對於別的東西,則???
       任何的差異都會展示.包的說明選項與查詢選項相同.

       對於不是從包安裝的檔案,例如在安裝的時唹"--excludedocs"
       選項排除了的文件檔案,將在沒有提示的情況下被忽略掉.

       核實選項可以使用如下模式:

       --nofiles
              核實時忽略缺失檔案

       --nomd5
              核實時忽略MD5校驗錯誤

       --nopgp
              核實時忽略PGP校驗錯誤

       --nofiles
              核實時忽略缺失檔案

              輸出的格式是一茪K茼r符的字符串,和一茈i能有的"c",    指明後惇O一-
              荌t置檔案,以及後悸瑰犰W.             八茼r符中的每一茬ㄔN表著一-
              蚗仵袎搣妡P保存在RPM的數據庫中的屬性紀錄漱騆結果.         單-
              茠"."(句號)表明檢查通過.下列字符代表特定檢查的失敗:

       5      MD5校驗和

       S      檔案大小

       L      符號連接

       T      蚹黈伅

       D      設備

       U      使用者

       GM      模式(包括野i和檔案類型)

Wd
       通常的rpm簽名檢查命令如下:

            rpm --checksig <package_file>+

       這將檢查包<package_file>的PGP簽名以確保其完整性和源發性.
       可以從配置檔案讀取PGP配置信息.細節請查 PGP 簽名 部分.

項
       rpm卸載命令的通常格式如下:

                rpm -e <package_name>+

       --allmatches
              將移去與<package_name>相匹配的所有版本的包.正常的話,如果<package_name>與多-
              茈]相匹配,就會給出錯誤訊息.

       --noscripts
              不執行安裝前或安裝後稿本.

       --notriggers
              不執行由移去該包所激發的稿本

       --nodeps
              卸載前不檢查依賴性

       --test 不真正卸載任何東西,只是遍歷該動作.配合-vv選項會很有用處.

項
       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>+

       -bp    Executes the "%prep" stage from the spec  file.   Normally  this
              involves unpacking the sources and applying any patches.

       -bl    Do  a  "list check".  The "%files" section from the spec file is
              macro expanded, and checks are made to  verify  that  each  file
              exists.

       -bc    Do  the  "%build" stage from the spec file (after doing the prep
              stage).  This generally involves the equivalent of a "make".

       -bi    Do the "%install" stage from the spec file (after doing the prep
              and  build stages).  This generally involves the equivalent of a
              "make install".

       -bb    生成一茪G進制包(在完成prep, build, 以及 install階段之後)

       -bs    只生成源包(在完成prep, build, 以及 install階段之後)

       -ba    生成二進制包和源包(在完成prep, build, 以及 install階段之後)

       還可以使用的選項如下:

       --short-circuit
              忽略導Pspecified階段(比如,忽略所有導Pspecified階段的階段).
              只有與-bc 以及 -bi合用才有效.

       --timecheck
              設置"timecheck"的(0-?).該]可以通過定義宏"_timecheck"來配置.
              timecheckH秒為單位,表示一茈]生成的最大年齡.如果時間超過了該,
              則對所有檔案皆給出警告訊息.

       --clean
              在包完成之後,移去生成樹.

       --rmsource
              在完成包的生成之後移去源和spec檔案     (也可以單獨使用,比如:"rpm
              --rmsource foo.spec").

       --test 不執行任何生成階段.在測試spec檔案時很有用處.

       --sign 在包中嵌入一紞GP簽名.該簽名可以用來核實該包的完整性和源發性.
              配置細節可以察看 PGP 簽名 一節.

       --buildroot <dir>
              在生成包的時,用目錄<dir>覆誑]的生成根目錄tag.

       --target <platform>
              在生成包的時,將<platform>解釋為arch-vendor-os,並且相應地設置
              宏_target, _target_arch 以及 _target_os.

       --buildarch <arch>
              在生成包的時,將architecture設置到<arch>.            該選項在RPM
              3.0中由於--targetX{Q.

       --buildos <os>
              在生成包的時,將architecture設置到<os>.              該選項在RPM
              3.0中由於--targetX{Q.

sHss項
       There   are   two   other   ways   to   invoke   building   with   rpm:
       有兩種不同的方法用rpm奐s生成包:

       rpm --recompile <source_package_file>+

       rpm --rebuild <source_package_file>+

       當以這種方式激發的時-
       ,rpm安裝指明的源包,並且完成prep,compile,install工作.
       另外,--rebuild生成一虓s的二進制包.                  當包的生成完成的時-
       ,生成所用目錄被移去(就如同使用了--clean),    而且該包的源和spec檔案也-
       n移走.

W@wsbRPM
       rpm --resign <binary_package_file>+

       該選項生成並將新簽名插入所列出的包裏.已存在的簽名會被移走.

       rpm --addsign <binary_package_file>+

       該選項生成並將新簽名附加到所列出的包的簽名之後.

PGPW
       n使用簽名特性,RPM必須n能夠運行PGP(n安裝了PGP並且你可以訪問它),
       而且還需PGP能找到一荓a有RPM公鑰的公鑰環.
       預設情況下,RPM使用PGP的預設設置(著名的PGPPATH)來查找鑰環.
       如果你的鑰環並不在PGP所期望它抭B在的地方,則你需n配置宏

       _pgp_path
              將其設為n使用的PGP鑰環所在的位置.

       如果你想n簽名一-
       荍A自己生成的包,你還必須創建自己的公鑰和密鑰對(請參銷GP手冊).     還需-
       n配置簽名類型宏:

       _signature
              目前只支持pgp.還有使用者名宏:

       _pgp_name
              指明想n使用其鍵去簽名你的包的使用者.

              在生成包的時,可以將--sign加到命令行裏.這樣只需給出你的口令短語,
              就可以在生成包的同時對其簽名.

              比如,n想以使用者"John        Doe       <jdoe@foo.com>"的言,用在
              /etc/rpm/.pgp的鑰環,去簽名一茈],就應該將

       %_signature
              pgp

       %_pgp_name
              /etc/rpm/.pgp

       %_pgp_name
              John Doe <jdoe@foo.com>"

       包括在一荍趕t置檔案裏.  對於系統的配置可以使用/etc/rpm/macros,  而對於-
       茪H配置可以使用~/.rpmmacros.

sw項
       rpm垂媦畬w的命令是

            rpm --rebuilddb

       n垂堣@虓s的數據庫,可以:

            rpm --initdb

       對這些模式唯一的選項是--dbpath--root.

SHOWRC

       運行

            rpm --showrc

       展示一些設置在rpmrc檔案裏的,RPM所有選項都會利用這些.

FTP/HTTPftp://<user>:<password>@hostname:<port>/path/to/package.rpm

       如果忽略掉:password部分,會提示n求給出口令(每茖洏峈/主機名對一次)
       如果使用者名和口令都忽略了,就使用匿名ftp.   總是使用消極(PASV) ftp傳送.

       RPM允釣洏峇U列操作輔助ftp URLs

       --ftpproxy <hostname>
              主機<hostname>將被作為所有ftp傳輸的代理伺服器使用,
              這樣允釣洏峈抭q過使用了代理系統的防火牆機器來做ftp傳輸.
              該選項也可以通過配置宏_ftpproxy來指明.

       --ftpport <port>
              用該TCP<f>號取代預設的端口去連接代理ftp伺服器.
              該選項也可以通過配置宏_ftpport來指明.

       RPM允釣洏峇U列操作輔助http URLs

       --httpproxy <hostname>
              將主機<DW>作為所有http傳輸的代理伺服器使用.
              該選項可以通過配置宏_httpproxy來指明.

       --httpport <port>
              用該TCP<f>號取代預設的端口去連接代理http伺服器.
              該選項也可以通過配置宏_httpport來指明.

案
       /usr/lib/rpm/rpmrc
       /etc/rpmrc
       ~/.rpmrc
       /var/lib/rpm/packages
       /var/lib/rpm/pathidx
       /var/lib/rpm/nameidx
       /tmp/rpm*

t見
       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

mLinuxfourmMAN-PAGEphttp://cmpp.linuxforum.net