Netatalk

Last updated
Netatalk
Developer(s) Netatalk Team
Initial release1990;34 years ago (1990)
Stable release
3.2:3.2.4 / July 19, 2024;1 day ago (2024-07-19)
2.4:2.4.4 / July 19, 2024;1 day ago (2024-07-19)
Repository github.com/Netatalk/netatalk
Operating system POSIX-compliant *NIX/*BSD systems
Type Remote Access
License 2001: GPL-2.0-or-later [lower-alpha 1]
1990: Other permissive licenses [1]
Website netatalk.io

Netatalk (pronounced "ned-uh-talk") [2] is a free, open-source implementation of the Apple Filing Protocol (AFP). It allows Unix-like operating systems to serve as file servers for Macintosh computers running macOS or Classic Mac OS.

Contents

Netatalk was originally developed by the Research Systems Unix Group at the University of Michigan for BSD-derived Unix systems [3] and released in 1990. Apple had introduced AppleTalk soon after the release of the original Macintosh in 1985, followed by the file sharing application AppleShare (which was built on top of AFP) in 1987. This was an early example of zero-configuration networking, gaining significant adoption in educational and small to mid size office environments in the late 80s. Netatalk emerged as a part of the software ecosystem around AppleTalk.

In 1986 Columbia University published the Columbia AppleTalk Package (CAP), which was an open source implementation of AppleTalk originally written for BSD 4.2, allowing Unix servers to be part of AppleTalk networks. [4] CAP also had its own implementation of AFP/AppleShare, but Netatalk appearing in 1990 claimed better performance due to software design advantages. [5] CAP and Netatalk were also interoperable, the latter being able to be run on an AppleTalk backend provided by CAP.

As part of transitioning the software into an open source community project, the codebase was moved to SourceForge for revision control in July 2000, then re-licensed under the terms of the GNU General Public License with version 1.5pre7 in August 2001. [6]

Since Classic Mac OS used a forked file system, unlike the host operating systems where Netatalk would be running, Netatalk originally implemented the AppleDouble format for storing the resource fork separately from the data fork when a Mac OS file was transferred to the Unix-like computer's file system. This was required in order not to ruin most files by discarding the resource fork when copied to the Netatalk served AppleShare volume. With the release of Netatalk 3.0, the backend was re-implemented to use the Extended Attributes format that Apple had introduced with Mac OS X for backwards compatibility with Classic Mac OS resource forks.

Development History

The original developer of Netatalk was Wesley Craig at the University of Michigan. In 1997 Adrian Sun created a popular fork, coding the initial implementation of the then-new AppleShare IP (AFP over TCP/IP) network layer. [7] By the time the project started transitioning into an open source model in 2000, the "ASUN" fork had been merged back into Netatalk proper.

In October 2004 Netatalk 2.0 was released, which brought major improvements, including: support for Apple Filing Protocol version 3.1 (providing long UTF-8 filenames, file sizes > 2 gigabytes, full Mac OS X compatibility), CUPS integration, Kerberos V support allowing true "single sign-on", reliable and persistent storage of file and directory IDs and countless bug fixes compared to previous versions.

Since version 2.0.5, Netatalk supports the use of Time Machine over a network in a similar fashion to Apple's own Time Capsule. Starting with version 2.2, Netatalk supports AFP protocol level 3.3, which is inter-operable with all subsequent OS versions through at least macOS Ventura (13.1).

Up until version 2, Netatalk implemented the AppleTalk (DDP) protocol suite, allowing Unix-like operating systems to serve also as print (PAP via a CUPS backend) and time (Timelord) [8] servers for Macintosh computers. In addition, networked Apple IIe and Apple IIGS computers can be netbooted from a Netatalk shared volume. In fact, this version contains an entire suite of tools for inspecting and manipulating AppleTalk networks, as well as reading and writing files in Macintosh formats on a Unix-like operating system. For this reason, version 2 is still being actively developed and new versions released.

Version 3.0 of Netatalk was released in July 2012 and added ini style configuration, and Mac OS X compatible Extended Attributes as default, while removing AppleTalk networking support. The latest version supports the AFP level 3.4, introduced in OS X Mountain Lion.

Netatalk 3.1, released in October 2013, added Spotlight support in addition to improved SMB interoperability. [9] [10]

Currently Netatalk runs on the Linux, FreeBSD, OpenBSD, NetBSD, Solaris, illumos, and macOS operating systems.

Commercial Use

Netatalk is (or was previously) integrated into a range of NAS solutions, including Buffalo NAS systems, Exanet ExaStore, [11] Iomega's Home Media Network Hard Drive, [12] IXsystems TrueNAS, LaCie NAS OS, Lime Technology unRAID, [13] Napp-it, [14] Netgear ReadyNAS, QNAP NAS, Synology DiskStation, Thecus NAS, [15] and more. [16] [17]

In 2010, a company called NetAFP run by a group of Netatalk maintainers started providing commercial support for enterprise deployments of Netatalk. [18] The company merged with German Samba vendor SerNet in December 2013, signaling the end of commercial support for Netatalk in favor of SMB, which Apple had made the primary file sharing protocol with the release of Mac OS X Mavericks that same year. [19] The NetAFP website was shut down in early 2022.

Netatalk Logo, captured from the University of Michigan's website in 2000 Netatalk Logo (1996).gif
Netatalk Logo, captured from the University of Michigan's website in 2000

While a project at the University of Michigan, Netatalk's logo was the head of the BSD Daemon on a daisy chained serving tray, mimicking the icon design language that Apple used for AppleTalk and AppleShare in Classic Mac OS. [20]

Coinciding with the release of Netatalk 2.0, the logo was stylized into the Daemon head silhouette with overlaid networking cables logo that the project is presently using. [21]

See also

Notes

  1. GPL-2.0-or-later since 2001-08-28, version 1.5pre7

Related Research Articles

AppleTalk is a discontinued proprietary suite of networking protocols developed by Apple Computer for their Macintosh computers. AppleTalk includes a number of features that allow local area networks to be connected with no prior setup or the need for a centralized router or server of any sort. Connected AppleTalk-equipped systems automatically assign addresses, update the distributed namespace, and configure any required inter-networking routing.

<span class="mw-page-title-main">Mac OS X Server</span> Server software for macOS

Mac OS X Server is a series of discontinued Unix-like server operating systems developed by Apple Inc. based on macOS. It provided server functionality and system administration tools, and tools to manage both macOS-based computers and iOS-based devices, network services such as a mail transfer agent, AFP and SMB servers, an LDAP server, and a domain name server, as well as server applications including a Web server, database, and calendar server.

Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call system. NFS is an open IETF standard defined in a Request for Comments (RFC), allowing anyone to implement the protocol.

A resource fork is a fork of a file on Apple's classic Mac OS operating system that is used to store structured data. It is one of the two forks of a file, along with the data fork, which stores data that the operating system treats as unstructured. Resource fork capability has been carried over to the modern macOS for compatibility.

<span class="mw-page-title-main">Server Message Block</span> Network communication protocol for providing shared access to resources

Server Message Block (SMB) is a communication protocol used to share files, printers, serial ports, and miscellaneous communications between nodes on a network. On Microsoft Windows, the SMB implementation consists of two vaguely named Windows services: "Server" and "Workstation". It uses NTLM or Kerberos protocols for user authentication. It also provides an authenticated inter-process communication (IPC) mechanism.

<span class="mw-page-title-main">Mac OS X Jaguar</span> Third major release of Mac OS X

Mac OS X Jaguar is the third major release of macOS, Apple's desktop and server operating system. It superseded Mac OS X 10.1 and preceded Mac OS X Panther. The operating system was released on August 23, 2002 either for single-computer installations, and in a "family pack", which allowed five installations on separate computers in one household. Jaguar was the first Mac OS X release to publicly use its code name in marketing and advertisements.

<span class="mw-page-title-main">Network-attached storage</span> Computer data storage server

Network-attached storage (NAS) is a file-level computer data storage server connected to a computer network providing data access to a heterogeneous group of clients. The term "NAS" can refer to both the technology and systems involved, or a specialized device built for such functionality.

The Apple Filing Protocol (AFP), formerly AppleTalk Filing Protocol, is a proprietary network protocol, and part of the Apple File Service (AFS), that offers file services for macOS, classic Mac OS, and Apple II computers. In OS X 10.8 Mountain Lion and earlier, AFP was the primary protocol for file services. Starting with OS X 10.9 Mavericks, Server Message Block (SMB) was made the primary file sharing protocol, with the ability to run an AFP server removed later in macOS 11 Big Sur. AFP supports Unicode file names, POSIX and access-control list permissions, resource forks, named extended attributes, and advanced file locking.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS.

AppleShare is a discontinued product from Apple Computer which implements various network services. Its main purpose is to act as a file server, using the AFP protocol. Other network services implemented in later versions of AppleShare included a print server using the Printer Access Protocol (PAP), web server, electronic mail server, and SMB / CIFS server to support file sharing to Microsoft Windows clients.

AppleSingle Format and AppleDouble Format are file formats developed by Apple Computer to store Mac OS "dual-forked" files on the Unix filesystem being used in A/UX, the Macintosh platform's first Unix-like operating system. AppleSingle combined both file forks and the related Finder meta-file information into a single file, whereas AppleDouble stored them as two separate files. Support for the formats was later added to Unix software such as NFS and MAE, but they saw little use outside this small market.

TrueNAS is the branding for a family of network-attached storage (NAS) products produced by iXsystems. They include both free and open-source and commercial offerings, based on the OpenZFS file system and either FreeBSD or Linux. It is licensed under the terms of the BSD License and runs on both commodity x86-64 hardware and turnkey appliances offered by iXsystems.

<span class="mw-page-title-main">Time Machine (macOS)</span> Backup software application developed by Apple and distributed as part of macOS

Time Machine is the backup mechanism of macOS, the desktop operating system developed by Apple. The software is designed to work with both local storage devices and network-attached disks, and is commonly used with external disk drives connected using either USB or Thunderbolt. It was first introduced in Mac OS X 10.5 Leopard, which appeared in October 2007 and incrementally refined in subsequent releases of macOS. Time Machine was revamped in macOS 11 Big Sur to support APFS, thereby enabling "faster, more compact, and more reliable backups" than were possible previously.

<span class="mw-page-title-main">Berkeley Software Distribution</span> Unix operating system

The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley. The term "BSD" commonly refers to its open-source descendants, including FreeBSD, OpenBSD, NetBSD, and DragonFly BSD.

TOPS is a peer-to-peer LAN-based file sharing system best known in its Macintosh implementation, but also available for DOS and able to interoperate with Unix's NFS. Originally written by Centram Systems West, the company was purchased by Sun Microsystems as part of Sun's development of the NFS ecosystem. The Centram company was renamed to TOPS after its acquisition by Sun. Sales of TOPS dried up after the introduction of System 7, which featured a similar file sharing system built-in, and Sun spun off their NFS developments to Sitka.

<span class="mw-page-title-main">XigmaNAS</span> Software

XigmaNAS is an open-source Network-attached storage (NAS) server software with a dedicated management web interface. It is a continuation of the original FreeNAS code, which was developed between 2005 and late 2011. It was released under the name NAS4Free on 22 March 2012. The name was changed to XigmaNAS in July 2018. On SourceForge, it was elected “'Community Choice' Project of the Month” twice, in August 2015 and March 2017.

The history of the Berkeley Software Distribution begins in the 1970s.

Comparison of user features of operating systems refers to a comparison of the general user features of major operating systems in a narrative format. It does not encompass a full exhaustive comparison or description of all technical details of all operating systems. It is a comparison of basic roles and the most prominent features. It also includes the most important features of the operating system's origins, historical development, and role.

References

  1. "Netatalk/COPYRIGHT at main · Netatalk/Netatalk". GitHub .
  2. "Netatalk FAQ". Research Systems Unix Group. The University of Michigan. 19 February 1996. Archived from the original on 23 December 1996. Retrieved 11 January 2023. How do I pronouce[sic] netatalk? Ah, good question! The unenlightened often mis-pronounce this word \'net-'a-to.k\. The correct pronouciation[sic] is \'ned-*-to.k\ (the 't' is soft, like d, and the first 'a' is a schwa).
  3. "Netatalk - Networking Apple Macintosh through Open Source". Archived from the original on 2007-01-27.
  4. "Mabam/CAP". GitHub .
  5. "Netatalk faq". Archived from the original on 2001-11-26.
  6. "Netatalk-devel Mailing List". SourceForge. SourceForge. 28 August 2001. Retrieved 11 January 2023. As of 1.5pre7, netatalk is now being distributed under the GNU Public License (GPL). Versions up to 1.5pre7 can still be modified under the BSD License, and all terms of the BSD License that do not conflict with the GPL are still in force.
  7. Bill McGonigle (2 March 2001). "Netatalk Faq-O-Matic". Netatalk Faq-O-Matic. Archived from the original on 2 March 2001. Retrieved 12 January 2023. Over the past couple years Adrian Sun has pretty much taken over the application development and has added a slew of new features, including AFP over TCP and bug fixes.
  8. "Mac Time Client/Server". The University of Melbourne. The University of Melbourne. 19 February 1996. Archived from the original on 3 March 2001. Retrieved 12 January 2023. The tardis/Timelord package allows the Macintosh time to be set over an AppleTalk network from a Macintosh or UNIX/CAP based time server.
  9. "Netatalk Release Notes" . Retrieved 2014-01-02.
  10. "11. Sharing". FreeNAS® 11.2-U3 User Guide. 11.1. Apple (AFP) Shares. Retrieved 2014-01-02.
  11. P. V. Anthony (2005-09-19). "Netatalk / Re: [Netatalk-admins] Video Editing". netatalk-admins (Mailing list). Retrieved 2019-02-17.
  12. "Serial port (Home Media)". NAS-Central Iomega Wiki. Archived from the original on 2018-08-17. Retrieved 2019-02-17.
  13. "Release Notes". unRAID Wiki. Retrieved 2019-02-17.
  14. "napp-it // webbed ZFS NAS/SAN appliance for OmniOS, OpenIndiana and Solaris : Extensions" . Retrieved 2019-02-17.
  15. "N0204 beta firmware V3.00.10.1". Thecus. Retrieved 2019-02-17.
  16. Ralph Böhme (September 22, 2011). "Status of Netatalk and AFP support by NAS vendor, update" . Retrieved 2019-02-17.
  17. Ralph Böhme (January 18, 2011). "Status of Netatalk and AFP support by NAS vendor" . Retrieved 2019-02-17.
  18. "NetAFP Netatalk Support". NetAFP. 15 August 2010. Archived from the original on 15 August 2010. Retrieved 11 January 2023.
  19. Ralph Böhme (11 December 2013). "SerNet expands Apple Support – NetAFP joins SerNet". SerNet. SerNet Service Network GmbH. Retrieved 11 January 2023. SerNet is joined by Ralph Böhme from NetAFP to further strengthen the SAMBA team. Böhme is the main developer of Netatalk, a free AFP implementation for Linux servers. [...] "Many users and manufacturers use Netatalk as Linux servers for Apple clients. Over the next two years, they need to migrate to SMB," says Ralph Böhme.
  20. "Research Systems Unix Group: Netatalk". Archived from the original on 2019-03-14.
  21. "Netatalk - Networking Apple Macintosh through Open Source". Archived from the original on 2004-08-25.