Linux directory structure

From Pengwings
Revision as of 14:12, 9 February 2026 by Theleruby (talk | contribs)

This page might help you to understand the layout of the Linux file system a bit better.

"Modifiable" column indicates whether or not you can write to this directory on the Atomic Desktop. If the column says "yes" then these files are kept separate from the atomic image and will be preserved regardless of which deployment you boot. If the column is blank, these files are part of the deployment and can't be altered directly (although you can install and uninstall packages using rpm-ostree).

/etc folder is special; this directory is kept as part of the deployment but is also writable. The contents are essentially kept as a diff, when a new deployment is created the diff gets applied over the top of it using a 3-way merge.

Directory Symlinked to Modifiable Purpose Rough Windows equivalent (ish)
Folders managed by the distribution (in /usr), on Atomic Desktop these are managed by rpm-ostree
/usr Files which are part of the distro, usually installed and managed by the package manager C:\Program Files\
C:\Windows\
/bin /usr/bin Programs on PATH bundled with the distro that you can use as a normal user
/lib /usr/lib 32-bit system libraries
/lib64 /usr/lib64 64-bit system libraries
/sbin /usr/sbin Programs on PATH bundled with the distro that need superuser
Folders managed automatically by the system
/media /run/media Temporary automatic mounts for external storage, such as removable USB drives, CD/DVD/Blu-ray disks, SD cards Drive letters in My Computer
Main folders managed by the administrator
/etc 3-way merge System-wide configuration files, installing packages sometimes puts files here Registry
/var yes Variable data files not specific to a particular user (e.g. log files)
Atomic Desktop stores all modifiable files here that aren't 3-way merged
C:\ProgramData\
Symlinked folders managed by the administrator
/mnt /var/mnt yes Temporary or permanent mounts for any purpose (e.g. secondary hard drives, remote network shares) Drive letters in My Computer
/opt /var/opt yes Third-party software which isn't installed via the package manager and doesn't follow package structure C:\Program Files\
/srv /var/srv yes Contains server data files
Probably not useful unless you're running server programs
/usr/local /var/usrlocal yes Third-party file directory with a layout that looks like the normal structure of /usr
Contains subfolders like bin, lib, lib64, sbin which behave like the distro counterparts including being on PATH
C:\Program Files\
User-level directories
/home /var/home yes User folders for the standard user C:\Users\
/root /var/roothome yes User folder for the root user
Temp folders, files are kept in RAM and lost when the system shuts down
/run yes Used by system packages to store small amounts of runtime data, essentially a system package temp folder, only writable by root C:\Windows\TEMP\
/tmp yes Temp folder where normal people have r/w access AppData\Local\Temp\
Special directories
/boot Files relating to the bootloader and booting the system
/dev Contains file-like objects which allow I/O access for hardware devices on the system
/proc Contains file-like objects relating to running processes
/sys Virtual file system that can be accessed to set or obtain information about the kernel's view of the system
Other directories
/rpms Unknown - seems empty/unused and there isn't any r/w access to this folder
/sysroot Folder containing files relating specifically to atomic desktop
ostree deployment data is symlinked from /sysroot/ostree to /ostree