Windows下我们经常通过把局域网上其它机器的某个盘作为自己本机的盘,如下:

或者将服务器上的某个文件夹设置为共享文件夹,这样我们就可以把其它机器的盘或共享文件夹当做自己本地的磁盘或文件夹来使用(当然需要开启相应的权限才行),Windows下如何设置,网上一大堆,可以自行度娘或参考下面的链接:

《如何将网络共享地址映射为本地硬盘》

下面讲讲如何在linux下进行类似的功能:

机器环境如下:

首先,我们需要安装一个软件,nfs-kernel-server用于开启nfs服务,在ubuntu中安装命令如下:       

 sudo apt-get install nfs-kernel-server

       安装好了,我们需要配置一下这个软件。配置文件为: /etc/exports,这里我们使用vim命令打开它,具体命令如下:

                      sudo vim /etc/exports

然后,在这个文件下添加一行:

/home/dansir/share         192.168.1.*(rw,sync,no_root_squash,no_subtree_check)

这里说明一下: /home/dansir/share   是你要挂载的目录也就是类似Windows下的共享文件夹名,根据需要可以自己修改。192.168.1后面的 * 代表任只要是192.168.1网段的机器都可以访问/home/dansir/share 目录内的内容。rw 代表读写权限,sync代表动态同步,no_root_squash代表客户机对此有root的操作权限。注意:/home/dansir/share所在机器即共享目录所在机器、访问该共享目录机器必须都在192.168.1网段,否则无法访问。

配置完毕,就可以保存退出了,然后重启nfs应用,命令如下:

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

最后查看是否成功:登录局域网段192.168.1内的另一台机器,如:192.168.1.101,打开其终端,输入如下命令:

sudo mount -t nfs 192.168.1.88:/home/dansir/share    /mnt

上述命令中的192.168.1.88是共享目录/home/dansir/share  所在机器IP。上述命令的意思是:把机器192.168.1.88中的/home/dansir/share挂接到本机即192.168.1.101机器的/mnt目录(当然本机的/mnt目录要存在,如果不存在,请用mkdir命令新建/mnt目录)

如果执行上述命令,出现如下错误:

mount: /bak: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program

这是因为 192.168.1.101机器没装NFS客户端工具,执行如下命令安装后问题会解决:

sudo apt install nfs-common   nfs-utils


如果成功了,就会在192.168.1.101机器的/mnt目录下有你挂载的来自于192.168.1.88机器的/home/dansir/share 下的文件!如果失败,你查看一下是不是目录的权限问题,或者是防火墙问题。

注意事项:

1:如果测试机和共享目录所在机器都是同一台机器时,用如下命令:

sudo mount -t nfs localhost::/home/dansir/share    /mnt

或如下命令:

sudo mount -t nfs 127.0.0.1:/home/dansir/share    /mnt

access denied by server while mounting localhost:/home/dansir/share错误,原因及解决方法是:请不要用 localhost或者127.0.0.1代替本机设置的静态IP,当本机有多张网卡时, localhost或者127.0.0.1不一定就是代表指定测试的网卡上绑定的静态IP,请把上述命令的 localhost或者127.0.0.1改成所测试网卡绑定的具体静态IP,如:192.168.1.88再进行测试,发现该错误不再出现。关于 localhost或者127.0.0.1造成的问题,请参见本人的另一篇博文localhost、127.0.0.1对网络编程造成不通的说明

2 :如果测试机和共享目录所在机器都是同一台机器,且上面条款1中提到的、测试网卡绑定的也是静态IP,依然不行,请确保网线和网卡连接且保证本机接入了局域网,因为没有网线插入网卡时,即使网卡设置了静态IP,依然是没有静态IP的,即用ifconfg -a是获取不到网卡设置的静态IP的。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐