[Mac OS 버전 Catalina 10.15.7]
결론부터 말하자면 mac os에서는 /home을 사용않기로함.
server를 ubuntu로 자주 사용한다.(aws, vagrant, vm…)
mac os에서의 환경과 ubuntu 개발 및 필요한 라이브러리, 모듈 등 환경을 맞추어 linux로 올릴 시 디렉토리 내 참조하는 파일 및 덤프하거나 덤프한 데이터를 불러오거나 등의 작업을 할 때 동일한 디렉토리명에서 작업을 하면 좋겠다고 생각했다.
그래서 ‘/home/hackyu/작업명디렉토리’ 와 같이 mac에서 작업하고 그대로 ubuntu 서버의 /home/hackyu에서 사용할 수 있으면 좋겠다라고 생각했다.
하지만, Mac os는 기본적으로 /home 디렉토리는 실제 /System/Volumes/Data/home 디렉토리의 symbolic link로 되어 있는 것으로 확인 되었다.
그래서 /home 디렉토리를 사용하기 위해
root 계정으로 /etc/auto_master 내 /home -nobrowse, hide from finder 라인 주석처리를 하였다.
그럼 / 디렉토리 내 home은 사라지고, /System/Volumes/Data/home에 접근은 가능하다.
하지만, 나는 mac os에서 /home에 hackyu 디렉토리를 만들어서 사용하고 싶은 것이 목적이기에 /에서 mkdir로 디렉토리를 만들기를 시도하였지만,
mkdir: home: Read-only file system
위와 같이 실패하였다. 더 찾아보니 SIP(System Integrity Protection) apple 자체에서 만든 것으로 시스템 내부 무결성을 위해 SIP가 기본적으로 활성화가 되어 있는 것을 확인하였다.
조금 더 구글링을 해보니 SIP 설정 enable, disable에 대해서는 Sierra 버전 이전이후로 조금 차이가 있는 것으로 확인할 수 있다.
참고영상 : www.youtube.com/watch?v=IYpMtnhqZZQ
Sierra 10.12.2 이전
재부팅 시 cmd + R 눌러주어 복구모드로 들어가 왼쪽 상단 유틸리티 -> terminal csrutil disable(해제) 또는 csrutil enable 이후 재부팅하면 된다고 확인할 수 있다.
Sierra 10.12.2 이후
Terminal
$sudo csrutil clear
or
$sudo /usr/bin/csrutil clear
하지만... 애플 자체에서 internal로 SIP를 해놓은 부분을 굳이 건드려서 사용할 필요가 없다고 판단하였다. (혹시 모를 시스템 상 꼬일 수도 있다고 생각함… 쫄보^^)
결국에는 mac이랑, ubuntu에서의 작업할 특정 디렉토리를 정하고 작업하기로 했다.
Ex)
1) /tmp 디렉토리에서 작업
해결해야할일: 기본적으로 /tmp에서 작업을 하고, 로그아웃 이후 삭제됨. /tmp에서 작업한 내용이 삭제되지 않도록 해야함.
2) mac에서 작업한 내용 중 소스코드 내 절대경로 등 경로를 서버 환경과 동일하게 수정
mac에서는 /Users/[유저명]에서 작업 후 작업 내용 내 서버 작업 디렉터리 경로로 모두 변경해야 하는 부분이 까다로울 수 있음.
3) Server에서 사용할 디렉토리와 동일하게 mac os에서 작업하기
+ 생각해보니 이렇게 해도 좋을거 같아서 추가한다.
4) vagrant를 사용하여 서버와 동일한 환경의 vagrant vm 경로에 host 디렉토리를 공유하여 작업
(실제 파일은 local에 있지만, 테스트는 서버와 동일한 환경을 로컬 내 vm에서 사용할 수 있으니 좋은것 같다.)
'ETC' 카테고리의 다른 글
Crontab KST 설정 (0) | 2021.01.03 |
---|---|
복권번호 자동생성 프로그램 제작(Python) 두번째 이야기 (Push) (0) | 2020.08.09 |
복권번호 자동생성 프로그램 제작(Python) (0) | 2020.07.26 |
JBoss Wild Fly SSL 설정 (JBoss WildFly SSL Setting) (0) | 2020.04.20 |
Ubuntu 18.04 Sublime Text 설치 (0) | 2019.12.05 |