rpm是Redhat Package Manager的縮寫,是Linux的特有的軟件包的管理工具,可以很大程度上方便我們安裝軟件包。當然現在的大部分包都可以使用yum來方便的安裝,但rpm在此之前,確實是一種非常方便的工具,基本上所有使用Redhat Linux的人都對它相當熟悉。
yum是yellow dog update manager 的縮寫,由於我們在安裝包是會出現許多依賴關係,所以當我們安裝某個軟件包時,系統會提示我們應該安裝哪一個包,而當我們去安裝那個軟件包時有可能會需要安裝另外的包,所以這是一個非常讓人頭痛的問題。而yum就很好的解決了這個問題,它是由客戶端和yum源庫組成的。我們需要在客戶端安裝yum客戶端包,並且需要配置一下客戶端配置文件,對於yum源來說,它一般存放了所有可能需要的軟件包,並且庫中建立了個軟件包的依賴關係,並將相同類別的服務分組。
rpm:
- 二進制文件 安裝路徑:/bin,/sbin,(啓動必須) /usr/bin ,/usr/sbin(運行必須) /usr/local/bin ,/usr/local/sbin (第三方軟件)
- 配置文件(純文本) 安裝路徑:/etc ,/usr/local/etc
- 庫文件 安裝路徑: /lib ,/usr/lib ,/usr/local/lib , /usr/X11/lib
- 幫助文件 安裝路徑: /usr/share/doc ,/usr/share/man ,/usr/share/man
rpm的選項
-q 查詢 -i 安裝 -e 載 -V 校驗 -U/-F 更新
--force 忽略衝突
--nodeps 略依賴關係
--oldpackage 降級
-ivh 以每個#號2%的顯示安裝
--test 測試(不安裝)
--nosignature 指定不需簽名
-Uvh升級時,老版本安裝過則更新,否則安裝老版本在更新
-Fvh升級時,若老版本沒安裝則停止更新
-qa顯示安裝的全部軟件包
-qf filename 查詢文件屬於哪個軟件包
-ql packagename 查詢軟件包安裝的文件(安裝過後)
-qpl packagename 查詢軟件包安裝的文件(未安裝前,p指定全路徑)
-qi packagename 軟件包的信息(安裝過後)
-qpl packagename 軟件包的信息(未安裝前,p指定全路徑)
yum:
yum獲取軟件包的方式
http://
yum的參數
install (非全名) 安裝軟件包
info 查看軟件包的摘要信息
remove/erase 刪除包 (使用remove時注意,它會刪除所有有依賴關係的包)
groupinstall 安裝軟件包組 groupinfo groupremove
grouplist 查看軟件包組
localinstall 安裝本地軟件包(yum可解決依賴關係)
reinstall 重新安裝
serach 軟件包的簡要信息(不精確)
check-update 檢查可更新的包 repolist 已安裝好yum庫
-y 不詢問安裝 -q 靜默模式安裝
-t 忽略已安裝的包(安裝多個包時,否則後面的包都不安裝)]
--nogpgcheck 指定不需要驗證簽名信息
yum兩個常用的參數
list all 顯示所有軟件包(可使用通配符搜索) list "na*"
available 所有可安裝的包
update 可升級的包
installed 已安裝的包
exeras 額外的包(不屬於yum庫的包)
obletes 已過時的包
recent 剛加入yum庫的包
clean all 清空所有信息
package 清空軟件包信息
headers 首部 ,包的依賴關係
dbcahe 軟件包的元數據信息(數據庫)
創建本地yum源
首先我們建立/media/cdrom用於掛在光驅
建立/var/yum/作爲yum源的目錄
掛載光盤 mount /dev/cdrom /media/cdrom
拷貝光盤文件 cp -r /media/cdrom/* /var/yum
修改文件的權限 chmod -R u+w /var/yum
安裝createrepo包 (本地已安裝時可省略此步)
rpm -ivh /media/cdrom/Server/createrepo…
建立yum源元數據信息
createrepo -g /var/yum/Server/repodata/comps......
/VT/
/Cluster/
/ClusterServer/
修改yum客戶端配置文件
[Server]
name= Instructor Server Repository
baseurl=file:///var/yum/Server
gpgcheck=0
[VT]
name=Instructor VT Repository
baseurl=file:///var/yum/VT
gpgcheck=0
[Cluster]
name= Instructor Cluster Repository
baseurl=file:///var/yum/Cluster
gpgcheck=0
[ClusterStorag]
name=Instructor ClusterStorag Repository
baseurl=file:///var/yum/ClusterServer
gpgcheck=0