目录
一、认识 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服务,使配置生效,若出现如下提示说明重启成功
若出现类似于下面的界面,说明重启失败,请检查逗号后面是否有空格,