1、軟體安裝方式
(1)目前比較流行的linux軟體安裝方式是dpkg和rpm。
(2)解決軟體包依賴的問題
前面提到過可以使用ldd來觀察軟體的依賴關係,可以將軟體安裝時的依賴關係做成列表,這樣在安裝時,就可以根據列表去自動安裝相關依賴包。
2、rpm
2.1、rpm概念
(1)rpm是以一種資料庫記錄的方式,來將你所需要的軟體安裝到linux系統的一套管理機制。它最大的特點就是將你要安裝的軟體先進行編譯,並且打包成為rpm機制的包裝檔案,並記錄這個軟體安裝時候的依賴包。
(2)安裝時,rpm會先依照軟體裡頭的資料查詢所需的依賴包是否滿足,滿足則予以安裝,不滿足則不予安裝。安裝的時候將該軟體的資訊整個寫入rpm的資料庫中,以便之後的查詢、驗證與解除安裝。
(3)缺點:
由於使用rpm安裝的軟體都是預先編譯好的,所以你的主機環境必須與rpm當初編譯軟體的環境相同才行。
2.2、rpm安裝
(1)rpm安裝完軟體之後,該軟體的相關資訊會被寫入
/var/lib/rpm/目錄下的資料庫檔案中。這個目錄內的資料的作用:
(2)rpm命令
rpm -【ivh】 ***.rpm/**
-i install的意思
-v 輸出詳細的安裝資訊
-h 以安裝資訊列顯示安裝進度
(3)rpm安裝時的相關引數選項
--nodeps
不顧錯誤提示強行安裝軟體
--replacefiles
覆蓋已安裝的部分檔案
--replacepkgs
重複安裝軟體
--force
--replacefiles與--replacepkgs的結合
--test
測試安裝
--justdb
如果rpm資料庫損壞,可使用此指令更新軟體資訊
--nosignature
略過數字簽名檢查
--prefix
後面跟路徑,指定軟體的安裝目錄
--noscripts
禁止rpm自動執行某些指令
2.3、rpm公升級與更新
(1)rpm -uvh 軟體包
若後面的軟體沒有安裝過,則予以安裝。
(2)rpm -fvh 軟體包
若後面的軟體沒有安裝過,則不予安裝。
2.3、rpm查詢
(1)rpm -qa
-q 僅查詢
-qa 列出所有已安裝的軟體
(2) rpm -q【licdr】 已安裝的軟體名
-qi 列出該軟體的詳細資訊,包括開發商、版本與說明等
-ql 列出該軟體的所有檔案與目錄
-qc 列出該軟體的所有配置檔案(/etc/底下的)
-qd 列出該軟體的所有說明檔案(與man相關)
-qr 列出該軟體的依賴包的資訊
(3) rpm -qf 檔名
找出後面的檔名屬於哪個軟體
(4) rpm -qp【licdr】 軟體名
可以查出未安裝的軟體在rpm內的資訊
2.4、rpm驗證與數字簽名
(1)rpm -va
列出系統上面所有可能被改過的檔案
(2)rpm -v 已安裝的軟體名
若該軟體被改動過,才會列出來
(3)rpm -vp rpm檔名
列出該檔案可能被改動過的rpm檔案
(4)rpm -vf 系統上的某個檔案
列出某個檔案是否被改動過
2.5、rpm解除安裝軟體
(1)rpm -e 軟體名
軟體的解除安裝是從最上層開始的,即當軟體被解除安裝時,該軟體沒有被其他軟體依賴,才能解除安裝。
(2)rpm --rebuilddb
因為軟體的安裝,解除安裝常常會影響rpm資料庫,所以使用該指令可以重建資料庫。
3、srpm
3.1、srpm概念
(1)srpm就是source rpm的意思,也就是這個rpm裡含有源**,也是為了解決rpm環境強一致性的問題。
(2)副檔名
通常srpm的副檔名是以***.src.rpm這種格式來命名的。
那srpm是提供的源**,為什麼不使用tarball的方式安裝呢?
這是因為srpm雖然提供的是源**,但是同時也提供了軟體的依賴關係,以及引數配置檔案(configure和makefile)。
(3)安裝srpm過程
3.2、srpm安裝
(1)rpmbuild 選項 軟體包
--rebuild 編譯、打包後面的軟體。生成rpm包,需要再使用rpm命令安裝
--recompile 編譯、打包並安裝軟體
(2)srpm使用的路徑與需要的軟體
(3)srpm的編譯指令,用於製作自己的rpm軟體包
rpmbuild -【ba/bb】 ***.spec
-ba 生成rpm與srpm檔案
-bb 僅生成rpm檔案
4、軟體版本、適用平台以及編譯次數
(1)如何通過rpm檔名得知軟體版本及平台等資訊?
例如:rp-ppose-3.1-5.i386.rpm
rp-ppose 軟體名稱
3.1 軟體版本資訊
5 編譯打包次數,重複編譯的原因可能是因為一些bug等
.i386 作業系統平台
.rpm 副檔名
(2)作業系統平台
5、yum
5.1、yum概念
(1)當用rpm安裝軟體時,如果軟體的依賴關係不滿足,即軟體的依賴包不存在,則不予安裝。yum就是為了解決rpm軟體包的依賴性問題
(2)一般的軟體廠商為了節省使用者的資料量,會將軟體的內容分為一般使用與開發使用兩大類。所以你常常會看到類似pam-x.x.rpm與pam-devel-x.x.rpm之類的檔名。
(3)yum機制:
之前說rpm會記錄乙個軟體依賴關係的列表,yum在安裝軟體的時候,先到這個列表去找,同時與系統內已安裝的軟體相比較,如果沒有安裝就連這些依賴的軟體一起安裝。通過這種機制就解決了軟體依賴的關係。
(4)安裝與公升級
①安裝②公升級
5.2、yum server
我們要使用yum功能時,必須先找到合適的yum server,實際上centos在發行時已經制定好了很多供全世界使用的軟體映象倉庫,理論上只要我們能連上網,就可以使用yum。
5.3、yum查詢
(1)yum 選項 引數
①選項:
-y 當yum等待使用者輸入時,這個選項自動提供yes的響應
--installroot=路徑 改變軟體的安裝路徑
②引數:
search 搜尋軟體名稱或者描述的關鍵字
list 類似於rpm -qa
info 類似於rpm -qai
provides 類似rpm -qf
這些引數後面可以接一些字串,或萬用字元
5.4、yum安裝
yum install 軟體名
5.5、yum公升級
yum update 軟體名
5.6、yum解除安裝
yum remove 軟體名
5.7、yum配置檔案
(1)yum映象站的配置檔案為:
/etc/yum.repos.d/容器名.repo
yum server可以使用多個容器,所以配置檔名不一樣
(2)查詢yum server所使用的容器
yum repolist all
5.8、yum清除快取
上面提到修改yum映象的配置檔案,但是如果存在一些舊資料,可能會更新不了。這時候我們清理下舊資料就可以更新了。
yum clean 【packages | headers | all】
all 將所有容器資料都刪除
5.9、yum的群組功能
yum 選項 引數
grouplist 列出所有已安裝的套件組,例如development tools
groupinfo 後面接群組名,可查出該群組內的所有套件名
groupinstall 安裝一整套元件
groupremove 移除一整套元件
軟體安裝與公升級 yum
yum是通過分析rpm的標頭資料後,根據各軟體的相關性製作出屬性相依時的解決方案,自動處理軟體的關聯問題,實現軟體安裝 公升級 移除。為了方便使用者軟體安裝 公升級,distribution 會先發布軟體,然後將軟體放置在乙個伺服器上,這個伺服器可以被稱為yum源。目前有許多的yum源,使用者在使用...
rpm與yum安裝軟體
一 使用rpm包安裝 1 安裝 rpm ivh 包全名 i install 安裝選項 v verbose 顯示詳細資訊 h hash 顯示進度2 公升級 rpm uvh 包全名 u upgraed 3 解除安裝 rpm e 包名 e erase 刪除二 使用yum命令安裝 1 查詢所有可用軟體安裝包...
yum安裝軟體
rpmp安裝軟體包的雖然方便,但是需要手工解決軟體包的依賴關係。很多時候安裝乙個軟體包需要安裝多個其他軟體包,還有不同版本的相容性問題,很複雜。yum解決了這些問題,yum是rpm的前端程式,設計的主要目的就是為了自動解決rpm的依賴關係,有以下優點 1.自動解決依賴關係 2.可以對rpm進行分組,...