使用ftp搭建yum仓库

此次操作在VMware Workstation虚拟机的CentOS7.5下进行

这里使用两台Linux主机,下表是它们所使用的操作系统以及IP地址。

两台Linux主机所使用的操作系统以及IP地址

操作系统 IP地址
CentOS7.5 192.168.5.21
CentOS7.5 192.168.5.23

操作192.168.5.21主机

在虚拟机设置中选择ISO映像文件,并在设备状态中勾选启动时连接

设置完成后,开启虚拟机

此时再看虚拟机设置里的设备状态,已连接、启动时连接都是被勾选的

鼠标放在右下角光盘图标上也会显示当前使用的ISO镜像

一、挂载光盘

# 以只读方式挂载光盘至/mnt目录下

mount -r /dev/cdrom /mnt/

# 查看/mnt目录下,是否挂载成功

ll /mnt/

二、配置本地yum仓库

mkdir /tmp/yum/ && mv /etc/yum.repos.d/* /tmp/yum/

# 创建repo文件

vim /etc/yum.repos.d/ftp.repo,文件名称可随意,但后缀必须为.repo

写入以下配置参数,并保存退出!

[ftp]
name=ftp
baseurl=file:///mnt
enabled=1
gpgcheck=0

说明:

[ftp] :Yum软件仓库唯一标识符,避免与其他仓库冲突。

name=ftp:Yum软件仓库的名称描述,易于识别仓库用处。

baseurl=file:///mnt:提供的方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)。

enabled=1:设置此源是否可用;1为可用,0为禁用。

gpgcheck=0:设置此源是否校验文件;1为校验,0为不校验。

gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7:若上面参数开启校验,那么请指定公钥文件地址。

 

清除本地yum缓存并测试yum源指向文件是否正常

yum clean all

yum repolist

三、安装配置vsftpd

yum install -y vsftpd

默认创建的vsftpd服务,匿名用户拥有读写删除权限,可在 /etc/vsftpd/vsftpd.conf 文件中对匿名用户做限制,具体配置如下:

anonymous_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

注意:/etc/vsftpd/vsftpd.conf 配置文件注释里不能有中文,否则vsftpd服务启动会报错

# 启动

systemctl start vsftpd

# 加入开机启动

systemctl enable vsftpd

# 查看状态

systemctl status vsftpd

 

复制光盘中的相关的文件复制至ftp的 /var/ftp/pub(/var/ftp/pub为ftp匿名默认访问目录)目录

mkdir -p /var/ftp/pub/centos7.5

cd /mnt/

cp -a Packages/ repodata/ RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 /var/ftp/pub/centos7.5/

复制两个目录,两个文件

Packages和repodata,Packages这个目录是yum安装时的rpm包。

repodata目录里面包含了一个以 .xml 结尾的文件,这个文件是yum索引文件,包含了rpm包的一些信息,比如依赖关系这些的。通过它用yum安装才能在自动解决。如果,没有复制repodata命令,可以使用命令 yum install -y createrepo 安装,然后使用 createrepo /var/ftp/pub/centos7.5/ 命令创建 repodata 目录。

其他两个文件是公钥文件,可以在搭建yum仓库时选择yum源是否校验文件,配置 gpgkey 参数使用。

/var/ftp/pub 目录的权限中,other的权限一定要为r_x,否则匿名用户无法访问该文件。

 

在本地局域网其它主机浏览器上也可以访问ftp

ftp://192.168.5.21/pub/centos7.5/

四、在192.168.5.23主机上搭建ftp的yum仓库

mkdir /tmp/yum/ && mv /etc/yum.repos.d/* /tmp/yum/

vim /etc/yum.repos.d/ftp.repo

写入以下配置参数,并保存退出!

[ftp]
name=ftp
baseurl=ftp://192.168.5.21/pub/centos7.5/
enabled=1
gpgcheck=0

注意第3行不是这样:baseurl=ftp://192.168.5.21/pub/centos7.5/Packages/,我刚开始写成这样,在使用yum时报如下错误

执行下面的操作,清除本地yum缓存并重新创建缓存

yum clean all

yum makecache

此时ftp的yum仓库就搭建完成了!可以使用yum安装软件,感受一下

 

本文参考自:https://blog.51cto.com/11975865/2068751

 

原文地址:https://www.cnblogs.com/opsprobe/p/12075563.html