1. 程式人生 > >離線yum源掛載及yum伺服器搭建--轉載

離線yum源掛載及yum伺服器搭建--轉載

版權宣告:歡迎轉載分享! https://blog.csdn.net/huangjin0507/article/details/51351807
在進行現網環境搭建的時候,絕大多數情況下,centos或redhat(以下以centos為例)伺服器是跟公網隔離的,因此需要找一臺伺服器掛載自己的yum源。

一、離線yum源包的製作
離線yum源可以從官網下載映象檔案直接用(具體怎麼用下面會介紹),也可以自己下載rpm包後自己製作。

1、從官網下載映象檔案
既然是製作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.iso

2、自行下載rpm包製作
如果已經下載好了rpm包,可以自行製作一個yum源(yum倉庫)。將下載的rpm包上傳到centos伺服器上(比如/data/rpm目錄下),然後進入存放rpm包的目錄,執行以下命令:

createrepo .

1
這樣,rpm包存放的目錄就可以作為yum源目錄使用了(後面說明如何使用),可以將這個目錄打包後,放到其他地方也可以使用。
如上例打包 : cd /data;tar -zcvf rpm.tar.gz rpm/
【注】:如果提示找不到createrepo命令,可以使用yum install createrepo安裝該程式。如果無法聯網安裝,需要自行到網上下載rpm包安裝,尤其是還要下載一些依賴包,例如createrepo-0.9.9-23.el7.noarch版本就依賴於以下包:

[[email protected] 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

二、離線yum源的配置
如上例,下載好ISO映象,或者是建立好rpm的包(如上例,即rpm.tar.gz)之後,就是如何使用這些包建立離線yum源(即離線yum倉庫)了。

1、系統ISO映象檔案
使用iso檔案製作yum源,需要先掛載,然後才能使用。
1、將iso檔案上傳(假設上傳到/data目錄下);
2、建立掛載目錄:

mkdir -p /data/iso

1
3、掛載iso檔案:

cd /data

mount -o loop -t iso9660 CentOS-7-x86_64-Everything-1511.iso /data/iso

1
2
4、配置yum

cd /etc/yum.repos.d/

mkdir bak

mv *repo bak/

vim local.repo

local.repo檔案內容如下:

[iso]
name=CentOS-7-x86_64-Everything-iso
baseurl=file:///data/iso
gpgcheck=0
enabled=1

5、然後驗證即可:

yum clean all

yum makecache

1
2
看是否有報錯。

2、自行製作的yum倉庫
如上例,如果是自行製作的rpm.tar.gz檔案,直接解壓後配置一下即可。
1、上傳rpm.tar.gz檔案(假設上傳到/data下);
2、解壓

cd /data

tar -zxvf rpm.tar.gz -C /data/rpm

1
2
3、配置yum

cd /etc/yum.repos.d/

mkdir bak

mv *repo bak/

vim local_rpm.repo

1
2
3
4
local_rpm.repo檔案內容如下:

[rpm]
name=rpm_package
baseurl=file:///data/rpm
gpgcheck=0
enabled=1

4、然後驗證即可:

yum clean all

yum makecache

1
2
看是否有報錯。

三、yum伺服器搭建
上述步驟及配置,都只能在本地使用離線yum倉庫,如果希望其他伺服器(例如10.1.245.102)也能使用該伺服器(例如10.1.245.105)的離線yum倉庫,就需要在該伺服器上通過http服務或者是ftp服務將yum倉庫共享出去,這裡提供的方法是http方式。
注:這裡提供的http方式需要佔用80埠,其他伺服器也不能將這個埠防火牆過濾掉。
1、搭建http伺服器(按上例10.1.245.105,如果已搭建,可以繼續下一步)

yum install -y httpd

systemctl enable httpd

systemctl start httpd

1
2
3
注:如果無法通過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

1
2
3
4
5
6
7
2、按照如上方式啟動的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

1
2
3
3、在其他伺服器(按上例,即10.1.245.102)上配置yum源:

cd /etc/yum.repos.d/

mkdir bak

mv *repo bak/

vim http.repo

1
2
3
4
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

4、然後驗證即可:

yum clean all

yum makecache

1
2
看是否有報錯。

作者:huangmr0610
來源:CSDN
原文:https://blog.csdn.net/huangjin0507/article/details/51351807
版權宣告:本文為博主原創文章,轉載請附上博文連結!