YUM倉庫應用

YUM倉庫的建立

YUM倉庫是採用C/S架構的,也就是簡單的客戶端服務端價架構,YUM repository一個很好的例子就是CentOS的安裝光盤.

我們分別來看看服務端和客戶端

服務端包括數據和元數據

數據指的就是所有可以安裝的rpm包,他們通常保存在Packages文件夾裏面

元數據就是這個服務端yum 倉庫的屬性,他們一般是由.sqlite.bz2(對於CentOS67)結尾的壓縮文件,保存在repodata文件夾裏面

下圖顯示的是在centos安裝光盤的根目錄下,packagerpm安裝文件所在目錄,repodata爲元數據文件所在目錄

wKiom1WjUh-Q_GRZAALevPVHm8Y891.jpg

由此可以得知包含repodata的目錄就是YUM repository

 

客戶端

YUMrepository 的主配置文件是/etc/yum.conf

wKioL1WjVAbThJRPAADeWK8Yxwg084.jpg

這個文件包含了所有repository的集中配置。

其中需要注意的是cachedir=這行,顯示從repository cache的元文件和安裝文件存放路徑。

Keepcache這一行如果值是1,表示要保存安裝文件和元文件,0爲不用保留.

 

一個YUM repository從客戶端的角度來看就是一個倉庫(base)base按不同用途大概有,base,updates, extra, eepel等等. 客戶端要鏈接到不同的倉庫,需要配置相應的文件,文件的目錄在/etc/yum.repos.d/repo結尾的文件,下圖是一個系統自帶的倉庫默認配置文件/etc/yum.repo.d/CentOS-Base.repo

wKiom1WjUjqx10ORAAImAnyGPKE125.jpg

下面我們來詳細分析下下圖各個選項的含義

[base]這個就是這個要鏈接到的倉庫的名,也就是repo id,這個id在一臺機器要是唯一的

name:倉庫別名可以不唯一,也叫 repo name

baseurl:指定倉庫所在的文件,也就是repodata所有的目錄, 這個可以是網絡路徑(http://,ftp://nfs://)或本地路徑(file///),還可以直接執行多個路徑,需要新起一行,以空白開頭.

Mirrorlist:指向一個baseurl文件.

gpgcheck=是否要做完整性校驗,0爲否,1爲做

gpkey:指定完整性校驗所需要的公鑰路徑

還有一個就是enabled=10,這個如果沒有默認爲1,作用是,是否開啓這個鏈接.

一些變量的解釋:

$releasever:當前程序的版本號如5,6或者7

$basearch:當前系統價格x86_64或者i386

有了這些變量我們就可以根據當前系統來選擇與之相對應的庫鏈接

下圖是個荔枝,文件/etc/yum.repos.d/cdrepo.repo如果我們指向個光盤的庫

wKiom1WjUkfSqgomAAAtKMN9dEw540.jpg

 

一些需要常用命令:

yumrepolist 所以鏈接的庫

wKioL1WjVCmz32v2AAGav0mvJW8028.jpg

 

yuminfo 包名:列出安裝包詳細信息

yumprovides 文件名:查看這個文件是由那個安裝包產生的

例如: yum info htop

yuminstall 包名:安裝包

yumreinsntall 包名:重新安裝包

yumremove 包名:卸載包,需要注意的是,所有相關的其他程序也會隨之卸載



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章