netatalk

http://www.netafp.com/

리눅스 서버에서 외부에 파일을 제공할 때 윈도우 계열을 따르거나 애플 계열을 따를 수 있는데, 애플 쪽인 afp를 구현한 것이 netatalk이다.

다음과 같은 PPA를 등록해 우분투에서 최신 버전을 설치하면 xattr 기능을 쓸 수 있다.
공유하기로 설정된 경로에 적당한 쓰기 권한이 없으면 sys_lsetxattr() 호출에 대해 권한이 없다는 오류를 볼 수 있다.

전송 속도가 어마어마하게 느린 증상이 있어서 맥 쪽에서 sysctlnet.inet.tcp.delayed_ack 값을 3에서 2로 조정했고 재부팅 이후 속도가 향상되었다. (자세한 내용은 http://www.stuartcheshire.org/papers/NagleDelayedAck/index.html 참조) 증상이 없지 않다. 좀 더 확인해볼 문제다.

디렉토리 내용을 읽어오는 게 상당히 느려서 내용을 확인하다 보니 각 공유마다 vol dbpath 설정값이 적절한 위치가 아니면 느릴 수 있다는 설명이 눈에 띄어서 확인해본 결과 USB 시스템 디스크에 위치하고 있었다. 당연히 느리겠다 싶어서 HDD 쪽으로 옮겼더니 꽤 빨라졌다.

exfat를 기본으로 했을 때는 umask=0으로 모든 권한을 줘도, OS X에서 마운트를 하고 나면 Finder에서 디렉토리를 만들 수 없는 증상이 있었다. 그냥 터미널을 열고 공유 폴더에서 mkdir을 하면 잘 되는 것으로 보아 어떤 권한 문제일 거라고 생각은 했지만 정확한 해결법을 몰라서 그냥 쓰고 있었다. unix priv = no 옵션을 afp.conf에서 공유 폴더 설정할 때 넣어주면 잘 동작한다.
Comments