RedHat Linux作業系統軟體包的管理
1. 安裝、升級與刪除軟體包都很容易
2. 查詢非常簡單
3. 能夠進行軟體包的驗證
4. 支援原始碼形式的軟體包
下面的說明,將充分體現出以上四個優點。
RPM軟體包通常是以xxx.rpm的格式命名的,就好像HP-UX下標準的軟體包是xxx.depot的形式一樣。一般,一個標準的RPM軟體包的名字能夠告訴我們一些資訊,例如rhviewer-3.10a-13.i386.rpm,從這樣一個名字的RPM軟體包,我們可以知道,軟體的名稱是rhviewer,版本是3.10a,次版本是13,執行的平臺是i386。
RPM通常有5種方式來管理RPM軟體包:安裝、刪除、升級、查詢和驗證。
1. 安裝
#rpm -ivh rhviewer-3.10a-13.i386.rpm
其中使用到的引數ivh說明如下:
i: 使用RPM的安裝模式
v: 在安裝的過程中顯示安裝的資訊
h: 在安裝的過程中輸出#號
另外,RPM還能夠透過FTP來進行遠端安裝,形式其實和本地安裝差不多,只要在檔名的前面加上適當的路徑就可以了:
#rpm -ivh ftp://xxxx/rhviewer-3.10a-13.i386.rpm
注意:對於遠端安裝來說,建議不要忘記h引數,不然可能不知道安裝程式是否還在進行。或者,也可以透過--percent引數來知道安裝的進度。對於詳細幫助資訊,可以透過#rpm --help或者#man rpm來獲得。
在安裝過程中,可能會經常遇到以下幾種情況:
<1>重複安裝軟體包
如果要安裝的軟體之前已經安裝過,就會在安裝過程中出現以下錯誤資訊:
#rpm -ivh rhviewer-3.10a-13.i386.rpm
package rhviewer-3.10a-13 is already installed
如果確定重新安裝一次,可以加上--replacepkgs引數:
#rpm -ivh --replacepkgs rhviewer-3.10a-13.i386.rpm
<2>軟體包中用到的某個檔案已經被其他軟體包安裝
這種情況可能最常出現,多個軟體包都包含某個或某些檔案,當安裝了第一個軟體包,再安裝其他軟體包的時候,就會出現以下錯誤:
#rpm -ivh rhviewer-3.10a-13.i386.rpm
rhviewer /usr/bin/rhviewer conflicts with file from
msviewer-1.10b-01
error: rhviewer-3.10a-13.i386.RPM cannot be installed
此時,可以用--replacefiles引數:
#rpm -ivh --replacefiles rhviewer-3.10a-13.i386.rpm
<3>軟體包之間的相關性
有的時候,一個軟體包的作用要基於另外一個軟體包,如果安裝該軟體包時候沒有安裝需要的另外一個軟體包,就會有錯誤資訊:
#rpm -ivh rhviewer-3.10a-13.i386.rpm
failed dependencies: rhviewer is needed by rhpainter-2.24-20
此時,建議先安裝這個需要的軟體包。不過,如果你願意嘗試一下是否不安裝這個需要的軟體包是否也能夠正常使用你真正要安裝的軟體的話,可以加上--nodeps引數:
#rpm -ivh --nodps rhviewer-3.10a-13.i386.rpm
2. 刪除
#rpm -e rhviewer
注意:這裡接的不是安裝時候軟體包的名字rhviewer-3.10a-13.i386.rpm,而只要用rhviewer或者rhviewer-3.10a-13就可以了。建議的方式是先用RPM查詢出你要刪除的軟體,然後用該命令刪除。
這裡最常出現的錯誤提示就是,當你要刪除的軟體包被其他軟體包關聯時候,就會出現錯誤提示:
#rpm -e rhviewer
removing these packages would break dependencies: rhviewer is neededby rhpainter-2.24-20
3. 升級
更新軟體包的版本到最新版本,也是經常用到的:
#rpm -Uvh rhviewer-3.10a-13.i386.rpm
升級軟體的模式其實是先刪除舊軟體包,然後再安裝新軟體包。而且,你還可以選擇用這種升級的模式來安裝軟體包,因為,沒有舊軟體包的情況下,此升級方式仍然可正常執行。
如果系統中有舊版本存在,你就可以看到以下資訊:
#rpm -Uvh rhviewer-3.10a-13.i386.rpm
saving /etc/rhviewer.conf as /etc/rhviewer.conf.rpmsave
如果,你要降低當前版本到更老的版本,一個辦法就是刪除該版本,然後再重新安裝舊的版本,也可以用--oldpackage引數來進行“升級”:
#rpm -Uvh --oldpackage rhviewer-3.10a-13.i386.rpm
補充說明:
還有一種升級的安裝方式:更新。
#rpm -Fvh rhviewer-3.10a-13.i386.rpm
更新和普通升級的方式是,當系統中沒有舊版本時,普通的升級安裝仍然會安裝該軟體,而更新的模式就不會安裝。
4. 查詢
#rpm -q rhviewer
rhviewer-3.10a-13
如果要查詢的軟體忘記了名字,可以用#rpm -qa來顯示出所有的已經安裝的軟體。
更詳細的軟體資訊,可以用#rpm -qi來查詢。
5. 驗證
#rpm -V rhviewer
說明:驗證rhviewer軟體包的正確性
#rpm -Vf /bin/vi
說明:驗證包含/bin/vi檔案的軟體包
#rpm -Va
說明:驗證所有軟體包
#rpm -Vp rhviewer-3.10a-13.i386.rpm
說明:使用.rpm檔案來驗證軟體包的正確性
驗證模式會比較原始軟體包資訊及安裝在系統中的軟體包檔案資訊,包括每個檔案的大小、MD5 checksum、許可權、型別、擁有者及所屬的檔案組。在驗證後若沒有任何輸出,表示軟體包正常。如果有不一致的地方,RPM將會顯示出它們的錯誤碼。下面列出一些可能的錯誤碼:
5: MD5校驗碼不匹配
S: 檔案大小不匹配
L: 符號連線錯誤
T: 檔案修改時間不匹配
D: 裝置屬性不匹配
U: 使用者不匹配
G: 檔案組不匹配
M: 模式不匹配,包括許可權和檔案型別
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8570952/viewspace-344541/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RedHat Linux作業系統軟體包的管理(轉)RedhatLinux作業系統
- 軟體作業系統作業系統
- RedHat Linux作業系統修改時區的方法RedhatLinux作業系統
- Linux作業系統Redhat系列與Debian系列Linux作業系統Redhat
- Linux 的 軟體包的管理Linux
- 『學了就忘』Linux軟體包管理 — 40、Linux系統軟體包介紹Linux
- 【Linux】Linux作業系統 程式管理Linux作業系統
- 作業系統-記憶體管理作業系統記憶體
- 作業系統——記憶體管理作業系統記憶體
- RedHat 7.6作業系統安裝Redhat作業系統
- ◆◆◆◆◆◆◆◆◆◆◆linux下軟體包的管理◆◆◆◆◆◆◆◆◆◆◆◆◆◆Linux
- Linux作業系統首次捆綁系統級虛擬化軟體Linux作業系統
- 作業系統記憶體管理概述作業系統記憶體
- 作業系統記憶體管理-原理作業系統記憶體
- 【作業系統】記憶體管理概述作業系統記憶體
- Linux作業系統中軟體安裝:用RPM包管理器安裝軟體步驟Linux作業系統
- 【Solaris】Solaris10作業系統 原始碼安裝apache軟體包作業系統原始碼Apache
- Linux作業系統記憶體管理的原始碼實現(轉)Linux作業系統記憶體原始碼
- Linux作業系統上必需要學的系統管理命令Linux作業系統
- Linux作業系統tcpdump抓包分析詳解Linux作業系統TCP
- 作業系統-記憶體、檔案管理作業系統記憶體
- 探索Linux 作業系統記憶體模型和管理-1(轉)Linux作業系統記憶體模型
- 探索Linux 作業系統記憶體模型和管理8(轉)Linux作業系統記憶體模型
- 作業系統的記憶體管理你知道嗎作業系統記憶體
- 淺談作業系統對記憶體的管理作業系統記憶體
- 系統管理體系——軟體包管理
- Linux作業系統總體介紹!Linux作業系統
- 簡述linux系統中軟體包管理系統Linux
- 作業系統-程式管理作業系統
- 作業系統管理角色作業系統
- Linux作業系統的高階電源管理(轉)Linux作業系統
- Linux作業系統程式管理的分析與應用Linux作業系統
- 不同作業系統之間的軟體管理理念的分析_學習筆記作業系統筆記
- 軟體設計師25-作業系統作業系統
- 常用的虛擬機器軟體有哪些?linux作業系統入門虛擬機Linux作業系統
- Linux 下檢視開源軟體或作業系統的原始碼(轉)Linux作業系統原始碼
- Linux 作業系統Linux作業系統
- Linux作業系統Linux作業系統