💾 Archived View for lofi.haiku-os.org › docs › develop › packages › DirectoryStructure.gmi captured on 2024-03-21 at 15:05:08. Gemini links have been rewritten to link to archived content
View Raw
More Information
⬅️ Previous capture (2023-09-28)
-=-=-=-=-=-=-
Boot Volume Directory Structure
This is the directory layout of the boot volume:
home/config
<like system, but without haiku_loader, kernel_<arch>, and runtime_loader>
system
add-ons
apps
bin
boot
cache*
data
demos
develop
documentation
lib
non-packaged*
packages*
preferences
servers
settings*
var*
haiku_loader
kernel_<arch>
runtime_loader
trash
The structure mostly equals the pre-package management directory structure with the following changes:
- "common" has been removed, or more correctly it has been merged into "system". All system-wide software is now installed (only) in "system".
- The "develop" directory has been removed and its contents has been moved to the "system/develop" directory.
- The "include" directory has been removed. Its contents lives in "develop/headers" now.
- "optional" has been removed. Optional features can just be installed via the package manager.
- "share" and "etc" (in "common") have been removed. Their contents goes to "data", "documentation", or "settings" (in "system" or, for packages installed there, in "home") as appropriate. There’s "settings/etc" which is where ported Unix software will usually store their global settings.
- "apps" and "preferences" have been moved to "system" for consistency.
- "system" and "home/config" each sport a "packages" directory, which contains the activated packages.
- "system" and "home/config" themselves are mount points for two instances of the packagefs, i.e. each contains the virtually extracted contents of the activated packages in the respective "packages" subdirectory. The directories marked with "*" are “shine-through” directories. They are not provided by the packagefs, but are the underlying directories of the boot volume. Unlike the other directories they are writable.
- "system" and "home/config" each contain a directory "non-packaged" which has the same structure as their parent directory minus the shine-through directories. In the "non-packaged" directories software can be installed the traditional – non-packaged – way.