mirror of https://gitee.com/openkylin/linux.git
88 lines
3.0 KiB
ReStructuredText
88 lines
3.0 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
==================================
|
||
|
Macintosh HFS Filesystem for Linux
|
||
|
==================================
|
||
|
|
||
|
|
||
|
.. Note:: This filesystem doesn't have a maintainer.
|
||
|
|
||
|
|
||
|
HFS stands for ``Hierarchical File System`` and is the filesystem used
|
||
|
by the Mac Plus and all later Macintosh models. Earlier Macintosh
|
||
|
models used MFS (``Macintosh File System``), which is not supported,
|
||
|
MacOS 8.1 and newer support a filesystem called HFS+ that's similar to
|
||
|
HFS but is extended in various areas. Use the hfsplus filesystem driver
|
||
|
to access such filesystems from Linux.
|
||
|
|
||
|
|
||
|
Mount options
|
||
|
=============
|
||
|
|
||
|
When mounting an HFS filesystem, the following options are accepted:
|
||
|
|
||
|
creator=cccc, type=cccc
|
||
|
Specifies the creator/type values as shown by the MacOS finder
|
||
|
used for creating new files. Default values: '????'.
|
||
|
|
||
|
uid=n, gid=n
|
||
|
Specifies the user/group that owns all files on the filesystems.
|
||
|
Default: user/group id of the mounting process.
|
||
|
|
||
|
dir_umask=n, file_umask=n, umask=n
|
||
|
Specifies the umask used for all files , all directories or all
|
||
|
files and directories. Defaults to the umask of the mounting process.
|
||
|
|
||
|
session=n
|
||
|
Select the CDROM session to mount as HFS filesystem. Defaults to
|
||
|
leaving that decision to the CDROM driver. This option will fail
|
||
|
with anything but a CDROM as underlying devices.
|
||
|
|
||
|
part=n
|
||
|
Select partition number n from the devices. Does only makes
|
||
|
sense for CDROMS because they can't be partitioned under Linux.
|
||
|
For disk devices the generic partition parsing code does this
|
||
|
for us. Defaults to not parsing the partition table at all.
|
||
|
|
||
|
quiet
|
||
|
Ignore invalid mount options instead of complaining.
|
||
|
|
||
|
|
||
|
Writing to HFS Filesystems
|
||
|
==========================
|
||
|
|
||
|
HFS is not a UNIX filesystem, thus it does not have the usual features you'd
|
||
|
expect:
|
||
|
|
||
|
* You can't modify the set-uid, set-gid, sticky or executable bits or the uid
|
||
|
and gid of files.
|
||
|
* You can't create hard- or symlinks, device files, sockets or FIFOs.
|
||
|
|
||
|
HFS does on the other have the concepts of multiple forks per file. These
|
||
|
non-standard forks are represented as hidden additional files in the normal
|
||
|
filesystems namespace which is kind of a cludge and makes the semantics for
|
||
|
the a little strange:
|
||
|
|
||
|
* You can't create, delete or rename resource forks of files or the
|
||
|
Finder's metadata.
|
||
|
* They are however created (with default values), deleted and renamed
|
||
|
along with the corresponding data fork or directory.
|
||
|
* Copying files to a different filesystem will loose those attributes
|
||
|
that are essential for MacOS to work.
|
||
|
|
||
|
|
||
|
Creating HFS filesystems
|
||
|
========================
|
||
|
|
||
|
The hfsutils package from Robert Leslie contains a program called
|
||
|
hformat that can be used to create HFS filesystem. See
|
||
|
<http://www.mars.org/home/rob/proj/hfs/> for details.
|
||
|
|
||
|
|
||
|
Credits
|
||
|
=======
|
||
|
|
||
|
The HFS drivers was written by Paul H. Hargrovea (hargrove@sccm.Stanford.EDU).
|
||
|
Roman Zippel (roman@ardistech.com) rewrote large parts of the code and brought
|
||
|
in btree routines derived from Brad Boyer's hfsplus driver.
|