Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hfs [2011/05/12 16:27] – PedroGiffunihfs [2023/08/24 17:05] (current) – Added note on transferring files off of HFS. JonathanFrech
Line 1: Line 1:
 ====== HFS ====== ====== HFS ======
  
-The **Hierarchical File System (HFS)** is a filesystem designed by Apple Inc. in +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 
-the mid 80's for Mac OS and has become ubiquitous with the success of the OS X +with the success of the OS X and related devices like iPods and iPads.
-and related devices like iPods and iPads.+
  
-HFS is known for it's revolutionary design, introducing "resource forks" (somewhat +HFS was known for its revolutionary design, introducing "resource forks" (somewhat 
-like Extended Attributes) and other features required for their GUI oriented OS.+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 As time has passed, new requirements have been added to the OS and the filesystem
-has had to adapt. Many new features like delayed allocation and journalling were +evolved: many new features like journalling and delayed allocation were 
-added to the point of renaming it "HFS Plus".+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 code has been released under APSL as part of Apple Darwin's +The HFS and HFS Plus source code has been released under APSL as part of Apple 
-XNU and userland utilities. In 2004 an initial port to %%FreeBSD%% 5.5 was made but +Darwin's [[http://opensource.apple.com/source/xnu/|XNU]] kernel and userland utilities. In 2004, an initial port to %%FreeBSD%% 
-the port was left unattended and eventually abandoned. It would be a good reference +5.3 was made but the port was left unattended and eventually abandoned. It 
-for a renewed port.+would be a good reference for a renewed port.
  
-Another idea that has been considered is to add a Darwin compatibility layer +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.
-(similar to the opensolaris layer used by ZFS) to help porting it along with +
-other interesting filesystems in Darwin's codebase like smbfs and ntfs.+
  
-%%NetBSD%% had a %%GSoC%% project that resulted in 2007 in a limited HFS port under a +%%NetBSD%% had a %%GSoC%% project that resulted in limited HFS [[http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/fs/hfs/|support]] 
-BSD license.+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 ===
  
-This page is a dumping ground for HFS related information. Maybe in the future it +This page is a dumping ground for HFS related information. 
-will be useful.+ 
 +  * [[http://web.archive.org/web/20090603104308/http://people.freebsd.org/~yar/hfs/|HFS and HFS Plus in FreeBSD (5.3)]] //(from Webarchive)// 
 +  * [[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|HFS mount(8) manpage]] 
 +  * [[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]] 
 + 
 +----
  
-  * http://people.freebsd.org/~yar/hfs/ (Initial %%FreeBSD%% 5.5 port) +{{tag>Apple}}
-  * http://developer.apple.com/technotes/tn/tn1150.html +
-  * http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/newfs_hfs.8.html +
-  * http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/hfs.util.8.html +
-  * http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/mount_hfs.8.html +
-  * http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/fsck_hfs.8.html+
  
  • hfs.1305217622.txt.gz
  • Last modified: 2011/05/12 16:27
  • by PedroGiffuni