# 使用 Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper 安装 unison

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

## 安装

```sh
sudo av install brew:unison
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install unison
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install unison
```

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

### Linux

- apk (92%):

```sh
sudo apk add unison
```

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

- Debian apt (92%):

```sh
sudo apt install unison
```

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

- dnf (92%):

```sh
sudo dnf install unison
```

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

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

- pacman (92%):

```sh
sudo pacman -S unison
```

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

- zypper (92%):

```sh
sudo zypper install unison
```

  证据: openSUSE Tumbleweed package metadata: unison from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install unison
```

  证据: Chocolatey community package catalog: unison from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='6.5836','capture'

- Scoop (92%):

```sh
scoop install main/unison
```

  证据: Scoop official bucket manifest trees: bucket/unison.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id bcpierce00.unison -e
```

  证据: Windows Package Manager source index: bcpierce00.unison from https://cdn.winget.microsoft.com/cache/source.msix

## 软件包事实

- **软件包键:** brew:unison
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/unison>
- **版本:** 2.54.0
- **来源摘要:** File synchronization tool
- **主页:** <https://www.cis.upenn.edu/~bcpierce/unison/>
- **仓库:** <https://github.com/bcpierce00/unison>
- **上游文档:** <https://github.com/bcpierce00/unison/wiki>
- **许可证:** GPL-3.0-or-later
- **源码归档:** <https://github.com/bcpierce00/unison/archive/refs/tags/v2.54.0.tar.gz>
- **最后更新:** 2026-05-01T04:33:37Z
- **已生成:** 2026-07-08T18:08:21+00:00

## 可执行文件

- unison (cli)
- unison-fsmonitor (cli)
- unison (别名)
- unison-fsmonitor (别名)

## 构建依赖

- ocaml

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-07-08
- 管理器版本: 2.54.0
- 管理器更新时间: 2026-05-01
- 本地数据: OK
- 上游仓库: https://github.com/bcpierce00/unison
- 检测到的最新版本: v2.54.0 (当前)
## 项目历史与用法

Unison is a long-running bidirectional file synchronizer for Unix-like systems, macOS, and Windows. It occupies a different niche from one-way mirroring tools: it lets two independently changed replicas converge while detecting conflicts, using a normal user account rather than a kernel filesystem or privileged service.

### 项目历史

The original Unison web site at the University of Pennsylvania describes the tool as free software with a precise specification, support for Windows and many Unix variants, and transfer optimizations for small changes in large files. That site is now archival, and the project is hosted on GitHub.

Unison's implementation history matters to packagers because the executable, wire protocol, and archive format have historically been tied to OCaml details. The project addressed much of that pain in the 2.52 line by adding feature negotiation, a new OCaml-independent archive format, and a new wire protocol; later 2.53 releases continued modernizing build, GUI, Windows, extended attribute, and ACL support.

### 采用历史

Unison has remained useful because it solved a stubborn workstation problem: keeping home directories, source trees, and personal data synchronized across laptops, servers, and operating systems without requiring a central always-on service. Its upstream README notes more than 25 years of use, and its package-manager footprint in the input spans Homebrew, Debian, Ubuntu, Fedora, Arch, Nix, MacPorts, Windows package managers, and others.

In package-manager culture, Unison also became a compatibility cautionary tale. Users often need compatible versions on both ends of a sync, so distribution lag, OCaml compiler changes, and remote-server availability can matter as much as the local binary itself.

### 使用方式

Typical CLI usage is to synchronize two roots, either local paths or a local path and a remote path reached over ssh. The official manual emphasizes running the remote copy as the file owner, using ssh rather than insecure socket modes for ordinary remote synchronization, and reviewing conflicts before propagation.

Profiles stored as .prf files let users capture roots, paths, ignore rules, preferences, and repeat/watch behavior. For package users, the important executable split is the main unison CLI plus unison-fsmonitor, which supports watch-oriented workflows on platforms where it is available.

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

Unison is package-nerd interesting because it is both old and operationally picky: a small package upgrade can affect interoperability with a remote host, archive migration, GUI availability, and OCaml runtime compatibility. That makes it a favorite example when discussing why reproducible package sets, pinned versions, and cross-platform binary availability matter.

It also sits in the same practical toolbox as rsync while making a different tradeoff: rsync excels at one-way copy and deployment, while Unison tracks two replicas and asks the user to resolve real conflicts. That distinction keeps it relevant for dotfiles, laptops, research workstations, and mixed Unix/Windows environments.

### 时间线

- 1990s-2000s: Unison developed as a cross-platform bidirectional file synchronizer at the University of Pennsylvania.
- 2010s: The project moved from older hosting to GitHub after an SVN-to-Git transition.
- 2022: Version 2.52 introduced feature negotiation plus OCaml-independent archive and wire formats.
- 2022-2023: Version 2.53 added GTK3 GUI work, extended attributes, ACL support, Windows build improvements, and modernized build instructions.
- 2026: Version 2.54 dropped the old wire protocol and pre-2.52 archive support.

### Related projects

- Unison is commonly compared with rsync, mirroring utilities, configuration-management tools, distributed filesystems such as Coda, and platform-specific sync tools. Its own documentation highlights these comparisons to explain why bidirectional reconciliation is its central feature.
- The project is implemented in OCaml, so OCaml compiler and runtime evolution have been unusually visible in its packaging and compatibility story.

### 来源

- <https://github.com/bcpierce00/unison>
- <https://github.com/bcpierce00/unison/wiki/OCaml-versions>
- <https://raw.githubusercontent.com/bcpierce00/unison/master/NEWS.md>
- <https://www.cis.upenn.edu/~bcpierce/unison/>
- source_facts.package-manager


## 安全说明

broad file, network, media, or database tool signal.

- **Geiger 风险:** blue / 中
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- macOS: ~/Library/Application Support/Unison/*.prf, ~/.unison/*.prf
- Unix: ~/.unison/*.prf
- Windows: %USERPROFILE%\.unison\*.prf, %HOME%\.unison\*.prf, C:\.unison\*.prf
## 源数据库详情

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

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

- Debian apt - unison - 2.53+1: normalized package name match | Debian stable package indexes: unison from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | file-synchronization tool for Unix and Windows
- Nix - unison: normalized package name match | nixpkgs package indexes: pkgs/by-name/un/unison/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - unison - 2.53+1: normalized package name match | Ubuntu 24.04 LTS package indexes: unison from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | file-synchronization tool for Unix and Windows
- apk - unison - 2.54.0-r0: normalized package name match | Alpine Linux edge package indexes: unison from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Efficient file-synchronization tool | https://www.cis.upenn.edu/~bcpierce/unison/
- apk - unison-doc - 2.54.0-r0: normalized package name match | Alpine Linux edge package indexes: unison-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Efficient file-synchronization tool (documentation) | https://www.cis.upenn.edu/~bcpierce/unison/
- dnf - unison - 2.54.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: unison from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | File Synchronizer | https://github.com/bcpierce00/unison
- dnf - unison-doc - 2.54.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: unison-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Unison File Synchronizer documentation | https://github.com/bcpierce00/unison
- dnf - unison-gtk - 2.54.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: unison-gtk from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Unison File Synchronizer GTK interface | https://github.com/bcpierce00/unison
- pacman - unison - 2.54.0-1: normalized package name match | Arch Linux sync databases: unison from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | File-synchronization tool | https://github.com/bcpierce00/unison/
- zypper - unison - 2.53.8-1.4: normalized package name match | openSUSE Tumbleweed package metadata: unison from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | File synchronization tool | https://github.com/bcpierce00/unison
- zypper - unison-text - 2.53.8-1.4: normalized package name match | openSUSE Tumbleweed package metadata: unison-text from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | File synchronization tool | https://github.com/bcpierce00/unison
- MacPorts - unison: normalized package name match | MacPorts ports tree: net/unison/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - unison: normalized package name match | Chocolatey community package catalog: unison from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='6.5836','capture'
- Scoop - main/unison: normalized package name match | Scoop official bucket manifest trees: bucket/unison.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - bcpierce00.unison: normalized package name match | Windows Package Manager source index: bcpierce00.unison from https://cdn.winget.microsoft.com/cache/source.msix
- Nix - unison-fsmonitor: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/un/unison-fsmonitor/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## 相关链接

- [Secret-risk packages](https://www.automicvault.com/zh-hans/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/zh-hans/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/zh-hans/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/zh-hans/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [ocaml](https://www.automicvault.com/zh-hans/pkg/brew/ocaml/) - Build dependency declared by Homebrew.
- [brename](https://www.automicvault.com/zh-hans/pkg/brew/brename/) - Shares av.db curated category or tags: cli, cross-platform, developer-tools.
- [chsrc](https://www.automicvault.com/zh-hans/pkg/brew/chsrc/) - Shares av.db curated category or tags: cli, cross-platform, developer-tools.
- [cmake](https://www.automicvault.com/zh-hans/pkg/brew/cmake/) - Shares av.db curated category or tags: cli, cross-platform, developer-tools.
- [energy](https://www.automicvault.com/zh-hans/pkg/brew/energy/) - Shares av.db curated category or tags: cli, cross-platform, developer-tools.
- [flatbuffers](https://www.automicvault.com/zh-hans/pkg/brew/flatbuffers/) - Shares av.db curated category or tags: cli, cross-platform, developer-tools.
- [fltk](https://www.automicvault.com/zh-hans/pkg/brew/fltk/) - Shares av.db curated category or tags: cli, cross-platform, developer-tools.
- [fox](https://www.automicvault.com/zh-hans/pkg/brew/fox/) - Shares av.db curated category or tags: cli, cross-platform, developer-tools.
- [fswatch](https://www.automicvault.com/zh-hans/pkg/brew/fswatch/) - Shares av.db curated category or tags: cli, cross-platform, developer-tools.
- [watcher](https://www.automicvault.com/zh-hans/pkg/brew/watcher/) - Local package facts share a topical domain. Shared terms: cli, cross, cross-platform, developer, developer-tools.

## Combined YAML source

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


## 来源

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
