오랜만에(?) 맥을 다시 꾸며보고 있는 중. 역시나 예전에 삽질한 내용들이 고스란히 남아있어서 큰 불편은 없다.
그럼에도 불구하고, nfs 문제는 여전히 있고, 아마도 그 중심에는 UTF8, nfc/nfd 가 큰 비중을 차지하고 있는 듯 하다.
이와 관련하여 새로운 내용이 있을까하여 구글 검색을 해봤는데..
한국어로 된 문서들이 있어 열어봤더니, 이런.. 어째 어딘가 좀 익숙한 문구??
알고보니 내가 쓴 글을 그대로 올려놓은게 아닌가..!!! 출처를 밝히긴 했으나, 난 저렇게 남의 글을 그대로 똑같이 올리는 행위를 정말 경멸해 마지 않는다. 어쨌든, nfs 사용자는 그 때나 지금이나 별로 늘어나지 않았음이 또 다시 증명된 셈이다.
nfs 관련하여, 예전 상황과 별로 달라진 게 없다. 여전히, 디렉토리 이름에 한글이 들어가 있으면 제대로 인식을 하지 못한다.
예를 들면 이런 식. 아래는 Autofs 설정 내용이다.
# 성공 cctv-1 -fstype=nfs,rw,nfc,soft,locallocks srv:/storage/cctv # 실패 "강좌" -fstype=nfs,soft,nfc,ro,locallocks srv:/storage/nfs/강좌 cctv-2 -fstype=nfs,soft,nfc,ro,locallocks ctrk:"/카메라 녹화"
리눅스(클라이언트)에선 모두 문제없는 설정인데, macOS 에선 되지 않는다. 앞 쪽 한글(“강좌”)보다는 뒷쪽에 있는 서버 디렉토리명(srv:/storage/for_nfs/강좌)이 문제다. 일단 마운트가 되는 듯 하긴 하고, mac 에서 디렉토리명이 보이긴 하지만, 들어가려 하면 오류가 발생한다.
$ ll /nfs/강좌 ls: cannot open directory '/nfs/강좌': Invalid argument
뭘 어떻게 고쳐야할 지 알 수가 없네.
궁하면 통하는 법!
원래 이 글에서 이렇게 해결법(?)까지 고민할 생각은 없었는데.. 그저 내 글 밖엔 다른 해결책이 안보인다는 푸념을 하려고 했었는데, 하다보니 또 다시 편법, 우회책, 돌아가기 등등이 튀어나와 버렸다.
문제는 한글로 된 디렉토리다. 이걸 macOS 의 nfs 가 제대로 인식하지 못하면서 결국 디렉토리 마운트에 실패해버렸다. 이를 해결하려면 nfs 디렉토리명을 바꿔줘야 한다. 허나..? 그걸 바꿈으로써 이어질 연쇄효과는…???
그리하여!
링크를 만들어봤다.
방법은 간단하다. 한국어로 된 디렉토리를, 영어로 된 디렉토리로 링크를 걸어준다. 물론 이건 서버에서.
sudo ln -s 강좌 Lecture
그리고, macOS nfs(autofs) 설정에선, ‘강좌’를 마운트하는게 아니라 Lecture 를 마운트하게끔 설정한다.
# 실패 "강좌" -fstype=nfs,soft,nfc,ro,locallocks srv:/storage/for_nfs/강좌 # 성공 "강좌" -fstype=nfs,soft,nfc,ro,locallocks srv:/storage/for_nfs/Lecture
이렇게 했더니!! 성공!
디렉토리명을 바꾸는 수고와 모험을 할 필요가 없어졌다.
또, 서버의 /etc/exports
에서 Lecture 를 Export 하겠다고 명시하지 않았음에도 아무런 문제없이 잘 연결이 됐다. 즉, 원래 설정인 ‘강좌’ 디렉토리만 export 되어 있음에도, macOS 클라이언트가 이 디렉토리의 심볼릭링크인 Lecture 에 진입하려 해도 오류가 발생하지 않았다. (이거 엄밀히 보면 버그 또는 Back Door 가 아닐까??)
복잡한 문제는 전문가(?)들에게 맡기고, 난 그저 또 한번 꽃삽질 결과에 만족할 뿐!