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