# Install dsh with Homebrew, apt, MacPorts

Dancer's shell, or distributed shell. Version 0.25.10 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:dsh
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install dsh
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install dsh
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install dsh
```

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

## Package facts

- **Package key:** brew:dsh
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/dsh>
- **Version:** 0.25.10
- **Source summary:** Dancer's shell, or distributed shell
- **Homepage:** <https://www.netfort.gr.jp/~dancer/software/dsh.html.en>
- **Upstream docs:** <https://www.netfort.gr.jp/~dancer/software/dsh.html.en>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://www.netfort.gr.jp/~dancer/software/downloads/dsh-0.25.10.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- dsh (cli)
- dsh (alias)

## Dependencies

- libdshconfig

## Build dependencies

- gnu-sed

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.25.10
- Local data: ok
- Upstream repository: https://www.netfort.gr.jp/~dancer/software/dsh.html.en
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

dsh, Dancer's shell, is Junichi Uekawa's C implementation of a distributed shell wrapper for running rsh, remsh, or ssh commands over many Unix hosts.

### Project history

The official page says dsh grew from the author's own Debian cluster administration needs: repeatedly writing ad hoc scripts for many hosts was inefficient, so a personal tool was polished into a public program. The page's HTML creation stamp is 2001-08-31, and its public download index carries a long 0.22 through 0.25 release stream.

By the 0.24.2 note dated 2003-08-26, the project had already dealt with portability and security-advisory review around its asprintf implementation. Later releases moved into the 0.25 series, with Homebrew packaging 0.25.10 from the upstream download area.

### Adoption history

dsh's adoption is old-school Unix administration adoption: package-manager availability, config files in /etc and ~/.dsh, and use on clusters where the same command must run across many hosts. The official page says it was installed on many clusters and was also used by the related dmachinemon system.

Homebrew analytics showed only 71 installs over the preceding 365 days during this batch, which fits a mature, niche sysadmin utility rather than an actively trendy tool.

### How it is used

The canonical usage is to put host lists or groups in text config files and run commands such as `dsh -a -c -- uname -a` or `dsh -g group -c -- command`. The tool also supports limiting the number of simultaneous connections, hierarchical invocation, and NIS netgroups.

### Why package nerds care

dsh is package-nerd significant because it captures a pre-cloud cluster-management pattern: small C utilities, text host lists, rsh/ssh wrappers, and distro packaging did the work that later orchestration systems absorbed. It is also an example of a name collision family: several unrelated tools called dsh existed in Perl, C, Python, and AIX-compatible forms.

### Timeline

- 2001-08-31: The official HTML page records its creation date.
- 2002: The official references section links Japanese research reports evaluating dsh.
- 2003-08-10: A Bugtraq security advisory about dsh was posted; the maintainer later explained why the checked implementation was not affected on common platforms.
- 2003-08-26: The official page documents the 0.24.2 security-review note.
- 0.25.10: The upstream download index and Homebrew formula identify 0.25.10 as the packaged stable release.

### Related projects

- dmachinemon is named by the official page as a system that used dsh extensively.
- The official related-work list points to other distributed-shell projects, including Perl dsh, another C dsh, and pydsh.
- ssh, rsh, and remsh are the remote-shell mechanisms dsh wraps.

### Sources

- <https://www.netfort.gr.jp/~dancer/software/dsh.html.en>
- <https://www.netfort.gr.jp/~dancer/software/downloads/>
- <https://formulae.brew.sh/formula/dsh>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation 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

- Unix: /etc/dsh/dsh.conf, ~/.dsh/dsh.conf, /etc/dsh/machines.list, ~/.dsh/machines.list, /etc/dsh/group/groupname, ~/.dsh/group/groupname
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** dsh
- **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 - dsh - 0.25.10-2: normalized package name match | Debian stable package indexes: dsh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dancer's shell, or distributed shell | https://www.netfort.gr.jp/~dancer/software/dsh.html
- Ubuntu apt - dsh - 0.25.10-1.6build1: normalized package name match | Ubuntu 24.04 LTS package indexes: dsh from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dancer's shell, or distributed shell | http://www.netfort.gr.jp/~dancer/software/dsh.html
- MacPorts - dsh: normalized package name match | MacPorts ports tree: net/dsh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [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.
- [Web development packages](https://www.automicvault.com/pkg/web-dev-tools/) - Matched web development metadata.
- [gnu-sed](https://www.automicvault.com/pkg/brew/gnu-sed/) - Build dependency declared by Homebrew.
- [kanif](https://www.automicvault.com/pkg/brew/kanif/) - Shares av.db curated category or tags: cli, cluster-management, remote-execution, ssh, system.
- [orgalorg](https://www.automicvault.com/pkg/brew/orgalorg/) - Shares av.db curated category or tags: cli, remote-execution, ssh, system.
- [pdsh](https://www.automicvault.com/pkg/brew/pdsh/) - Shares av.db curated category or tags: cli, cluster-management, remote-execution, system.
- [rex](https://www.automicvault.com/pkg/brew/rex/) - Shares av.db curated category or tags: cli, remote-execution, ssh, system.
- [apt-dater](https://www.automicvault.com/pkg/brew/apt-dater/) - Shares av.db curated category or tags: cli, ssh, system.
- [genders](https://www.automicvault.com/pkg/brew/genders/) - Shares av.db curated category or tags: cli, cluster-management, system.
- [mpssh](https://www.automicvault.com/pkg/brew/mpssh/) - Shares av.db curated category or tags: cli, ssh, system.
- [nrpe](https://www.automicvault.com/pkg/brew/nrpe/) - Shares av.db curated category or tags: cli, remote-execution, system.

## Combined YAML source

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


## Sources

- 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
