此次操作在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=
gpgcheck=

说明:

[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=
gpgcheck=

注意第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

使用ftp搭建yum仓库的更多相关文章

  1. linux局域网搭建yum仓库(本地(file)、网络(ftp、http))

    linux局域网搭建yum仓库(本地(file).网络(ftp.http)) yum配置文件解释: [ ]:定义仓库,base为仓库的名字,可任意 name:仓库的简短文字描述 baseurl:仓库的 ...

  2. 搭建yum仓库与定制rpm包

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 当我们自动化部署集群的时候,想要快速的安装所有服务,搭建yum仓库与定制rpm包是我们首先要做的 原创作品,转载请 ...

  3. VMware15.5版本通过挂载系统光盘搭建yum仓库

    VMware15.5版本通过挂载系统光盘搭建yum仓库一.1.打开CentOS 7虚拟机. 2.登录虚拟机,选择未列出  用户名:root 密码:输入自己设置的密码 点击登录. 3.右键单击打开终端. ...

  4. FTP搭建YUM源服务器

    一.FTP搭建YUM源服务器 1.服务器 挂载centos镜像[root@localhost ~]#yum install vsftpd[root@localhost ~]#systemctl sta ...

  5. Linux 制作ftp远程yum仓库

    一.下载createrepo yum install createrepo -y 二.安装vsftp软件 yum install vsftpd -y 三.将pub制作为yum仓库 把需要的rpm包拷贝 ...

  6. 使用FTP搭建YUM

    VSFTP搭建YUM源 1.安装FTP [root@FTP kel]# rpm -qa |grep vsftp vsftpd-2.2.2-6.el6_0.1.x86_64 首先需要安装的ftp软件为v ...

  7. 最简化搭建yum仓库

    在使用rpm安装软件包时,时常会遇到一些软件依赖性问题,如果是简单的一两个依赖性还是可以手动解决.要是出现大量的依赖性问题的话会让增大工作量.yum是一个很好的前端程序,可解决软件包相关依赖性,可在多 ...

  8. 搭建YUM仓库

    概述 YUM 主要用于自动安装.升级 rpm 软件包,它能自动查找并解决 rpm 包之间的依赖关系.要功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的 reposito ...

  9. 同步阿里云镜像到本地,在本地搭建YUM仓库

    1.下载阿里云镜像repo文件 项目使用CentOS6系统,因此我下载的文件是: # CentOS-Base.repo # # The mirror system uses the connectin ...

随机推荐

  1. [LeetCode] 554. Brick Wall 砖头墙壁

    There is a brick wall in front of you. The wall is rectangular and has several rows of bricks. The b ...

  2. [LeetCode] 39. Combination Sum 组合之和

    Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), fin ...

  3. OBS录制全屏游戏的方法(超好录屏)

    新版Windows设置 详见 https://github.com/obsproject/obs-studio/wiki/Laptop-Troubleshooting 新版的Windows 10: l ...

  4. iphone 移动端操作记录

    iPhone和Safari浏览器的后退按钮操作,是直接载入缓存中的页面,不会加载js文件,不会执行ready,onload函数,但是加载html页面会跑pageshow事件,因此有回退动作需要重新加载 ...

  5. sprintboot+mybatis+@Mapper中in的使用方法

    错误的使用方法: @Select("select goods_sn from ${tableName} where goods_sn in (#{skuStr})") public ...

  6. js对数组去重的方法总结-(2019-1)

    最近待业在家,系统地学习了一套js的课程.虽然工作时间真的比较长了,但有些东西只局限在知其然而不知其所以然的程度上,有些知识点通过“血和泪”的经验积累下来,也只是记了结果并没有深究,所以每次听完课都有 ...

  7. [转帖]龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上

    龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上 http://news.mydrivers.com/1/663/663122.htm 龙芯是中科院下属的计算机所研发的自主产权国 ...

  8. Android Studio中的非项目文件及项目目录下的全局搜索

    一.背景 项目开发中,AS(Android Studio)经常会用到通过关键字在项目空间下搜索对应结果.最经常用到的Find in Path.例如打开Find in Path后,可以选中Scope t ...

  9. Java se课程设计详解——数据库接口类(1)

    开始做课程设计的时候根本无从下手,后来查阅资料后发现是先从数据库开始的.整个课程设计需要用到的如下图,今天总结一下数据库接口! 数据库接口需要用到两个类,一个是DAO.java,另一个是propert ...

  10. TCP/UDP协议(二)

    面试问题:Tcp/Udp协议是什么,各有什么异同点,各自的使用场景? Tcp协议(传输控制协议) tcp是面向连接的协议,在收发数据之前,必须与对方建立可靠的连接: 三次握手:简单形象通俗描述: 主机 ...