Nearly all Linux distributions come with the ability to set up a Network File System (NFS) that allows the different Linux computers on the network to easily share files. NFS is only suitable for networks comprised entirely of Linux computers and servers, but works on the system level for fast, efficient transfers between computers.

Part 1
Part 1 of 2:

Creating the Server

  1. 1
    Use NFS (Network File System) to share files between Linux computers on a local network. If you need to share files with Windows or Mac computers, you will be much more successful using Samba.
  2. 2
    Understand how NFS works. When sharing files with NFS, there are two side: the server and the clients. The server is the computer that is actually storing the files, while the clients are the computers that are accessing the shared folder by mounting the shared folder as a virtual drive. NFS will need to be configured on both the server and any client that wants to connect.
    Advertisement
  3. 3
    Open the terminal on the server computer. This is the computer that will be hosting the shared files. The server computer will need to be turned on and logged in in order for clients to mount the shared folder. NFS requires using the terminal to install and configure both the server and client.
  4. 4
    Type .sudo apt-get install nfs-kernel-server nfs-common portmap and press Enter. This will begin downloading and installing the NFS files on your computer.
  5. 5
    After installation, type .dpkg-reconfigure portmap. Select "No" from the menu that appears. This will enable other computers on the network to connect to your shared folder.
  6. 6
    Type .sudo /etc/init.d/portmap restart to restart the portmap service. This will ensure that your changes take effect.
  7. 7
    Make a dummy directory that will be used to share the data. This is an empty directory that will direct the clients to the actual shared directory. This will allow you to change the shared directory on your server later without having to make any changes to the clients.
    • Type .mkdir -p /export/dummyname and press Enter. This will create a directory named dummyname that the clients will see.
  8. 8
    Type pico /etc/fstab and press Enter. This will open the /etc/fstab file and allow you to automatically mount the shared drive whenever the server boots up.
  9. 9
    Add .sharedpath dummypath none bind 0 0 to the end of the file. Replace sharedpath with the location of the shared drive, and replace dummypath with the location of the dummy directory you created earlier.
    • For example, to share the /dev/sdb drive with the clients using the dummy directory created earlier, you would type /dev/sdb /export/Shared none bind 0 0. Save the changes to the file.
  10. 10
    Open the ./etc/exports file. You will need to add your dummy directory as well as the IPs that are allowed to access it to this file. Use the following format to share with all the IP addresses on your local network: /export/dummyname 192.168.1.1/24(rw,no_root_squash,async).[1]
  11. 11
    Use the .sudo /etc/init.d/nfs-kernel-server restart command to restart the NFS server.
  12. Advertisement
Part 2
Part 2 of 2:

Connecting the Client Computers

  1. 1
    Open the terminal on the client computer.
  2. 2
    Type .sudo apt-get install portmap nfs-common and press Enter to install the NFS client files.
  3. 3
    Create the directory that the shared files will be mounted in. You can name this whatever you'd like. For example, you can type mkdir /sharedFiles to create a folder called "sharedFiles".
  4. 4
    Type .pico /etc/fstab to open the /etc/fstab file.
  5. 5
    Add .serverIP:sharedDirectory nfs rsize=8192,wsize=8192,timeo=14,intr to the end of the file. Replace serverIP with the IP address of the NFS server computer. Replace sharedDirectory with the dummy directory you created on the NFS server and the local directory you just created. Leave the rest of the values as they are for now.
    • Using the above examples, the line might look like: 192.168.1.5:/export/Shared /sharedFiles nfs rsize=8192,wsize=8192,timeo=14,intr.
  6. 6
    Type .sudo /etc/init.d/portmap restart to restart portmap and use the new settings. The drive will automatically mount each time the computer reboots.
  7. 7
    Test the drive by manually mounting it before restarting. Type mount -a and then ls /sharedFiles to see if the shared files are displayed.
  8. 8
    Repeat this process for each connecting computer. You should be able to enter the same settings and successfully connect.[2]
  9. Advertisement

About This Article

Tested by:
wikiHow Technology Team
wikiHow is a “wiki,” similar to Wikipedia, which means that many of our articles are co-written by multiple authors. To create this article, 16 people, some anonymous, worked to edit and improve it over time. This article has been viewed 259,582 times.
How helpful is this?
Co-authors: 16
Updated: June 4, 2021
Views: 259,582
Categories: Linux
Advertisement