# Install libnfs with Homebrew, apk, dnf, MacPorts, Nix, pacman, apt, zypper

C client library for NFS. Version 6.0.2 via Homebrew; verified from local package data. Also installable with debian: sudo apt install libnfs-dev.

## Install

```sh
sudo av install brew:libnfs
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libnfs
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libnfs
```

  Evidence: MacPorts ports tree: devel/libnfs/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add libnfs
```

  Evidence: Alpine Linux edge package indexes: libnfs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install libnfs
```

  Evidence: Fedora Rawhide package metadata: libnfs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#libnfs
```

  Evidence: nixpkgs package indexes: pkgs/by-name/li/libnfs/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S libnfs
```

  Evidence: Arch Linux sync databases: libnfs from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- Debian apt (92%):

```sh
sudo apt install libnfs-dev
```

  Evidence: Debian stable package indexes: libnfs-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- zypper (92%):

```sh
sudo zypper install libnfs-devel
```

  Evidence: openSUSE Tumbleweed package metadata: libnfs-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## Package facts

- **Package key:** brew:libnfs
- **Package manager:** Homebrew
- **Version:** 6.0.2
- **Source summary:** C client library for NFS
- **Homepage:** <https://github.com/sahlberg/libnfs>
- **Repository:** <https://github.com/sahlberg/libnfs>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- nfs-cat (alias)
- nfs-cp (alias)
- nfs-ls (alias)
- nfs-stat (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 6.0.2
## Project history and usage

libnfs is a C client library for accessing NFS shares over a network. It packages NFS and related RPC protocol handling into reusable APIs instead of requiring callers to mount a filesystem through the operating system.

### Project history

The sahlberg/libnfs repository presents the library around three APIs: a raw asynchronous RPC interface, an asynchronous high-level NFS interface, and a synchronous high-level interface. The README also documents a version 2 API break with changed async task functions and read/write signatures.

The project broadened from NFSv3-oriented client access into NFSv4, server-side RPC examples, Windows and macOS build fixes, and later zero-copy read/write support for NFS v3/v4. Its changelog is organized by version transitions rather than narrative release notes.

### Adoption history

libnfs is useful to media applications, backup tools, embedded systems, emulators, test programs, and cross-platform software that needs NFS URL access without a kernel mount. The README documents platform coverage for Linux, Cygwin, macOS, iOS, FreeBSD, Solaris, Windows, Android, AROS, PlayStation 2, and PlayStation 3.

### How it is used

Applications can use nfs:// URLs, choose sync or async APIs, select NFS versions through URL arguments or API calls, and tune behavior such as timeouts, retries, mount traversal, directory caching, TLS transport security, and UID/GID handling. The package also provides small tools such as nfs-cat, nfs-cp, nfs-ls, and nfs-stat.

### Why package nerds care

libnfs is package-nerd interesting because it turns a traditionally kernel-mounted network filesystem into a linkable userspace protocol library. That makes it attractive in sandboxed, portable, or media-heavy software, but it also brings protocol-version, credential, TLS, and platform-build details into ordinary dependency graphs.

### Timeline

- 1.11.0 era: The changelog records support for RPC timeouts, low-level NFSv4 work, and building RPC servers.
- 2.0.0 era: The changelog records NFSv4 support, lockf and fcntl locking support for NFSv4, CMake support, URL arguments for NFS version selection, and a testsuite.
- 4.0.0 era: The changelog records multithread support for Linux and Windows and fixes for NFSv4 chmod, chown, and utimes behavior.
- 5.0.2 era: The changelog records zero-copy write/read work, NFS 4.1 structure additions, and notes that new development had shifted to a libnfs-next-gen branch.

### Related projects

- Related protocol pieces include ONC RPC, XDR, NFSv3, NFSv4, portmapper, mount, NLM, NSM, and rquota support.
- The repository includes examples for raw RPC access, asynchronous NFS access, synchronous NFS access, RPC servers, and an LD_PRELOAD experiment for NFS-aware command-line utilities.

### Sources

- <https://github.com/sahlberg/libnfs>
- <https://github.com/sahlberg/libnfs/blob/master/CHANGELOG>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Other Package-Manager Records

- Debian apt - libnfs-dev - 5.0.2-1+b2: normalized package name match | Debian stable package indexes: libnfs-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | NFS client library (development files) | https://github.com/sahlberg/libnfs
- Debian apt - libnfs-utils - 5.0.2-1+b2: normalized package name match | Debian stable package indexes: libnfs-utils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | NFS client library (binaries) | https://github.com/sahlberg/libnfs
- Debian apt - libnfs14 - 5.0.2-1+b2: normalized package name match | Debian stable package indexes: libnfs14 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | NFS client library (shared library) | https://github.com/sahlberg/libnfs
- Nix - libnfs: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libnfs/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libnfs-dev - 5.0.2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libnfs-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | NFS client library (development files) | https://github.com/sahlberg/libnfs
- Ubuntu apt - libnfs-utils - 5.0.2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libnfs-utils from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | NFS client library (binaries) | https://github.com/sahlberg/libnfs
- Ubuntu apt - libnfs14 - 5.0.2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libnfs14 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | NFS client library (shared library) | https://github.com/sahlberg/libnfs
- apk - libnfs - 5.0.3-r0: normalized package name match | Alpine Linux edge package indexes: libnfs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Client library for accessing NFS shares | https://github.com/sahlberg/libnfs
- apk - libnfs-dev - 5.0.3-r0: normalized package name match | Alpine Linux edge package indexes: libnfs-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Client library for accessing NFS shares (development files) | https://github.com/sahlberg/libnfs
- apk - libnfs-doc - 5.0.3-r0: normalized package name match | Alpine Linux edge package indexes: libnfs-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Client library for accessing NFS shares (documentation) | https://github.com/sahlberg/libnfs
- apk - libnfs-tools - 5.0.3-r0: normalized package name match | Alpine Linux edge package indexes: libnfs-tools from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Client library for accessing NFS shares (tools) | https://github.com/sahlberg/libnfs
- dnf - libnfs - 6.0.2-8.fc45: normalized package name match | Fedora Rawhide package metadata: libnfs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Client library for accessing NFS shares over a network | https://github.com/sahlberg/libnfs
- dnf - libnfs-devel - 6.0.2-8.fc45: normalized package name match | Fedora Rawhide package metadata: libnfs-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Development files for libnfs | https://github.com/sahlberg/libnfs
- dnf - libnfs-utils - 6.0.2-8.fc45: normalized package name match | Fedora Rawhide package metadata: libnfs-utils from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Utilities for accessing NFS servers | https://github.com/sahlberg/libnfs
- pacman - libnfs - 6.0.2-5: normalized package name match | Arch Linux sync databases: libnfs from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | client library for accessing NFS shares | https://github.com/sahlberg/libnfs
- zypper - libnfs-devel - 6.0.2-1.2: normalized package name match | openSUSE Tumbleweed package metadata: libnfs-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Development files for libnfs | https://github.com/sahlberg/libnfs


## Combined YAML source

View the package source record on GitHub. [combined/libnfs.yml](https://github.com/mxcl/pkgdb/blob/main/combined/libnfs.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
