ubuntu24.04安装NFS网络文件系统/ARM开发板NFS挂载

一、NFS简介

NFS(Network File System,网络文件系统)是一种分布式文件系统协议,允许不同计算机之间通过网络共享文件和目录,让远程主机像访问本地存储一样访问共享资源。它最初由 Sun Microsystems(升阳公司)在 1984 年开发,后成为 UNIX/Linux 系统中广泛使用的网络文件共享标准

二、NFS安装

1、安装nfs软件,确保ubuntu可以上网,在终端输入sudo apt install nfs-kernel-server,等待完成安装。

oot@ubuntu-24:~# sudo apt install nfs-kernel-server

2、编辑/etc/exports文件,增加共享目录(可挂载目录)配置,这里使用gedit来编辑。

root@ubuntu-24:~# sudo gedit /etc/exports

  在exports文件最后面增加一行内容,如下:

  /workspace *(rw,sync,no_root_squash)

其中可将/workspace替换成自己需要共享的目录(或用于挂载的目录),同时还需修改/worksapce目录的权限,允许读写操作,我这里直接用sudo chmod 777 /worksapce命令修改。

3、保存后,重启ubuntu系统。

三、挂载测试

可直接在本机挂载测试,在终端输入mount -t nfs 192.168.1.128:/workspace /mnt

将192.168.1.128替换成自己ubuntu系统实际的IP地址。

然后查看/mnt目录,就可以看到/workspace目录的内容,说明成功将/workspace挂载到了/mnt目录。

四、arm 开发板挂载测试

嵌入式开发调试中通常要将ubuntu下的开发工程目录挂载到开发板中,这样可以直接在开发板中运行ubuntu里面交叉编译的程序,省去每次拷贝的工作。

则可以在arm 开发板linux终端输入mount -t nfs 192.168.1.128:/workspace /mnt  -o nolock

192.168.1.128:ubuntu的IP地址。

/workspace:ubuntu下的开发工程目录。

/mnt:开发板中用于挂载的目录。

### 在Ubuntu 24.04中将NFS版本设置为NFSv2的方法 在Ubuntu 24.04系统中,由于默认禁用了NFS服务[^1],并且只允许TFTP作为替代方案,因此直接使用NFSv2可能需要额外的配置或降级相关软件包。以下是实现此目标的具体方法: #### 1. 安装NFS服务 首先,确保系统中已安装NFS服务器和客户端所需的软件包: ```bash sudo apt update sudo apt install nfs-kernel-server nfs-common ``` #### 2. 配置NFS服务器支持NFSv2 编辑NFS服务器配置文件以启用NFSv2支持。打开 `/etc/default/nfs-kernel-server` 文件: ```bash sudo nano /etc/default/nfs-kernel-server ``` 找到并修改以下行,确保添加 `--no-nfs-version 3 --no-nfs-version 4` 参数以禁用更高版本的NFS,并强制使用NFSv2: ```bash RPCNFSDARGS="--no-nfs-version 3 --no-nfs-version 4" ``` #### 3. 配置导出文件 编辑 `/etc/exports` 文件以定义共享目录及其权限。例如,假设要共享 `/mnt/share` 目录: ```bash /mnt/share *(rw,sync,no_subtree_check,fsid=0,insecure,sec=sys) ``` - `*(rw,sync,no_subtree_check)`:允许所有主机读写访问。 - `insecure`:允许非特权端口(>1024)连接。 - `sec=sys`:指定安全性模式为系统级别认证。 #### 4. 重启NFS服务 保存更改后,重启NFS服务以应用配置: ```bash sudo systemctl restart nfs-kernel-server ``` #### 5. 客户端挂载时指定NFSv2 在客户端挂载NFS共享时,明确指定使用NFSv2协议: ```bash sudo mount -t nfs -o vers=2 <server_ip>:/mnt/share /mnt/local_share ``` 其中 `<server_ip>` 是NFS服务器的IP地址,`/mnt/local_share` 是本地挂载点。 #### 注意事项 - 如果仍然遇到问题,可能需要检查内核是否完全支持NFSv2。对于内核版本大于6.2的情况,部分功能可能已被移除或废弃[^1]。 - 确保防火墙规则允许NFS流量通过端口2049。 --- ### 示例代码 以下是一个完整的脚本示例,用于自动化上述步骤: ```bash #!/bin/bash # 更新系统 sudo apt update && sudo apt upgrade -y # 安装NFS服务 sudo apt install -y nfs-kernel-server nfs-common # 配置NFS服务器参数 echo "RPCNFSDARGS=\"--no-nfs-version 3 --no-nfs-version 4\"" | sudo tee -a /etc/default/nfs-kernel-server # 配置导出文件 echo "/mnt/share *(rw,sync,no_subtree_check,fsid=0,insecure,sec=sys)" | sudo tee -a /etc/exports # 创建共享目录 sudo mkdir -p /mnt/share sudo chmod 777 /mnt/share # 重启NFS服务 sudo systemctl restart nfs-kernel-server # 显示当前导出状态 showmount -e localhost ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值