[macos] Sierra에서 각 폴더에 .DS_Store 파일이 안 생기도록 수정 Computer Tip

맥을 한 십년간 잘 사용하고 있는데 언제부터인가 각종 폴더에 .DS_Store 라는 히든 파일이 생성됩니다.

이 파일의 역할이 무엇일지 궁금했는데 위키피디어 내용에서 찾아보니,
윈도우의 Disktop.ini 파일 (또는 .Thumbs.db ?) 등과 유사하게 아이콘이나
Spotlight의 검색을 위한 메타 정보가 들어가 있는 것이라 하더군요.

그런데 저는 $HOME/work 폴더를 docker 또는 VM과 공유하여 git도 사용하고 기타 등등의 역할을
하다보니 이 .DS_Store 가 여간 골칫거리처럼 등장하는 것이었습니다.

이것을 어떻게 없앨 수 있을까 하고 찾아보았더니,
누군가가 엘카피탄에서 적용한 블로그를 찾았습니다.


macos인 시에라(Sierra)에서도 잘 적용되는가 해 보았는데,
잘 되는 것 같아 공유해 봅니다.

다음은 그 방법입니다.


1) SIP 기능 disable

맥을 껏다가 Command + R 을 누르고 전원을 켜서 복구 보드로 들어갑니다.

유틸리티 > 터미털을 열어

# csrutil disable

명령으로 SIP를 비활성화 시킵니다.

그리고 시스템을 리붓합니다.

이 기능을 비활성화 하는 이유는 
아래에 표시된 Asepsis라고 하는 유틸리티를 설치할 것인데 SIP 때문에 설치되지 않아
일단 비활성화시키고 설치한 다음 활성화 할 것입니다.

Asepsis는 각 폴더에 생기는 .DS_Store 파일 대신 /usr/local/.dscage 라는 폴더에 상대적으로 
DS_Store 파일을 만들어 이용하게 됩니다.

기능은 동일한게 동작하지만 그 위치만 별도의 곳에 모아두는 식이네요.
시에라까지는 동작을 하는데 그 이후 OS 에서도 동작할 지는 의문이네요.
해당 개발자가 이제 더 이상 지원을 하지 않을거라 하네요.


2) Asepsis 설치

그 다음에는 일단 다음과 같이 두 개의 빈 파일을 만들어 놓습니다.

터미널에서,

touch ~/.no-asepsis-os-restriction
$ touch ~/.asepsis-suppress-update-errors

라고 두 개의 빈 파일을 만듧니다.

우선 토탈파인더 포함되어 있던 유틸리티로 보이는 Asepsis (a smart solution for .DS_Store pollution) 이라는 곳에서


위에 다운로드한 dmg에 있는 Asepsis PKG를 실행시켜

"Continue" 합니다. 만약 위의 과정이 없었다면 해당 10.10 이후 버전은 안된다고 하며 종료됩니다.

계속 하고,

"Install" 합니다.

설치가 잘 되었다고 나옵니다.

터미널에서 위와 같이

$ asepsisctl diagnoe

명령을 돌려, "OK" 가 보이면 잘 설치된 상태입니다.



3) 기존의 .DS_Store 파일 삭제

이제 위와 같이 터미털에서

$ cd $HOME
$ find . -name ".DS_Store"

라고 하면 여러 하위 폴더에 있던 파일들이 보이는데,

$ find . -name ".DS_Store" -exec rm -f {} \;

라고 명령을 주어 모든 해당 파일을 삭제합니다.


4) SIP 활성화

1에서 했던 것 처럼 시스템을 다시 기동시키면서 Command + R + 파워단추 를 눌러 복구모드로 들어간 다음,
터미널을 띄우고,


# csrutil enable

명령으로 활성화 시키고 시스템을 재기동합니다.


5) 확인

다시 기동 되었으면 터미널을 열어 다음과 같이 확인합니다.

$ csrutil status

명령의 결과가 enabled 라고 나오면 SIP 가 활성화된 상태입니다.

$ asepsisctl diagnose

명령으로 OK가 나오면 asepsis도 잘 설치된 것입니다.

$ find $HOME -name ".DS_Store"

명령으로 아무것도 나오지 않아야 정상입니다. (4에서 모두 삭제하였으므로)

$ find /usr/local/.dscage/

명령을 해 보면, 동일한 상대경로로해서 .DS_Store 대신 _DS_Store 라는 메타파일이 생성된 것을 
확인할 수 있습니다.


이제는 docker 볼륨작업을 할 때 이 파일이 이곳 저곳에서 등장하지 않겠군요.


어느분께는 도움이 되셨기를...



덧글

댓글 입력 영역

구글애드텍스트