rpm和yum
在linux中安裝一個軟體包并不像在windows中輕按兩下就能安裝,因為在linux的一個特性就是組合小的軟體完成大的功能,是以為了完成一個大的功能通常需要安裝多個包來組合,各個包完成相應的任務而包又互相組合。
在redhat中安裝一個包用的指令是:rpm
rpm package management 最早是由redhat開發的用來在自己的系統上安裝程式包,但由于其友善實用,在CentOS,Fedora,等系統中被采用。
另一種常用的是:dep 在debain,Ubuntu,上被使用。
在安裝資料包的時候有時候有依賴關系:比如安裝A需要B,安裝B又需要安裝C,但安裝C又需要A,這樣構成循環,雖說在rpm中可以強制安裝包,但當有很多包有依賴關系時候,rpm或dep就很難解決了。是以就出現了yum:
yum 全稱yellowdog update manager,是redhat在rpm的基礎上進一步發展而成的,主要用于解決安裝多個資料包時自動的解決依賴關系,自動的将多個包歸為一組,同時提供了更多的選項來管理資料包。yum有用戶端和伺服器兩部分,兩部分可以在同一台主機上,也可以使分開的。伺服器部分通常被稱為yum庫(因為其提供了所有的rpm資料包)。yum用戶端的配置檔案有兩部分
1. /etc/yum.conf 其内容有以下幾部分
cachedir 表示yum在本地的緩存位置
keepcache 是否存儲緩存(0不存,1存儲)
logfile 日志儲存的目錄
gpgcheck 是否檢查(0不檢查,1檢查)
exactarch 版本是否精确比對
metadata 緩存儲存的時間
一般這個配置檔案中的内容不需要改變。
2. /etc/yum.repos.d/*.repo 檔案的名字随意,但字尾必須是repo,而這個檔案中可以存儲多個庫,redhat中的庫有以下幾個:VT,Server,Cluster,ClusterStorage,分别實作虛拟化,基本操作,叢集,叢集中的存貯。沒個庫内容除了路徑不相同之外其他的都相同。每個庫中通常包括以下幾部分:
[identify] 庫的表示符
name=描述資訊
baseurl=庫的路徑,必須寫到包含repo的檔案夾(最重要)
gpgcheck=1/0 1表示檢查每個包的校驗碼,0表示不校驗
enable=1/0 1表示啟用該庫,0反之
eg:
[ClusterStorage]
name=Instructor ClusterStorage Repository
baseurl=http://instructor.example.com/yum/ClusterStorage
gpgcheck=0
enable=1
表示ClusterStroage庫所在的位置在baseurl=http://instructor.example.com/yum/中
其他的幾個庫也依照這種寫法
yum指令的使用方法:
yum [option] [command] packagename
eg: yum -y install httpd
[option]中最常用的有:
-y 表示隻要需确定的一直是yes
-q 使用靜默模式
--nogpgcheck 不對資料包校驗(要确認資料包的來源)
[command]中的指令:
install 安裝軟體包
update 更新軟體包
check-update 檢查并更新
remove/erase 解除安裝軟體包
list 預設列出所有軟體包,還有二級選項
all/available/updates/installed/extra/recent/glob_exp
info 顯示簡要資訊
provides 表示有那個包提供
grouplist 列出組
groupinstall 已經安裝的組
groupinfo 組資訊
localinstall 安裝本地的包,但有依賴關系的包在庫中時自動查找并安裝
reinstall 重新安裝
downgrade 降級
repolist 列出可用的庫
tips