mirror of
https://github.com/systemd/systemd
synced 2024-09-06 16:56:43 +00:00
33 lines
1.9 KiB
Markdown
33 lines
1.9 KiB
Markdown
---
|
|
title: systemd File Hierarchy Requirements
|
|
category: Documentation for Developers
|
|
layout: default
|
|
SPDX-License-Identifier: LGPL-2.1-or-later
|
|
---
|
|
|
|
# systemd File Hierarchy Requirements
|
|
|
|
There are various attempts to standardize the file system hierarchy of Linux systems.
|
|
In systemd we leave much of the file system layout open to the operating system, but here's what systemd strictly requires:
|
|
|
|
- `/`, `/usr`, `/etc` must be mounted when the host systemd is first invoked.
|
|
This may be achieved either by using the kernel's built-in root disk mounting (in which case `/`, `/usr` and `/etc` need to be on the same file system), or via an initrd, which could mount the three directories from different sources.
|
|
|
|
- `/bin`, `/sbin`, `/lib` (and `/lib64` if applicable) should reside on `/`, or be symlinks to the `/usr` file system (recommended).
|
|
All of them must be available before the host systemd is first executed.
|
|
|
|
- `/var` does not have to be mounted when the host systemd is first invoked, however,
|
|
it must be configured so that it is mounted writable before local-fs.target is reached (for example, by simply listing it in` /etc/fstab`).
|
|
|
|
- `/tmp` is recommended to be a tmpfs (default), but doesn't have to.
|
|
If configured, it must be mounted before local-fs.target is reached (for example, by listing it in `/etc/fstab`).
|
|
|
|
- `/dev` must exist as an empty mount point and will automatically be mounted by systemd with a devtmpfs. Non-devtmpfs boots are not supported.
|
|
|
|
- `/proc` and `/sys` must exist as empty mount points and will automatically be mounted by systemd with procfs and sysfs.
|
|
|
|
- `/run` must exist as an empty mount point and will automatically be mounted by systemd with a tmpfs.
|
|
|
|
The other directories usually found in the root directory (such as `/home`, `/boot`, `/opt`) are irrelevant to systemd.
|
|
If they are defined they may be mounted from any source and at any time, though it is a good idea to mount them also before local-fs.target is reached.
|