# libnl を Homebrew, Nix, pacman でインストール

libnl のインストール経路、実行ファイル、メタデータ、AI エージェント向けセキュリティノートを確認します。

## インストール

```sh
sudo av install brew:libnl
```

追加のインストールコマンド:

### macOS

- Homebrew (100%):

```sh
brew install libnl
```

  証拠: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#libnl
```

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

- pacman (92%):

```sh
sudo pacman -S libnl
```

  証拠: Arch Linux sync databases: libnl from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz

## パッケージ情報

- **パッケージキー:** brew:libnl
- **パッケージマネージャ:** Homebrew
- **バージョン:** 3.12.0
- **ソース概要:** Netlink Library Suite
- **ホームページ:** <https://github.com/thom311/libnl>
- **リポジトリ:** <https://github.com/thom311/libnl>
- **生成日時:** 2026-08-03T19:37:03+00:00

## 実行可能ファイル

- genl-ctrl-list (エイリアス)
- idiag-socket-details (エイリアス)
- nf-ct-add (エイリアス)
- nf-ct-events (エイリアス)
- nf-ct-list (エイリアス)
- nf-exp-add (エイリアス)
- nf-exp-delete (エイリアス)
- nf-exp-list (エイリアス)
- nf-log (エイリアス)
- nf-monitor (エイリアス)
- nf-queue (エイリアス)
- nl-addr-add (エイリアス)
- nl-addr-delete (エイリアス)
- nl-addr-list (エイリアス)
- nl-class-add (エイリアス)
- nl-class-delete (エイリアス)
- nl-class-list (エイリアス)
- nl-classid-lookup (エイリアス)
- nl-cls-add (エイリアス)
- nl-cls-delete (エイリアス)
- nl-cls-list (エイリアス)
- nl-fib-lookup (エイリアス)
- nl-link-enslave (エイリアス)
- nl-link-ifindex2name (エイリアス)
- nl-link-list (エイリアス)
- nl-link-name2ifindex (エイリアス)
- nl-link-release (エイリアス)
- nl-link-set (エイリアス)
- nl-link-stats (エイリアス)
- nl-list-caches (エイリアス)
- nl-list-sockets (エイリアス)
- nl-monitor (エイリアス)
- nl-neigh-add (エイリアス)
- nl-neigh-delete (エイリアス)
- nl-neigh-list (エイリアス)
- nl-neightbl-list (エイリアス)
- nl-nh-list (エイリアス)
- nl-pktloc-lookup (エイリアス)
- nl-qdisc-add (エイリアス)
- nl-qdisc-delete (エイリアス)
- nl-qdisc-list (エイリアス)
- nl-route-add (エイリアス)
- nl-route-delete (エイリアス)
- nl-route-get (エイリアス)
- nl-route-list (エイリアス)
- nl-rule-list (エイリアス)
- nl-tctree-list (エイリアス)
- nl-util-addr (エイリアス)

## インストール挙動

- Bottle: 利用不可

## バージョンと鮮度

- ページ生成日: 2026-08-03
- マネージャ版: 3.12.0
## プロジェクトの歴史と使われ方

libnl is the Netlink Protocol Library Suite, a set of C libraries for Linux applications that talk to kernel netlink interfaces. Netlink replaced many ioctl-style networking control paths with a message-based IPC mechanism between user space and the kernel.

### プロジェクトの歴史

The Infradead project page describes libnl as a suite split into smaller libraries: libnl for socket and message fundamentals, libnl-route for NETLINK_ROUTE interfaces, libnl-genl for generic netlink, and libnl-nf for netfilter interfaces. The split is explicitly intended to avoid forcing every application to link one large library.

The project history includes a long-lived 1.1.x branch and a 3.x branch. The Infradead page warns that 1.1.x support is limited and tells new applications to target libnl3, while also documenting distribution package names for CentOS, Debian, Fedora, OpenSUSE, Slackware, and Ubuntu.

### 採用の歴史

libnl became a standard dependency for Linux networking software that needed structured access to routes, addresses, links, traffic control, generic netlink families, and netfilter state. Its inclusion in many distribution package sets reflects netlink's role as the Linux kernel's preferred extensible networking control API.

### 使われ方

Callers use libnl core primitives for netlink sockets, message construction, parsing, send, receive, and cache handling, then add family-specific libraries when they need route, generic netlink, or netfilter support. The Homebrew package exposes many nl-* and nf-* command-line helpers around those APIs.

### パッケージ好きにとっての重要性

libnl matters to package maintainers because it is Linux-specific, ABI-sensitive, and central to network managers, firewall tools, wireless stacks, containers, and low-level diagnostics. The project's documented SONAME problems in releases 3.2.18 and 3.2.19 show why distributions track its ABI carefully.

### タイムライン

- 1.1.x era: The project maintained a stable branch but later advised new applications to use libnl3.
- 3.2.10: The project reverted an unnecessary SONAME bump after discussion to reduce distribution-maintainer pain.
- 3.2.18-3.2.19: The project documented an incorrect SONAME that required affected binaries to be relinked for compatibility with 3.2.20 and later.
- 2014-07-16: The Infradead project page records libnl 3.2.25 as released.

### Related projects

- Related kernel interfaces include netlink, NETLINK_ROUTE, generic netlink, and netfilter.
- The libnl suite's related libraries include libnl, libnl-route, libnl-genl, and libnl-nf.

### ソース

- <https://github.com/thom311/libnl>
- <https://www.infradead.org/~tgr/libnl/>


## セキュリティノート

library-like package without higher-risk signals.

- **Geiger リスク:** グリーン / 低
- library-like package without higher-risk signals

## 他のパッケージマネージャ記録

- Nix - libnl: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libnl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- pacman - libnl - 3.12.0-1: normalized package name match | Arch Linux sync databases: libnl from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz | Library for applications dealing with netlink sockets | https://github.com/thom311/libnl/


## Combined YAML source

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


## ソース

- 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
