使用 Stow 管理多台機器配置
去年,我在 19 天里給你介紹了 19 個新(對你而言)的生產力工具。今年,我換了一種方式:使用你在使用或者還沒使用的工具,構建一個使你可以在新一年更加高效的環境。
使用 Stow 管理符號鏈接
昨天,我解釋了如何使用 Syncthing 在多台計算機上保持文件同步。但是,這只是我用來保持配置一致性的工具之一。還有另一個表面上看起來更簡單的工具:Stow。
![Stow help screen](/data/attachment/album/202001/18/141427lhn98rqyqq9h2d22.png "Stow help screen")
Stow 管理符號鏈接。默認情況下,它會鏈接目錄到上一級目錄。還有設置源和目標目錄的選項,但我通常不使用它們。
正如我在 Syncthing 的文章 中提到的,我使用 Syncthing 來保持 myconfigs
目錄在我所有的計算機上一致。myconfigs
目錄下面有多個子目錄。每個子目錄包含我經常使用的應用之一的配置文件。
![myconfigs directory](/data/attachment/album/202001/18/141430ov0i4fv3iq84h322.png "myconfigs directory")
在每台計算機上,我進入 myconfigs
目錄,並運行 stow -S <目錄名稱>
以將目錄中的文件符號鏈接到我的家目錄。例如,在 vim
目錄下,我有 .vimrc
和 .vim
目錄。在每台機器上,我運行 stow -S vim
來創建符號鏈接 ~/.vimrc
和 ~/.vim
。當我在一台計算機上更改 Vim 配置時,它會應用到我的所有機器上。
然而,有時候,我需要一些特定於機器的配置,這就是為什麼我有如 msmtp-personal
和 msmtp-elastic
(我的僱主)這樣的目錄。由於我的 msmtp
SMTP 客戶端需要知道要中繼電子郵件伺服器,並且每個伺服器都有不同的設置和憑據,我會使用 -D
標誌來取消鏈接,接著鏈接另外一個。
![Unstow one, stow the other](/data/attachment/album/202001/18/141437u3g477ny77bikeki.png "Unstow one, stow the other")
有時我要給配置添加文件。為此,有一個 -R
選項來「重新鏈接」。例如,我喜歡在圖形化 Vim 中使用一種與控制台不同的特定字體。除了標準 .vimrc
文件,.gvimrc
文件能讓我設置特定於圖形化版本的選項。當我第一次設置它時,我移動 ~/.gvimrc
到 ~/myconfigs/vim
中,然後運行 stow -R vim
,它取消鏈接並重新鏈接該目錄中的所有內容。
Stow 讓我使用一個簡單的命令行在多種配置之間切換,並且,結合 Syncthing,我可以確保無論我身在何處或在哪裡進行更改,我都有我喜歡的工具的設置。
via: https://opensource.com/article/20/1/configuration-management-stow
作者:Kevin Sonney 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive