此次操作在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] 394. Decode String 解码字符串

    Given an encoded string, return it's decoded string. The encoding rule is: k[encoded_string], where ...

  2. [LeetCode] 266. Palindrome Permutation 回文全排列

    Given a string, determine if a permutation of the string could form a palindrome. Example 1: Input: ...

  3. 如何为python 2.7安装tensorflow?

    “TensorFlow在Windows上支持Python 3.5.x和3.6.x.” 因此,您无法在Windows上使用Python 2.7的tensorflow 如果您被迫使用Python 2.7, ...

  4. 【转】ubuntu16.04安装Vivado 2017.4 教程

    ubuntu16.04安装Vivado 2017.4 教程 2017-12-28 20:59:48 wmyan 阅读数 11794   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协 ...

  5. 常用HTTP状态码总结

    HTTP状态码(HTTP Status Code) 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求 ...

  6. vertica ROS和WOS错误

    频繁写入vertica,可能导致ROS和WOS错误.如下: java.sql.SQLTransientException: [Vertica][VJDBC](5065) ERROR: Too many ...

  7. UWP 使用exe程序

    0  添加程序到UWP中 1  添加引用 Windows Desktop Extensions For The UWP 2 修改清单文件(在清单文件上右键查看代码) 2.1 添加xmlns引用 //P ...

  8. 百度前端技术学院-task1.4源代码

    任务描述 实现如 示例图(点击打开) 的效果 灰色元素水平垂直居中,有两个四分之一圆位于其左上角和右下角. 任务注意事项 思考不同情况下(如灰色高度是根据内容动态变化的)水平垂直居中的解决方案. 动手 ...

  9. 一、hexo+github搭建个人博客的过程记录

    前提: 1.新建一个github仓库 2.安装配置Node.js 3.安装配置Git 前提 步骤1.新建一个github仓库 打开github网站,(注册)登录账号,新建一个仓库; 注:==仓库名称要 ...

  10. 获取Url地址中参数的3种方法【华为云技术分享】

    获取Url的代码如下:window.location.href; 方法一:原生js(假设已经获得了Url地址) var url = 'https://gitbook.cn/gitchat/geekbo ...