1 NFS服务器搭建
1.1 安装软件包
sudo apt-get install nfs-kernel-server rpcbind -y
1.2 创建共享目录
在用户根目录下创建linux
目录,在linux
目录下创建nfs
目录。如图所示:
1.3 配置NFS
打开nfs的配置文件/etc/exports
sudo vim /etc/exports
添加如下内容:
/home/user/linus/nfs *(rw,sync,no_root_squash)
exports配置常用参数
- ro:只读
- rw:读写
- root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
- no_root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
- all_squash:无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
- sync:同时将数据写入到内存与硬盘中,保证不丢失数据
- async:优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
添加完结果如下图:
1.4 重启NFS服务
使用如下命令重启nfs服务
sudo /etc/init.d/nfs-kernel-server restart
也可以使用下面命令:
systemctl restart rpcbind && systemctl enable rpcbind
systemctl start nfs-server && systemctl enable nfs-server
1.5 nfs 不能挂载
1)原因:因为ubuntu的nfs版本为version4,而板子的nfs版本为version2,所以直接挂载上去无法识别
2)解决方法:
在/etc/default/nfs-kernel-server
最后一行添加RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
2 TFTP服务器搭建
2.1 安装软件包
sudo apt-get install tftp-hpa tftpd-hpa -y
sudo apt-get install xinetd -y
2.2 创建共享目录
在用户根目录的linux
目录中,新建tftpboot
目录
mkdir tftpboot
chmod 777 tftpboot //给读、写、可执行权限
一定要给文件夹权限,否则uboot无法从tftpboot文件夹下载文件。
2.3 配置tftp
新建文件/etc/xinetd.d/tftp
,如果没有/etc/xinetd.d
目录可以自己创建,在里面输入如下内容:
server tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/zuozhongkai/linux/tftpboot/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
2.4 启动服务
1)启动tftp服务,命令如下:
sudo service tftpd-hpa start
2)打开/etc/default/tftpd-pha
文件,将其修改为如下内容:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/user/linux/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
TFTP_DIRECTORY
就是创建的tftp文件夹目录,可以将需要使用TFTP传输的文件放在这个文件夹中,并且要给予这些文件相应的权限
。
3)重启tftp服务:
sudo service tftpd-hpa restart