Введение

Бесплатная реализация с открытым исходным кодом протокола Apple Filing Protocol

Netatalk (произносится "ned uh talk") — это бесплатная реализация с открытым исходным кодом протокола Apple Filing Protocol (AFP). Она позволяет Unix-подобным операционным системам выступать в качестве файловых серверов для компьютеров Macintosh, работающих под управлением macOS или Classic Mac OS. Netatalk был первоначально разработан исследовательской группой Unix Systems в Университете Мичигана для Unix-систем, основанных на BSD, и выпущен в 1990 году. Apple представила AppleTalk вскоре после выпуска оригинального Macintosh в 1985 году, а затем приложение для обмена файлами AppleShare (построенное на основе AFP) в 1987 году. Это был один из первых примеров сетевого взаимодействия с нулевой конфигурацией, получивший широкое распространение в образовательных учреждениях и офисах малого и среднего размера в конце 80-х годов. Netatalk возник как часть программной экосистемы AppleTalk. В 1986 году Колумбийский университет опубликовал Columbia AppleTalk Package (CAP) — реализацию AppleTalk с открытым исходным кодом, первоначально написанную для BSD 4.2, позволяющую Unix-серверам быть частью сетей AppleTalk. CAP также имела собственную реализацию AFP/AppleShare, но Netatalk, появившийся в 1990 году, заявлял о более высокой производительности благодаря преимуществам программной архитектуры. CAP и Netatalk были совместимы, последний мог работать на основе AppleTalk, предоставляемом CAP. В рамках перехода программного обеспечения в проект сообщества с открытым исходным кодом, кодовая база была перемещена в SourceForge для контроля версий в июле 2000 года, а затем перелицензирована на условиях GNU General Public License с версией 1.5pre7 в августе 2001 года. Поскольку Classic Mac OS использовала разделяемую файловую систему, в отличие от хост-операционных систем, на которых работал Netatalk, Netatalk первоначально реализовал формат AppleDouble для хранения ресурсной вилки отдельно от вилки данных при переносе файла Mac OS в файловую систему Unix-подобного компьютера. Это было необходимо, чтобы не повредить большинство файлов при отбрасывании ресурсной вилки при копировании на том AppleShare, обслуживаемый Netatalk. С выпуском Netatalk 3.0, серверная часть была переработана с использованием формата расширенных атрибутов, представленного Apple с Mac OS X, для обратной совместимости с ресурсными вилками Classic Mac OS.

История развития

Первоначальным разработчиком Netatalk был Уэсли Крейг из Мичиганского университета. В 1997 году Адриан Сун создал популярный форк, реализовавший начальную версию нового сетевого уровня AppleShare IP (AFP over TCP/IP). К моменту перехода проекта к модели с открытым исходным кодом в 2000 году, форк "ASUN" был вновь включен в основную ветку Netatalk. В октябре 2004 года был выпущен Netatalk 2.0, который привнес значительные улучшения, включая: поддержку протокола Apple Filing Protocol версии 3.1 (обеспечивающую длинные имена файлов в кодировке UTF-8, размеры файлов более 2 гигабайт, полную совместимость с Mac OS X), интеграцию с CUPS, поддержку Kerberos V, обеспечивающую настоящую "единую точку входа", надежное и постоянное хранение идентификаторов файлов и каталогов, а также множество исправлений ошибок по сравнению с предыдущими версиями. Начиная с версии 2.0.5, Netatalk поддерживает использование Time Machine по сети аналогично собственной Time Capsule от Apple. Начиная с версии 2.2, Netatalk поддерживает протокол AFP уровня 3.3, который совместим со всеми последующими версиями ОС, включая, по крайней мере, macOS Ventura (13.1). До версии 2 Netatalk реализовывал набор протоколов AppleTalk (DDP), позволяя Unix-подобным операционным системам также выступать в качестве серверов печати (PAP через CUPS) и времени (Timelord) для компьютеров Macintosh. Кроме того, сетевые компьютеры Apple IIe и Apple IIGS могут быть загружены по сети с общего ресурса Netatalk. Фактически, эта версия содержит целый набор инструментов для анализа и управления сетями AppleTalk, а также для чтения и записи файлов в формате Macintosh на Unix-подобной операционной системе. По этой причине версия 2 до сих пор активно разрабатывается и выпускаются новые версии. Версия 3.0 Netatalk была выпущена в июле 2012 года и добавила конфигурацию в стиле ini и совместимые с Mac OS X расширенные атрибуты по умолчанию, при этом была удалена поддержка сетей AppleTalk. Последняя версия поддерживает AFP уровня 3.4, представленный в OS X Mountain Lion. Netatalk 3.1, выпущенный в октябре 2013 года, добавил поддержку Spotlight, а также улучшенную совместимость с SMB. В настоящее время Netatalk работает на операционных системах Linux, FreeBSD, OpenBSD, NetBSD, Solaris, illumos и macOS.

Коммерческое использование

Netatalk интегрирован в широкий спектр NAS-решений, включая системы Buffalo NAS, Exanet ExaStore, жесткий диск Iomega Home Media Network, IXsystems TrueNAS, LaCie NAS OS, Lime Technology unRAID, Napp-it, Netgear ReadyNAS, QNAP NAS, Synology DiskStation, Thecus NAS и другие. В 2010 году компания NetAFP, основанная группой разработчиков Netatalk, начала предоставлять коммерческую поддержку для корпоративного внедрения Netatalk. В декабре 2013 года компания объединилась с SerNet, что ознаменовало прекращение коммерческой поддержки Netatalk в пользу SMB, который Apple сделала основным протоколом обмена файлами с выпуском Mac OS X Mavericks в том же году. Веб-сайт NetAFP был закрыт в начале 2022 года.

Логотип

В период разработки в Мичиганском университете логотипом Netatalk была голова BSD Daemon на подносе с ромашками, имитирующая стиль иконок, который Apple использовала для AppleTalk и AppleShare в Classic Mac OS. С выходом Netatalk 2.0 логотип был стилизован в силуэт головы Daemon с наложенными сетевыми кабелями, который используется проектом и по сей день.