当前位置: 首页 > news >正文

tftp、nfs 服务器环境搭建

目录

一、认识 tftp、nfs

1、什么是 tftp?

2、什么是 nfs?

3、tftp  和 nfs 的区别 

二、tftp的安装

1、安装 tftp 服务端

2、配置 tftp

3、启动 tftp 服务

三、nfs 的安装

1、安装 nfs 服务端

2、配置 nfs

3、启动 nfs 服务


一、认识 tftp、nfs

1、什么是 tftp?

tftp(Trivial File Transfer Protocol)即简单文件传输协议是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。一般系统移植的时候,要使用该协议来传输 uboot 文件。

 

2、什么是 nfs?

nfs(Network File System)即网络文件系统,其基于UDP/IP使用nfs能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其它计算机中的文件就像在访问自己的计算机一样。一般是共享开发板要运行的程序

3、tftp  和 nfs 的区别 

nfs是Ubuntu系统和开发板之间的文件共享,文件还在服务端,只是开发板可以通过网络看到;tftp 是 Ubuntu系统和开发板之间的文件传输,传输完毕后开发板内就会存在这么一份文件

二、tftp的安装

1、安装 tftp 服务端

在保证网络环境可以连通外网的情况下,输入如下指令安装 tftpd-hpa(tftp服务端)

sudo apt-get install tftpd-hpa

 然后检查是否安装成功,若出现如下界面说明安装成功

 dpkg -s tftpd-hpa

2、配置 tftp

tftp的配置文件路径:/etc/default/tftpd-hpa

tftp是一个文件传输协议,客户端可以下载服务端的文件,并非服务器上的所有文件都可以下载,只有服务器指定目录下的文件才能下载(有一个默认路径)

(1) 修改默认交互路径(可跳过)

是否要修改这个默认路径,取决于个人需求,你如果觉得这个默认路径不方便记忆,可以改为其他路径。假设改为 /usr/local/tftpboot

因为这个路径下的目录是不存在的,所以我们需要手动创建

# 创建目录
sudo mkdir -p /usr/local/tftpboot
# 赋予最高权限(文件上传其实对应写权限,下载文件对应读权限)
chmod 777 /usr/local/tftpboot

(2) 修改附加配置选项

修改 TFTP_OPTIONS,改为 “-c -s -l”

附加选项解析
-c表示可以上传的文件个数(count)
-s表示指定服务端(server)的工作目录(上面已经指定)
-l表示监听(listen)端口号

3、启动 tftp 服务

使用的命令是

sudo service tftpd-hpa restart

看到如下提示,说明启动成功 (每次登录都需要重新启动 tftp

三、nfs 的安装

1、安装 nfs 服务端

在保证网络环境可以连通外网的情况下,输入如下指令安装 nfs-kernel-server(nfs 服务端)

sudo apt-get install nfs-kernel-server

检查是否安装成功,如果出现如下界面说明安装成功。

dpkg -s nfs-kernel-server

2、配置 nfs

nfs 的配置文件路径:/etc/exports

nfs 客户端无法看到服务端的所有文件,只能看到服务端指定共享目录下的文件。我们可以在配置文件中配置这个目录以及该目录的权限。配置文件中的注释部分提供了不同版本nfs 的配置方式,以 NFSv2 为例:

  • /srv/homes:指定的共享目录
  • hostname:表示允许共享的主机IP
  • 括号中的代表该主机具备了哪些权限,rw是读写权限,sync是同步权限。

(1) 配置共享目录及权限

假设我们指定共享目录为 /usr/local/nfsd,hostname为 * ,表示允许任意主机访问此目录,并赋予对应的权限。

/usr/local/nfsd *(rw,sync,no_subtree_check,no_root_squash)

 

(2) 创建共享目录

下面我们要按照上面配置的那样创建一个共享目录

# 创建共享目录
mkdir -p /usr/local/nfsd
# 赋予权限
chmod -R /usr/local/nfsd

3、启动 nfs 服务

重启nfs服务,使配置生效,若出现如下提示说明重启成功

若出现类似于下面的界面,说明重启失败,请检查逗号后面是否有空格,

http://www.lryc.cn/news/30629.html

相关文章:

  • 汇编系列03-不借助操作系统输出Hello World
  • TPU编程竞赛系列|算能赛道冠军SO-FAST团队获第十届CCF BDCI总决赛特等奖!
  • 【C++】AVL树,平衡二叉树详细解析
  • C/C++开发,无可避免的多线程(篇四).线程与函数的奇妙碰撞
  • elisp简单实例: taglist
  • Azure AI基础到实战(C#2022)-认知服务(3)
  • aws apigateway 使用restapi集成lambda
  • HTML基础
  • ThreadPoolExecutor参数 keepAliveTime allowCoreThreadTimeOut
  • 什么是Hibernate框架?
  • 指针面试笔试题练习
  • docker(三)仓库的搭建、官方私有仓库的加密和认证
  • FPGA实现SDI视频编解码 SDI接收发送,提供2套工程源码和技术支持
  • Android 基础知识4-3.5 RadioButton(单选按钮)Checkbox(复选框)详解
  • 用代码实现解析解的方式求解_梯度下降法思路_导函数有什么用_接23节---人工智能工作笔记0026
  • 大数据ETL开发之图解Kettle工具
  • docker-容器数据卷
  • 【C++】类和对象补充知识点
  • 路径规划-人工势场法
  • 20230304学习笔记
  • [数据集][VOC][目标检测]河道垃圾水面漂浮物数据集目标检测可用yolo训练-1304张介绍
  • JavaWeb--JSP案例
  • 推荐系统1--Deepfm学习笔记
  • javaDoc生成方式
  • Armv9 registers
  • 套接字实现TCP
  • MMSeg绘制模型指定层的Heatmap热力图
  • 关于Paul C.R. - Inductance_ Loop and partial-Wiley (2009)一书的概括
  • 基于支持向量机SVM的面部表情分类预测
  • java内存模型的理解