Pull to refresh

Настраиваем Debian/Ubuntu как Mac хранилище

Reading time 3 min
Views 26K
Уже давно являюсь пользователем продукции Apple. Старенький макбук полностью справляется с теми задачами, что на него возлагаются. В основном конечно развлекательные. Но в последнее время стало не хватать места на 40 гиговом жестком диске. И вот наконец у меня зачесались руки настроить свой домашний сервер, как хранилище. Некоторое время работал по ftp, но это было не удобно. Было принято решение настроить наконец Appletalk, не зря же он есть и заодно приручить к нему TimeMachine:-)

Настройка всего этого можно разделить на несколько этапов:
1. Установка Appletalk
2. Настройка AppleTalk
3. Установка Avahi
4. Настройка Avahi
5. Настройка TimeMachine

Ну что ж, приступим.

1. Установка AppleTalk



Пакет Netatalk — opensource реализация сервиса Appletalk (AFP сервер). Mac OS X требует поддержки шифрования, но стандартная сборка этого пакета не поддерживает шифрование. Поэтому необходимо пересобрать этот пакет.

Тут можно скачать уже правильно собранный пакет, и перейти к пункту 2.

Но лучше собрать самому выполнив эти команды:
Скачиваем сырцы:
cd /tmp
sudo apt-get build-dep netatalk
sudo apt-get source netatalk
cd netatalk-2*

Устанавливаем то, что нужно для сборки:
sudo apt-get install cracklib2-dev fakeroot libssl-dev
Собираем:
sudo DEB_BUILD_OPTIONS=ssl
sudo export DEB_BUILD_OPTIONS
sudo dpkg-buildpackage -rfakeroot

И, если все в порядке, устанавливаем:
sudo dpkg -i ../netatalk_2*.deb
Все не так страшно как казалось. Чтобы при обновлении системы правильный пакет не заменился более новым но не правильным ставим блок на пакет netatalk:
echo "netatalk hold" | sudo dpkg --set-selections
Всё, теперь перейдем к настройке.

2. Настройка AppleTalk



Сперва нужно отключить те сервисы, которые для решения текущей задачи не нужны. Приведем секцию в фаиле /etc/default/netatalk до такого вида:
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no


Теперь пришло время главного конфигурационного файла /etc/netatalk/afpd.conf и внизу добавим эту строчку:
- -transall -uamlist uams_randnum.so,uams_dhx2.so,uams_guest.so -nosavepassword -advertise_ssh

Теперь перейдем к настройке ресурсов, которые будут рассшарены по afp. Это настраивается в файле /etc/netatalk/AppleVolumes.default
Строка:
/home/torrent/downloads "Torrent-Downloads" allow:username,nobody rolist:nobody cnidscheme:cdb options:usedots
рассшаривает папку /home/torrent/downloads под именем Torrent-Downloads для пользователя username и для гостевого пользователя. Причем Гость может только читать из этой папки.

Строка:
/home/username/TimeMachine "TimeMachine" allow:username1,username2 cnidscheme:cdb options:usedots,upriv
рассшаривает ресурс для TimeMachine.

После редактирования конфигов, стоит перезапустить netatalk:
sudo /etc/init.d/netatalk restart

Установка Avahi


После проделанных выше шагов можно, с помощью Finder, зайти на рассшаренные ресурсы. Но каждый раз использовать для этого меню не удобно, нужно сделать так, чтобы сервер afp был виден в меню ресурсов Finder.
Для этого нам и понадобился Avahi. Avahi — демон предоставляющий в сети сервисы на подобии Bonjour.

Установка avahi проста:
sudo apt-get install avahi-daemon
sudo apt-get install libnss-mdns


В файле /etc/nsswitch.conf в строке начиающийся на hosts нужно добавить в конце mdns, вот так:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

4. Настройка Avahi


Создадим фаил /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">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>


И перезапустим avahi:
sudo /etc/init.d/avahi-daemon restart

Теперь хранилище должно было появится в левом сайдбаре Finder.

5. Настройка TimeMachine


В консоли мака нужно выполнить команду:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Вот и все.
Tags:
Hubs:
+21
Comments 25
Comments Comments 25

Articles