-
Notifications
You must be signed in to change notification settings - Fork 44
NFS
NFS is the Network File System, one of the earliest complete "network file system" sharing technologies (as opposed to simple upload/download tools to remove systems) that was originally used in UNIX based computers, originally developed by Sun Microsystems in 1984 for use with the Solaris UNIX-based operating system.
NFS version 2 was the first publicly available version, released in 1985 and as a full RFC in 1989 as an open standard available to AT&T UNIX System V and variants including Sun Solaris, IBM AIX, HP-UX, SGI IRIX, DEC Digital UNIX, Amiga UNIX, Microsoft Xenix, SCO UNIX, and many more.
Many open source alternatives quickly offered support for the open standard protocol, including Berkeley Software Distribution (BSD) and Minix.
Non-UNIX operating systems would also support it, such as VAX OpenVMS, Bell Labs Plan 9, BeOS and others.
Many years later, a small hobby OS named Linux would also offer support.
Early versions of Mac OS X would support it well (breaking that support from mid Mac OS X 10.6 Snow Leopard onward where the file cache assumed a case insensitive server, and broke POSIX compatibility with many locking errors not fixed since, and has been largely ignored by Apple since as they pushed towards (AFP)[Netatalk] and (SMB/CIFS)[Samba] instead).
For more information on the protocol and its history, see this link:
RetroNAS implements versions 2, 3, 4, 4.1 and 4.2 of NFS.
Run sudo /opt/retronas/retronas.sh
and navigate to "Install things" -> "NFS".
Take note of your RetroNAS IP address and top level directory, as you'll need them later.
Currently RetroNAS installs NFS with protocol support as low as version 2 (NFSv2) and as high as NFSv4.2.
Currently RetroNAS squashes all NFS permissions to the numerical UID "1000" (typically the first user on a Debian 11 install, which is also the Raspberry Pi OS default user "pi"). In future updates there will be an option to configure this.
It's recommended to use NFSv3 if possible, as it's a mature version of NFS but without the complexity or overhead of NFSv4.
If the client is quite old and can only support NFSv2, RetroNAS can support that for older clients.
Due to the huge variety of systems that can support NFS, mounting it will depend entirely on the OS. A relatively modern Linux system can mount it with a command like the following (assuming the default RetroNAS server side storage of /data/retronas
, and a local client-side mount point of /mnt
):
mount -t nfs -o vers=3 ipaddress:/data/retronas /mnt
Other operating systems and older UNIX systems may vary in their syntax. Consult the documentation supplied (tools like apropos
can search for manuals, and the man
command can read the in-OS manuals).
Getting started:
Contributing
- Bugs
- Structure
- Testing RetroNAS
- Ideas potential future state stuff
Multi-system protocols:
- ADTPro Apple // era
- EtherDFS MS-DOS/FreeDOS
- ethflop MS-DOS/FreeDOS L2 floppy emulator
- FTP
- HTTP
- Kermit
- NFS
- Netatalk AppleTalk/AFP
- Samba SMB/CIFS
- TNFS Atari 8-bit and ZX Spectrum
- Telnet
- ZeroConf, Bonjour, Avahi
- pyGopherd a HTTP alternative
- zterm Serial Comms Zmodem Transfer
Specific system configurations:
- Supported Clients
- 3DS QR codes Nintendo 3DS and 2DS
- Batocera
- EmuELEC and derivatives
- RecalBox
- EmuDeck
- Analogue Pocket (OpenFPGA)
- FSP Nintendo GameCube
- Fenrir-ODE Webserver Sega Saturn
- MiSTer FPGA
- NABU Internet Adapter
- Netlink Sega Saturn Netlink online play
- OpenPS2Loader PlayStation 2
- XBox360
- dreampi dreampi project for Dreamcast (and others) online
- hb-store-cdn PlayStation 4 Homebrew Store CDN
- ps3netsrv PlayStation 3
- linux-dexdrive Dump/Write PS1 memory card images
- sidecart Atari ST Sidecart
Services:
- WaybackProxy Web Proxy through the Wayback Machine
- WebOne Web Proxy
- macproxy Web Proxy
- wrp Web Proxy
- Cockpit Web management
- Syncthing file synchronization
- ROM import Smokemonsters SMDB
- TCPser software Hayes Modem
- BitTorrent
- aria2 lightweight download utility.
- megatools mega.nz suite
- XLink Kai multi-platform
Tools:
- gogrepo Sync your GOG installers
- SabreTools DAT management tool
- mc Midnight Commander (Norton clone)
- ytree filemanger XTree clone
- far2l far2l filemanager
- Gadgets Linux gadgets (OTG) mode
- affstools
- amitools
Physical Media:
- DiscImageCreator dump redump.org compatible images
- Redumper advance disc dumper
On-Device Management:
- cue2pops BIN/CUE to VCD conversion
- extract-xiso Manage XISOs
- hdl-dump PS2 HDD device management
- nbd-client Network Block Device
- pfsshell PFS shell / PFS fuse
- ucon64 A multi-purpose copier device tool
- xboxmanager An experimental XBOX Manager
- pi1541 setup a pi1541 compatible device
Advanced storage options:
- BtrFS RAID, Snapshots, Compression, Deduplication
- FAT Advanced guide to using FAT loopback mounts for EtherDFS
- TBA
- SMR Shingled Magnetic Recording hard drives (TBA)
- NTFS Advanced guide for NTFS formatted disks
- SMB Loopback Mounting an existing SMB NAS
- NFS Loopback Mounting an existing NFS NAS
- MDRAID (TBA)
- LVM (TBA)
- iSCSI Configuring iSCSI
Other:
- Installation Profiles
- Generic ROMs folder
- Other projects and sites
- laptop-ao
- Local Module
- Docker and why it's not optimal for a network storage system