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. |