aboutsummaryrefslogtreecommitdiffhomepage
path: root/fhs/fhs.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-03-17 15:56:36 +0900
committerOphestra <cat@gensokyo.uk>2026-03-17 15:56:36 +0900
commit722989c68256469963aee963bed9c6ab4bf55b67 (patch)
treee31098961db50530d196e93e65f3fa770243cc03 /fhs/fhs.go
parentb852402f67b22a3a850ce4eb1305a3ce5898d128 (diff)
fhs: move from container
This package is not container-specific. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'fhs/fhs.go')
-rw-r--r--fhs/fhs.go51
1 files changed, 51 insertions, 0 deletions
diff --git a/fhs/fhs.go b/fhs/fhs.go
new file mode 100644
index 00000000..6d098d0c
--- /dev/null
+++ b/fhs/fhs.go
@@ -0,0 +1,51 @@
+// Package fhs provides constant and checked pathname values for common FHS paths.
+package fhs
+
+const (
+ // Root points to the file system root.
+ Root = "/"
+ // Etc points to the directory for system-specific configuration.
+ Etc = "/etc/"
+ // Tmp points to the place for small temporary files.
+ Tmp = "/tmp/"
+
+ // Run points to a "tmpfs" file system for system packages to place runtime
+ // data, socket files, and similar.
+ Run = "/run/"
+ // RunUser points to a directory containing per-user runtime directories,
+ // each usually individually mounted "tmpfs" instances.
+ RunUser = Run + "user/"
+
+ // Usr points to vendor-supplied operating system resources.
+ Usr = "/usr/"
+ // UsrBin points to binaries and executables for user commands that shall
+ // appear in the $PATH search path.
+ UsrBin = Usr + "bin/"
+
+ // Var points to persistent, variable system data. Writable during normal
+ // system operation.
+ Var = "/var/"
+ // VarLib points to persistent system data.
+ VarLib = Var + "lib/"
+ // VarEmpty points to a nonstandard directory that is usually empty.
+ VarEmpty = Var + "empty/"
+
+ // Dev points to the root directory for device nodes.
+ Dev = "/dev/"
+ // DevShm is the place for POSIX shared memory segments, as created via
+ // shm_open(3).
+ DevShm = "/dev/shm/"
+ // Proc points to a virtual kernel file system exposing the process list and
+ // other functionality.
+ Proc = "/proc/"
+ // ProcSys points to a hierarchy below /proc/ that exposes a number of
+ // kernel tunables.
+ ProcSys = Proc + "sys/"
+ // ProcSelf resolves to the process's own /proc/pid directory.
+ ProcSelf = Proc + "self/"
+ // ProcSelfExe is a symbolic link to program pathname.
+ ProcSelfExe = ProcSelf + "exe"
+ // Sys points to a virtual kernel file system exposing discovered devices
+ // and other functionality.
+ Sys = "/sys/"
+)