1.前言
为了服务器的安全,核心服务区的机器都不能连接互联网,因此在安装一些软件时就比较麻烦,需要下载安装包再安装,而有时依赖包过多,离线安装就很繁琐,因此找到了一个便捷的模式,配置离线yum源,这样大部分软件就能使用yum安装了
2.挂载yum
2.1下载系统对应版本的yum源镜像
官方地址,进去选择版本即可 https://wiki.centos.org/Download
centos查看系统版本命令 cat /etc/redhat-release
我的系统版本是7.6,从7.6点进去,按照目录点进去 http://vault.centos.org/7.6.1810/isos/x86_64/然后选择everything的包下载,操作步骤如下图
2.2将yum源上传到服务器
文件还是很大的10G,慢慢传送,windows下有一个ssh的软件,界面不怎么样但是传文件还是挺快的,比xshell的rz命令块10倍,如果不幸的你用的是mac就装个虚拟机吧,我就是这么干的
2.3关闭系统防火墙和selinux
按照以下顺序执行命令即可关闭防火墙
#关闭防火墙
systemctl stop firewalld.service
#禁止开机启动防火墙
systemctl disable firewalld.service
#检查防火墙状态
irewall-cmd --state
临时关闭selinux 参考文章有永久关闭的方式,我使用的是临时关闭,目前没遇到什么问题,不知道机器重启后会不会导致通讯失败
#临时关闭命令 0关闭,1打开
setenforce 0
#查看selinux状态
sestatus
2.4挂载镜像
选一个大点的目录,硬盘的格式最好为xfs
即与系统盘文件格式保持一致,否则可能导致ftp不显示
mount -o loop /data/CentOS-7-x86_64-Everything-1810.iso /data/mnt/
/data/
为自建目录,镜像文件上传到此目录,按自己需求修改即可
/mnt/
为自建目录,即将镜像挂载到此目录下,按自己的需求修改即可
挂载结果如下:
[root@192168088102-FTP-YUM-Source data]# mount -o loop CentOS-7-x86_64-Everything-1810.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
3.安装ftp
下载ftp安装包,地址:https://centos.pkgs.org/
直接搜索 vsftpd
找到系统对应版本即可,本人的是7.6选择此文件vsftpd-3.0.2-25.el7.x86_64.rpm
将包上传到/data
目录下
运行此命令直接安装 rpm -ivh /data/vsftpd-3.0.2-25.el7.x86_64.rpm
不用修改配置,直接启动ftp服务器
#启动ftp
/bin/systemctl start vsftpd.service
#查看ftp状态
/bin/systemctl status vsftpd.service
浏览器访问ftp
4.将源文件copy到ftp的pub目录下
cp -ar /data/mnt/* /var/ftp/pub/
关于ftp端口开通
ftp分为主动模式和被动模式,默认使用的是被动模式,连接是使用的21端口,下载文件会随机分配端口,这就为端口开通带来很大的阻碍,可以修改配置文件/etc/vsftpd/vsftpd.conf
来限定随机端口的范围,限定范围后只需要开通几个端口就行了,具体如下:
###将一下配置追加到conf末尾,端口开通21、50001、50002、50003、50004、50005
##最小端口
pasv_min_port=50001
##最大端口
pasv_max_port=50005
主动模式与被动模式最大的区别是下载文件的模式,两者都是通过21端口与ftp服务器建立连接,主动模式下要求客户端需要有固定的ip,即ftp服务器将文件发送给客户端(通过21端口),被动模式建立连接后,服务端分配一个端口给客户端,客户端通过此端口来拉文件
5.配置客户端
#切换到yum配置目录
cd /etc/yum.repos.d/
#创建备份文件夹
mkdir bak
#将文件全部移动到备份文件夹
mv /etc/yum.repos.d/CentOS* /etc/yum.repos.d/bak
编辑配置文件
vi ftp.repo
讲一下内容填入文件
[yum]
#自定义名称
name=yumftp
#yum访问路径 填写ftp服务器的路径,填写内网地址
baseurl=ftp://10.130.175.100/pub
#启用yum源,0为不启用,1为启用
enabled=1
#检查GPG-KEY,0为不检查,1为检查
gpgcheck=0
6.测试yum源
#清理缓存
yum clean all
#重新缓存 一般这不能成就表示配置成功了
yum makecache
#尝试装一下ntp服务
yum install -y ntp