网络环境TFTP&NFS搭建


链接: C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂

1. TFTP服务搭建

1、Ubuntu上搭建TFTP服务器,需要安装tftp-hpatftpd-hpa,命令如下:

sudo apt-get install tftp-hpa tftpd-hpa 
sudo apt-get install xinetd

2、TFTP也需要一个文件夹来存放文件,在用户目录下新建一个目录,赋予可读可写可执行权限。

mkdir /home/kaka/IMX6ULL/tftp
chmod 777 /home/kaka/IMX6ULL/tftp

3、打开/etc/default/tftpd-hpa文件,将其修改为如下所示内容:

sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/kaka/IMX6ULL/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

TFTP_DIRECTORY就是我们上面创建的tftp文件夹目录,以后我们就将所有需要通过TFTP传输的文件都放到这个文件夹里面,并且要给予这些文件相应的权限。

4、最后配置 tftp, 安装完成以后,新建文件/etc/xinetd.d/tftp, 如果没有/etc/xinetd.d 目录的话自行创建,然后在里面输入如下内容:

sudo vi /etc/xinetd.d/tftp
{
    socket_type    = dgram
    protocol       = udp
    wait           = yes
    user           = root
    server         = /usr/sbin/in.tftpd
    server_args    = -s /home/kaka/IMX6ULL/tftp	
    disable        = no
    per_source     = 11
    cps            = 100 2
    flags          = IPv4
}

注意 server_args = -s 后面要添加自己的 tftp 工作路径。

5、最后输入如下命令, 重启 tftp 服务器:

sudo service tftpd-hpa restart

6、TFTP 测试

/home/kaka/IMX6ULL/tftp目录下创建一个 test.c 文件

oot@kaka-virtual-machine:/home/kaka/IMX6ULL/tftp# chmod 777 test.c 
root@kaka-virtual-machine:/home/kaka/IMX6ULL/tftp# ls
test.c
root@kaka-virtual-machine:/home/kaka/IMX6ULL/tftp# cat test.c 
1234561234561234561234561234561234561234561234561234561234561234

在开发板文件系统执行以下指令设置开发板 IP,将虚拟机(192.168.1.254) TFTP 工作目录下的 test.c 文件拷贝到开发板中。

root@ATK-IMX6U:~# ifconfig eth0 192.168.1.50
root@ATK-IMX6U:~# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=0.855 ms
64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=1.02 ms
^C
--- 192.168.1.254 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.855/0.940/1.025/0.085 ms

root@ATK-IMX6U:~# tftp -g -r test.c 192.168.1.254
root@ATK-IMX6U:~# cat test.c
12345612345612345612345612345612345612345612345612345612

可以看到 test.c 成功传输到开发板上, TFTP 环境搭建成功。

2. NFS 环境搭建

1、NFS 简介网络文件系统,英文 Network File System(NFS),是由 SUN 公司研制的 UNIX 表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。可以在 Ubuntu 上制作开发板的根文件系统,然后使用 NFS 来加载根文件系统到开发板的DDR 上

2、安装 NFS 服务
在 Ubuntu 终端执行以下指令安装 NFS

sudo apt-get install nfs-kernel-server  

3、NFS 共享目录
新建 NFS 共享目录,并给予 NFS 目录可读可写可执行权限

sudo mkdir /home/kaka/IMX6ULL/nfs 
sudo chmod 777 /home/kaka/IMX6ULL/nfs/

4、配置 NFS 服务

执行以下指令打开 etc/exports 文件

sudo vi /etc/exports

进入 etc/exports 文件,在最后添加如下内容

/home/kaka/IMX6ULL/nfs *(rw,sync,no_root_squash)

/home/kaka/IMX6ULL/nfs 表示 NFS 共享的目录
*表示允许所有的网络段访问
rw 表示访问者具有可读写权限
sync 表示将缓存写入设备中,可以说是同步缓存的意思
no_root_squash 表示访问者具有 root 权限。
修改完如下图所示。

请添加图片描述

修改完以后保存退出。

执行以下指令重启 NFS 服务器。

sudo /etc/init.d/nfs-kernel-server restart

执行以下指令查看 NFS 共享目录

root@kaka-virtual-machine:/home/kaka/IMX6ULL# showmount -e
Export list for kaka-virtual-machine:
/home/kaka/IMX6ULL/nfs *

5、NFS 测试

/home/alientek/linux/nfs目录下创建一个 mytest.c 文件,在里面写入 hello world!

root@kaka-virtual-machine:/home/kaka/IMX6ULL/nfs# vi mytest.c
root@kaka-virtual-machine:/home/kaka/IMX6ULL/nfs# cat mytest.c 
hello world!

执行以下指令设置开发板 IP,创建一个 get 目录,将虚拟机(192.168.1.254) NFS 共享目录挂载到到开发板的 get 目录中。

mkdir get 
mount -t nfs -o nolock,nfsvers=3 192.168.1.254:/home/kaka/IMX6ULL/nfs get/
root@ATK-IMX6U:~# mkdir get
root@ATK-IMX6U:~# mount -t nfs -o nolock,nfsvers=3 192.168.1.254:/home/kaka/IMX6ULL/nfs get/
root@ATK-IMX6U:~# ls
driver  get  shell  test.c
root@ATK-IMX6U:~# ls get/
mytest.c

看挂载的 NFS 目录:

root@ATK-IMX6U:~# df
Filesystem                           1K-blocks     Used Available Use% Mounted on
/dev/root                              7244864   650328   6219856  10% /
devtmpfs                                187632      120    187512   1% /dev
tmpfs                                       40        0        40   0% /mnt/.psplash
tmpfs                                   253432      196    253236   1% /run
tmpfs                                   253432      160    253272   1% /var/volatile
/dev/mmcblk1p1                        15549952      128  15549824   1% /run/media/mmcblk1p1
192.168.1.254:/home/kaka/IMX6ULL/nfs  50770944 26010624  22149120  55% /home/root/get

卸载 NFS 目录:

umount get  
root@ATK-IMX6U:~# umount /home/root/get
root@ATK-IMX6U:~# ls
driver  get  shell  test.c
root@ATK-IMX6U:~# df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root        7244864 650328   6219856  10% /
devtmpfs          187632    120    187512   1% /dev
tmpfs                 40      0        40   0% /mnt/.psplash
tmpfs             253432    192    253240   1% /run
tmpfs             253432    160    253272   1% /var/volatile
/dev/mmcblk1p1  15549952    128  15549824   1% /run/media/mmcblk1p1

可以看到192.168.1.254:/home/kaka/IMX6ULL/nfs 已经卸载了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值