Апогей моих страданий:
1) ставим NetBSD 5.1 (луше 5.0.2, так как пакет netatalk-2.2 собран для него)
2) читаем о зависимостях тут: README.html
3) когда поставили зависимоcти, ставим сам пакет:
pkg_add -v ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/5.0/All/netatalk-2.2.1.tgz
он подтянет остальные зависимости (такие как база db)
4) добавляем сервисы: dbus, avahi
5) настраиваем:
backup# cat /usr/pkg/etc/avahi/services/afpd.service <!--?xml version="1.0" standalone='no'?--><!--*-nxml-*--> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=Xserve</txt-record> </service> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> </service-group>
backup# cat /usr/pkg/etc/netatalk/netatalk.conf # Netatalk configuration ######################################################################### # Global configuration ######################################################################### #### machine's AFPserver/AppleTalk name. ATALK_NAME="Backup" #### server (unix) and legacy client (<= mac="" os="" 9="" charsets="" br=""><!--=--> ATALK_UNIX_CHARSET='LOCALE' ATALK_MAC_CHARSET='MAC_ROMAN' #### Don't Edit. export the charsets, read form ENV by apps export ATALK_UNIX_CHARSET export ATALK_MAC_CHARSET ######################################################################### # AFP specific configuration ######################################################################### #### Set which daemons to run. #### If you use AFP file server, run both cnid_metad and afpd. CNID_METAD_RUN=yes AFPD_RUN=yes #### maximum number of clients that can connect: #AFPD_MAX_CLIENTS=20 #### UAMs (User Authentication Modules) #### available options: uams_dhx.so, uams_dhx2.so, uams_guest.so, #### uams_clrtxt.so(legacy), uams_randnum.so(legacy) AFPD_UAMLIST="-U uams_dhx.so,uams_dhx2.so" #### Set the id of the guest user when using uams_guest.so AFPD_GUEST=nobody #### config for cnid_metad. Default log config: CNID_CONFIG="-l log_note" ######################################################################### # AppleTalk specific configuration (legacy) ######################################################################### #### Set which legacy daemons to run. #### If you need AppleTalk, run atalkd. #### papd, timelord and a2boot are dependent upon atalkd. ATALKD_RUN=no PAPD_RUN=no TIMELORD_RUN=no A2BOOT_RUN=no #### Control whether the daemons are started in the background. #### If it is dissatisfied that legacy atalkd starts slowly, set "yes". #### In case using systemd/systemctl, this is not so significant. ATALK_BGROUND=no #### Set the AppleTalk Zone name. #### NOTE: if your zone has spaces in it, you're better off specifying #### it in atalkd.conf ATALK_ZONE=@AFP
backup# cat /usr/pkg/etc/netatalk/afpd.conf # default: - -tcp -noddp -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword
cat /usr/pkg/etc/netatalk/AppleVolumes.default # The "~" below indicates that Home directories are visible by default. # If you do not wish to have people accessing their Home directories, # please put a pound sign in front of the tilde or delete it. ~/ "$u" allow:YOUR_USERNAME_HERE cnidscheme:dbd options:usedots,upriv ~/.TimeMachine/_$macaddrofyourmac$.sparsebundle "$u Backup" allow:YOUR_USERNAME_HERE cnidscheme:dbd options:usedots,upriv,tm
6) запускаем сервисы (можно прописать в rc.conf)
# set hostname hostname=backup # start services: dhclient=YES sshd=YES dbus=YES avahidaemon=YES slpd=YES timelord=NO papd=NO cnid_metad=YES atalkd=NO afpd=YES wscons=YES
7) перезагружаемся (что-бы сервисы запустились)
проверяем работу AFP : netstat -an | grep 548
9) коннектимся сначала на YOUR_USERNAME_HERE, создаем папку .TimeMachine
в ней генерируем первоначльный том для бекапа:
cd /Volumes/YOUR_USERNAME_HERE/.TimeMachine/ hdiutil create -size 512g -fs HFS+J -volname "Time Machine" `grep -A1 LocalHostName /Library/Preferences/SystemConfiguration/preferences.plist | tail -n1 | awk 'BEGIN { FS = "|" } ; { print $2 }'`_`ifconfig en0 | grep ether | awk 'BEGIN { FS = ":" } ; {print $1$2$3$4$5$6}' | awk {'print $2'}`.sparsebundle
разрешаем попутно нашему маку бекапится на сторонние тома:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
Ну и в конце поправим конфиг
/usr/pkg/etc/netatalk/AppleVolumes.default (прописать имя полученного файла, вместо: _$macaddrofyourmac$.sparsebundle )
Ну и теперь перезагрузившись (перезагружаем только хранилище),
соединяемся с хранилищем выбирая YOUR_USERNAME_HERE Backup
далее лезем в настройки ТМ и выбираем место куда бекапить,
появится доступ к диску YOUR_USERNAME_HERE Backup
при подготовке был прочитан материал:
osx 10.7 lion, time-machine, netatalk 2.2
gentoo, afp, netatalk, avahi
avahi finder icons
ubuntu as mac file server and time machine volume
Synology OSX
Добавлено (Для эстетики и облагораживания боковой панели):
backup# cat /usr/pkg/etc/avahi/services/afpd.service <?xml version="1.0" standalone='no'?><!--*-nxml-*--> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">Time Capsule (%h)</name> <!-- // ÐодклÑÑаем Ñаздел в каÑеÑÑве диÑка Ð´Ð»Ñ Ð±ÐµÐºÐ°Ð¿Ð° (пока не ÑазобÑалÑÑ Ñолком) <service> <type>_adisk._tcp</type> <port>9</port> <txt-record>sys=waMA=00:1c:42:ff:42:1c</txt-record> <txt-record>dk0=adVF=0x83,adVN="TimeMachine",adVU=5ae47c12-2331-4cba-9964-cl1234567890</txt-record> </service> --> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=TimeCapsule</txt-record> <!--// ÐÑикидÑваемÑÑ Ñайм капÑÑлем --> </service> </service-group>
