haiku/docs/user/storage/storageintro.dox
PulkoMandy 2a2e7ad562 doc/user: mention libnetwork and a bit of the filesystem hierarchy
Based on the feedback from Maya Posch in https://mayaposch.wordpress.com/2024/01/20/porting-nymphcast-to-the-haiku-operating-system/
Thanks for noting that the information was missing!

Change-Id: I4a9f709b17cb3a4a771f167b5af0fc83843ec5ad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7406
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-02-20 12:14:51 +00:00

45 lines
2.3 KiB
Plaintext

/*!
\page storage_intro Introduction to the storage kit
\section Filesystem hierarchy
The filesystems are organized in a hierarchy starting at the root directory (which has the path
'/'). Unlike on typical UNIX systems, the root filsystem is not a mass storage filesystem that
the OS was booted from. Instead, it is a virtual filesystem that can only contain directories,
symbolic links, and mountpoints.
All the other filesystems are mounted as subdirectories of the root filesystem or further down
in the file hierarchy.
The booted filesystem (what would be the rootfs in a typical UNIX) is mounted in '/boot'. For
convenience, several links are created in the rootfs to well-known directories ('/bin', '/var',
etc). These point into the corresponding directories in /boot/system, which are managed by
packagefs.
The packagefs is a read-only union filesystem that makes available the content of various software
packages (installed as .hpkg files) to constitute the entire /boot/system directory. The files can
be accessed either as a complete filesystem hierarchy directly in /boot/system, or by referencing
specific packages exposed in /boot/system/package-links (each directory is a view of the packagefs,
containing only the files for a given package and all its dependencies). In theory, this allows
packages to be exposed in the package-links directory even while they are not actually "activated"
in the main system hierarchy. It also allows to access a version of a file provided by a specific
package, in the case that two packages provide identically named files.
While packagefs is mostly read-only, some directories (called "shine-through") are actually
exposing the content of the underlying filesystem. This includes for example the "config" directory
(for configuration files) and the "non-packaged" directory, where a mirror of the standard
filesystem hierarchy is available for non packaged software. This can be used to install software
locally that is not available yet in HPKG form (for example, as a destination for "make install").
For a complete list of directories and how to access them in a way that is safe to future
filesystem reorganizations, see \link find_directory, \link find_path, and \link BPathFinder.
*/
/*!
\addtgroup storage
See \link storage_intro for general concepts and filesystem hierarchy description.
*/