Skip to content

GNU Stow

Description:
シンボリックリンクを管理し、複数のディレクトリ構成を一箇所に統合・展開するシンボリックリンクファームマネージャー
Updated:
2026/01/28
  • シンプルなリンク管理: 特定のディレクトリ構造を別の場所に「投影」するように、一括でシンボリックリンクを作成・削除。
  • Dotfiles管理に最適: 設定ファイルを一つのGitリポジトリにまとめつつ、ホームディレクトリなどの適切な場所に簡単に展開可能。
  • クリーンな管理: ファイルを直接コピーするのではなくリンクを張るため、設定の変更が即座に同期され、アンインストール(リンク削除)も安全。
  • パッケージ感覚の運用: ツールごとに設定をディレクトリ分けしておき、必要なものだけを stow コマンドで個別に適用可能。
  • Dotfiles(設定ファイル)の同期: ~/.dotfiles 内で管理している bash, vim, tmux 等の設定を、各マシンのホームディレクトリへ一気に展開。
  • 独自ビルドプログラムの配置: /usr/local/stow/ 内にバージョンごとにアプリを配置し、 /usr/local/bin 等へ必要なバージョンだけをリンク。
  • 複数マシン間での設定共有: Gitリポジトリ化した設定ファイルを git pull してから stow することで、すべてのマシンで共通の環境を維持。

Unix系OSであれば、ほとんどの標準リポジトリに含まれています。

  • Ubuntu / Debian
sudo apt install stow
  • macOS (Homebrew)
brew install stow
  • Arch Linux
sudo pacman -S stow

基本的な使い方 (Dotfiles管理の例)

Section titled “基本的な使い方 (Dotfiles管理の例)”
  1. 設定をまとめるディレクトリを作成し、その中にアプリごとのディレクトリを作ります。
mkdir -p ~/.dotfiles/vim
mv ~/.vimrc ~/.dotfiles/vim/
  1. .dotfiles ディレクトリへ移動し、 stow コマンドを実行してリンクを張ります。
cd ~/.dotfiles
stow vim

これで ~/.vimrc~/.dotfiles/vim/.vimrc へのシンボリックリンクとして作成されます。

設定を元に戻したい(リンクを削除したい)場合は -D オプションを使います。

stow -D vim