- Национальная библиотека им. Н. Э. Баумана Bauman National Library
- Персональные инструменты
- AFP (Apple Filing Protocol)
- Содержание
- История
- Совместимость
- Mac OS X клиент
- Использование функции общего доступа к файлам на компьютере Mac
- Общий доступ к файлам
- Дополнительные параметры
- Raspberry Pi. Организация сетевого доступа к файлам через Netatalk
- Что лучше: AFP или SMB?
- Что нам понадобится
- Установка Netatalk
- Вариант 1. Установка из репозитория
- Вариант 2. Сборка из исходников
- Настройка Netatalk
- Добавление сетевых шар – afp.conf
- Добавление сетевых шар – AppleVolumes.default
- Настройка иконки для Finder
- Скрытие служебных файлов для Samba-подключений
- Монтирование сетевых дисков в macOS
- Заключение
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
AFP (Apple Filing Protocol)
Разработчики: | AppleTalk |
---|---|
Тип ПО: | представительский, прикладной |
Лицензия: | доступ к файлам в Mac OS X |
Веб-сайт | developer .apple .com /library /mac /documentation /Networking /Conceptual /AFP /Introduction /Introduction .html |
AFP (англ. Apple Filing Protocol, «AppleShare» )— сетевой протокол представительского и прикладного уровней сетевой модели OSI, предоставляющий доступ к файлам в Mac OS X. Он поддерживает Юникод-совместимые имена файлов, ограничения файлов POSIX и ACL, расширенную блокировку файлов. До Mac OS 9 протокол был основным протоколом передачи файлов под Mac OS.
Поддержка файловой системы AFS есть в операционных системах Windows, Novell NetWare, Linux и FreeNAS. [1]
Содержание
История
Ранние версии сервера AFP были доступны в Mac OS начиная с версии System 6 в AppleShare и AppleShare IP, также в Mac OS X Server 1.x. В клиентских ОС AFP называется «Personal File Sharing» и поддерживает до десяти подключений. Эта AFP-реализация опирается на протокол версии 1.х или 2.х. AppleShare IP-5.х, 6.х, а релиз Mac OS X Server «1.x» представил протокол версии 2.2. Это была первая версия, которая предоставляла транспортные связи по стеку протоколов TCP/IP, также увеличен максимальный размер «расшаренных» файлов с 2 ГиБ до 4 ТиБ, но максимальный размер файла, который может храниться, остался равным 2 ГиБ в связи с ограничением в Mac OS. [2]
Изменения, внесенные в AFP начиная с версии 3.0, представляют собой значительный прогресс в протоколе, предоставляя функции, разработанные специально для клиентов Mac OS X.
AFP 3.1 был введен в Mac OS X Server версии 10.2. Включена поддержка аутентификации Kerberos и безопасные соединения AFP через Secure Shell (SSH). Максимальный размер «расшаренных файлов» и размер файла увеличен до 8 ТиБ начиная с Mac OS X Server 10.2, а затем до 16 ТиБ в Mac OS X Server 10.3.
AFP 3.2 добавлена поддержка списков контроля доступа и расширенные атрибуты в Mac OS X Server 10.4. Максимальный размер «расшаренных» файлов составляет не менее 16 ТиБ, хотя компания Apple не сообщала о пределах в Mac OS X Server 10.4. Также AFP 3.2 была введена в Mac OS X Leopard и исправлена поддержка Time Machine (синхронизация, методы защиты информации и уведомления в режиме сна). AFP 3.3 добавленная поддержка воспроизведения кэш (требуется для Time Machine).
Дальнейшие обновления AFP протокола описаны в документации разработчика. [3]
Совместимость
AFP версий 3 и более поздние используют исключительно TCP/IP (номера портов 548 или 427) для передачи данных и поддерживают AppleTalk только в качестве протокола обнаружения. Версии AFP 2.x поддерживают работу как через TCP/IP (используя Data Stream Interface) так и через AppleTalk. Более ранние версии протокола могут использовать только AppleTalk.
Mac OS X клиент
В Mac OS X Tiger, пользователи могут подключаться к серверам AFP, просматривая их в сети земного шара или ввода AFP Uniform Resource Locator (URL) в Подключение к диалогу Server. В OS X Leopard, акции AFP отображаются в Finder боковой панели. AFP URL — адреса имеют вид: afp:// / , где является сервера IP — адрес , доменное имя системы имя (DNS), или Bonjour имя, а имя доли пункт. В Snow Leopard, в URL вида afp:// / /
может быть использован для монтирования поддиректория в общий ресурс.
Mac OS X также предлагает общий доступ к личным файлам, «легкий» осуществление текущей версии AFP. В 10.4 клиента Mac OS X, пользователи могут совместно использовать содержимое своих общих папок путем проверки Персональный общий доступ к файлам в разделе о разделе Системные настройки.
Использование функции общего доступа к файлам на компьютере Mac
Общий доступ к файлам
Чтобы включить функцию общего доступа к файлам в OS X, откройте панель «Общий доступ» в программе «Системные настройки» и выберите параметр «Общий доступ к файлам». Теперь компьютеры Mac и компьютеры с ОС Windows могут распознавать ваш компьютер в локальной сети.
Если подключить компьютер Mac с OS X Mavericks или OS X Yosemite к другому компьютеру с помощью функции общего доступа к файлам, компьютер Mac будет пытаться автоматически использовать протокол SMB для установления связи. Если протокол SMB недоступен, компьютер с OS X устанавливает связь с помощью файлового протокола Apple (AFP). Чтобы подключиться к компьютеру Mac или компьютеру с ОС Windows, который предоставляет доступ к файлам в локальной сети, откройте раздел «Общий доступ» в любом окне Finder.
Доступ к общим файлам в локальной сети можно также получить из окон открытия и сохранения.
Чтобы напрямую подключиться к файловому серверу, используйте функцию «Подключение к серверу» в окне Finder. Выберите меню «Переход» > «Подключение к» и введите URL-адрес, IP-адрес или доменное имя.
Можно попытаться выполнить соединение с помощью определенного протокола подключения (например, SMB или AFP), указав действительный URL-адрес. URL-адрес можно использовать, если сервер, к которому вы подключаетесь, использует выбранный протокол. * smb://ServerName/ShareName
Дополнительные параметры
Если необходимо ограничить набор протоколов, которые используются при подключении к компьютеру с помощью функции общего доступа к файлам, нажмите кнопку «Дополнительные параметры» на панели «Общий доступ». Затем можно выбрать протоколы, которые будут использоваться вашим компьютером Mac. По умолчанию OS X Mavericks и более поздних версий автоматически включает протоколы SMB и AFP для совместимости с компьютерами с ОС Windows, компьютерами Mac с ОС Mavericks, Yosemite и более ранними версиями OS X.
Raspberry Pi. Организация сетевого доступа к файлам через Netatalk
В 2017 году я описывал процесс организации сетевого доступа к файлам на Raspberry Pi (да и, в принципе, на любом другом компьютере с Linux на борту) по SMB-протоколу при помощи утилиты Samba.
Позднее моим основным рабочим инструментом стал макбук, и я решил настроить доступ к файлам на сетевом хранилище по протоколу Apple Filing Protocol или AFP, который является собственным протоколом корпорации Apple для сетевого доступа к файлам. То есть аналогом протоколов SMB и NFS, но только для устройств под управлением macOS.
Для организации сетевого доступа по AFP используется утилита Netatalk, процесс установки и настройки которой описан в данной статье.
Что лучше: AFP или SMB?
Несмотря на наличие собственного сетевого протокола, macOS отлично совместима с SMB, и, в принципе, Apple Filing Protocol использовать не обязательно.
Скорости чтения-записи в macOS протоколу AFP значительно превосходили скорости по SMBv1 и SMBv2, однако после выхода обновленного SMBv3 скорости AFP и SMB сравнялись:
Протокол | Версия | Скорость чтения | Скорость записи |
---|---|---|---|
AFP | – | 1105 MB/sec | 506 MB/sec |
NFS | v3 / v4 | 590 MB/sec | 156 MB/sec |
SMB | v1 | 75 MB/sec | 173 MB/sec |
SMB | v3 | 1108 MB/sec | 547 MB/sec |
Сравнение скоростей при использовании AFP, NFS и SMB разных версий. Взято отсюда.
Преимущества AFP заключаются в совместимости “из коробки” с Time Machine на macOS. В последних версиях макось стала поддерживать SMB для сетевого хранения бэкапов, однако есть нюансы. Я описываю это подробнее в статье про организацию Time Capsule на Raspberry Pi.
Есть еще одно преимущество AFP, сугубо визуальное. При расшаривании сетевого доступа к устройству при помощи Netatalk можно имитировать устройство из линейки Apple – при этом ему будет присвоена соответствующая иконка. Можно научить свое сетевое файловое хранилище притворяться Xserve или Mac mini и оно будет красиво отображаться в Finder.
Не могу однозначно сказать, стоит ли пользоваться AFP вместо SMB. Все индивидуально.
Что нам понадобится
Для осуществления описываемых в этой статье действий понадобится:
Я описываю процесс на примере Raspberry Pi свежего поколения, но инструкции актуальны для любого компьютера на базе Linux. Например, мой домашний сервер работал на базе mini-ATX десктопа на базе Intel Pentium E5300 с корзиной для дисков OImaster MR-6601, а в 2020 году переехал на Rock Pi 4B.
Установка Netatalk
Для добавления поддержки протокола AFP будет использоваться пакет Netatalk, установить который можно двумя способами: из репозитория или сборкой из исходников.
Установка из репозитория более быстрая и простая, однако с большой вероятностью в репозитории будет содержаться старая версия пакета.
При сборке из исходников мы получаем актуальную версию, однако процесс будет немного сложнее и займет чуть больше времени. Я опишу оба варианта.
Вариант 1. Установка из репозитория
При выборе варианта с установкой Netatalk из репозитория понадобится сперва обновить список доступных пакетов и уже установленные в системе пакеты:
А затем запустить установку Netatalk:
На этом установка завершена. Проверить версию и посмотреть расположение конфигурационных файлов можно путем выполнения следующей команды:
На момент написания этой статьи актуальной версией является 3.1.12, выпущенная в конце 2018 года.
Вариант 2. Сборка из исходников
Сборка Netatalk из исходников займет больше времени, однако это позволит использовать самую свежую версию пакета.
Если в системе уже установлена старая версия пакета из репозитория, то ее следует удалить:
После этого можно приступать к установке.
Шаг 1. Устанавливаем необходимые для сборки пакеты:
Шаг 2. Загрузим и распакуем архив с дистрибутивом:
Перед загрузкой можно зайти на сайт проекта Netatalk и проверить наличие свежих версий. Если появится версия свежее, чем указанная в стать 3.1.12, то соответственно нужно будет использовать новые ссылки на скачивание.
Шаг 3. Переходим в папку с распакованным дистрибутивом:
И запускаем скрипт конфигурации со следующими параметрами:
Параметры нужно указывать обязательно, т.к. выполнить просто ./configure, то собрать пакет потом не получится. Если конфигурация заканчивается ошибкой, значит не хватает каких-то пакетов из числа перечисленных в первом шаге. Нужно установить их и запустить скрипт со всеми параметрами повторно.
Шаг 4. Сборка и установка
Запустим сборку пакета:
И дожидаемся окончания процесса. После чего запускаем установку:
Шаг 5. Запуск Netatalk
После завершения установки остается только запустить сервисы:
Настройка Netatalk
После установки Netatalk нужно расшарить ресурсы, доступ к которым планируется иметь с компьютера под управлением macOS.
Для этого нужно отредактировать файл конфигурации:
- AppleVolumes.default – если используется старая версия пакета (ниже 3.x.x)
- afp.conf – на свежих версиях пакета (3.x.x)
Путь к файлам конфигурации можно посмотреть, выполнив команду
Скорее всего он будет иметь вид либо /etc/netatalk/afp.conf, либо /usr/local/etc/afp.conf
Добавление сетевых шар – afp.conf
Открываем файл afp.conf:
И прописываем расшариваемые ресурсы в его конец по следующему шаблону:
Если нужно создать ресурс, доступный только для чтения:
Если нужно создать ресурс, доступный в качестве сетевого диска для Time Machine:
После изменения конфигурации нужно перезапустить Netatalk:
Добавление сетевых шар – AppleVolumes.default
Открываем файл AppleVolumes.default:
И доходим в нем до этого места:
Ресурсы прописываются до строки #End of File в следующем формате:
Если нужно создать ресурс, доступный только для чтения:
Если нужно создать ресурс, доступный в качестве сетевого диска для Time Machine:
После изменения конфигурации нужно перезапустить Netatalk:
Настройка иконки для Finder
Для установки иконки под которой наше устройство будет отображаться в Finder, нужно отредактировать afp.conf:
И задать в секции [Global] параметр mimic model:
В качестве названия модели можно использовать Model ID от любой модели техники Apple. Полный список можно посмотреть здесь для компьютеров Apple или здесь для всей остальной их электроники.
Если по каким-то причинам после установки mimic model в afp.conf и перезапуска сервиса иконка в Finder не меняется (а такая проблема возникала у меня), то ее можно сменить через редактирование конфига для Avahi:
В открывшемся файле нужно найти строку
И заменить X на желаемый Model ID. После чего перезагрузить Avahi:
Скрытие служебных файлов для Samba-подключений
Если параллельно с AFP используется доступ по протоколу SMB, то может создавать неудобства наличие служебных файлов с метаданными, генерируемых macOS на сетевом диске при обращении к файлам.
Их можно скрыть от отображения, отредактировав файл конфигурации Samba:
И вставив в раздел [global] следующую строку:
Монтирование сетевых дисков в macOS
Для ручного подключения сетевых дисков нужно открыть Finder, нажать Cmd+K (либо выбрать “Подключение к серверу…” в меню “Переход”) и в открывшемся окне ввести afp://ip-адрес-сервера/:
После чего выбрать в открывшемся окне все желаемые диски для подключения:
Чтобы сетевые диски автоматически подключались при загрузке системы нужно зайти в Настройки -> Пользователи и группы -> Объекты входа, нажать на “+” и добавить их в открывшемся окне:
Заключение
Таким образом можно настроить сетевой доступ к файлам по протоколу AFP для компьютеров Apple. Для доступа к файлам на одном и том же сервере можно использовать одновременно и AFP, и SMB и NFS, что удобно при наличии в локальной сети устройств, работающих на различных платформах.