在進行現網環境搭建的時候,絕大多數狀況下,centos或redhat(如下以centos爲例)服務器是跟公網隔離的,所以須要找一臺服務器掛載本身的yum源。html
離線yum源能夠從官網下載鏡像文件直接用(具體怎麼用下面會介紹),也能夠本身下載rpm包後本身製做。python
既然是製做yum源,固然是但願鏡像文件內包含的包越全越好,所以從官網下載時,儘可能下載「Everything ISO」,另一個「DVD ISO」是通用版,裏面的包並不全,還有一個「Minimal ISO」就更不用說了,是centos最小安裝版(至關因而windows的純淨系統)。centos
7版本的「Everything ISO」鏡像下載地址以下(自行選擇鏡像服務器和下載的系統版本):
http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1511.iso
下載的文件名示例:CentOS-7-x86_64-Everything-1511.isovim
若是已經下載好了rpm包,能夠自行製做一個yum源(yum倉庫)。將下載的rpm包上傳到centos服務器上(好比/data/rpm目錄下),而後進入存放rpm包的目錄,執行如下命令:windows
# createrepo .
這樣,rpm包存放的目錄就能夠做爲yum源目錄使用了(後面說明如何使用),能夠將這個目錄打包後,放到其餘地方也可使用。
如上例打包 : cd /data;tar -zcvf rpm.tar.gz rpm/
【注】:若是提示找不到createrepo命令,可使用yum install createrepo安裝該程序。若是沒法聯網安裝,須要自行到網上下載rpm包安裝,尤爲是還要下載一些依賴包,例如createrepo-0.9.9-23.el7.noarch版本就依賴於如下包:centos
[root@hps105 test]# yum deplist createrepo-0.9.9-23.el7.noarch
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirror01.idc.hinet.net
* extras: mirrors.btte.net
* updates: mirrors.163.com
package: createrepo.noarch 0.9.9-23.el7
dependency: /bin/sh
provider: bash.x86_64 4.2.46-19.el7
dependency: /usr/bin/python
provider: python.x86_64 2.7.5-34.el7
dependency: deltarpm
provider: deltarpm.x86_64 3.6-3.el7
dependency: libxml2-python
provider: libxml2-python.x86_64 2.9.1-6.el7_2.2
dependency: pyliblzma
provider: pyliblzma.x86_64 0.5.3-11.el7
dependency: python >= 2.1
provider: python.x86_64 2.7.5-34.el7
dependency: python(abi) = 2.7
provider: python.x86_64 2.7.5-34.el7
dependency: python-deltarpm
provider: python-deltarpm.x86_64 3.6-3.el7
dependency: rpm >= 4.1.1
provider: rpm.x86_64 4.11.3-17.el7
dependency: rpm-python
provider: rpm-python.x86_64 4.11.3-17.el7
dependency: yum >= 3.4.3-4
provider: yum.noarch 3.4.3-132.el7.centos.0.1
dependency: yum-metadata-parser
provider: yum-metadata-parser.x86_64 1.1.4-10.el7
如上例,下載好ISO鏡像,或者是建立好rpm的包(如上例,即rpm.tar.gz)以後,就是如何使用這些包建立離線yum源(即離線yum倉庫)了。bash
使用iso文件製做yum源,須要先掛載,而後才能使用。
一、將iso文件上傳(假設上傳到/data目錄下);
二、建立掛載目錄:服務器
# mkdir -p /data/iso
三、掛載iso文件:markdown
# cd /data
# mount -o loop -t iso9660 CentOS-7-x86_64-Everything-1511.iso /data/iso
四、配置yumide
# cd /etc/yum.repos.d/
# mkdir bak
# mv *repo bak/
# vim local.repo
local.repo文件內容以下:oop
[iso]
name=CentOS-7-x86_64-Everything-iso
baseurl=file:///data/iso
gpgcheck=0
enabled=1
五、而後驗證便可:
# yum clean all
# yum makecache
看是否有報錯。
如上例,若是是自行製做的rpm.tar.gz文件,直接解壓後配置一下便可。
一、上傳rpm.tar.gz文件(假設上傳到/data下);
二、解壓
# cd /data
# tar -zxvf rpm.tar.gz -C /data/rpm
三、配置yum
# cd /etc/yum.repos.d/
# mkdir bak
# mv *repo bak/
# vim local_rpm.repo
local_rpm.repo文件內容以下:
[rpm]
name=rpm_package
baseurl=file:///data/rpm
gpgcheck=0
enabled=1
四、而後驗證便可:
# yum clean all
# yum makecache
看是否有報錯。
上述步驟及配置,都只能在本地使用離線yum倉庫,若是但願其餘服務器(例如10.1.245.102)也能使用該服務器(例如10.1.245.105)的離線yum倉庫,就須要在該服務器上經過http服務或者是ftp服務將yum倉庫共享出去,這裏提供的方法是http方式。
注:這裏提供的http方式須要佔用80端口,其餘服務器也不能將這個端口防火牆過濾掉。
一、搭建http服務器(按上例10.1.245.105,若是已搭建,能夠繼續下一步)
# yum install -y httpd
# systemctl enable httpd
# systemctl start httpd
注:若是沒法經過yum方式安裝,請依次下載如下包進行安裝(centos7.0系統爲例):
# rpm -ivh apr-1.4.8-3.el7.x86_64.rpm
# rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm
# rpm -ivh httpd-tools-2.4.6-31.el7.x86_64.rpm
# rpm -ivh mailcap-2.1.41-2.el7.noarch.rpm
# rpm -ivh httpd-2.4.6-31.el7.x86_64.rpm
# systemctl enable httpd
# systemctl start httpd
二、按照如上方式啓動的httpd服務,佔用端口80,默認訪問路徑是/var/www/html/,所以須要將上例中建立的/data/rpm、/data/iso目錄作個軟鏈接到這個目錄下:
# mkdir -p /var/www/html/
# ln -s /data/rpm /var/www/html/rpm
# ln -s /data/iso /var/www/html/iso
三、在其餘服務器(按上例,即10.1.245.102)上配置yum源:
# cd /etc/yum.repos.d/
# mkdir bak
# mv *repo bak/
# vim http.repo
http.repo文件內容以下:
[http_iso]
name=iso_105
baseurl=http://10.1.245.105/iso
gpgcheck=0
enabled=1[http_rpm]
name=rpm_105
baseurl=http://10.1.245.105/rpm
gpgcheck=0
enabled=1
四、而後驗證便可:
# yum clean all
# yum makecache
看是否有報錯。