RPM是RedHat公司開發(fā)的軟件包管理器,使用它可以很容易地對(duì)RPM形式的軟件包進(jìn)行安裝、升級(jí)、卸載、驗(yàn)證、查詢等操作,安裝簡單,而卸載時(shí)也可以將軟件安裝在多處目錄中的文件刪除干凈,因此推薦初學(xué)者盡可能使用RPM形式的軟件包。軟件包往往有特定的命令規(guī)范,名字是由“文件名+版本號(hào)+.rpm”組成的字串,例如apache-
1.安裝
命令格式:
rpm-i(or--install) options file1.rpm ... fileN.rpm
參數(shù):
file1.rpm...fileN.rpm指將要安裝的RPM包的文件名。
詳細(xì)選項(xiàng):
-h(or—hash)安裝時(shí)輸出hash記號(hào);test只對(duì)安裝進(jìn)行測試,并不實(shí)際安裝;--percent以百分比的形式輸出安裝的進(jìn)度;--excludedocs不安裝軟件包中的文檔;--includedocs安裝文檔;--replacepkgs強(qiáng)制重新安裝已經(jīng)安裝的軟件包;--replacefiles替換屬于其他軟件包的文件;--force忽略軟件包及文檔的沖突;--noscripts不運(yùn)行預(yù)安裝和后安裝腳本;--prefix NEWPATH將軟件包安裝到由NEWPATH指定的路徑下;--ignorearch不校驗(yàn)軟件包的結(jié)構(gòu);--ignoreos不檢查軟件包運(yùn)行的操作系統(tǒng);--nodeps不檢查依賴性關(guān)系;--ftpproxy HOST用HOST作為FTP代理;--ftpport PORT指定FTP的端口號(hào)為PORT。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作為根目錄,這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下;--rcfile FILELIST設(shè)置rpmrc文檔為FILELIST;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
2.刪除
命令格式:
rpm -e(or--erase) options pkg1 ... pkgN
參數(shù):
pkg1...pkgN:要?jiǎng)h除的軟件包。
詳細(xì)選項(xiàng):
--test只執(zhí)行刪除的測試;--noscripts不運(yùn)行預(yù)安裝和后安裝腳本程序;--nodeps不檢查依賴性。
通用選項(xiàng):
-vv顯示調(diào)試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作為根目錄,這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下;--rcfile FILELIST設(shè)置rpmrc文檔為FILELIST;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
3.升級(jí)
命令格式:
rpm -U(or--upgrade) options file1.rpm ... fileN.rpm
參數(shù):
file1.rpm...fileN.rpm指軟件包的名字。
詳細(xì)選項(xiàng):
-h(or—hash)安裝時(shí)輸出hash記號(hào);—oldpackage允許一個(gè)舊版本;--test只進(jìn)行升級(jí)測試;--excludedocs不安裝軟件包中的文件;--includedocs安裝文件;--replacepkgs強(qiáng)制重新安裝已經(jīng)安裝的軟件包;--replacefiles替換屬于其他軟件包的文件;--force忽略軟件包及文件的沖突;--percent以百分比的形式輸出安裝的進(jìn)度;--noscripts不運(yùn)行預(yù)安裝和后安裝腳本;--prefix NEWPATH將軟件包安裝到由NEWPATH指定的路徑下;--ignorearch不校驗(yàn)軟件包的結(jié)構(gòu);--ignoreos不檢查軟件包運(yùn)行的操作系統(tǒng);--nodeps不檢查依賴性關(guān)系;--ftpproxy HOST用HOST作為FTP代理;--ftpport HOST指定FTP的埠號(hào)為HOST。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作為根目錄,這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下;--rcfile FILELIST設(shè)置rpmrc文件為FILELIST ;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
4.查詢
命令格式:
rpm -q(or--query) options
參數(shù):
pkg1...pkgN:查詢已安裝的軟件包。
詳細(xì)選項(xiàng):
-p PACKAGE_FILE查詢軟件包的文件;-f FILE查詢FILE屬于哪個(gè)軟件包;-a查詢所有安裝的軟件包;--whatproVides CAPABILITY查詢提供了CAPABILITY功能的軟件包;-g group查詢屬于group組的軟件包;--whatrequires CAPABILITY查詢所有需要CAPABILITY功能的軟件包。
選項(xiàng):
-i顯示軟件包的概要信息;-l顯示軟件包中的文件列表;-c顯示配置文件列表;-d顯示文件列表;-s顯示軟件包中文檔列表并顯示每個(gè)文件的狀態(tài)-;-scripts顯示安裝、卸載、校驗(yàn)?zāi)_本;--queryformat(or--qf)以用戶指定的方式顯示查詢信息;--dump顯示每個(gè)文件的所有已校驗(yàn)信息;--proVides顯示軟件包提供的功能;--requires(or-R)顯示軟件包所需的功能。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作為根目錄,這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下;-rcfile FILELIST設(shè)置rpmrc文件為FILELIST;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
5.校驗(yàn)已安裝的軟件包
命令格式:
rpm -V(or--verify,or-y) options
參數(shù):
pkg1...pkgN將要校驗(yàn)的軟件包名
軟件包選項(xiàng):
-p PACKAGE_FILE校驗(yàn)PACKAGE_FILE所屬的軟件包;-a校驗(yàn)所有的軟件包;-g group校驗(yàn)所有屬于組group的軟件包。
詳細(xì)選項(xiàng):
--noscripts不運(yùn)行校驗(yàn)?zāi)_本;--nodeps不校驗(yàn)依賴性;--nofiles不校驗(yàn)文檔屬性。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--root PATH讓RPM將PATH指定的路徑做為根目錄,這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下;--rcfile FILELIST設(shè)置rpmrc文件為FILELIST;--dbpath DIRECTORY設(shè)置RPM資料庫所在的路徑為DIRECTORY。
6.校驗(yàn)軟件包中的文件
語法:
rpm -K(or--checksig) options file1.rpm...fileN.rpm
參數(shù):
file1.rpm...fileN.rpm軟件包的文件名;Checksig--詳細(xì)選項(xiàng);--nopgp不校驗(yàn)PGP簽名。
通用選項(xiàng):
-v顯示附加信息;-vv顯示調(diào)試信息;--rcfile FILELIST設(shè)置rpmrc文件為FILELIST。
7.其他RPM選項(xiàng)
--rebuilddb重建RPM資料庫;--initdb創(chuàng)建一個(gè)新的RPM資料庫;--quiet盡可能地減少輸出;--help顯示幫助文件;--version顯示RPM的當(dāng)前版本。
如果你不喜歡在字符接口下安裝或卸載這些軟件包,完全可以安裝基于X-Window的圖形接口軟件包管理程序,如glint, xrpm這樣的圖形接口。或使用KDE的KPackage(單擊【開始】→【運(yùn)行命令】,在其中輸入KPackage即可啟動(dòng)KPackage)等,這樣對(duì)軟件包的安裝、升級(jí)、卸載、驗(yàn)證和查詢就可以通過單擊鼠標(biāo)來輕松完成,如圖6-1所示。
需要注意的是,每個(gè)RPM軟件包格式的軟件并不一定是獨(dú)立的,各個(gè)RPM軟件包之間有一定的依賴關(guān)系,刪除某個(gè)RPM軟件包可能導(dǎo)致別的軟件不能使用。因此在升級(jí)和刪除時(shí)應(yīng)該注意。
圖6-1 KPackage工作界面
提供安裝程序的軟件包
這類軟件包已經(jīng)提供了安裝腳本或二進(jìn)制的安裝引導(dǎo)程序(Setup, Install, Install.sh等),只需運(yùn)行它就可以完成軟件的安裝;而卸載時(shí)也相應(yīng)地提供了反安裝的腳本或程序。例如Thiz Office辦公軟件套件就使用名為Setup.sh的安裝程序,而且在軟件安裝后提供反安裝的功能。目前這種類型的軟件包還比較少,因其安裝與卸載的方式與Windows軟件一樣,所以就無需多講了。
Linux軟件的源代碼分發(fā)是指提供了該軟件所有程序源代碼的發(fā)布形式,需要用戶自己編譯成可執(zhí)行的二進(jìn)制碼并進(jìn)行安裝。其優(yōu)點(diǎn)是配置靈活,可以隨意去掉或保留某些功能/模塊,適應(yīng)多種硬件/操作系統(tǒng)平臺(tái)及編譯環(huán)境;缺點(diǎn)是難度較大,一般不適合初學(xué)者使用。
各個(gè)軟件的源代碼包一般都在各個(gè)軟件項(xiàng)目的主頁中提供下載,例如:www.apache.org等。
1.*.src.rpm形式的源代碼軟件包
安裝:
rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸載:
rpm -e packgename
說明:rpm --rebuild *.src.rpm命令將源代碼編譯并在/usr/src/dist/RPMS下生成二進(jìn)制的RPM軟件包,然后再安裝該二進(jìn)制包即可。Packgename如前所述。
2.*.tar.gz/*.tgz/*.bz2形式的源代碼軟件包
以tar.gz或tgz或tar.bz2等格式結(jié)尾的軟件包一般都是以源代碼方式發(fā)布的軟件,安裝這類軟件首先需要對(duì)軟件進(jìn)行解壓:
# tar zxvf filename.tar.gz
# tar xvfz filename.tgz
# tar xvf j filename.tar.bz2
解壓以后,就可以進(jìn)入解壓后的目錄:
# cd filename/
對(duì)于這類文檔,常見的安裝步驟是:配置、編譯和安裝3步,其中最麻煩的就是配置,因?yàn)樗泻蛙浖惭b相關(guān)的配置都是在這一步指定的:比如軟件安裝位置等。
配置:./configure
編譯:make
安裝:make install
卸載:make uninstall 或手動(dòng)刪除
說明:建議解壓后先閱讀說明文件(ReadMe和Install),了解安裝的需求,有必要時(shí)還需改動(dòng)編譯配置。有些軟件包的源代碼在編譯安裝后可以用make uninstall命令來進(jìn)行卸載,如果不提供此功能,則軟件的卸載必須手動(dòng)進(jìn)行。由于軟件可能將文件分散地安裝在系統(tǒng)的多個(gè)目錄中,往往很難把它刪除干凈,那你應(yīng)該在編譯前進(jìn)行配置,指定軟件將要安裝到目標(biāo)路徑:./configure --prefix=目錄名,這樣可以使用“rm -rf 軟件目錄名”命令來進(jìn)行干凈徹底的卸載。與其他安裝方式相比,需要用戶自己編譯安裝是最難的,它適合于使用Linux已有一定經(jīng)驗(yàn)的人,一般不推薦初學(xué)者使用。