文章目录
- 一 需求
- 二 搭建环境准备
- 三 服务端
- 1 创建镜像存放目录与挂载目录
- 2 上传centos7镜像
- 3 对镜像文件进行挂载
- 4 配置本地yum源
- 5 对挂载点建立软链接
- 6 安装http服务
- 7 浏览器验证http服务是否正常启动
- 四 客户端
- 1 修改yum配置文件
- 2 查看yum源
一 需求
公司集群架构中,内部服务器出于安全考虑,不允许访问外网,无法直接从外网的开源镜像中直接yum
安装软件。
因此需要将yum
源搭建在本地的一台服务器上,其他服务器通过内网访问该服务器,即可yum
安装软件。
服务端IP:10.0.0.10
在本地安装centos7
的镜像,作为其他服务器的yum
镜像源。
客户端IP:10.0.0.11
通过修改/etc/yum.repos.d/Centos-Base.repo
,将服务端设置为新的yum
源。
二 搭建环境准备
服务端主机名:master
客户端主机名:node1
关闭两台服务器的防火墙:
systemctl stop fireewalld
systemctl disable fireewalld
systemctl status fireewalld
将SELINUX安全策略关闭:
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
setenforce 0
getenforce
三 服务端
1 创建镜像存放目录与挂载目录
首先创建一个镜像文件的存放目录
mkdir -p /yum
再创建一个挂载点
mkdir -p /mnt/cdrom
2 上传centos7镜像
将镜像文件上传至/yum
目录下。
由于镜像文件很大,如果传输速度很慢,可以在 Windows 上安装 xftp 软件,然后打开创建会话。
具体的安装步骤此处不作详细讲解,但注意选择正确的协议和端口号,否则无法连接。
接着就可以直接拖动文件,在Linux和Windows间相互传输。
3 对镜像文件进行挂载
首先查看笔者上传的 centos7 的镜像文件。
[root@master ~]# ll /yum/
total 4389888
-rw-r--r-- 1 root root 4495245312 Dec 9 09:39 rhel-server-7.6-x86_64-dvd.iso
其次输入挂载命令。
[root@master ~]# mount -o loop /yum/rhel-server-7.6-x86_64-dvd.iso /mnt/cdrom
mount: /dev/loop0 is write-protected, mounting read-only
最后检查一下,挂载是否成功。
[root@master yum.repos.d]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 19G 8.7G 9.7G 48% /
devtmpfs 470M 0 470M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 8.0M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 197M 143M 55M 73% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/loop0 4.2G 4.2G 0 100% /mnt/cdrom
4 配置本地yum源
首先备份原有的镜像文件。
[root@master ~]# cd /etc/yum.repos.d/
[root@master yum.repos.d]# ls
CentOS-Base.repo epel.repo redhat.repo
[root@master yum.repos.d]# mkdir bak
[root@master yum.repos.d]# mv *.repo bak/
[root@master yum.repos.d]# ll
total 0
drwxr-xr-x 2 root root 66 Dec 9 15:30 bak
然后配置本地的yum源。
[root@master yum.repos.d]# cat base.repo
[base]
name=centos base
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
此处的baseurl
后面的内容是file://
+挂载点的绝对路径
。
参数gpgcheck=0
是在 yum 安装时不检查数字签名是否被纂改。
参数enabled=1
是启用此 yum 配置。
5 对挂载点建立软链接
[root@master yum.repos.d]# mkdir -p /var/www/html/centos
[root@master yum.repos.d]# ln -s /mnt/cdrom/ /var/www/html/centos
6 安装http服务
yum install -y httpd
systemctl start httpd
systemctl enable httpd
systemctl status httpd
7 浏览器验证http服务是否正常启动
在本机浏览器的URL栏里输入自己的IP,查看是否启动了Apache
服务。
然后以自己的IP/centos
格式输入,能否打开镜像文件。
说明 http 服务正常运行。
另外,我们清理一下本地的缓存。
yum clean all
yum makecache
然后查看一下本地的yum源。
[root@master cdrom]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos
repo id repo name status
base centos base 5,152
repolist: 5,152
四 客户端
1 修改yum配置文件
先备份相关的镜像文件。
[root@node1 yum.repos.d]# mkdir bak
[root@node1 yum.repos.d]# mv *.repo bak/
[root@node1 yum.repos.d]# ll
total 0
drwxr-xr-x 2 root root 66 Dec 9 15:52 bak
然后编写yum配置文件。
[root@node1 yum.repos.d]# cat base.repo
[base]
name=base yum
baseurl=http://10.0.0.10/centos
gpgcheck=0
enabled=1
注意,此处的baseurl
后面的IP是配置yum源的服务器IP,通过局域网,我们可以访问该页面。
2 查看yum源
首先清理缓存,再查看镜像配置文件。
yum clean all
yum makecache
yum repolist
通过执行命令,结果如下:
[root@node1 yum.repos.d]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos
repo id repo name status
base base yum 5,152
repolist: 5,152
通过两个repolist: 5,152
数字的比较,我们可以发现两台主机的yum源配置是相同的。