내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
linux:stow
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== GNU stow ====== * https://www.gnu.org/software/stow/ * [[https://www.gnu.org/software/stow/manual/stow.html|Stow]] * ''stow'' 의 원래 목적은 다중 버전의 애플리케이션을 버전을 선택해가면서 사용하고자 하는 것이다. ===== 실행 ===== * ''~/.dotfiles'' 안에 ''vim'', ''bash'' 등의 디렉토리가 있다고 할때, * 기본적으로 **현재 디렉토리(stow dir)**에서 지정된 이름의 디렉토리에 있는 파일들을 현재** 디렉토리 바로 위의 디렉토리(target dir)**에 링크한다. <code sh> cd ~/.dotfiles # vim 안의 각종 파일을 ~/ 를 기준으로 link 해준다. stow vim ls ~ .vimrc -> ~/.dotfiles/vim/.vimrc # 아무 디렉토리에서나 명시적으로 stow dir과 target dir 을 명시하려면 stow -d ~/.dotfiles -t ~/ vim stow -d ~/.dotfiles -t ~/ -S vim # 명시적으로 stow 하라는 옵션. 생략과 동일 # unstow : 링크 제거 stow -d ~/.dotfiles -t ~/ -D vim # -R restow : unstow -> stow 를 수행한다. </code> ===== 충돌 ===== * stow 하려는 파일이 이미 대상 디렉토리에 존재할 경우 충돌이 발생하면서 stow 를 거부한다. * ''--adopt'' 옵션을 사용하면 대상 디렉토리의 파일을 stow 패키지로 가져와서(adopt) 다시 stow를 한다. * 이는 [[:git|git]]등으로 버전관리를 할 때만 사용해야한다. * 충돌이 나서 버전 관리 대상 stow 패키지로 파일이 옮겨지면 diff 를 해서 충돌을 해결하고 commit/push 해서 최종 사용하면 된다. ===== 주의 ===== * 예를들어 ''~/.dotfiles/local_bin/.local/bin/파일들'' 구조일 때 ''~/.local/bin'' 디렉토리가 존재하지 않으면 ''~/.dotfiles/local_bin/.local/bin'' 디렉토리 자체를 링크해버린다. * 하지만 이미 디렉토리가 존재하면 ''~/.dotfiles/local_bin/.local/bin''아래에 있는 파일들만 링크한다. * 목적에 맞게 미리 디렉토리를 생성해주거나 해야한다. ===== 참조 ===== * [[https://alexpearce.me/2016/02/managing-dotfiles-with-stow/|Managing dotfiles with GNU stow - Alex Pearce]]
linux/stow.txt
· 마지막으로 수정됨: 2020/09/14 00:16 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로