GNU stow를 사용하여 원래 디렉터리와 기호 디렉터리 간의 파일과 기호 링크를 동기화하는 방법은 무엇입니까?

GNU stow를 사용하여 원래 디렉터리와 기호 디렉터리 간의 파일과 기호 링크를 동기화하는 방법은 무엇입니까?

예를 들어, 나는 ~/.local/bin/그 안에 를 가리키는 심볼릭 링크를 넣었습니다 ~/Dotfiles.d/local/.local/bin/.

이를 위해 다음 지침을 사용합니다.

$ cd ~/Dotfiles.d/
$ stow -v local

따라서 stow로컬의 모든 파일(.local/bin/* 포함)에 대한 링크가 생성됩니다.~/.local/bin/*

하지만 bin 디렉터리에 새 파일을 추가해야 할 때 파일을 ~/.local/bin/어떻게 추가 ~/Dotfiles.d/local/.local/bin/하더라도 stow두 디렉터리 간에 파일을 동기화할 수 없습니다.

내가 원하는 것은:

  1. 새 파일을 직접 추가하면 ~/.local/bin/실제로는 새 파일이 자동으로 추가되고 ~/Dotfiles.d/local/.local/bin심볼릭 링크도 자동으로 생성됩니다 ~/.local/bin/.
  2. 에 새 파일을 추가하면 ~/Dotfiles.d/local/.local/bin/해당 파일에 대한 심볼릭 링크가 자동으로 생성됩니다 ~/.local/bin/.

할 수 있나요 stow?

답변1

GNU Stow는 양방향 또는 연속 동기화를 구현하지 않으며 그렇게 할 의도도 없었습니다. 주요 작업은 Stow 디렉터리 아래 Stow 패키지 트리의 파일과 디렉터리를 가리키는 대상 디렉터리의 심볼릭 링크를 관리하는 것입니다. (바라보다매뉴얼의 용어 섹션이러한 용어의 정확한 정의를 알아보세요. )

따라서 귀하의 두 요청에 대한 답변은 다음과 같습니다.

  1. local아니요, Stow는 사용자가 새 파일을 Stow 디렉터리( ) 아래의 패키지 에 배치할지 아니면 다른 패키지에 배치할지 알 수 없기 때문에 이는 의도적으로 불가능합니다 ~/Dotfiles.d. 그런데 local이 옵션을 사용하면 새 파일이 패키지 트리 아래의 해당 경로에 추가되는 경우 --adopt일반 파일의 새 파일을 ~/.local/bin/심볼릭 링크 로 바꿀 수 있습니다.
  2. "자동으로"라는 말이 사용자 개입 없이 의미한다면 아니요. Dropbox 데몬과 같은 서비스와 달리 Stow는 지속적으로 실행되지 않기 때문입니다. 그러나 stow local두 번째로 실행하면 원하는 심볼릭 링크가 생성됩니다.

관련 정보