Apple File System: Difference between revisions

Content deleted Content added
No edit summary
Tag: Reverted
 
(2 intermediate revisions by 2 users not shown)
Line 36:
Apple File System was announced at [[Apple Inc.|Apple]]'s [[Apple Worldwide Developers Conference|developers’ conference]] (WWDC) in June 2016 as a replacement for [[HFS Plus|HFS+]], which had been in use since 1998.<ref name="9to5Mac APFS announced">{{cite web |first=Seth |last=Weintraub |title=Apple File System (APFS) announced for 2017, scales 'from Apple Watch to Mac Pro' and focuses on encryption |url=https://9to5mac.com/2016/06/13/apple-file-system-apfs/ |website=9to5Mac |date=June 13, 2016 |access-date=March 27, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170328195315/https://9to5mac.com/2016/06/13/apple-file-system-apfs/ |archive-date=March 28, 2017 |df=mdy-all }}</ref><ref name="Ars APFS spotted">{{cite web |first=Lee |last=Hutchinson |title=New file system spotted in macOS Sierra [Updated] |url=https://arstechnica.com/apple/2016/06/new-apfs-file-system-spotted-in-new-version-of-macos/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=June 13, 2016 |access-date=March 27, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170328195529/https://arstechnica.com/apple/2016/06/new-apfs-file-system-spotted-in-new-version-of-macos/ |archive-date=March 28, 2017 |df=mdy-all }}</ref> APFS was released for [[64-bit computing|64-bit]] [[iOS]] devices on March 27, 2017, with the release of iOS 10.3, and for macOS devices on September 25, 2017, with the release of [[MacOS High Sierra|macOS 10.13]].<ref name="macrumors-ios10_3">{{cite web |first=Juli |last=Clover |title=Apple Releases iOS 10.3 With Find My AirPods, APFS, App Store Review Tweaks and More |url=https://www.macrumors.com/2017/03/27/apple-releases-ios-10-3/ |website=[[MacRumors]] |date=March 27, 2017 |access-date=March 27, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170327194444/https://www.macrumors.com/2017/03/27/apple-releases-ios-10-3/ |archive-date=March 27, 2017 |df=mdy-all }}</ref><ref name="The Verge update today">{{cite web |first=Tom |last=Warren |title=Apple is upgrading millions of iOS devices to a new modern file system today |url=https://www.theverge.com/2017/3/27/15076244/apple-file-system-apfs-ios-10-3-features |website=[[The Verge]] |publisher=[[Vox Media]] |date=March 27, 2017 |access-date=March 27, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170327184802/http://www.theverge.com/2017/3/27/15076244/apple-file-system-apfs-ios-10-3-features |archive-date=March 27, 2017 |df=mdy-all }}</ref>
 
Apple released a partial specification for APFS in September 2018 which supported read-only access to Apple File Systems on unencrypted, non-Fusion storage devices. The stipulationspecification for software encryption was documented later.<ref>{{cite web |title=Apple File System Reference |url=https://developer.apple.com/support/downloads/Apple-File-System-Reference.pdf |publisher=Apple Developer}}</ref>
 
==Design==
The file system can be used on devices with relatively small or large amounts of storage. It uses 64-bit [[inode]] numbers,<ref name="appleVolumeComparision"/> and allows for more secure storage by using a technology called Data ProtectingProtection. The APFS code, like the HFS+ code, uses the [[Trim (computing)|TRIM command]] for better space management and performance. It may increase read-write speeds on iOS and macOS,<ref name="The Verge update today"/> as well as space on iOS devices, due to the way APFS calculates available data.<ref>{{cite web|url=https://www.joe.co.uk/tech/updating-iphone-will-give-one-major-benefit-119704|title=Updating your iPhone will give you one major benefit|author=Alan Loughnane|website=[[joe.co.uk]]|date=April 2017 |url-status=live|archive-url=https://web.archive.org/web/20170520045551/https://www.joe.co.uk/tech/updating-iphone-will-give-one-major-benefit-119704|archive-date=May 20, 2017|df=mdy-all}}</ref>
 
=== Partition scheme ===
Line 47:
 
=== Clones ===
Clones allow the operating system to make efficient file copies on the same volume without occupationoccupying additional storage space. Changes to a cloned file are saved as [[Delta encoding|delta extents]], reducing storage space required for document revisions and copies.<ref name="digging-into-apfs"/> There is, however, no interface to mark two copies of the same file as clones of the other, or for other types of [[data deduplication]].
 
The feature is automatically available when a user copies any files using the [[Finder (software)|Finder]] application, which is [[macOS]]'s default [[file manager]], but not when using the <code>[[cp (Unix)|cp]]</code> command.<ref>{{cite web|title=A ZFS developer's analysis of the good and bad in Apple's new APFS file system|website=Ars Technica|date=2016-06-26|url=https://arstechnica.com/gadgets/2016/06/a-zfs-developers-analysis-of-the-good-and-bad-in-apples-new-apfs-file-system/|ref={{sfnref|Ars Technica|2016}}|access-date=2025-02-17|quote="Side note: Finder copy creates space-efficient clones, but cp from the command line does not."}}</ref> To do that on the [[command-line]], the <code>cp</code> utility on macOS has a <code>-c</code> parameter that allows it to use the <code>clonefile</code> [[system call]].<ref>{{cite web|title=[dedup] Use APFS clone (CoW) on macOS · Issue #219 · pkolaczk/fclones|website=GitHub|date=2023-08-10|url=https://github.com/pkolaczk/fclones/issues/219|access-date=2025-02-17}}</ref>
Line 55:
 
=== Encryption ===
Apple File OrganisationSystem natively supports [[disk encryption|full disk encryption]],<ref name="appleVolumeComparision"/> and file encryption with the following options:
* no encryption
* [[Key (cryptography)|single-key]] encryption
Line 73:
 
=== Space sharing ===
APFS adds the ability to have multiple logical drives (referred to as [[Volume (computing)|volumes]]) in the same container where free quadspace is available to all volumes in that container (block device).<ref>{{cite web |url=https://devstreaming-cdn.apple.com/videos/wwdc/2016/701q0pnn0ietcautcrv/701/701_introducing_apple_file_system.pdf |title=Introducing Apple File System |first1=Eric |last1=Tamura |first2=Dominic |last2=Giampaolo |author-link2=Dominic Giampaolo |date=2016 |access-date=May 28, 2022}}</ref>
 
== Limitations ==
Line 103:
 
=== iOS, tvOS, and watchOS ===
[[iOS 10|iOS 10.3]], [[tvOS|tvOS 10.2]], and [[watchOS|watchOS 3.2]] convert the existing [[HFS Plus|HFSX]] file organizationsystem to APFS on compatible devices.<ref name="macrumors-ios10_3"/><ref name="The Verge update today"/><ref>{{Cite web|url=https://github.com/jakepetroules/Filesystem|title=jakepetroules/Filesystem|website=GitHub|language=en|access-date=March 29, 2017}}</ref>
 
=== Third-party utilities ===
 
{{Update-section|reason=Software companies have had a long time to update their software to support APFS. The article should reflect recent developments.|date=August 2025}}
 
Despite the ubiquity of APFS volumes in today's Macs and the format's 2016 introduction, third-party repair utilities continue to have notable limitations in supporting APFS volumes, due to Apple's delayed release of complete documentation. According to Alsoft, the maker of DiskWarrior, Apple's 2018 release of partial APFS format documentation has delayed the creation of a version of DiskWarrior that can safely rebuild APFS disks.<ref>{{cite web | url=https://www.alsoft.com/diskwarrior5apfs | title=DiskWarrior 5.2 & Apple File System (APFS) | access-date=2020-06-28}}</ref> Competing products, including MicroMat's TechTool and Prosoft's Drive Genius, are expected to increase APFS support as well.
Line 111 ⟶ 113:
[[Paragon Software Group]] has published a [[software development kit]] under the 4-Clause [[BSD License]] <!-- Not OSI approved, so not really open source? --> that supports read-only access of APFS drives.<ref>{{cite web |title=Paragon Software Group Releases Free Paragon APFS SDK Community Edition for Software Developers, OEMs, Forensic Experts |url=https://www.paragon-software.com/paragon-software-group-releases-free-paragon-apfs-sdk-community-edition-for-software-developers-oems-forensic-experts/ |website=Paragon Software Group}} [https://github.com/Paragon-Software-Group/paragon_apfs_sdk_ce GitHub]</ref> An independent read-only [[open source]] implementation by Joachim Metz, libfsapfs, is released under [[GNU Lesser General Public License]] v3. It has been packaged into [[Debian]], [[Fedora Linux]], [[Rocky Linux]], [[Red Hat Enterprise Linux]] and [[Ubuntu]] software repositories.<ref>{{cite web |title=libyal/libfsapfs |url=https://github.com/libyal/libfsapfs |website=GitHub |date=7 November 2019 |quote=Library and tools to access the Apple File System (APFS)}}</ref><ref>{{Cite web |title=apfs-fuse - Fedora Packages |url=https://packages.fedoraproject.org/pkgs/apfs-fuse/apfs-fuse/ |access-date=2022-10-20 |website=packages.fedoraproject.org}}</ref><ref>{{Cite web |url=https://rhel.pkgs.org/9/forensics-x86_64/apfs-fuse-20200928-1.el9.x86_64.rpm.html|title=apfs-fuse-20200928-1.el9.x86_64.rpm|website=rhel.pkgs.org}}</ref> Both are command-line tools that do not expose a normal filesystem driver interface. There is a [[Filesystem in Userspace]] (FUSE) driver for Linux called apfs-fuse with read-only access.<ref>{{cite web |last1=Ross |first1=Alistair |title=How to mount macOS APFS disk volumes in Linux |url=https://linuxnewbieguide.org/how-to-mount-macos-apfs-disk-volumes-in-linux/ |website=The Ultimate Linux Newbie Guide |date=23 February 2019}} ([https://github.com/sgan81/apfs-fuse Github])</ref> An "APFS for Linux" project is working to integrate APFS support into the Linux kernel.<ref>{{cite web |title=linux-apfs/linux-apfs-rw: APFS module for linux, with experimental write support |url=https://github.com/linux-apfs/linux-apfs-rw |website=GitHub |publisher=APFS for Linux |date=4 Feb 2022}}</ref>
 
A commercial product, Paragon's APFS for Windows, allows for read and write support to APFS volumes in all versions of Windows from Windows 7 through Windows 11 and Windows Server 2008 R2 through Windows Server 2022, but it is unable to format or verify APFS volumes, and it cannot read APFS volumes which are computer hardware-encrypted against the [[Apple T2]] security chip.<ref>{{cite web |title=APFS for Windows {{!}} Paragon Software |url=https://www.paragon-software.com/home/apfs-windows/ |website=Paragon Software Group |access-date=29 January 2024}}</ref>
 
== See also ==