Yum 倉庫的管理和配置

           

    Yum 全稱是 (Yellow dog Updater Modified)×××狗更新 呵呵 藉助於Yum,可以更新,卸載,升級rpm 軟件包,並且他能夠自動解決rpm包之間的依賴關係。能夠讓管理人員的工作更加輕鬆自如。特別是一些擁有大量linux主機的網絡中,Yum機制顯得就格外重要。

先說說他的工作機制吧,其實Yum的配置並不是很難,主要要理解Yum的工作機制,他爲什麼能夠自動解決rpm之間的依賴關係,靠的又是什麼?

簡單的說,yum機制可有有兩大部分組成,yum的服務端和yum的客戶端。如圖

wps_clip_image-2926

Yum的客戶端:

只需要在 /etc/yum.repros.d/*.repo   有repo 爲後綴的文件來指向yum源即可(前提:物理和協議上能夠通信)

Yum 的服務器端:

Yum的服務器有可以稱爲Yum倉庫 它的構成必須有兩個條件

① 以 .rpm爲結尾的文件  也就是我們說的rpm軟件包文件。

那麼rpm包的來源可以可以分爲三類

——Red Hat發佈的RPM包集合 (就是各linux安裝光盤中的)

——第三方組織發佈的RPM包集合

——用戶自定義的RPM包集合

② 有相應的倉庫數據庫文件, 倉庫數據庫文件中就是記錄了每個rpm軟件包中的包頭信息以及各個rpm包之間的依賴關係, 這是YUM 機制的重點。

爲了大家的理解,我在這分析了一下linux6.0的光盤結構

Linux 6.0 x 32 位

HighAvailability  高可用相關軟件包,如rhcs等相關套件

Server  常規軟件包,如mysql,httpd,開發工具,系統管理工具等

LoadBalancer  負載均衡相關軟件包,如lvs,pirihan

ResilientStorage 存儲方面的軟件包

Linux 6.0 32位的光盤提供了這四個YUM倉庫 他們四個每個目錄下都有一個repodata的目錄來存放倉庫的數據庫文件 .xml的文件是索引文件。

其他結構

Packages  真正存放所有軟件包的目錄images  rhel安裝進程所需要的引導和驅動鏡像文件,

isolinux 鏡像文件引導時所需要的文件

wps_clip_image-4057

而linux6.0 x64位的光盤 提供了5個YUM倉庫

新增加了 ScalableFileSystem 可擴展的文件系統 包括 SAN ISCSI 等

wps_clip_image-15413

軟件倉庫是由若干的rpm軟件包和倉庫數據庫所組成。怎樣提供給客戶端使用那?大致也是分爲三種類型:

本地訪問file:///…… 也就是本機既是rpm倉庫, 有事yum的客戶端

FTP 訪問 ftp://……

WEB 訪問 http://……

其實也可以分爲兩類: 本地訪問 和 網絡訪問

Yum命令格式:

yum <options> <command> <package name...>

參數說明:

options: 常用的有:

-y : 如果在工作過程中如要使用者響應,這個參數可以直接回答yes

command:

list : 列出在yum server 上面有的RPM套件;若執行yum list installed則表示只列出系統中已安裝的軟件包,yum list available則表示只列出軟件倉庫中可用(尚未安裝)的軟件包,yum list update則表示列出可以升級版本的軟件包。

install: 安裝某個套件

update : 升級某個套件,如果update後面沒有接套件名稱,即更新目前主機所有已安裝的套件.

info   : 列出某個套件的詳細信息,相當於rpm -qi package內容

clean : 將已下載到本機的packages或headers移除

remove : 移除已經安裝在系統中的某個套件

yum updates 全部更新

yum updates package 更新指定程序包package

yum check-update 檢查可更新的程序

yum info <package> 顯示安裝包信息

yum list 顯示所有已經安裝和可以安裝的程序包

yum list <package> 顯示指定程序包安裝情況

yum search <keyword>查找軟件包,當需要根據某個關鍵詞來查找相關的軟件包時,可以執行yum  search 關鍵詞,默認僅根據軟件包名稱和描述信息進行搜索。若執行yum search all 關鍵詞,可以擴大搜索範圍,例如,以下將搜索軟件倉庫並列出與httpd相關的軟件包。Yum search all httpd

yum clean headers 清除header

yum clean packages 清除下載的rpm包

yum clean all 清除header與rpm包

yum grouplist ,列出所有組

yum groupinstall 安裝某個軟件組如:yum groupinstall Virtualization    安裝虛擬化

下面就以上做幾個實驗案例

先來 以本地方式 搭建yum

我用的是linux6.0

配置YUM 倉庫

掛載光盤

wps_clip_image-26621

查看

wps_clip_image-30973

倉庫數據庫目錄

wps_clip_image-21538

其他YUM 倉庫的查看略

構建YUM倉庫的條件都已經符合

下面要在/etc/yum.repos.d/ 下創建以 .repo結尾的文件指向yum倉庫

wps_clip_image-30390

內容如下

[  ]        #來指定yum倉庫的名稱 可以自定義

name=    #描述信息

baseurl=file:///        #本地訪問

ftp:// #FTP方式訪問

http:// #web訪問

enable= # 1表示啓用這個倉庫 0 表示不啓用 enable也可以是enabled

gpgcheck= # 1表示啓用校驗簽名 0 表示不校驗

gpgkey= #如上面值爲1 校驗 要指定GPG公鑰位置

如file:///etc/pki/RPM-GPG-KEY-redhat-release

如值爲0 則本行可以省略 或添加#號註釋

wps_clip_image-6053

我的配置如下

wps_clip_image-27846

驗證

wps_clip_image-4044

沒有加 -y 選項  會詢問

wps_clip_image-8427

如果要把其他的倉庫全添加上 如下

wps_clip_image-6821

下面分別是通過 ftp的方式和http的方式搭建YUM

FTP:

YUM SERVER 192.168.1.1

YUM CLIENT 192.168.1.2

Server:

  先要搭建ftp服務 並且防火牆要允許通過

wps_clip_image-4901

添加規則

wps_clip_image-29135

添加ftp模塊  vim /etc/syconfig/iptables-config

wps_clip_image-20929

重啓防火牆服務 啓動ftp

wps_clip_image-202

ftp沒有問題了  還要把yum倉庫中的文件複製到ftp的目錄中(直接掛載也行)

wps_clip_image-32518

YUM 倉庫配置完成

到192.168.1.2上面配置

先測試ftp是否能夠正常登陸

wps_clip_image-14970

這是因爲ftp客戶端軟件沒有安裝  提示找不到命令

wps_clip_image-7449

測試

wps_clip_image-20475

YUM 客戶端文件

我用scp命令把1.1上面的文件複製了過來  懶得寫了

wps_clip_image-2929

最終

wps_clip_image-14805

如果第二次使用yum安裝時提示一下錯誤

wps_clip_image-509

側是/etc/yum.repos.d/ 目錄下一定有兩個或多個.repo結尾的文件 刪除多餘的即可,也可以mv成其他後綴的名稱

wps_clip_image-17916

WEB:

總體上是擦不多的,YUM 主要的就是倉庫的配置和客戶機的配置

先192.168.1.1上面安裝web服務 注意防火牆

wps_clip_image-8520

YUM倉庫的rpm包文件和倉庫數據庫文件

wps_clip_image-25464

然後客戶端的配置

wps_clip_image-734

最後注重點一下 第三方YUM 源的問題

從網站上下載的軟件包的集合 只有rpm軟件包文件,而沒有yum倉庫數據庫文件。這時候就要用到createrepo 軟件了 他是專門用於生成yum倉庫數據文件的

用法:createrepo --database 跟rpm集合的目錄

如createrepo --database /var/other

安裝

wps_clip_image-3125

執行

wps_clip_image-11589

end

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