마침내 염원하던 "솔라리스에서 맥 타임머신 사용하기"가 이루어졌다.

본 노하우를 여기에 공개한다. 본인이 설치부터 작동까지 모두 직접 실행했으며, 현재도 사용하고 있다.

 

작업은 항상 root에서 해야한다. 따라서

$ pfexec bash

혹은

$ su - root

를 사용하여 루트 권한을 획득한다.

 

작업에 필요한 필수 패키지를 설치한다.

GCC를 설치한다. 오픈인디아나 위키에 보면 GCC 4.3을 요구하는데 그러지 않아도 된다.

pkg install gcc-dev

 

그외 컴파일하는데 필수적인 툴들을 설치한다.

pkg install SUNWgcc SUNWgmake SUNWxorg-headers SUNWGtk SUNWsfwhea

pkg install pkg:/developer/gnome/gettext

echo y | pkgadd -d http://mirror.opencsw.org/opencsw/pkgutil-i386.pkg all

echo auto | /opt/csw/bin/pkgutil -i CSWlibgcrypt-dev

 

이제 afp 동작에 절대적으로 있어야하는 버클리DB를 설치해야한다. 버클리 DB는 오라클 웹사이트에서 받을 수 있으며, 본인은 4.8.30 버전으로 했다.

wget http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz .

 

netatalk를 다운받는다. 본인은 2.2.1 버전으로 했다.

wget http://sourceforge.net/projects/netatalk/files/netatalk/2.2.1/netatalk-2.2.1.tar.bz2/download

 

컴파일하는데 필요한 폴더를 만든다.

mkdir -p $HOME/src

mkdir -p $HOME/src/db-build

cd $HOME/src

 

버클리 DB의 압축을 해제한다.

gzcat $HOME/db-4.8.30.tar.gz | tar xf -

cd $HOME/src/db-build

 

런타임 링크의 환경을 지정해준다.

crle -u -l /usr/local/lib


버클리 DB의 빌드를 시작한다.

$HOME/src/db-4.8.30/dist/configure --prefix=/usr/local

make

make install

cd $HOME

 

빌드가 끝나면 afp 동작에 필요한 avahi 데몬과 mdns 데몬을 설치해준다. 오픈인디아나 151a의 경우는 기본으로 포함하고 있었다. 혹시 모르니 아래의 명령어를 실행해본다.

pkg install system/network/avahi

pkg install service/network/dns/mdns


이제 netatalk를 빌드한다.

cd $HOME/src

bzcat $HOME/netatalk-2.2.1.tar.bz2 | tar xf -

cd $HOME/src/netatalk-2.2.1

./configure --with-pam --prefix=/usr --sysconfdir=/etc

make

make install

 

빌드가 끝나면 반드시 afpd.service와 deviceinfo.service 파일을 생성해줘야한다.

아래의 내용을 붙여넣기 한다. 마우스 드래그가 안되면 아래의 주소를 이용하시면 되겠다.

주소: http://jswlinux.tistory.com/m/94


cat > /etc/avahi/services/afpd.service <<EOF

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->

<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>

<name replace-wildcards="yes">%h</name>

<service>

<type>_afpovertcp._tcp</type>

<port>548</port>

</service>

</service-group>

EOF


cat > /etc/avahi/services/deviceinfo.service <<EOF

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->

<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>

<name replace-wildcards="yes">%h</name>

<service>

<type>_device-info._tcp</type>

<port>548</port>

<txt-record>model=RackMac</txt-record>

</service>

</service-group>

EOF

 

SMF를 이용하여 서비스 데몬을 시작한다.

svcadm enable network/dns/multicast:default

svcadm enable system/avahi-bridge-dsd:default

 

adisk.service 파일을 작성해준다. 역시 아래의 내용을 붙여넣기 하면 된다.

cat > /etc/avahi/services/adisk.service <<EOF

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->

<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>

<name replace-wildcards="yes">%h</name>

<service>

<type>_adisk._tcp</type>

<port>9</port>

<txt-record>sys=waMA=0,adVF=0x100</txt-record>

</service>

</service-group>

EOF

 

서비스데몬을 재시작해준다.

svcadm restart multicast

svcadm restart avahi-bridge-dsd

 

맥OSX 라이언을 위한 설정을 넣어준다.

echo -e "\n- -noddp -transall -uamlist uams_dhx2.so -nosavepassword" >> /etc/netatalk/afpd.conf

 

타임머신 백업을 이용하기 위한 설정을 해준다. 잘 보시고 "원하는타임머신백업위치"에 원하는 위치를 넣으시면 된다.

예) /export/home/user/TimeMachine

 

echo -e "\nfor TimeMachine\n~ cnidscheme:dbd options:usedots,invisibledots,upriv fperm:0660 dperm:0770\n

/원하는타임머신백업위치/TimeMachine "TimeMachine" cnidscheme:dbd options:usedots,invisibledots,upriv,tm fperm:0660 dperm:0770" >> /etc/netatalk/AppleVolumes.default

 

여기까지만 하고나면 Finder 에서 오픈인디아나의 아이콘을 볼 수 있지만, 막상 연결을 하려면 지원되는 버전이 아니라고 나온다.

해외의 수많은 블로그/포럼을 검색했지만 제대로 된 답변을 찾을 수 없었다. 그래서 본인이 방법을 알아냈다. 특히 맥OSX 라이언에서도 정상 작동하며, 심지어는 타임머신 백업용으로도 사용이 가능하다.

 

smbpasswd 같은 명령어가 하나 있다. 이 명령어를 사용하여 유저를 추가해준다. 설정파일이 없으므로 빈 파일을 만들어준다.

touch /etc/netatalk/afppasswd

 

여기서 유저를 추가해주는데, 명령어를 실행하고 나면 비밀번호 설정을 요구한다. 하지만, 본 비밀번호는 afp 접속하고는 아무런 상관이 없다.

다시 말하면, afp://server를 하면 나오는 유저명과 비밀번호는 오픈인디아나 서버의 계정명과 비밀번호를 넣으면 된다는 얘기다. 나도 왜 그런지는 모르겠다. 아무튼 아래의 명령어에서 입력하는 비밀번호는 AFP 연결에 있어서 아무런 영향이 없다.

afppasswd -a USERNAME

 

netatalk를 재시작해준다. 아쉽게도 restart 옵션이 없다.

/etc/init.d/netatalk stop

/etc/init.d/netatalk start


이상이다. 모두 완벽하게 설치됐으며 완벽하게 작동하고 있다.

본 글을 보시고 잘 쓰시는 분이 계시면 리플 하나 남겨주시면 감사하겠습니다.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,