一、环境准备
挂载iso的镜像文件在CD/DVD驱动器上,或者上传iso镜像文件至服务器上(需要进行额外的操作)
二、手动配置本地源
创建本地源文件夹:
mkdir -p /media/iso/
挂载镜像文件至指定的目录。
mount /dev/cdrom /media/iso
配置永久挂载
echo "/dev/loop0 /media/iso iso9660 defaults 0 0" >> /etc/fstab
备份原本地源。
cp -rf /etc/yum.repos.d /etc/yum.repos.d_$(date '+%Y%m%d_%H%M%S')
删除默认原本地源。
rm -rf /etc/yum.repos.d/*
配置本地源,创建local.repo文件。
vi /etc/yum.repos.d/local.repo
配置如下内容:
[iso]
name=Media
baseurl=file:///media/iso/
gpgcheck=0
enabled=1
按ESC。输入:wq保存完成编写,且完成本地源的配置。
加载本地yum源&测试
清除yum缓存
yum clean all
缓存本地yum源
yum makecache
测试yum本地源
yum list
三、脚本配置本地源
找个目录,创建脚本文件:
本人以/root/目录为例
vi /root/auto_source.sh
编写如下内容:
#!/bin/bash
# 创建本地源文件夹
mkdir -p /media/centos/
# 挂载镜像文件至指定的目录
mount /dev/cdrom /media/centos
# 备份原本地源
cp -rf /etc/yum.repos.d /etc/yum.repos.d_$(date '+%Y%m%d_%H%M%S')
# 删除默认原本地源
rm -rf /etc/yum.repos.d/*
# 配置本地源,创建Media.repo文件,并配置如下内容
cd /etc/yum.repos.d/
>local.repo
echo '[iso]' >> local.repo
echo 'name=Local' >> local.repo
echo 'baseurl=file:///media/centos/' >> local.repo
echo 'gpgcheck=0' >> local.repo
echo 'enabled=1' >> local.repo
# 清除yum缓存
yum clean all
# 缓存本地yum源
yum makecache
按ESC。输入:wq保存,完成镜像本地源的脚本文件的编写
赋予脚本可执行的权限
chmod +x /root/auto_source.sh
执行脚本文件,即可
/root/auto_source.sh
四、通过NGINX实现内网共享yum源
在conf/conf.d
目录下新建配置文件yum_share.conf
配置文件内容如下:
[root@vm-CentOS75-1-210 conf]# cat conf.d/yum_share.conf
server {
listen 8888;
listen [::]:8888;
server_name localhost;
location / {
root /media/centos;
}
}
[root@vm-CentOS75-1-210 conf]# cat nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
注:此NGINX为容器部署,本地部署配置文件可能会有改动
修改其他服务器上的本地yum配置
[root@localhost~]# vi /etc/yum.repos.d/local.repo
[base-local]
name=Local
baseurl=http://IP:8888/
enabled=1
gpgcheck=0
清除yum缓存
yum clean all
缓存本地yum源
yum makecache
测试yum本地源
yum list