实验步骤
环境: centos7/8
一台当做server端提供下载,一台当做客户机
1.服务器端安装vsftp服务
[root@server backup]# yum install vsftpd -y
上次元数据过期检查:0:41:47 前,执行于 2020年11月02日 星期一 09时40分49秒。
依赖关系解决。
========================================================================================================
软件包 架构 版本 仓库 大小
========================================================================================================
安装:
vsftpd x86_64 3.0.3-31.el8 AppStream 180 k
事务概要
========================================================================================================
安装 1 软件包
总下载:180 k
安装大小:343 k
下载软件包:
vsftpd-3.0.3-31.el8.x86_64.rpm 401 kB/s | 180 kB 00:00
--------------------------------------------------------------------------------------------------------
总计 162 kB/s | 180 kB 00:01
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : vsftpd-3.0.3-31.el8.x86_64 1/1
运行脚本: vsftpd-3.0.3-31.el8.x86_64 1/1
验证 : vsftpd-3.0.3-31.el8.x86_64 1/1
已安装:
vsftpd-3.0.3-31.el8.x86_64
2.允许匿名访问
[root@server vsftpd]# pwd
/etc/vsftpd
[root@server vsftpd]#vim vsftpd.conf
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES 改为YES (7的系统默认为YES)
3.启动vsftpd服务,确保21号端口打开
[root@server vsftpd]# service vsftpd start
[root@server vsftpd]# lsof -i:21
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vsftpd 18668 root 3u IPv6 95131 0t0 TCP *:ftp (LISTEN)
4.挂载镜像文件然后将rpm包拷贝至centos
[root@server vsftpd]# cd /var/ftp/
[root@server ftp]# ls
pub
[root@server ftp]# mkdir centos
[root@server ftp]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@server ftp]# cp /mnt/* /var/ftp/centos/ -r
5.client端创建一个repo文件,用于找到我们的ftp服务器
[root@client yum.repos.d]# cat ftp.repo
[ftpyum]
name="sc ftp yum server"
baseurl=ftp://服务器IP地址/centos
enabled=1
gpgcheck=0
[root@client yum.repos.d]#
6.yum源优先级问题所以需要将其他的repo文件移走,为了方便后续的使用,我们创建一个backup目录用于存放这些repo文件
[root@client yum.repos.d]# ls
backup ftp.repo
7.关闭server端防火墙以及selinux然后测试
[root@client yum.repos.d]# yum install tree
sc ftp yum server 47 MB/s | 4.9 MB 00:00
上次元数据过期检查:0:00:01 前,执行于 2020年11月02日 星期一 15时01分28秒。
依赖关系解决。
========================================================================================================
软件包 架构 版本 仓库 大小
========================================================================================================
安装:
tree x86_64 1.6.0-10.el7 ftpyum (!!!!成功) 46 k
事务概要
========================================================================================================
安装 1 软件包
总下载:46 k
安装大小:87 k
确定吗?[y/N]: y
下载软件包:
tree-1.6.0-10.el7.x86_64.rpm 3.7 MB/s | 46 kB 00:00
--------------------------------------------------------------------------------------------------------
总计 3.3 MB/s | 46 kB 00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : tree-1.6.0-10.el7.x86_64 1/1
运行脚本: tree-1.6.0-10.el7.x86_64 1/1
验证 : tree-1.6.0-10.el7.x86_64 1/1
已安装:
tree-1.6.0-10.el7.x86_64
完毕!
补充说明
服务器不是官方的镜像rpm包,怎样让客服端也能通过yum下载?
步骤
1.服务器在/var/ftp/centos目录下新建一个新的目录,并且拷贝rpm包
[root@s-mysql centos]# mkdir mysql
cp /root/mysql80-community-release-el7-3.noarch.rpm mysql/
2.安装createrepo
因为需要解决文件的依赖关系
yum install createrepo
3.在客服端ftp.repo文件里新建一个源,单独搞一个路径
[root@client centos]# cat /etc/yum.repos.d/ftp.repo
[ftpyum]
name="sc ftp yum server"
baseurl=ftp://服务器IP地址/centos
enabled=1
gpgcheck=0
[ftpyumMysql]
name="sc ftp yum server"
baseurl=ftp://服务器IP地址/centos/mysql
enabled=1
gpgcheck=0
4.服务器重新生成解决依赖关系的文件
[root@server centos]# createrepo --update /var/ftp/centos
Spawning worker 0 with 2011 pkgs
Spawning worker 1 with 2011 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete