| Next revision | Previous revision |
| hfs [2009/09/12 20:19] – MarcelMoolenaar | hfs [2023/08/24 17:05] (current) – Added note on transferring files off of HFS. JonathanFrech |
|---|
| ====== HFS ====== | ====== HFS ====== |
| This page is a dumping ground for HFS related information. Maybe in the future it | |
| will be useful. | HFS stands for the **Hierarchical File System** which was a filesystem designed by Apple Inc. in the mid 80's for Mac OS. It became part of Openstep, and has become ubiquitous |
| | with the success of the OS X and related devices like iPods and iPads. |
| | |
| | HFS was known for its revolutionary design, introducing "resource forks" (somewhat |
| | like Extended Attributes) and specific features required for their GUI-oriented OS. |
| | As time has passed, new requirements have been added to the OS and the filesystem |
| | evolved: many new features like journalling and delayed allocation were |
| | added to the point of renaming it "HFS Plus". HFS Plus includes most of the capabilities one can find in UFS or Berkeley FFS: long file names, hard and soft links, special nodes, owner and group information and access permissions to name prominent features. |
| | |
| | The HFS and HFS Plus source code has been released under APSL as part of Apple |
| | Darwin's [[http://opensource.apple.com/source/xnu/|XNU]] kernel and userland utilities. In 2004, an initial port to %%FreeBSD%% |
| | 5.3 was made but the port was left unattended and eventually abandoned. It |
| | would be a good reference for a renewed port. |
| | |
| | Because of this lack of support for HFS in %%FreeBSD%%, transferring files off of an HFS volume is easiest done booting into a Mac OS X system. Barring network file transfer, the %%ExFAT%% filesystem might be a suitable escrow filesystem since it supports large files and is mountable under both Mac OS X and %%FreeBSD%% (''%%# kldload fusefs && pkg install -y fusefs-exfat && mount.exfat-fuse /dev/adaNs1 mountpoint/%%''). %%ExFAT%% through FUSE, however, seems to munge file permissions. |
| | |
| | %%NetBSD%% had a %%GSoC%% project that resulted in limited HFS [[http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/fs/hfs/|support]] |
| | under a BSD license. |
| | |
| | For good or bad, Apple has replaced HFS with its own [[https://en.wikipedia.org/wiki/Apple_File_System|Apple File System]] (APFS) in recent versions of macOS and iOS. |
| |
| === References === | === References === |
| |
| * http://people.freebsd.org/~yar/hfs/ | This page is a dumping ground for HFS related information. |
| * http://developer.apple.com/technotes/tn/tn1150.html | |
| * http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/newfs_hfs.8.html | * [[http://web.archive.org/web/20090603104308/http://people.freebsd.org/~yar/hfs/|HFS and HFS Plus in FreeBSD (5.3)]] //(from Webarchive)// |
| * http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/hfs.util.8.html | * [[https://developer.apple.com/legacy/library/technotes/tn/tn1150.html|TN1150: HFS Plus Volume Format]] |
| * http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/mount_hfs.8.html | * [[http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/mount_hfs.8.html|HFS mount(8) manpage]] |
| * http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/fsck_hfs.8.html | * [[http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/newfs_hfs.8.html|HFS newfs(8) manpage]] |
| | * [[http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/fsck_hfs.8.html|HFS fsck(8) manpage]] |
| | * [[http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/hfs.util.8.html|HFS util(8) manpage]] |
| | |
| | ---- |
| | |
| | {{tag>Apple}} |
| |