【前言】
samba很早就用过,使用频率很频繁,主要是在windows和linux共享体验很棒。
nfs不常使用,主要集中在linux平台之间,以前也有用过nfs把开发板的目录mount到server端进行开发。
tftp在烧录或传输执行档还是挺方便的。
一、nfs设置
1、server端:
sudo apt install nfs-kernel-server
sudo vim /etc/exports //添加共享目录
sudo /etc/init.d/nfs-kernel-server restart
添加共享目录,ex:/home/User/testPackages *(rw,sync,no_subtree_check)
2、client端:
sudo apt install nfs-common
挂载:mount serverIP:共享目录 client端挂载点
挂载操作,ex:sudo mount -t nfs -o nolock serverIP:/home/User/testPackages /home/User/googleTestPackages,可以用df -h查看是否挂载成功。
另外client端也可以自动挂载,编辑 /etc/fstab ,添加一行,格式如下
: nfs < options> 0 0
PS:目前使用nfs的一个体验:
用samba共享的目录,client端要写权限,需要chmod 777,文件夹出现底色,终端下看着不舒服。
nfs默认共享设定之后,client和server端对目录和文件操作的权限一致,不用特意去设定777,文件夹颜色显示同server端。
3、命令使用
如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs 命令来使改动立刻生效,可以使用exportfs -arv
# exportfs [-aruv]
-a 全部挂载或卸载 /etc/exports中的内容
-r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v 在export的时候,将详细的信息输出到屏幕上。
nfs文件系统可参考:Linux NFS说明,配置及故障分析
https://blog.csdn.net/qq_20327293/article/details/51596275
二、samba设置
请参考另一篇文章:https://blog.csdn.net/fchyang/article/details/89574411
1、pdbedit的命令使用可以留意下
sudo pdbedit -L
2、通过mount -t cifs实现共享
mount -t cifs //ServerIP/User/testPackages /home/User/googleTestPackages --verbose -o username=ServerUser,password=ServerPasswd,iocharset=utf8,file_mode=0777,dir_mode=0777
这个也是可以达到和nfs同效果的目的,但是到挂载目录看文件夹底色就不不太好啦。
cifs文件系统可参考:https://blog.csdn.net/wl1070325332/article/details/60876519
PS:其他文章参考:Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决,https://blog.csdn.net/fuyuande/article/details/82915800
三、tftp设置
1、安装tftp server
sudo apt-get install tftpd-hpa
sudo apt-get install tftp-hpa(如果不需要客户端可以不安装)
2、创建服务端传输
mkdir /tftpboot #建立tftp传输目录。
sudo chmod 0777 /tftpboot #赋权限
sudo touch test.txt # test.txt建立测试文件
3.配置TFTP服务器
sudo vi /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" # 这里是你的tftpd-hpa的服务目录,这个想建立在哪里都行
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s" # 原本的--secure,替换成上面的-l -c -s,这里是选项,-c是可以上传文件的参数,-s是指定tftpd-hpa服务目录
4. 重启服务
sudo service tftpd-hpa restart # 启动服务,这里要注意,采用的独立服务形式。
5. 测试
cd /home
tftp localhost #localhost 表示本机
tftp>get test.txt //test.txt 是之前在 /tftpboot 目录下新建的文件
tftp>put test1.txt //test1.txt 是在 /home 目录下新建的文件
tftp>q
退出后,在/home目录下会有一个test.txt文件,在/tftpboot 目录下有test1.txt,表示tftp服务器安装成功!
tftp参考来源:https://blog.csdn.net/wangliang888888/article/details/55060926