1、光盘镜像-搭建本地yum仓库
1.1、光盘镜像挂载
mount /dev/cdrom /mnt/
]# ls /mnt/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
1.2、备份repo数据
备份前先安装:yum-config-manager命令工具包
yum install yum-utils -y
gzip /etc/yum.repos.d/*
linux ~]# ll /etc/yum.repos.d
-rw-r--r-- 1 root root 601 Aug 4 2022 CentOS-Base.repo.gz
-rw-r--r-- 1 root root 256 Aug 4 2022 epel-7.repo.gz
-rw-r--r-- 1 root root 117 Apr 21 11:47 nginx.repo.gz
1.3、方法1:使用 yum-config-manager 命令可快速添加一个本地仓库
yum-config-manager --add-repo="file:///mnt"
#] cat /etc/yum.repos.d/mnt.repo
[mnt]
name=added from: file:///mnt
baseurl=file:///mnt
enabled=1
1.4、方法2:手动配置
cat >/etc/yum.repos.d/mnt.repo <<'EOF'
[cdrom]
name=local cdrom
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF
1.5、重新生成缓存
2、FTP-搭建企业私有仓库
2.1、基础
2.1.1、背景
很多时候不仅仅是一台机器无法上网,而是很多机器都无法上网,但都有联网下载软件的需求,这个时候难道每台机器都挂在光盘吗,当然可以,但如果软件出现了更新又该怎么办。所以我们需要构建一个企业级的yum仓库,为多台客户端提供服务。
2.1.2、私有仓库流程图

2.2、环境准备
2.2.1、主机信息
系统 IP 角色
centos7 192.168.10.15 yum仓库服务端
centos7 192.168.10.35 yum仓库客户端
2.2.2、关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.3、vsftp
2.3.1、安装
2.3.2、启动服务
systemctl start vsftpd
systemctl enable vsftpd
~]# netstat -tunlp | grep ftp
tcp6 0 0 :::21 :::* LISTEN 33972/vsftpd
2.4、yum仓库配置
2.4.1、复制rpm包
# 创建ftp目录
mkdir /var/ftp/centos7
#挂载光盘
mount /dev/cdrom /mnt
# 复制rpm包
cp -rp /mnt/Packages/*.rpm /var/ftp/centos7/
2.4.2、生成仓库索引
# centos7
createrepo /var/ftp/centos7/
2.5、yum客户端配置
2.5.1、方法1:yum-config-manager
yum-config-manager --add-repo="ftp://192.168.10.15/centos7"
2.5.2、方法2:手动配置
cat >/etc/yum.repos.d/centos7.repo <<'EOF'
[centos7]
name=added from: ftp://192.168.10.15/centos7
baseurl=ftp://192.168.10.15/centos7
enabled=1
gpgcheck=0
EOF
2.5.3、测试安装
2.6、增加zabbix私有仓库
2.6.1、编写下载rpm脚本
cat >get_rpm.sh<<'EOF'
#!/usr/bin/bash
# 获取软件包名称
web_site="https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.4/rhel/7/x86_64/"
pkg_name=$(curl -s ${web_site} | grep "<a" | awk -F '"' '{print $4}'| grep -Ev 'debuginfo|repodata')
rpm_dir=/var/ftp/zabbix
for i in ${pkg_name}
do
if [ ! -d ${rpm_dir} ];then
mkdir -p ${rpm_dir}
fi
wget --no-check-certificate -O /${rpm_dir}/${i} ${web_site}/${i}
done
EOF
2.6.2、下载结果
]# ll /var/ftp/zabbix/
-rw-r--r-- 1 root root 5625164 Mar 7 00:34 zabbix-agent2-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 5728552 Apr 3 15:26 zabbix-agent2-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 3440440 Mar 7 02:01 zabbix-agent2-plugin-mongodb-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 2779484 Mar 7 02:02 zabbix-agent2-plugin-postgresql-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 555128 Mar 7 00:34 zabbix-agent-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 562244 Apr 3 15:26 zabbix-agent-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 380332 Mar 7 00:34 zabbix-get-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 384640 Apr 3 15:26 zabbix-get-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 990464 Mar 7 00:34 zabbix-java-gateway-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 993084 Apr 3 15:26 zabbix-java-gateway-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 582636 Mar 7 00:34 zabbix-js-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 579304 Apr 3 15:26 zabbix-js-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 1455988 Mar 7 00:34 zabbix-proxy-mysql-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 1498380 Apr 3 15:26 zabbix-proxy-mysql-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 1457292 Mar 7 00:34 zabbix-proxy-pgsql-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 1498936 Apr 3 15:26 zabbix-proxy-pgsql-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 1335052 Mar 7 00:34 zabbix-proxy-sqlite3-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 1367068 Apr 3 15:26 zabbix-proxy-sqlite3-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 15300 Mar 7 00:20 zabbix-release-6.4-1.el7.noarch.rpm
-rw-r--r-- 1 root root 15300 Mar 7 00:20 zabbix-release-latest.el7.noarch.rpm
-rw-r--r-- 1 root root 303928 Mar 7 00:34 zabbix-selinux-policy-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 306536 Apr 3 15:26 zabbix-selinux-policy-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 421280 Mar 7 00:34 zabbix-sender-6.4.0-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 428028 Apr 3 15:26 zabbix-sender-6.4.1-release1.el7.x86_64.rpm
-rw-r--r-- 1 root root 338360 Mar 7 00:34 zabbix-sql-scripts-6.4.0-release1.el7.noarch.rpm
-rw-r--r-- 1 root root 340976 Apr 3 15:26 zabbix-sql-scripts-6.4.1-release1.el7.noarch.rpm
2.6.3、创建仓库索引
createrepo /var/ftp/zabbix/
2.6.4、客户端增加仓库
cat >/etc/yum.repos.d/zabbix.repo <<'EOF'
[zabbix]
name=added from: ftp://192.168.10.15/zabbix
baseurl=ftp://192.168.10.15/zabbix
enabled=1
gpgcheck=0
EOF
2.6.5、客户端查看是否有zabbix仓库软件
~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
centos7 added from: ftp://192.168.10.15/centos7 4,070
zabbix added from: ftp://192.168.10.15/zabbix
~]# yum list | grep zabbix
zabbix-agent.x86_64 6.4.1-release1.el7 zabbix
zabbix-agent2.x86_64 6.4.1-release1.el7 zabbix
zabbix-agent2-plugin-mongodb.x86_64 6.4.0-release1.el7 zabbix
zabbix-agent2-plugin-postgresql.x86_64 6.4.0-release1.el7 zabbix
zabbix-get.x86_64 6.4.1-release1.el7 zabbix
zabbix-java-gateway.x86_64 6.4.1-release1.el7 zabbix
zabbix-js.x86_64 6.4.1-release1.el7 zabbix
zabbix-proxy-mysql.x86_64 6.4.1-release1.el7 zabbix
zabbix-proxy-pgsql.x86_64 6.4.1-release1.el7 zabbix
zabbix-proxy-sqlite3.x86_64 6.4.1-release1.el7 zabbix
zabbix-release.noarch 6.4-1.el7 zabbix
zabbix-selinux-policy.x86_64 6.4.1-release1.el7 zabbix
zabbix-sender.x86_64 6.4.1-release1.el7 zabbix
zabbix-sql-scripts.noarch 6.4.1-release1.el7 zabbix