搭建Ubuntu tftp 服务器和NFS

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tbadolph/article/details/77396159

NFS和TFTP是利用网络传输数据的两种主要服务。接下来详细解释如何在ubuntu下安装这两种服务:

1.搭建TFTP服务器:

首先要安装tftp服务端:

sudo apt-get installtftpd-hpa            //tftpd-hpa是服务器端

sudo apt-get install tftp-hpa(如果不需要客户端可以不安装)

安装好后配置服务器的设置:

sudo vim /etc/default/tftpd-hpa

  1 # /etc/default/tftpd-hpa
  2
  3 TFTP_USERNAME="tftp"
  4 TFTP_DIRECTORY="/tftpboot"
  5 TFTP_ADDRESS="192.168.1.20"
  6
  7 #TFTP_ADDRESS="127.0.0.1"
  8 TFTP_OPTIONS="--secure"

 IP改为自己主机上设置的IP,我的为192.168.1.20

其中第二项是TFTP的传送目录,将传输的文件放在该文件夹下即可,在这里新建一个/tftpboot目录用于存放文件。

而且要注意的是要将/tftpboot文件夹的权限修改成777,命令如下:chmod777 -R /tftpboot

第三项tftp地址是主机的ip地址,设置好保存即可。

然后重新启动tftp服务:sudo service tftpd-hpa restart

到这步,主机上的tftp服务就算配置完成

接下来就是测试嵌入式板子能否与主机进行tftp传输了

tftp -g –r 文件名  服务器IP

tftp -p –l 文件名  服务器IP

在本机上开另外一个终端也可以进行测试:

tftp 127.0.0.1

tftp > get 文件名

2.NFS文件系统搭建

首先安装nfs服务:sudo apt-get install nfs-kernel-server

执行命令:mkdir /exp 建立一个nfs服务的专有的文件夹,这个文件夹就是将来传输文件用到的建立好文件夹后,接着执行命令:sudo vi /etc/exports 配置nfs

在文章的最后一行添加:/exp*(rw,sync,no_root_squash,no_subtree_check)

 1 # /etc/exports: the access control list for filesystems which may be exporte    d
  2 #               to NFS clients.  See exports(5).
  3 #
  4 # Example for NFSv2 and NFSv3:
  5 # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_    subtree_check)
  6 #
  7 # Example for NFSv4:
  8 # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
  9 # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
 10 #
 11
 12 /exp *(rw,sync,no_root_squash,no_subtree_check)
 13 /usr/local/ti-sdk-am335x-evm/targetNFS *(rw,nohide,insecure,no_subtree_check    ,async,no_root_squash)

其中:

*:允许所有的网段访问,也可以使用具体的IP

rw:挂接此目录的客户端对该共享目录具有读写权限

修改完之后保存退出

执行命令:sudo/etc/init.d/rpcbind restart 重启rpcbind 服务

sudo /etc/init.d/portmap restart  (linux 6.0以上版本rpcbind 代替portmap)

执行命令:sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务

到这一步,主机的NFS服务就是配置完成

然后在嵌入式设备上进行挂载操作:

mount -t nfs 192.168.1.20:/exp /mnt -o nolock 

将该ip地址的/exp目录映射到嵌入式板子的/mnt目录,也就是将/exp目录挂载到/mnt目录。访问开发板的/mnt目录,其实就相当于访问主机的/exp目录.

猜你喜欢

转载自blog.csdn.net/tbadolph/article/details/77396159