YUM倉庫構建(基於TFTP的方式)
阿新 • • 發佈:2019-02-05
level 依賴包 基礎 host 安裝軟件 iyu fast mirror 圖片 前言
本文章講述如何基於TFTP的方式搭建YUM倉庫,那麽YUM倉庫使用場景還是挺廣泛的,如果公司服務器數量較大的話,可以在本地搭建YUM倉庫,在客戶端創建repo文件指向YUM倉庫,那麽當客戶端yum安裝軟件的時候直接從本地YUM倉庫中下載rpm包,而YUM倉庫可以定時的向互聯網的repo倉庫同步rpm包
本文章講述如何基於TFTP的方式搭建YUM倉庫,那麽YUM倉庫使用場景還是挺廣泛的,如果公司服務器數量較大的話,可以在本地搭建YUM倉庫,在客戶端創建repo文件指向YUM倉庫,那麽當客戶端yum安裝軟件的時候直接從本地YUM倉庫中下載rpm包,而YUM倉庫可以定時的向互聯網的repo倉庫同步rpm包
YUM倉庫構建
本地光盤提供基礎軟件包Base
yum緩存提供update
軟件包
yum緩存提供常?軟件包:nginx,zabbix,docker,saltstack
環境準備
系統 | IP | 角色 | 主機名 |
---|---|---|---|
centos7.4 | 10.0.0.171 | yum倉庫服務端 | yum_server_171 |
centos7.4 | 10.0.0.172 | yum倉庫服務端 | yum_client_172 |
服務端配置
1.基礎環境準備
#1.關閉防火墻 [root@yum_server_171 ~]# systemctl stop firewalld [root@yum_server_171 ~]# systemctl disable firewalld #2.關閉selinux [root@yum_server_171 ~]# sed -i.ori ‘s#SELINUX=enforcing#SELINUX=disabled#g‘ /etc/selinux/config [root@yum_server_171 ~]# setenforce 0 [root@yum_server_171 ~]# getenforce Disabled #3.安裝ftp服務,啟動並加?開機啟動 [root@yum_server_171 ~]# yum install vsftpd -y [root@yum_server_171 ~]# systemctl start vsftpd [root@yum_server_171 ~]# systemctl enable vsftpd #4.開啟yum緩存功能 [root@yum_server_171 ~]# vim /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=1 debuglevel=2 .... #清理所有yum緩存 [root@yum_server_171 ~]# yum clean all
2.提供基礎的base
源
#創建一個用於存放基礎base的rpm包目錄
[root@yum_server_171 ~]# mkdir /var/ftp/centos74 -p
#掛載IOS鏡像並拷貝該鏡像中的rpm包至存放目錄
[root@yum_server_171 ~]# mount /dev/cdrom /mnt/
[root@yum_server_171 ~]# cp /mnt/Packages/*.rpm /var/ftp/centos74/
[root@yum_server_171 ~]# ls /var/ftp/centos74/ |wc -L
82
3.提供第三方源
有些軟件包需要添加對應的官方倉庫,例如zabbix,saltstack,需提前添加好對應軟件包的repo倉庫,文中我就以zabbix,saltstack演示。
#創建一個用於存放第三放源的rom包目錄
[root@yum_server_171 ~]# mkdir /var/ftp/ops -p
#添加zabbix repo源
[root@yum_server_171 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
#添加saltstack repo源
[root@yum_server_171 ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
[root@yum_server_171 ~]# sed -i "s/repo.saltstack.com/mirrors.aliyun.com\/saltstack/g" /etc/yum.repos.d/salt-latest.repo
#下載第三方rpm包
[root@yum_server_171 ~]# yum -y install nginx docker zabbix-agent zabbix-server-mysql salt-mastet salt-minion
#復制已緩存的 Nginx docker zabbix saltstack 及依賴包等,到?定義YUM倉庫?錄中
[root@yum_server_171 ~]# find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -r {} /var/ftp/ops/ \;
[root@yum_server_171 ~]# ll /var/ftp/ops/ |wc -l
99
4.安裝createrepo
並創建repo
倉庫
#安裝createrepo,用於倉庫信息的生成
[root@yum_server_171 ~]# yum -y install createrepo
#生成倉庫信息
[root@yum_server_171 ~]# createrepo /var/ftp/ops/
[root@yum_server_171 ~]# createrepo /var/ftp/centos74/
註意: 如果此倉庫每次新增軟件包則需要重新?成?次(createrepo)
5.在瀏覽器輸入ftp://10.0.0.171/
,可訪問到ftp的內容(根據實際地址為準)
客戶端使?yum源
1.備份原有倉庫
[root@yum_client_172 ~]# gzip /etc/yum.repos.d/*
2.配置並使用base
基礎源
[root@yum_client_172 ~]# vim /etc/yum.repos.d/centos7.repo
[centos74]
name=centos74_base
baseurl=ftp://10.0.0.171/centos74
gpgcheck=0
3.客戶端指向本地ops
源(第三方源)
[root@yum_client_172 ~]# vim /etc/yum.repos.d/ops.repo
[ops]
name=ops_repo
baseurl=ftp://10.0.0.171/ops
gpgcheck=0
4.生成yum緩存並查看repo倉庫列表
[root@yum_client_172 ~]# yum makecache
[root@yum_client_172 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
centos74 centos74_base 3,894
ops ops_repo 98
repolist: 3,992
5.客戶端yum安裝rpm包
[root@yum_client_172 ~]# yum install nginx -y
可以看到安裝nginx的過程中,是從我們剛剛搭建的yum倉庫中下載
YUM倉庫構建(基於TFTP的方式)