使用ISO鏡像構建基於FTP,HTTP的YUM源服務器

1. intruductionhtml

      yum軟件安裝方式解決了RPM安裝軟件時的依賴關係問題,它能夠同時配置多個資源庫(Repository) ,使用簡潔的配置文件/etc/yum.conflinux

yum 會自動下載所需的升級資源包並默認放在/var/cache/yum 緩存目錄中web

 

yum server:在yum server上存放了全部的RPM軟件包,而後經過命令分析每一個RPM文件的依賴性關係,將這些數據記錄成文件存放在服務器上(可經過本地目錄,HTTP,FTP,NFS等方式共享)。vim

yum client:配置好軟件源之後,當須要安裝某個軟件時,經過yum server上記錄的依賴性關係文件,從yum server自動所有下載依賴關係須要全部相關的軟件並安裝。緩存

 

YUM軟件倉庫bash

使用YUM軟件倉庫,能夠完成安裝、卸載、自動升級rpm軟件包等任務,可以自動查找並解決rpm包之間的依賴關係。特別是在擁有大量linux主機的本地網絡中,構建一臺源服務器能夠大大緩解軟件安裝、升級等對於internet的依賴服務器

YUM倉庫能夠做爲本地源,也能夠藉助FTP,HTTP協議來發布,爲面向網絡的全部客戶機提供軟件源網絡

 

Yum server源tcp

YUM源有三大類ide

Base:至關於下載光盤裏的DVD1

Extra:至關於下載光盤裏的DVD2

EpelEpel官方獲取的源

 

Yum源對應目錄裏一家有兩個重要的目錄Packagesrepodata,其中Packages上存放的是yum安裝的rpm包。repodata中包含一些.xml的文件,它是yum索引文件,包含rpm包的信息,依賴關係等,yum的自動安裝依賴於此配置文件。repomd.xml   #這個文件爲MD5校驗信息。

repodata 目錄下都有filelist ,primary ,other,  記錄軟件包文件列表。

 

那麼無論採用何種方式配置的YUM源,都會有Packages目錄和包含.xml文件的repodata目錄。不管搭建什麼樣的服務器(web,ftp,nfs,samba)只要共享的目錄對應的是可用yum源便可

 

2.基於web的YUM服務器配置

OS: RHEL6.5

hostname:www.h.com

yum install httpd

vim /etc/httpd/conf/httpd.conf

ServerName www.h.com:80

 

cat>>/etc/hosts

172.16.72.1 www.h.com   h

<<EOF

 

cat >>/etc/sysconfig/iptables <<EOF

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

<<EOF

service httpd start

 

mkdir -p /var/www/html/yum_repos/RHEL7.1

cat>>/etc/fstab<<EOF

/home/yadelph/weiyun/百度雲同步盤/software/rhel-server-7.1-x86_64-dvd.iso /var/www/html/yum_repos/RHEL7.1        iso9660,udf loop,defaults 0

EOF

mount /var/www/html/yum_repos/RHEL7.1

 

YUM客戶端配置

 

cat>>/etc/hosts

172.16.72.1 www.h.com   h

<<EOF

 

cat>>/etc/yum.repos.d/rhel7.1.repo<<EOF

[RHEL7.1]

name=RHEL7.1

baseurl=http://www.h.com/yum_repos/RHEL7.1

enabled=1

gpgcheck=0

priority=1

<<EOF

 

yum repolist 測試YUM服務器源配置成功

 

3.基於FTP的YUM服務器配置

OS: RHEL6.5

hostname:h.ade.com

yum -y install vsftpd

iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT

service iptables save

service vsftpd start

mkdir /var/ftp/pub/RHEL7.1

 

cat >>/etc/fstab<<EOF

/var/www/html/yum_repos/RHEL7.1 /var/ftp/pub/RHEL7.1          none         rw,bind        0 0

<<EOF

mount /var/ftp/pub/RHEL7.1

 

YUM客戶端配置

cat>>/etc/hosts

172.16.72.1 h.ade.com   h

<<EOF

 

cat>>/etc/yum.repos.d/rhel7.1ftp.repo<<EOF

[RHEL7.1ftp]

name=RHEL7.1 FTP

baseurl=ftp://h.ade.com/pub/RHEL7.1

enabled=1

gpgcheck=0

priority=1

<<EOF

 

yum repolist 測試成功

 

 

4.基於掛載光驅DVD或者ISO鏡像配置本地YUM源

mount  -t  iso9660  -o  loop /home/yadelph/weiyun/百度雲同步盤/software/rhel-server-6.6-x86_64-dvd.iso  /mnt/RHEL6.6

(/mnt/RHEL6.6 也能夠是包含DVD源的光驅的掛載點)

 

若是須要開機即掛載此ISO鏡像,能夠用以下方法實現

cat>>/etc/fstab<<EOF

/home/yadelph/weiyun/百度雲同步盤/software/rhel-server-6.6-x86_64-dvd.iso /mnt/RHEL6.6        iso9660,udf loop,defaults 0 0

<<EOF

 

cat /etc/yum.repos.d/RHEL6.6DVD.repo

[RHEL6.6DVD]

name = RHEL6.6 DVD

baseurl=file:///mnt/RHEL6.6

#failovermethod = priority

#gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-releas

enabled = 1

#mirrorlist = https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

gpgcheck = 1

 

yum repolist 測試

 

 

5.使用rpm包建立自定義的yum源

如今的系統ISO鏡像就是已經建立好的源,以前搭建的yum server源只是將ISO做爲yum源使用服務器共享出去。若是要使用本身特定的rpm 包建立yum源就要使用

 

以利用RHEL7.1中的bash包升級RHEL7.0系統中的bash爲例

mkdir /var/ftp/pub/Packages

cd /var/ftp/pub/RHEL7.1/Packages

cp bash-4.2.46-12.el7.x86_64.rpm /var/ftp/pub/Packages

cd  /var/ftp/pub/Packages

createrepo .

[root@h Packages]# ll

total 1016

-r--r--r-- 1 root root 1033616 Mar 15 13:12 bash-4.2.46-12.el7.x86_64.rpm

drwxr-xr-x 2 root root    4096 Mar 15 13:13 repodata

 

YUM客戶端配置

[root@primary yum.repos.d]# cat rhel7.1.my.repo

[RHEL7.1my]

name=my packages from RHEL7.1

baseurl=ftp://h.ade.com/pub/Packages

enabled=1

gpgcheck=0

#priority=1

 

yum repolist 測試成功

 

[root@primary ~]# bash --version | head -1

GNU bash, version 4.2.45(1)-release (x86_64-redhat-linux-gnu)

 

yum update bash

 

[root@primary ~]# bash --version | head -1

GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)

相關文章
相關標籤/搜索