# 使用 Homebrew, dnf, MacPorts, Nix, pacman, apt, zypper 安装 libsolv

查看 libsolv 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:libsolv
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install libsolv
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libsolv
```

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

### Linux

- dnf (92%):

```sh
sudo dnf install libsolv
```

  证据: Fedora Rawhide package metadata: libsolv 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#libsolv
```

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

- pacman (92%):

```sh
sudo pacman -S libsolv
```

  证据: Arch Linux sync databases: libsolv from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- Debian apt (92%):

```sh
sudo apt install libsolv-dev
```

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

- zypper (92%):

```sh
sudo zypper install libsolv-demo
```

  证据: openSUSE Tumbleweed package metadata: libsolv-demo from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## 软件包事实

- **软件包键:** brew:libsolv
- **软件包管理器:** Homebrew
- **版本:** 0.7.39
- **来源摘要:** Library for solving packages and reading repositories
- **主页:** <https://github.com/openSUSE/libsolv>
- **仓库:** <https://github.com/openSUSE/libsolv>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- appdata2solv (别名)
- archpkgs2solv (别名)
- archrepo2solv (别名)
- comps2solv (别名)
- conda2solv (别名)
- deb2solv (别名)
- deltainfoxml2solv (别名)
- dumpsolv (别名)
- helix2solv (别名)
- installcheck (别名)
- mdk2solv (别名)
- mergesolv (别名)
- repo2solv (别名)
- repomdxml2solv (别名)
- rpmdb2solv (别名)
- rpmmd2solv (别名)
- rpms2solv (别名)
- susetags2solv (别名)
- testsolv (别名)
- updateinfoxml2solv (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 0.7.39
## 项目历史与用法

libsolv is openSUSE's package dependency solver and repository metadata library built around a SAT-solving model. It matters to package-manager culture because it turned dependency resolution into a reusable library with compact repository storage, solver introspection, and support for multiple package formats.

### 项目历史

The libsolv history page says the project started in May 2007 when the zypp team considered database-backed installation speedups. Michael Schroeder instead pursued compact dictionary storage for package strings and relations, creating the solv repository format.

During SUSE Hack Week at the end of June 2007, Schroeder adapted ideas from MiniSAT for package dependency solving. By October 2007 the solver was being integrated into libzypp, and in January 2008 the new solver became the default for libzypp.

### 采用历史

libsolv began inside the openSUSE/libzypp/YaST world, but its format readers made it useful beyond RPM repositories. The GitHub README lists support for rpm/rpm5, deb, Arch Linux, Haiku, and apk packages, plus repository formats such as rpmmd, susetags, Mandriva/Mageia synthesis, Arch repositories, and apk indexes.

### 使用方式

The package ships a library plus many conversion and inspection tools such as rpmdb2solv, repomdxml2solv, archrepo2solv, deb2solv, dumpsolv, mergesolv, installcheck, and testsolv. Packagers use it to transform repository metadata into solv files and to test dependency closure or upgrade behavior.

### 为什么软件包爱好者会关心

libsolv is one of the clearest examples of SAT solving escaping theory and becoming normal package-manager plumbing. It is interesting to package nerds because it exposes dependency conflicts, weak dependencies, repository storage, and multi-format metadata as inspectable artifacts rather than opaque package-manager behavior.

### 时间线

- 2007-05: Project work began after zypp installation-speed discussions.
- 2007-06: SUSE Hack Week produced the first SAT-based solver results.
- 2007-10: Integration into libzypp started.
- 2008-01: The SAT solver became the default libzypp solver.
- 2014-07-08: GitHub tag 0.6.4 points to a version-bump commit in the openSUSE/libsolv repository.

### Related projects

- libzypp and YaST were the original integration points.
- MiniSAT influenced the solver design described in the project history.
- RPM, Debian package metadata, Arch repositories, and apk indexes are related ecosystems supported by libsolv readers.

### 来源

- <https://api.github.com/repos/openSUSE/libsolv/tags?per_page=100>
- <https://en.opensuse.org/openSUSE:Libzypp_satsolver>
- <https://github.com/openSUSE/libsolv>
- <https://manpages.ubuntu.com/manpages/noble/man3/libsolv-history.3.html>


## 安全说明

library-like package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- library-like package without higher-risk signals

## 其他软件包管理器记录

- Debian apt - libsolv-dev - 0.7.32-1: normalized package name match | Debian stable package indexes: libsolv-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency solver using a satisfiability algorithm (development files) | https://github.com/openSUSE/libsolv
- Debian apt - libsolv-doc - 0.7.32-1: normalized package name match | Debian stable package indexes: libsolv-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency solver using a satisfiablility algorithm (documentation files) | https://github.com/openSUSE/libsolv
- Debian apt - libsolv-perl - 0.7.32-1: normalized package name match | Debian stable package indexes: libsolv-perl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency solver using a satisfiability algorithm (Perl bindings) | https://github.com/openSUSE/libsolv
- Debian apt - libsolv-tools - 0.7.32-1: normalized package name match | Debian stable package indexes: libsolv-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency solver using a satisfiability algorithm (command-line tools) | https://github.com/openSUSE/libsolv
- Debian apt - libsolv1 - 0.7.32-1: normalized package name match | Debian stable package indexes: libsolv1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency solver using a satisfiability algorithm (shared library) | https://github.com/openSUSE/libsolv
- Debian apt - libsolvext-dev - 0.7.32-1: normalized package name match | Debian stable package indexes: libsolvext-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency solver using a satisfiability algorithm (ext development files) | https://github.com/openSUSE/libsolv
- Debian apt - libsolvext1 - 0.7.32-1: normalized package name match | Debian stable package indexes: libsolvext1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency solver using a satisfiability algorithm (extensions) | https://github.com/openSUSE/libsolv
- Debian apt - python3-solv - 0.7.32-1: normalized package name match | Debian stable package indexes: python3-solv from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency solver using a satisfiability algorithm (Python3 bindings) | https://github.com/openSUSE/libsolv
- Nix - libsolv: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libsolv/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libsolv-dev - 0.7.28-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libsolv-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependency solver using a satisfiability algorithm (development files) | https://github.com/openSUSE/libsolv
- Ubuntu apt - libsolv-doc - 0.7.28-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libsolv-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependency solver using a satisfiablility algorithm (documentation files) | https://github.com/openSUSE/libsolv
- Ubuntu apt - libsolv-perl - 0.7.28-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libsolv-perl from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependency solver using a satisfiability algorithm (Perl bindings) | https://github.com/openSUSE/libsolv
- Ubuntu apt - libsolv-tools - 0.7.28-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libsolv-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependency solver using a satisfiability algorithm (command-line tools) | https://github.com/openSUSE/libsolv
- Ubuntu apt - libsolv1 - 0.7.28-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libsolv1 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependency solver using a satisfiability algorithm (shared library) | https://github.com/openSUSE/libsolv
- Ubuntu apt - libsolvext-dev - 0.7.28-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libsolvext-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependency solver using a satisfiability algorithm (ext development files) | https://github.com/openSUSE/libsolv
- Ubuntu apt - libsolvext1 - 0.7.28-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libsolvext1 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependency solver using a satisfiability algorithm (extensions) | https://github.com/openSUSE/libsolv


## Combined YAML source

View the package source record on GitHub. [combined/libsolv.yml](https://github.com/mxcl/pkgdb/blob/main/combined/libsolv.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
