操作系统CentOS7已经于2024年6月30号停止维护,之前官方yum源比如mirrorlist.centos.org 已经不可用了,如下图:
配置过程
一, 备份之前的repo文件
cd /etc/yum.repos.d/
mkdir backup
mv CentOS-* backup/
二,下载服务器常用的repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
...
三,安装建库所需工具
yum install -y yum-utils device-mapper-persistent-data lvm2 createrepo
四,使用reposync下载仓库
reposync -r elastic-8.x -p /yum
reposync -r epel -p /yum
reposync -r extras -p /yum
reposync -r mysql-5.7-community -p /yum
reposync -r mysql-connectors-community -p /yum
reposync -r mysql-tools-community -p /yum
reposync -r updates -p /yum
reposync -r updates -p /yum
base的话用镜像文件来下载,因为我内网服务器系统都是用centos7.8装的,所以这里这样操作
mount -o loop /opt/CentOS-7.8-x86_64-DVD-2003.iso /mnt
mkdir -p /yum/base/Packages
cp /mnt/Packages/* /yum/base/Packages
五,创建repodata仓库,生成仓库信息
createrepo /yum/elastic-8.x
createrepo /yum/epel
createrepo /yum/extras
createrepo /yum/mysql-5.7-community
createrepo /yum/mysql-connectors-community
createrepo /yum/mysql-tools-community
createrepo /yum/updates
createrepo /yum/zabbix
六,生成GPG签名秘钥
gpg --gen-key
gpg --list-keys
gpg --armor --export 8EEB2867 > RPM-GPG-KEY-qiyu
cp RPM-GPG-KEY-qiyu /etc/pki/rpm-gpg/
七,签署RPM包
yum install -y rpm-sign
rpm --addsign
cd /yum
find . -type f -name "*.rpm" |xargs rpm --addsign
createrepo --update /yum/elastic-8.x
createrepo --update /yum/epel
createrepo --update /yum/extras
createrepo --update /yum/mysql-5.7-community
createrepo --update /yum/mysql-connectors-community
createrepo --update /yum/mysql-tools-community
createrepo --update /yum/updates
createrepo --update /yum/zabbix
八,安装nginx
yum clean all
yum makecache
yum install nginx -y
九,配置nginx
mv /etc/nginx/nginx.conf.bak /etc/nginx/nginx.conf
vi /etc/nginx/nginx.conf
....
server {
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
listen 80 default_server;
listen [::]:80 default_server;
server_name yum;
root /yum;
}
systemctl restart nginx
十,替换repo文件
cat > /etc/yum.repos.d/centos7.repo << EOF
[base]
name=CentOS-$releasever - Base
baseurl=http://10.10.10.249/base
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qiyu
[epel]
name=epel
baseurl=http://10.10.10.249/epel
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qiyu
[extras]
name=extras
baseurl=http://10.10.10.249/extras
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qiyu
[updates]
name=updates
baseurl=http://10.10.10.249/updates
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qiyu
[zabbix]
name=zabbix
baseurl=http://10.10.10.249/zabbix
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qiyu
[mysql-5.7-community]
name=mysql-5.7-community
baseurl=http://10.10.10.249/mysql-5.7-community
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qiyu
[mysql-connectors-community]
name=mysql-connectors-community
baseurl=http://10.10.10.249/mysql-connectors-community
enabled=1
gpgcheck=0
[mysql-tools-community]
name=mysql-tools-community
baseurl=http://10.10.10.249/mysql-tools-community
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qiyu
EOF
至此完成搭建工作, 新加的机器直接使用 centos7.repo 这个repo文件即可