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

C client library for NFS. Version 6.0.2 via Homebrew; verified from local package data.

## 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

- 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

- 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/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-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

- zypper (92%):

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

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

## Package facts

- **Package key:** brew:libnfs
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libnfs>
- **Version:** 6.0.2
- **Source summary:** C client library for NFS
- **Homepage:** <https://github.com/sahlberg/libnfs>
- **Repository:** <https://github.com/sahlberg/libnfs>
- **Upstream docs:** <https://github.com/sahlberg/libnfs#readme>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-6.0.2.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

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

## Build dependencies

- cmake
- docbook
- docbook-xsl

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 6.0.2
- Local data: ok
- Upstream repository: https://github.com/sahlberg/libnfs
- Upstream latest detected: libnfs-6.0.2 (current)
- info: No package-manager update timestamp was available.
## 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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libnfs
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## 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-7.fc44: normalized package name match | Fedora Rawhide package metadata: libnfs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Client library for accessing NFS shares over a network | https://github.com/sahlberg/libnfs
- dnf - libnfs-devel - 6.0.2-7.fc44: 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/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for libnfs | https://github.com/sahlberg/libnfs
- dnf - libnfs-utils - 6.0.2-7.fc44: 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/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-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 - 5.0.3-3.2: normalized package name match | openSUSE Tumbleweed package metadata: libnfs-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for libnfs | https://github.com/sahlberg/libnfs


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [docbook](https://www.automicvault.com/pkg/brew/docbook/) - Build dependency declared by Homebrew.
- [docbook-xsl](https://www.automicvault.com/pkg/brew/docbook-xsl/) - Build dependency declared by Homebrew.
- [far2l-tty](https://www.automicvault.com/pkg/brew/far2l-tty/) - Popular package that depends on this formula.
- [mpd](https://www.automicvault.com/pkg/brew/mpd/) - Popular package that depends on this formula.
- [xmlrpc-c](https://www.automicvault.com/pkg/brew/xmlrpc-c/) - Shares av.db curated category or tags: cli, library, networking, rpc.
- [adns](https://www.automicvault.com/pkg/brew/adns/) - Shares av.db curated category or tags: cli, library, networking.
- [c-ares](https://www.automicvault.com/pkg/brew/c-ares/) - Shares av.db curated category or tags: cli, library, networking.
- [curl](https://www.automicvault.com/pkg/brew/curl/) - Shares av.db curated category or tags: cli, library, networking.
- [czmq](https://www.automicvault.com/pkg/brew/czmq/) - Shares av.db curated category or tags: cli, library, networking.
- [freerdp](https://www.automicvault.com/pkg/brew/freerdp/) - Shares av.db curated category or tags: cli, library, networking.
- [gupnp](https://www.automicvault.com/pkg/brew/gupnp/) - Shares av.db curated category or tags: cli, library, networking.
- [hesiod](https://www.automicvault.com/pkg/brew/hesiod/) - Shares av.db curated category or tags: cli, library, networking.
- [libcoap](https://www.automicvault.com/pkg/brew/libcoap/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, client, library, network, networking.
- [libiscsi](https://www.automicvault.com/pkg/brew/libiscsi/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, client, client-library, networking.
- [fastnetmon](https://www.automicvault.com/pkg/brew/fastnetmon/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, client, network, networking.

## Combined YAML source

View the package source record on GitHub. [combined/libnfs.yml](https://github.com/automic-vault/db/blob/main/combined/libnfs.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
