1. 程式人生 > >軟件包管理 5-----基本知識 yum,配置文件

軟件包管理 5-----基本知識 yum,配置文件

第五部分 基本知識 yum

yum (沒辦法老是忘 ya mu)
yum是基於rpm用Python開發的前端程序
yum是基於c/s client /server 結構實現的 就是 有客戶端 有服務器
我們把存放安裝包的服務器叫 yum服務器 server
在yum服務器上有很多安裝包rpm , 以及這些安裝包的元數據meta data

客戶端要運行yum時候,需要在客戶端有一個配置文件,配置文件中寫清楚yum服務器的地址,
然後要安裝軟件的時候敲 運行一個命令yum install
yum install 文件名 就可以了

運行yum install命令時 從配置文件中找到服務器的地址 (路徑)然後就把消息發到yum服務器上,接著服務器檢查服務器上是否有這個包1,在meta data 中找到這個包1以及這個包1所依賴的包2或包3。然後把消息返還到客戶端,存放在一個文件夾裏。這個文件夾叫yum的緩存(yum cache),緩存中放的是元數據meta data。然後客戶端發現要安裝包1,已經包2和包3,就發信息給服務器,接著服務器把這些包的數據傳給客戶端。然後安裝,這些包是默認安裝後刪除的,也可以不刪,但是但是但是元數據是不刪除的
當然服務器可能不止一個,原則是下載最新的
因為有兩份緩存,有可能出問題,當yum服務器的地址改了,配置文件中指向的地址也會改,但是緩存中的地址還是原來的地址,這就出問題了

解決方法就是清除緩存就可以了
所有yum出問題就是兩個地方
1配置文件 語法出錯
2緩存文件 出錯

yum的配置文件 /etc/yum.conf
技術分享圖片
看看第一行是什麽
技術分享圖片
其實就是CPU架構和版本號,用變量寫是為了省事。
keepcache =0 下載安裝後的包會刪除 =1 就不會刪除
debuglevel=2 這個是調試 不用管
logfile=/var/log/yun.log yum方式安裝的日誌
exactarch=1 架構 不用管
obsoletes=1 架構 不用管
gpgcheck=1 相當於rpm -K 檢查包的完整性,yum是默認要檢查的 1表示拒絕安裝,=0就是忽略完整性 每通過也安裝
plugins=1 插件啟用
installonly_limit=5 並行安裝 =5代表同時安裝5個包(yum不支持一臺機器同時運行多個暈程序)
bugtracker_url=http:// bug 提示
distroverpkg=centos-release 其他 不用管
關機是最後一句話
技術分享圖片
把你的倉庫信息放在這,以一個獨立文件命名為.repo後綴的文件,
放在 /etc/yum.repos.d 下
我們cd到/etc/yum.repos.d下看看
技術分享圖片
這些文件可能用不到,我把它們放到別的地方
技術分享圖片
然後我們創建配置文件, 一定要以.repo後綴的
技術分享圖片
當然文件叫什麽都行,如果把光盤做成yum源就用base為名當然隨個人喜好,
為了學習我命名為cdrom.repo
關鍵的來了
配置文件關鍵就三行
第一行[base] 我要把光盤做成yum源所以寫base 寫別的也行但是別有空格,如[centos base] 千萬別有空格
第二行 倉庫路徑 ,倉庫可以是遠程服務器,也可以是本地光盤,我用的就是本地光盤,
我們看看光盤技術分享圖片
裏面有rpm包的Packages 重點是元數據在repodata裏
技術分享圖片
這些元數據都是壓縮文件,就不打開了
以後要寫yum的配置文件內的路徑就是repodata的父目錄
技術分享圖片
在我的虛擬機裏也就是/run/media/root/CentOS 7 x86_64
但是有空格不太好所以我建一個短的 /mnt/cdrom
把光盤掛載上就是repodata的父目錄了
技術分享圖片
回過頭
第二行 倉庫路徑 格式 支持 http:// , https://, ftp://, file://(本機路徑)
baseurl=file:///mnt/cdrom
第三行
gpgcheck=0 寫這個是為了不檢查包的完整性,系統默認是檢查完整性的,沒有導入過公鑰 就會默認全是不完整的包,=0 代表忽略完整性
就這三行,簡單方便
技術分享圖片
因為我沒有用cat 看看所以出錯了我又重新把“:” 加上的 ,小心謹慎,不然就等著 刪庫 跑路吧
技術分享圖片
然後我試了一下 因為我以前是忽略依賴性安裝的httpd 所以要刪了重裝
技術分享圖片
base從哪裏來的 就是配置文件的第一行 也就是這些包都是來自base源
有個yes /d/N 的選項 y代表下載安裝 d 下載不安裝 N 不下載
我敲鼓y
技術分享圖片
成功了 yum把依賴的包都按照了

軟件包管理 5-----基本知識 yum,配置文件