配置yum源为ftp服务器
实验原理
文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。
用途
在本地主机和远程主机之间传送文件。
语法
ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ]
描述
-C 允许用户指定:通过 send_file 命令发出的文件必须在网络高速缓冲区(NBC)中经过缓存处理。此标志必须在指定了-q 标志的情况下使用。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。
-d 将有关 ftp 命令操作的调试信息发送给 syslogd 守护进程。如果您指定-d 标志,您必须编辑/etc/syslog.conf 文件并添加下列中的一项:
OR
user.debug FileName
请注意: syslogd 守护进程调试级别包含信息级别消息。
如果不编辑/etc/syslog.conf 文件,则不会产生消息。变更了/etc/syslog.conf 文件之后,请运行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置文件的变更。关于调试级别的更多信息,请参考/etc/syslog.conf 文件。也请参考 debug 子命令。
-g 禁用文件名中的元字符拓展。解释元字符可参考为扩展(有时叫做文件名匹配替换)文件名。请参考 glob 子命令。
-i 关闭多文件传送中的交互式提示。请参考 prompt、mget、mput 和 mdelete 子命令,以取得多文件传送中的提示的描述。
-n 防止在起始连接中的自动登录。否则, ftp 命令会搜索$HOME/.netrc 登录项,该登录项描述了远程主机的登录和初始化过程。请参考 user 子命令。
-q 允许用户指定: send_file 子例程必须用于在网络上发送文件。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。
-v 显示远程服务器的全部响应,并提供数据传输的统计信息。当 ftp 命令的输出是到终端(如控制台或显示)时,此显示方式是缺省方式。
如果 stdin 不是终端,除非用户调用带有-v 标志的 ftp 命令,或发送 verbose 子命令,否则 ftp 详细方式将禁用。
-f 导致转发凭证。如果Kerberos 5 不是当前认证方法,则此标志将被忽略。
-k realm 如果远程站的域不同于本地系统的域,系统将允许用户指定远程站的域。因此,域和DCE 单元是同义的。如果Kerberos 5 不是当前认证方法,则此标志将被忽略。
准备阶段
服务器 | 服务 | ip |
---|---|---|
xcz7 客户端 | yum | 192.168.1.116/24 |
xcz10 服务端 | vsftp | 192.168.1.137/24 |
服务端
- 安装vsftpd,配置为匿名模式,ftp根目录默认/var/ftp/
yum install -y vsftpd
vim /etc/vsftpd/vsftpd.conf
#添加以下配置
allow_writeable_chroot=YES# 创建子文件夹授权777操作上传
anon_other_write_enable=YES#允许删除、重命名、覆盖等操作。需添加
anon_umask=022 #设置匿名用户所上传数据的权限掩码(反掩码)。
anon_upload_enable=YES #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES#允许匿名用户创建(上传)目录。默认已注释,需取消注释
- 在ftp根目录下创建一个文件夹CentOS
mkdir /var/ftp/CentOS
- 挂载sr0到/mnt/temp/(没有则自己创建)
mkdir /mnt/temp
mount /dev/sr0 /mnt/temp
- 将/mnt/temp中的所有文件拷贝到/var/ftp/CentOS中
cd /mnt/temp
cp * /var/ftp/CentOS
cp -r * /var/ftp/CentOS
重启vsftpd服务,关闭安全防护
systemctl restart vsftpd
systemctl stop firewalld
setenforce 0
客户端
- 在/etc/yum.repos.d/中创建bak,备份所有的yum源配置文件,只保留CentOS-Media.repo
yum install -y ftp
cd /etc/yum.repos.d
mkdir bak
mv Cent* bak
touch CentOS-Media.repo
- 修改CentOS-Media.repo
vim /etc/yum.repos.d/CentOS-Media.repo
#配置文件
[c7-media]
name=CentOS-$releasever - Media
baseurl=ftp://192.168.1.137/CentOS/
gpgcheck=1
enabled=1
gpgkey=ftp://192.168.1.137/CentOS/RPM-GPG-KEY-CentOS-7
yum clean all && yum makecache
测试
1、客户端:yum list 查看有哪些包 screen存在
yum list
2、客户端:yum install screen可以安装成功
3、客户端:yum remove screen卸掉
4、服务端:将/var/ftp/CentOS/Packages/中的screen包删除掉
rm -rf /var/ftp/CentOS/Packages/screen-4.1.0-0.27.20120314git3c2946.el7_9.x86_64.rpm
5、客户端:yum install screen测试失败