rpm命令选项中文说明
生活随笔
收集整理的這篇文章主要介紹了
rpm命令选项中文说明
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
rpm命令選項(xiàng)中文說明。
一、大綱
查詢與校驗(yàn)包:
引用 rpm {-q|--query} [select-options] [query-options]
????rpm {-V|--verify} [select-options] [verify-options]
????rpm --import PUBKEY ...
????rpm {-K|--checksig} [--nosignature] [--nodigest]
????????PACKAGE_FILE ...
安裝、升級(jí)和刪除包:
引用 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選項(xiàng)
引用 [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選項(xiàng)
引用 [--changelog] [-c,--configfiles] [-d,--docfiles] [--dump]
???? [--filesbypkg] [-i,--info] [--last] [-l,--list]
???? [--provides] [--qf,--queryformat QUERYFMT]
???? [-R,--requires] [--scripts] [-s,--state]
???? [--triggers,--triggerscripts]
verify選項(xiàng)
引用 [--nodeps] [--nofiles] [--noscripts]
???? [--nodigest] [--nosignature]
???? [--nolinkto] [--nomd5] [--nosize] [--nouser]
???? [--nogroup] [--nomtime] [--nomode] [--nordev]
install選項(xiàng)
引用 [--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是一個(gè)強(qiáng)有力的包管理工具,它可以用于建造、安裝、查詢、檢驗(yàn)、更新和刪除個(gè)別的軟件包。文件包由文件的檔案組成且元數(shù)據(jù)過去常用于安裝和刪除存檔文件。元數(shù)據(jù)包括幫助角本、文件屬性和關(guān)于這個(gè)包的可描述性信息。包通常有兩個(gè)變體:二進(jìn)制包,用于壓縮軟件的安裝;另一個(gè)是源程序包,包括原代碼和產(chǎn)生二進(jìn)制包的的方法說明。
????必須選擇下面的基本模式:Query, Verify,??Signature??Check, Install/Upgrade/Freshen, Uninstall, Initialize Database, Rebuild Database, Resign, Add Signature, Set Owners/Groups, Show Querytags, and Show Configuration。
二、一般選項(xiàng)
那些選項(xiàng)可以用于所有的不同的模式中。
引用 -?, --help
?????? 正常情況下輸出使用方法。
--version
?????? 輸出包括目前所使用的rpm版本數(shù)據(jù)的單行。
--quiet
?????? 輸出盡可能少-正常情況下,如果有錯(cuò)誤出現(xiàn),僅輸出錯(cuò)誤。
-v???? 輸出詳細(xì)信息-正常的常規(guī)的進(jìn)程信息。
-vv????輸出很多的調(diào)試信息。
--rcfile FILELIST
???? 第一個(gè)在FILELIST中由冒號(hào)區(qū)分的文件將被rpm作為配置信息讀出。在列表中的第一個(gè)文件必須存在,且tildes將被寫入到$HOME的值中。默認(rèn)的FILELIST is /usr/lib/rpm/rpmrc:/usr/lib/rpm/redhat/rpmrc:~/.rpmrc。
--pipe CMD
???? rmp到命令CMD的輸出管道。
--dbpath DIRECTORY
???? 在DIRECTORY中數(shù)據(jù)庫而不是使用默認(rèn)的路徑/var/lib/rpm。
--root DIRECTORY
???? 使用文件系統(tǒng)樹為所有操作在DIRECTORY進(jìn)行登錄(rooted)!注意這意味著在DIRECTORY內(nèi)的數(shù)據(jù)庫將對(duì)所有的依賴的檢測和任何角本使用 (例如:在一個(gè)包中%post安裝了或%prep已經(jīng)建立),將在一個(gè)chroot(2)之后運(yùn)行并賦給DIRECTORY。
安裝和更新選項(xiàng):
rpm安裝的通用命令如下:
rpm {-i|--install} [install-options] PACKAGE_FILE ...
Rpm升級(jí)的通用命令如下:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
升級(jí)或安裝包文件通常是安裝一個(gè)新的版本。這同安裝一樣,不同之外僅在于在新包安裝之前別的版本的包已經(jīng)被刪除。
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
這將會(huì)升級(jí)包,但條件是其早期的版本已經(jīng)存在。PACKAGE_FILE被指定為一個(gè)ftp或http的URL,那么在安裝之前這個(gè)包將會(huì)被下載。參見FTP/HTTP選項(xiàng)。
引用 --aid??在必要的時(shí)候?yàn)榻灰准黾影凳景?br /> --allfiles
????安裝或升級(jí)所有的在包中不正確的文件,不管它們是否存在。
--badreloc
???? 使用此選項(xiàng),允許在所有的文件路徑中重新定位,不僅是那些包含在二進(jìn)制包中重定位的hint(s)中的那些OLDPATH.
--excludepath OLDPATH
???? 不安裝那些名字在OLDPATH中的文件。
--excludedocs
???? 不安裝那些文檔文件(那些man頁和texinfo文檔)。
--force
???? 與使用—replacepkgs、--replacefiles和—oldpackage一樣。
-h, --hash
???? 在被有效的解開時(shí)輸出50個(gè)信息符。使用-v|--verbose可以優(yōu)選顯示。
--ignoresize
???? 在安裝包之前不檢測mount的文件系統(tǒng)的空間是否夠。
--ignorearch
???? 即使二進(jìn)制包的結(jié)構(gòu)和主機(jī)不符也進(jìn)行安裝或升級(jí)。
--ignoreos
???? 即使二進(jìn)制文件名的操作系統(tǒng)與主機(jī)不符也允許進(jìn)行升級(jí)和安裝。
--includedocs
???? 安裝文檔,這是默認(rèn)屬性。
--justdb
???? 僅更新數(shù)據(jù)庫而不更新文件系統(tǒng)。
--nodigest
???? 在讀時(shí)不檢驗(yàn)包或包頭的摘要。
--nosignature
???? 當(dāng)讀時(shí)不檢測包或包頭的簽名。
--nodeps
???? 在安裝或升級(jí)一個(gè)包之前不進(jìn)行一個(gè)依賴性的檢測。
--nosuggest
???? 不建議包提供一個(gè)不可少的信賴。
--noorder
??????不為安裝訂制包。正常情況下,包列表將已經(jīng)訂制完畢。
--noscripts
--nopre
--nopost
--nopreun
--nopostun
????不執(zhí)行同名的角本。--noscripts選項(xiàng)與--nopre --nopost --nopreun –nopostun相同。并且關(guān)閉相應(yīng)的%pre、%post,、%preun和%postun角本的執(zhí)行。
--notriggers
--notriggerin
--notriggerun
--notriggerpostun
????不執(zhí)行指定類型的觸發(fā)角本。--notriggers選項(xiàng)與--notriggerin --notriggerun –notriggerpostun含義相同。且關(guān)閉了相應(yīng)的%triggerin、%triggerun和%triggerpostun角本。
--oldpackage
???? 允許使用舊包替換或“升級(jí)”一個(gè)新的包。
--percent
???? 在解包時(shí)輸出文件解包的百分比。
--prefix NEWPATH
???? 對(duì)于可重定位的二進(jìn)制包,翻譯在包重定位線索中以安裝前綴開頭的文件給NEWPATH.。
--relocate OLDPATH=NEWPATH
???? 針對(duì)重定位的二進(jìn)制包,翻譯在包重定位線索中以O(shè)LDPATH開頭的文件給NEWPATH。如果在包中的幾個(gè)OLDPATH被重新裝載,選項(xiàng)可以重復(fù)使用。
--repackage
???? 在刪除之前重新打包文件。先前安裝的包將由宏%_repackage_name_fmt指定,且其創(chuàng)建目錄也由宏%_repackage_dir指定(默認(rèn)值是/var/tmp)。
--replacefiles
???? 安裝包,即使他們已經(jīng)從別的地方已經(jīng)安裝的包中替換了文件。
--replacepkgs
???? 完全安裝包,即使其中的一些文件已經(jīng)在系統(tǒng)中安裝完成。
--test??不安裝包,僅僅簡單檢測或報(bào)告潛在的沖突。
刪除選項(xiàng):
刪除格式的rpm命令是:?
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers]
[--repackage] [--test] PACKAGE_NAME ...
下面的選項(xiàng)也可以使用:
引用 --allmatches
????刪除所有那些包匹配PACKAGE_NAME的版本。如果PACKAGE_NAME有多個(gè)匹配,正常情況下將有一個(gè)錯(cuò)誤說明。
--nodeps
???? 在沒有安裝包之前,不檢測依賴關(guān)系。
--noscripts
--nopreun
--nopostun
???? 不執(zhí)行同名角本。--noscripts、--nopreun –nopostun含義相同。關(guān)閉%preun、%postun角本的響應(yīng)。
--notriggers
--notriggerun
--notriggerpostun
???? 不執(zhí)行任何指定類型的觸發(fā)器角本。--notriggers、--notriggerun、 --notriggerpostun含義相同。同時(shí)關(guān)閉%triggerun、%triggerpostun角本響應(yīng)。
--repackage
???? 在刪除之前重新打包文件。先前安裝的包將由宏%_repackage_name_fmt指定,且其創(chuàng)建目錄也由宏%_repackage_dir指定(默認(rèn)值是/var/tmp)。
--test??不真的卸載任何東西, 僅僅是經(jīng)歷一下這個(gè)動(dòng)作。與-vv選項(xiàng)聯(lián)合使用。
查詢選項(xiàng):
rpm查詢選項(xiàng)的通用格式:
rpm {-q|--query} [select-options] [query-options]
????可以指定包信息被打印的格式,如果想做這些,可以使用下面的方式:
引用 --qf|--queryformat QUERYFMT
選項(xiàng),后邊是格式字符串QUERYFMT。查詢格式是標(biāo)準(zhǔn)printf(3)的標(biāo)準(zhǔn)輸出版本。其格式由靜態(tài)字符串組成(應(yīng)包括標(biāo)準(zhǔn)C字符,除了換行符、tables或其它特殊字符串)和printf(3)類型格式符。當(dāng)rpm已經(jīng)知道打印的類型后,無論如何,類型指定必須被忽略,且被頭標(biāo)簽替代的部分將被打印,被符上{}字符。標(biāo)簽名是一個(gè)固定的實(shí)例,這標(biāo)簽名主要的RPMTAG_ portion也可以被忽略。
交替的輸出格式可以由帶:typetag標(biāo)簽申請(qǐng)。通常,支持下面的類型:?
引用 :armor??外面包一層ASCII鍵值。
:base64
????使用base64編碼二進(jìn)制數(shù)據(jù)。
:date??使用strftime(3) "%c"格式。
:day?? 使用strftime(3) "%a %b %d %Y"格式。
:depflags
????格式從屬標(biāo)記。
:fflags
???? 格式文件標(biāo)記。
:hex?? 十六進(jìn)制格式。
:octal??八進(jìn)制格式。
:perms??文件許可格式。
:shescape
????不能在角本單個(gè)引用。
:triggertype
???? 顯示觸發(fā)器后綴。
例如,僅僅輸出被查詢的包的名字,可以使用%{NAME}做為一個(gè)格式字符串。在兩列上輸出包名和分區(qū)信息,可以使用%-30{NAME}%{DISTRIBUTION}。當(dāng)調(diào)用時(shí)使用--querytags 參數(shù),Rpm輸出所有它所知道的標(biāo)簽列表。
有兩個(gè)查詢的子集選項(xiàng):包選擇和信息選擇。
包選擇選項(xiàng):
引用 PACKAGE_NAME
???? 查詢名字為PACKAGE_NAME的被安裝的包。
-a, --all
???? 查詢所有已經(jīng)安裝過的包。
-f, --file FILE
???? 查詢擁有文件FILE的包。
--fileid MD5
????查詢包含一個(gè)給定的文件檢測符,也就是MD5文件內(nèi)容目錄。
-g, --group GROUP
???? 查詢組GROUP的包。
--hdrid SHA1
???? 查詢包含給定的頭標(biāo)識(shí)的包,也就是包含SHA1的不可變頭區(qū)的包。
-p, --package PACKAGE_FILE
???? 查詢(卸載)的包PACKAGE_FILE。PACKAGE_FILE可以以ftp或http風(fēng)格的URL指定,這種情況下包頭的實(shí)例將被下載和查詢。在rpm的內(nèi)部的ftp和http支持參見FTP/HTTP選項(xiàng)。PACKAGE_FILE參數(shù),如果不是一個(gè)二進(jìn)制包,將被解釋為一個(gè)ASCII包的形式。可以存在注釋,以#開頭,且包說明文件的每一行都可以包括空白分隔的表達(dá)式。包括包含有遠(yuǎn)程一組解釋的URL,將展開到作為附加的包PACKAGE_FILE參數(shù)賦值給查詢代替包說明的路徑下。
引用 --pkgid MD5
???? 查詢包,包括給定的包認(rèn)證信息,也就是說是一個(gè)MD5摘要。
--querybynumber HDRNUM
???? 直接查詢HDRNUMth數(shù)據(jù)庫入口,僅用于調(diào)試方式。
--specfile SPECFILE
???? 直接分析和查詢SPECFILE,好象它就是一個(gè)包。雖然不是所有的信息(也就是說文件列表)都是有效的,允許rpm查詢的類型常被用做從specfile中摘要信息而不必寫specifle分析。
--tid TID
???? 查詢給出TID的包事務(wù)認(rèn)證。Unix時(shí)間戳當(dāng)前被用作事務(wù)認(rèn)證。所有內(nèi)部有單個(gè)事務(wù)的被安裝或刪除的包都有一個(gè)簡單的認(rèn)證。
--triggeredby PACKAGE_NAME
???? 查詢由包PACKAGE_NAME觸發(fā)的包。
--whatprovides CAPABILITY
???? 查詢所有提供CAPABILITY容量的包。
--whatrequires CAPABILITY
查詢所有正確功能的CAPABILITY的請(qǐng)求的包。
包查詢選項(xiàng):
引用 --changelog
???? 顯示包改變的信息。
-c, --configfiles
???? 只顯示配置文件(意味著-l)。
-d, --docfiles
???? 只顯示出文件文件(意味著-l)。
--dump 向下面那樣備份文件:?
???? path、size、mtime、md5sum、mode、owner、group、isconfig、isdoc、rdev、symlink
???? 此選項(xiàng)必須與-l, -c, -d中的一個(gè)配合使用。
--filesbypkg
???? 在被選中的包中列出所有的文件。
-i, --info
???? 顯示包信息,包括名稱、版本和說明。如果指定的顯示內(nèi)容的話需要使用--queryformat選項(xiàng)。
--last Orders??
以包安裝的順序來列出包內(nèi)容,結(jié)果是最后一個(gè)安裝的包在最上層列出。
-l, --list
????列出包中的文件。
--provides
????列出包中規(guī)定的容量。
-R, --requires
????列出這個(gè)包所依賴的包。
--scripts
????列出部分包的指定角本作為安裝和卸載的信息。
-s, --state
????列出在包中文件的狀態(tài)(意味著-l)文件的狀態(tài)包括正常、未安裝、替換。
--triggers, --triggerscripts
????顯示觸發(fā)器角本,它包含在包中。
校驗(yàn)選項(xiàng):
格式如下:
rpm {-V|--verify} [select-options] [verify-options]
????校驗(yàn)在包中已經(jīng)安裝且在rpm數(shù)據(jù)庫中帶有來自于中的元數(shù)據(jù)存儲(chǔ)的文件比較信息在這些東西中,校驗(yàn)比較大小、MD5數(shù)、許可、類型、擁有者及每個(gè)文件的組。所有明細(xì)信息都將顯示。沒有從包中安裝的文件,例如:使用—excludedocs選項(xiàng)將文件文檔文件沒有安裝,則文檔文件將被默認(rèn)忽略。
????包選擇選項(xiàng)與包查詢選項(xiàng)相同(包括象參數(shù)的包的說明文件)。別的選項(xiàng)的唯一校驗(yàn)格式如下:
引用 --nodeps
???? 不校驗(yàn)包的從屬部分。
--nodigest
???? 在讀時(shí)不校驗(yàn)包或頭的摘要。
--nofiles
???? 不校驗(yàn)包文件的屬性。
--noscripts
???? 不執(zhí)行%verifyscript角本(if any)。
--nosignature
???? 當(dāng)讀時(shí)不校驗(yàn)包或頭的信號(hào)。
--nolinkto
--nomd5
--nosize
--nouser
--nogroup
--nomtime
--nomode
--nordev
不校驗(yàn)相應(yīng)文件的屬性。
輸出格式是一個(gè)8個(gè)字符的字符串,可能的屬性標(biāo)記是:
引用 c %config 配置文件。
d %doc 文檔文件。
g %ghost file (也就是說文件內(nèi)容不沒有包含在包的有效負(fù)荷中)。
l %license license文件。
r %readme readme文件。
從后面跟著文件名的包頭中,8個(gè)字符每個(gè)都指出在數(shù)據(jù)庫中屬性記錄值文件屬性的比較結(jié)果。句號(hào)"."意味著測試通過,而"?"說明沒有不能執(zhí)行(也就是說文件許不能讀)。無論怎樣,這些字符都指出了校驗(yàn)測試沒有成功。
S 文件大小不同
M 模式不同(包括許可和文件類型)
5 MD5數(shù)不同
D 設(shè)置主要/較小的不匹配數(shù)
L readLink(2) 路徑不匹配
U 用戶所屬關(guān)系不同
G 組所屬關(guān)系不同
T mTime不同。
數(shù)字符號(hào)和摘要校驗(yàn):
rpm數(shù)字符號(hào)命令的格式是:?
rpm --import PUBKEY ...
rpm {--checksig} [--nosignature] [--nodigest]
????PACKAGE_FILE ...
引用 --checksig選項(xiàng)檢查所有的包含在PACKAGE_FILE中的摘要和簽名,來確認(rèn)包的完整性及來源。注意,無論包什么時(shí)候讀,簽名都要進(jìn)行校驗(yàn),且--checksig對(duì)于校驗(yàn)所有的與包相關(guān)的摘要和簽名都是很有用的。
????在沒有公鑰的情況下,數(shù)字符號(hào)不能校驗(yàn)。使用--import將一個(gè)ascii公鑰加到你的rpm數(shù)據(jù)庫中。導(dǎo)入的公鑰存在于頭中,且key回響管理是象一個(gè)包管理一樣正確執(zhí)行。例如,所有當(dāng)前輸入的公鑰可以由下面的式子列出:
rpm -qa gpg-pubkey*
????當(dāng)導(dǎo)入時(shí)關(guān)于指定的公鑰的說明,能被查詢所顯示。,下面是關(guān)于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選項(xiàng)產(chǎn)生和插入新的簽名給每一個(gè)指定的PACKAGE_FILE 包,用來代替所有存在的簽名。由于歷史的原因,有兩個(gè)選面,這兩者的行為沒有什么不同。
使用GPG簽名:
為了使用GPG為包做簽名,rmp必須被配置成運(yùn)行GPG且可以找到有適當(dāng)KEY的鍵環(huán)。默認(rèn)情況下,rpm查找鍵環(huán)的方式與GPG方式相同。也就是$GNUPGHOME 環(huán)境變量。如果你的鍵環(huán)沒有定位到GPG預(yù)設(shè)的位置,那么你需要配置宏%_gpg_路徑到GPG鍵環(huán)指定的位置。
為了保證與舊版的GPG、PGP和rpm兼容,只有V3 OpenPGP簽名包被配置上了。DSA或者RSA的加密算法可以使用,但DSA是首選項(xiàng)。
如果你想要為你自己創(chuàng)建的包進(jìn)行簽名,也需要?jiǎng)?chuàng)建自己的公鑰和私鑰對(duì)(參見GPG手冊(cè))。你將也需要配置rpm宏。
%_signature
????簽名類型。僅支持gpg與pgp方式。
%_gpg_name
????你希望使用的給你的包進(jìn)行簽名的鍵的“user”名。
例如,使用GPG使用類似于用戶"John Doe??;"從鍵環(huán)位置/etc/rpm/.gpg使用可執(zhí)行的/usr/bin/gpg來為包簽名:
%_signature gpg
%_gpg_path /etc/rpm/.gpg
%_gpg_name John Doe?
%_gpgbin /usr/bin/gpg
在宏配置文件中使用上述的代碼。為每個(gè)系統(tǒng)配置使用/etc/rpm/macros和~/.rpmmacros為每個(gè)用戶進(jìn)行配置。
重建數(shù)據(jù)庫選項(xiàng):
重建數(shù)據(jù)的rpm命令的通用格式如下:
rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root DIRECTORY]
使用--initdb去創(chuàng)建一個(gè)新的數(shù)據(jù)庫,使用--rebuilddb去重建一個(gè)數(shù)據(jù)庫利用安裝的包頭索引。
SHOWRC
命令格式:
rpm --showrc
顯示所有在rpmrc和macros配置文件中設(shè)置的選項(xiàng)中使用的rpm值。
引用 FTP/HTTP選項(xiàng):
????Rpm能象FTP和/或HTTP客戶端那樣,所以包能從internet中進(jìn)行查詢和安裝。安裝、更新和查詢包文件的操作可以作為一個(gè)ftp或http風(fēng)格的URL指定。
ftp://USER:PASSWORD@HOST:PORT/path/to/package.rpm
????如果忽略了:PASSWORD部分,將會(huì)提示輸入密碼(針對(duì)每個(gè)用戶/主機(jī)對(duì))。如果用戶和密碼都忽略,ftp將使用匿名(anonymous)方式。實(shí)際上,ftp進(jìn)行的是被動(dòng)的傳輸。
Rpm允許在ftp的URLs中使用下面的選項(xiàng):
--ftpproxy HOST
????主機(jī)HOST將做為所有傳輸?shù)拇矸?wù)器,允許用戶穿過那些使用代理的系統(tǒng)的防火墻去ftp。這個(gè)選項(xiàng)也可以通過使用宏%_ftpproxy來配置。
--ftpport HOST
????ftp使用連接到ftp代理服務(wù)器的TCP??PORT號(hào)來代替默認(rèn)值。這個(gè)選項(xiàng)也可以由宏%_ftpport來指定。
Rpm允許以下面的格式使用http URLs:
--httpproxy HOST
?????? 主機(jī)HOST將作為所有http傳輸?shù)拇矸?wù)器。這個(gè)選項(xiàng)也可以由宏%_httpproxy指定。
--httpport PORT
????http使用連接到http代理服務(wù)器的TCP??PORT號(hào)來代替默認(rèn)值。這個(gè)選項(xiàng)也可以由宏%_httpport來指定。
三、后續(xù)說明
執(zhí)行rpm構(gòu)建:
rpm的構(gòu)建模式目前使用/usr/bin/rpmbuild進(jìn)行。雖然由 popt別名提供的兼容性已經(jīng)足夠了,但還不是完美的。因此通過popt別名的兼容性目前正在被從rpm中刪除。安裝rpmbuild包,可參見rpmbuild(8)。在rpm(8)中可以找到所有的當(dāng)前rpm構(gòu)建的報(bào)有文檔。
如果你想繼續(xù)在命令行中使用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
相關(guān)日志
[原]使用Mock 實(shí)現(xiàn)跨平臺(tái)跨發(fā)行版編譯RPM
[原]創(chuàng)建VPS OS模板
[原]RDAC的spec生成rpm腳本
[原]關(guān)于rpm打包中的條件判斷
一、大綱
查詢與校驗(yàn)包:
引用 rpm {-q|--query} [select-options] [query-options]
????rpm {-V|--verify} [select-options] [verify-options]
????rpm --import PUBKEY ...
????rpm {-K|--checksig} [--nosignature] [--nodigest]
????????PACKAGE_FILE ...
安裝、升級(jí)和刪除包:
引用 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選項(xiàng)
引用 [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選項(xiàng)
引用 [--changelog] [-c,--configfiles] [-d,--docfiles] [--dump]
???? [--filesbypkg] [-i,--info] [--last] [-l,--list]
???? [--provides] [--qf,--queryformat QUERYFMT]
???? [-R,--requires] [--scripts] [-s,--state]
???? [--triggers,--triggerscripts]
verify選項(xiàng)
引用 [--nodeps] [--nofiles] [--noscripts]
???? [--nodigest] [--nosignature]
???? [--nolinkto] [--nomd5] [--nosize] [--nouser]
???? [--nogroup] [--nomtime] [--nomode] [--nordev]
install選項(xiàng)
引用 [--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是一個(gè)強(qiáng)有力的包管理工具,它可以用于建造、安裝、查詢、檢驗(yàn)、更新和刪除個(gè)別的軟件包。文件包由文件的檔案組成且元數(shù)據(jù)過去常用于安裝和刪除存檔文件。元數(shù)據(jù)包括幫助角本、文件屬性和關(guān)于這個(gè)包的可描述性信息。包通常有兩個(gè)變體:二進(jìn)制包,用于壓縮軟件的安裝;另一個(gè)是源程序包,包括原代碼和產(chǎn)生二進(jìn)制包的的方法說明。
????必須選擇下面的基本模式:Query, Verify,??Signature??Check, Install/Upgrade/Freshen, Uninstall, Initialize Database, Rebuild Database, Resign, Add Signature, Set Owners/Groups, Show Querytags, and Show Configuration。
二、一般選項(xiàng)
那些選項(xiàng)可以用于所有的不同的模式中。
引用 -?, --help
?????? 正常情況下輸出使用方法。
--version
?????? 輸出包括目前所使用的rpm版本數(shù)據(jù)的單行。
--quiet
?????? 輸出盡可能少-正常情況下,如果有錯(cuò)誤出現(xiàn),僅輸出錯(cuò)誤。
-v???? 輸出詳細(xì)信息-正常的常規(guī)的進(jìn)程信息。
-vv????輸出很多的調(diào)試信息。
--rcfile FILELIST
???? 第一個(gè)在FILELIST中由冒號(hào)區(qū)分的文件將被rpm作為配置信息讀出。在列表中的第一個(gè)文件必須存在,且tildes將被寫入到$HOME的值中。默認(rèn)的FILELIST is /usr/lib/rpm/rpmrc:/usr/lib/rpm/redhat/rpmrc:~/.rpmrc。
--pipe CMD
???? rmp到命令CMD的輸出管道。
--dbpath DIRECTORY
???? 在DIRECTORY中數(shù)據(jù)庫而不是使用默認(rèn)的路徑/var/lib/rpm。
--root DIRECTORY
???? 使用文件系統(tǒng)樹為所有操作在DIRECTORY進(jìn)行登錄(rooted)!注意這意味著在DIRECTORY內(nèi)的數(shù)據(jù)庫將對(duì)所有的依賴的檢測和任何角本使用 (例如:在一個(gè)包中%post安裝了或%prep已經(jīng)建立),將在一個(gè)chroot(2)之后運(yùn)行并賦給DIRECTORY。
安裝和更新選項(xiàng):
rpm安裝的通用命令如下:
rpm {-i|--install} [install-options] PACKAGE_FILE ...
Rpm升級(jí)的通用命令如下:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
升級(jí)或安裝包文件通常是安裝一個(gè)新的版本。這同安裝一樣,不同之外僅在于在新包安裝之前別的版本的包已經(jīng)被刪除。
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
這將會(huì)升級(jí)包,但條件是其早期的版本已經(jīng)存在。PACKAGE_FILE被指定為一個(gè)ftp或http的URL,那么在安裝之前這個(gè)包將會(huì)被下載。參見FTP/HTTP選項(xiàng)。
引用 --aid??在必要的時(shí)候?yàn)榻灰准黾影凳景?br /> --allfiles
????安裝或升級(jí)所有的在包中不正確的文件,不管它們是否存在。
--badreloc
???? 使用此選項(xiàng),允許在所有的文件路徑中重新定位,不僅是那些包含在二進(jìn)制包中重定位的hint(s)中的那些OLDPATH.
--excludepath OLDPATH
???? 不安裝那些名字在OLDPATH中的文件。
--excludedocs
???? 不安裝那些文檔文件(那些man頁和texinfo文檔)。
--force
???? 與使用—replacepkgs、--replacefiles和—oldpackage一樣。
-h, --hash
???? 在被有效的解開時(shí)輸出50個(gè)信息符。使用-v|--verbose可以優(yōu)選顯示。
--ignoresize
???? 在安裝包之前不檢測mount的文件系統(tǒng)的空間是否夠。
--ignorearch
???? 即使二進(jìn)制包的結(jié)構(gòu)和主機(jī)不符也進(jìn)行安裝或升級(jí)。
--ignoreos
???? 即使二進(jìn)制文件名的操作系統(tǒng)與主機(jī)不符也允許進(jìn)行升級(jí)和安裝。
--includedocs
???? 安裝文檔,這是默認(rèn)屬性。
--justdb
???? 僅更新數(shù)據(jù)庫而不更新文件系統(tǒng)。
--nodigest
???? 在讀時(shí)不檢驗(yàn)包或包頭的摘要。
--nosignature
???? 當(dāng)讀時(shí)不檢測包或包頭的簽名。
--nodeps
???? 在安裝或升級(jí)一個(gè)包之前不進(jìn)行一個(gè)依賴性的檢測。
--nosuggest
???? 不建議包提供一個(gè)不可少的信賴。
--noorder
??????不為安裝訂制包。正常情況下,包列表將已經(jīng)訂制完畢。
--noscripts
--nopre
--nopost
--nopreun
--nopostun
????不執(zhí)行同名的角本。--noscripts選項(xiàng)與--nopre --nopost --nopreun –nopostun相同。并且關(guān)閉相應(yīng)的%pre、%post,、%preun和%postun角本的執(zhí)行。
--notriggers
--notriggerin
--notriggerun
--notriggerpostun
????不執(zhí)行指定類型的觸發(fā)角本。--notriggers選項(xiàng)與--notriggerin --notriggerun –notriggerpostun含義相同。且關(guān)閉了相應(yīng)的%triggerin、%triggerun和%triggerpostun角本。
--oldpackage
???? 允許使用舊包替換或“升級(jí)”一個(gè)新的包。
--percent
???? 在解包時(shí)輸出文件解包的百分比。
--prefix NEWPATH
???? 對(duì)于可重定位的二進(jìn)制包,翻譯在包重定位線索中以安裝前綴開頭的文件給NEWPATH.。
--relocate OLDPATH=NEWPATH
???? 針對(duì)重定位的二進(jìn)制包,翻譯在包重定位線索中以O(shè)LDPATH開頭的文件給NEWPATH。如果在包中的幾個(gè)OLDPATH被重新裝載,選項(xiàng)可以重復(fù)使用。
--repackage
???? 在刪除之前重新打包文件。先前安裝的包將由宏%_repackage_name_fmt指定,且其創(chuàng)建目錄也由宏%_repackage_dir指定(默認(rèn)值是/var/tmp)。
--replacefiles
???? 安裝包,即使他們已經(jīng)從別的地方已經(jīng)安裝的包中替換了文件。
--replacepkgs
???? 完全安裝包,即使其中的一些文件已經(jīng)在系統(tǒng)中安裝完成。
--test??不安裝包,僅僅簡單檢測或報(bào)告潛在的沖突。
刪除選項(xiàng):
刪除格式的rpm命令是:?
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers]
[--repackage] [--test] PACKAGE_NAME ...
下面的選項(xiàng)也可以使用:
引用 --allmatches
????刪除所有那些包匹配PACKAGE_NAME的版本。如果PACKAGE_NAME有多個(gè)匹配,正常情況下將有一個(gè)錯(cuò)誤說明。
--nodeps
???? 在沒有安裝包之前,不檢測依賴關(guān)系。
--noscripts
--nopreun
--nopostun
???? 不執(zhí)行同名角本。--noscripts、--nopreun –nopostun含義相同。關(guān)閉%preun、%postun角本的響應(yīng)。
--notriggers
--notriggerun
--notriggerpostun
???? 不執(zhí)行任何指定類型的觸發(fā)器角本。--notriggers、--notriggerun、 --notriggerpostun含義相同。同時(shí)關(guān)閉%triggerun、%triggerpostun角本響應(yīng)。
--repackage
???? 在刪除之前重新打包文件。先前安裝的包將由宏%_repackage_name_fmt指定,且其創(chuàng)建目錄也由宏%_repackage_dir指定(默認(rèn)值是/var/tmp)。
--test??不真的卸載任何東西, 僅僅是經(jīng)歷一下這個(gè)動(dòng)作。與-vv選項(xiàng)聯(lián)合使用。
查詢選項(xiàng):
rpm查詢選項(xiàng)的通用格式:
rpm {-q|--query} [select-options] [query-options]
????可以指定包信息被打印的格式,如果想做這些,可以使用下面的方式:
引用 --qf|--queryformat QUERYFMT
選項(xiàng),后邊是格式字符串QUERYFMT。查詢格式是標(biāo)準(zhǔn)printf(3)的標(biāo)準(zhǔn)輸出版本。其格式由靜態(tài)字符串組成(應(yīng)包括標(biāo)準(zhǔn)C字符,除了換行符、tables或其它特殊字符串)和printf(3)類型格式符。當(dāng)rpm已經(jīng)知道打印的類型后,無論如何,類型指定必須被忽略,且被頭標(biāo)簽替代的部分將被打印,被符上{}字符。標(biāo)簽名是一個(gè)固定的實(shí)例,這標(biāo)簽名主要的RPMTAG_ portion也可以被忽略。
交替的輸出格式可以由帶:typetag標(biāo)簽申請(qǐng)。通常,支持下面的類型:?
引用 :armor??外面包一層ASCII鍵值。
:base64
????使用base64編碼二進(jìn)制數(shù)據(jù)。
:date??使用strftime(3) "%c"格式。
:day?? 使用strftime(3) "%a %b %d %Y"格式。
:depflags
????格式從屬標(biāo)記。
:fflags
???? 格式文件標(biāo)記。
:hex?? 十六進(jìn)制格式。
:octal??八進(jìn)制格式。
:perms??文件許可格式。
:shescape
????不能在角本單個(gè)引用。
:triggertype
???? 顯示觸發(fā)器后綴。
例如,僅僅輸出被查詢的包的名字,可以使用%{NAME}做為一個(gè)格式字符串。在兩列上輸出包名和分區(qū)信息,可以使用%-30{NAME}%{DISTRIBUTION}。當(dāng)調(diào)用時(shí)使用--querytags 參數(shù),Rpm輸出所有它所知道的標(biāo)簽列表。
有兩個(gè)查詢的子集選項(xiàng):包選擇和信息選擇。
包選擇選項(xiàng):
引用 PACKAGE_NAME
???? 查詢名字為PACKAGE_NAME的被安裝的包。
-a, --all
???? 查詢所有已經(jīng)安裝過的包。
-f, --file FILE
???? 查詢擁有文件FILE的包。
--fileid MD5
????查詢包含一個(gè)給定的文件檢測符,也就是MD5文件內(nèi)容目錄。
-g, --group GROUP
???? 查詢組GROUP的包。
--hdrid SHA1
???? 查詢包含給定的頭標(biāo)識(shí)的包,也就是包含SHA1的不可變頭區(qū)的包。
-p, --package PACKAGE_FILE
???? 查詢(卸載)的包PACKAGE_FILE。PACKAGE_FILE可以以ftp或http風(fēng)格的URL指定,這種情況下包頭的實(shí)例將被下載和查詢。在rpm的內(nèi)部的ftp和http支持參見FTP/HTTP選項(xiàng)。PACKAGE_FILE參數(shù),如果不是一個(gè)二進(jìn)制包,將被解釋為一個(gè)ASCII包的形式。可以存在注釋,以#開頭,且包說明文件的每一行都可以包括空白分隔的表達(dá)式。包括包含有遠(yuǎn)程一組解釋的URL,將展開到作為附加的包PACKAGE_FILE參數(shù)賦值給查詢代替包說明的路徑下。
引用 --pkgid MD5
???? 查詢包,包括給定的包認(rèn)證信息,也就是說是一個(gè)MD5摘要。
--querybynumber HDRNUM
???? 直接查詢HDRNUMth數(shù)據(jù)庫入口,僅用于調(diào)試方式。
--specfile SPECFILE
???? 直接分析和查詢SPECFILE,好象它就是一個(gè)包。雖然不是所有的信息(也就是說文件列表)都是有效的,允許rpm查詢的類型常被用做從specfile中摘要信息而不必寫specifle分析。
--tid TID
???? 查詢給出TID的包事務(wù)認(rèn)證。Unix時(shí)間戳當(dāng)前被用作事務(wù)認(rèn)證。所有內(nèi)部有單個(gè)事務(wù)的被安裝或刪除的包都有一個(gè)簡單的認(rèn)證。
--triggeredby PACKAGE_NAME
???? 查詢由包PACKAGE_NAME觸發(fā)的包。
--whatprovides CAPABILITY
???? 查詢所有提供CAPABILITY容量的包。
--whatrequires CAPABILITY
查詢所有正確功能的CAPABILITY的請(qǐng)求的包。
包查詢選項(xiàng):
引用 --changelog
???? 顯示包改變的信息。
-c, --configfiles
???? 只顯示配置文件(意味著-l)。
-d, --docfiles
???? 只顯示出文件文件(意味著-l)。
--dump 向下面那樣備份文件:?
???? path、size、mtime、md5sum、mode、owner、group、isconfig、isdoc、rdev、symlink
???? 此選項(xiàng)必須與-l, -c, -d中的一個(gè)配合使用。
--filesbypkg
???? 在被選中的包中列出所有的文件。
-i, --info
???? 顯示包信息,包括名稱、版本和說明。如果指定的顯示內(nèi)容的話需要使用--queryformat選項(xiàng)。
--last Orders??
以包安裝的順序來列出包內(nèi)容,結(jié)果是最后一個(gè)安裝的包在最上層列出。
-l, --list
????列出包中的文件。
--provides
????列出包中規(guī)定的容量。
-R, --requires
????列出這個(gè)包所依賴的包。
--scripts
????列出部分包的指定角本作為安裝和卸載的信息。
-s, --state
????列出在包中文件的狀態(tài)(意味著-l)文件的狀態(tài)包括正常、未安裝、替換。
--triggers, --triggerscripts
????顯示觸發(fā)器角本,它包含在包中。
校驗(yàn)選項(xiàng):
格式如下:
rpm {-V|--verify} [select-options] [verify-options]
????校驗(yàn)在包中已經(jīng)安裝且在rpm數(shù)據(jù)庫中帶有來自于中的元數(shù)據(jù)存儲(chǔ)的文件比較信息在這些東西中,校驗(yàn)比較大小、MD5數(shù)、許可、類型、擁有者及每個(gè)文件的組。所有明細(xì)信息都將顯示。沒有從包中安裝的文件,例如:使用—excludedocs選項(xiàng)將文件文檔文件沒有安裝,則文檔文件將被默認(rèn)忽略。
????包選擇選項(xiàng)與包查詢選項(xiàng)相同(包括象參數(shù)的包的說明文件)。別的選項(xiàng)的唯一校驗(yàn)格式如下:
引用 --nodeps
???? 不校驗(yàn)包的從屬部分。
--nodigest
???? 在讀時(shí)不校驗(yàn)包或頭的摘要。
--nofiles
???? 不校驗(yàn)包文件的屬性。
--noscripts
???? 不執(zhí)行%verifyscript角本(if any)。
--nosignature
???? 當(dāng)讀時(shí)不校驗(yàn)包或頭的信號(hào)。
--nolinkto
--nomd5
--nosize
--nouser
--nogroup
--nomtime
--nomode
--nordev
不校驗(yàn)相應(yīng)文件的屬性。
輸出格式是一個(gè)8個(gè)字符的字符串,可能的屬性標(biāo)記是:
引用 c %config 配置文件。
d %doc 文檔文件。
g %ghost file (也就是說文件內(nèi)容不沒有包含在包的有效負(fù)荷中)。
l %license license文件。
r %readme readme文件。
從后面跟著文件名的包頭中,8個(gè)字符每個(gè)都指出在數(shù)據(jù)庫中屬性記錄值文件屬性的比較結(jié)果。句號(hào)"."意味著測試通過,而"?"說明沒有不能執(zhí)行(也就是說文件許不能讀)。無論怎樣,這些字符都指出了校驗(yàn)測試沒有成功。
S 文件大小不同
M 模式不同(包括許可和文件類型)
5 MD5數(shù)不同
D 設(shè)置主要/較小的不匹配數(shù)
L readLink(2) 路徑不匹配
U 用戶所屬關(guān)系不同
G 組所屬關(guān)系不同
T mTime不同。
數(shù)字符號(hào)和摘要校驗(yàn):
rpm數(shù)字符號(hào)命令的格式是:?
rpm --import PUBKEY ...
rpm {--checksig} [--nosignature] [--nodigest]
????PACKAGE_FILE ...
引用 --checksig選項(xiàng)檢查所有的包含在PACKAGE_FILE中的摘要和簽名,來確認(rèn)包的完整性及來源。注意,無論包什么時(shí)候讀,簽名都要進(jìn)行校驗(yàn),且--checksig對(duì)于校驗(yàn)所有的與包相關(guān)的摘要和簽名都是很有用的。
????在沒有公鑰的情況下,數(shù)字符號(hào)不能校驗(yàn)。使用--import將一個(gè)ascii公鑰加到你的rpm數(shù)據(jù)庫中。導(dǎo)入的公鑰存在于頭中,且key回響管理是象一個(gè)包管理一樣正確執(zhí)行。例如,所有當(dāng)前輸入的公鑰可以由下面的式子列出:
rpm -qa gpg-pubkey*
????當(dāng)導(dǎo)入時(shí)關(guān)于指定的公鑰的說明,能被查詢所顯示。,下面是關(guān)于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選項(xiàng)產(chǎn)生和插入新的簽名給每一個(gè)指定的PACKAGE_FILE 包,用來代替所有存在的簽名。由于歷史的原因,有兩個(gè)選面,這兩者的行為沒有什么不同。
使用GPG簽名:
為了使用GPG為包做簽名,rmp必須被配置成運(yùn)行GPG且可以找到有適當(dāng)KEY的鍵環(huán)。默認(rèn)情況下,rpm查找鍵環(huán)的方式與GPG方式相同。也就是$GNUPGHOME 環(huán)境變量。如果你的鍵環(huán)沒有定位到GPG預(yù)設(shè)的位置,那么你需要配置宏%_gpg_路徑到GPG鍵環(huán)指定的位置。
為了保證與舊版的GPG、PGP和rpm兼容,只有V3 OpenPGP簽名包被配置上了。DSA或者RSA的加密算法可以使用,但DSA是首選項(xiàng)。
如果你想要為你自己創(chuàng)建的包進(jìn)行簽名,也需要?jiǎng)?chuàng)建自己的公鑰和私鑰對(duì)(參見GPG手冊(cè))。你將也需要配置rpm宏。
%_signature
????簽名類型。僅支持gpg與pgp方式。
%_gpg_name
????你希望使用的給你的包進(jìn)行簽名的鍵的“user”名。
例如,使用GPG使用類似于用戶"John Doe??;"從鍵環(huán)位置/etc/rpm/.gpg使用可執(zhí)行的/usr/bin/gpg來為包簽名:
%_signature gpg
%_gpg_path /etc/rpm/.gpg
%_gpg_name John Doe?
%_gpgbin /usr/bin/gpg
在宏配置文件中使用上述的代碼。為每個(gè)系統(tǒng)配置使用/etc/rpm/macros和~/.rpmmacros為每個(gè)用戶進(jìn)行配置。
重建數(shù)據(jù)庫選項(xiàng):
重建數(shù)據(jù)的rpm命令的通用格式如下:
rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root DIRECTORY]
使用--initdb去創(chuàng)建一個(gè)新的數(shù)據(jù)庫,使用--rebuilddb去重建一個(gè)數(shù)據(jù)庫利用安裝的包頭索引。
SHOWRC
命令格式:
rpm --showrc
顯示所有在rpmrc和macros配置文件中設(shè)置的選項(xiàng)中使用的rpm值。
引用 FTP/HTTP選項(xiàng):
????Rpm能象FTP和/或HTTP客戶端那樣,所以包能從internet中進(jìn)行查詢和安裝。安裝、更新和查詢包文件的操作可以作為一個(gè)ftp或http風(fēng)格的URL指定。
ftp://USER:PASSWORD@HOST:PORT/path/to/package.rpm
????如果忽略了:PASSWORD部分,將會(huì)提示輸入密碼(針對(duì)每個(gè)用戶/主機(jī)對(duì))。如果用戶和密碼都忽略,ftp將使用匿名(anonymous)方式。實(shí)際上,ftp進(jìn)行的是被動(dòng)的傳輸。
Rpm允許在ftp的URLs中使用下面的選項(xiàng):
--ftpproxy HOST
????主機(jī)HOST將做為所有傳輸?shù)拇矸?wù)器,允許用戶穿過那些使用代理的系統(tǒng)的防火墻去ftp。這個(gè)選項(xiàng)也可以通過使用宏%_ftpproxy來配置。
--ftpport HOST
????ftp使用連接到ftp代理服務(wù)器的TCP??PORT號(hào)來代替默認(rèn)值。這個(gè)選項(xiàng)也可以由宏%_ftpport來指定。
Rpm允許以下面的格式使用http URLs:
--httpproxy HOST
?????? 主機(jī)HOST將作為所有http傳輸?shù)拇矸?wù)器。這個(gè)選項(xiàng)也可以由宏%_httpproxy指定。
--httpport PORT
????http使用連接到http代理服務(wù)器的TCP??PORT號(hào)來代替默認(rèn)值。這個(gè)選項(xiàng)也可以由宏%_httpport來指定。
三、后續(xù)說明
執(zhí)行rpm構(gòu)建:
rpm的構(gòu)建模式目前使用/usr/bin/rpmbuild進(jìn)行。雖然由 popt別名提供的兼容性已經(jīng)足夠了,但還不是完美的。因此通過popt別名的兼容性目前正在被從rpm中刪除。安裝rpmbuild包,可參見rpmbuild(8)。在rpm(8)中可以找到所有的當(dāng)前rpm構(gòu)建的報(bào)有文檔。
如果你想繼續(xù)在命令行中使用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
相關(guān)日志
[原]使用Mock 實(shí)現(xiàn)跨平臺(tái)跨發(fā)行版編譯RPM
[原]創(chuàng)建VPS OS模板
[原]RDAC的spec生成rpm腳本
[原]關(guān)于rpm打包中的條件判斷
總結(jié)
以上是生活随笔為你收集整理的rpm命令选项中文说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用GPG校验sign签名
- 下一篇: linux下的trap命令