YUM倉庫服務

YUM

yum的前身是yup(yellow dog updater, yellow dog linux 的軟件更新器),藉助yum軟件倉庫,可以完成安裝、卸載、自動升級等任務,能夠自動查找並解決人品嗎包之間的依賴關係而無需管理員手動配置。

要成功的使用yum機制來更新系統軟件,需要有一個包含有各種rpm安裝包文件的軟件倉庫,提供軟件服務器成爲“源”服務器。

yum軟件倉庫通常藉助於HTTP或FTP協議來進行發佈,這樣可以面向網絡中的所有客戶端提供軟件源服務。

下面我們通過拓撲實驗來了解yum服務的運作原理:

135516273.png

在本地創建一個存放YUM源的目錄,如mkdir /yum

RHEL6光盤中的所有內容拷貝到/yum

#mount /dev/cdrom /media

#cp -rf /media/* /yum

/etc/yum.repos.d目錄下創建一個以.repo結尾的文件:

配置內容參照光盤源的YUM,此處略過

清理YUM緩存

yum clean all

驗證本地YUM安裝包

B):網絡YUM(通過FTPHTTP協議方式實現網絡YUM安裝RPM包)

Linux主機中使用YUM客戶端工具在線升級、安裝軟件時,由於受到網絡連接速度、網絡帶寬的限制,往往給用戶安裝帶來不必要的麻煩。但是如果在局域網中構建一個基於本地的YUM源服務器,則可以大大解決用戶安裝軟件速度較慢的問題

通過FTP方式:(方式1:硬盤源)

實現步驟:

YUM服務器端配置:

將RHEL6光盤中的所有內容複製到本地硬盤相關目錄下,如/var/ftp/rhel6

推薦步驟:

安裝vsftpd服務軟件包

#mkdir /var/ftp/rhel6

#mount /dev/cdrom /media

#cp /media/* /var/ftp/rhel6

啓動vsftpd服務:

service vsftpd start

chkconfig vsftpd on

在另一臺客戶端測試,首先創建repo文件指定YUM源位置

vi /etc/yum.repos.d/server.repo,注意文件的擴展名要以repo結尾,文件內容如下

[Server]

name=Red Hat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]

name=Red Hat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/HighAvailability

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LoadBalancer]

name=Red Hat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/LoadBalancer

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ResilientStorage]

name=Red Hat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/ResilientStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

驗證:在客戶端上安裝RPM包,如samba

若YUM服務器開啓了selinux功能,客戶端通過YUM安裝會失敗

解決方法1:關閉selinux功能setenforce 0

方法2:setsebool allow_ftpd_full_access on

YUM服務器開啓了防火牆,客戶端通過YUM安裝會失敗

解決方法1:關閉iptables

方法2:在INPUT規則鏈上創建允許FTP訪問的規則。

通過FTP方式:(方式2:光盤源)

YUM服務器端配置:(IP:192.168.0.2

先將RHEL6系統光盤掛載到/var/ftp/pub目錄下

確保vsftpd服務啓動

YUM客戶端配置:(IP:192.168.0.1)

在/etc/yum.repos/目錄下創建一個以.repo爲後綴的文件,內容如下:

[Server]

name=Red Hat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]

name=Red Hat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/HighAvailability

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LoadBalancer]

name=Red Hat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/LoadBalancer

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ResilientStorage]

name=Red Hat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/ResilientStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

在客戶端上測試

2、通過HTTPD方式:與ftp方式類似

()

對於用戶蒐集的非RHEL6光盤的更多其他軟件包(必須包括存在依賴關係的所有安裝文件)除了應準備相應的目錄以外,還需要手動創建repodata數據文件,這就要用到createrepo工具(RHEL6光盤中有)

RHEL6安裝光盤中Packages/目錄的RPM包爲例:

安裝createrepo工具:

createrepoa主要用於收集目錄中的rpm包文件的頭信息,以創建repodata軟件倉庫數據(經gzip壓縮的xml文件)。

mount /dev/cdrom /mnt //掛載光盤

rpm –ivh /mnt/Packages/createrepo-0.9.8-4.el6.noarch.rpm

注意:安裝createrepo包時要依賴以下兩個包:deltarpmpython-deltarpm,不能忽略這兩個包

安裝FTP服務器:

rpm -ivh /mnt/Packages/vsftpd-2……..(TAB鍵自動補齊)

配置軟件倉庫目錄:

可參考安裝光盤的Server目錄

mkdir /var/ftp/pub/Packages

mkdir /var/ftp/pub/repodata

從光盤把所有的RPM包複製到/var/ftp/pub/Packages目錄下(要確保硬盤有足夠的磁盤空間)

cp - a /mnt/Packages/* /var/ftp/pub/Packages/

創建軟件倉庫信息文件:

cd /var/ftp/pub/

createrepo --database ./

[root@server pub]# ls repodata/

filelists.sqlite.bz2 other.sqlite.bz2 primary.sqlite.bz2 repomd.xml

filelists.xml.gz other.xml.gz primary.xml.gz

可以看到已經創建好了相應的軟件倉庫信息文件

在客戶端上創建擴展名爲.repo的文件,內容參考上面的有產設置。


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