Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
hfs [2009/09/12 20:19] – MarcelMoolenaarhfs [2023/08/24 17:05] (current) – Added note on transferring files off of HFS. JonathanFrech
Line 1: Line 1:
 ====== 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}}
  
  • hfs.1252786765.txt.gz
  • Last modified: 2009/09/12 20:19
  • by MarcelMoolenaar