Linux上のUSB HDDをNetatalkで共有して,time machineのバックアップとして使う

まずはUSB HDDの初期化・マウント
http://d.hatena.ne.jp/SumiTomohiko/20080524/1211628731などを参考に
#fdisk /dev/sdb(環境によってはsdb以外)
#mkfs.ext3 /dev/sdb1
#mount /dev/sdb1 /mnt

netatalkはdb4.6以上が必要なので,
http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html
からダウンロード&インストール

#wget http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
#tar -xvf db-4.8.30.tar.gz(2.1.3からdb5にも対応)
#cd db-4.8.30/build_unix
#../dist/configure
#make
#make install

必要なパッケージインストール
#yum install openslp openslp-devel

netatalkインストール
#wget hogehoge
#tar -xvf netatalk-2.1.4.tar.bz2
#cd netatalk-2.1.4
#./configure --enable-srvloc=/usr/sbin --sysconfdir=/etc --enable-redhat --with-bdb=/usr/local/BerkeleyDB.4.8

追記
config.logに,「ldap.hがない」とあったので,
#yum install openldap-devel
#./configure --enable-redhat --with-bdb=/usr/local/BerkeleyDB.4.8
#make
今度は,ldap.cに
ldap.c:56: error: array type has incomplete element type
とか言われるので,netatalk / Thread: [Netatalk-admins] Compilation errors building netatalk-2.2-* on Ubuntu 10.04を参考に,
#yum install libacl-devel
今度は,uams_dhx.soがないというので,
#yum install openssl-devel
#./configure --enable-redhat --with-bdb=/usr/local/BerkeleyDB.4.8 --sysconfdir=/etc --enable-srvloc --enable-redhat
LDAP認証できた!!
Zeroconfをサポートするために,
#yum install avahi-devel

#make
#make install

LDAPを使っているので,--with-pam
#yum install pam-devel
#./configure --enable-srvloc=/usr/sbin --sysconfdir=/etc --enable-redhat --with-bdb=/usr/local/BerkeleyDB.4.8 --with-pam

でも,認証がうまくいかず…

仕方ないので,ゲスト認証でログインさせ,マウントしたHDDの所有者をnobodyとした.

#vim /etc/netatalk/AppleVolumes.default
末尾に追加

/mnt/back "Time Machine"

#vim /etc/netatalk/afpd.conf

  • -uamlist uams_guest.so,uams_clrtxt.so -maccodepage MAC_JAPANESE -unixcodepage UTF8 -nosavepassword

#ls -l /mnt

drwxr-xr-x 8 nobody nobody 4096 Nov 1 10:58 back

追記 Mar24,2011
Finderから見えるように,
#vim /etc/avahi/services/afpd.service


%h

_afpovertcp._tcp
548


<<
参考 [debian][avahi][netatalk][afp] せっかくなのでafpdの設定でも - いちいの日記