Главные каталоги
| путь | что внутри |
|---|---|
/ | корень всего; то что не помещается в подкаталоги ниже |
/bin, /sbin, /usr/bin, /usr/sbin | исполняемые бинари (/usr/* сейчас унифицирован с /) |
/lib, /usr/lib | разделяемые библиотеки и kernel-модули (/lib/modules/) |
/etc | конфигурация. Текстовая, по конвенции read-only для приложений |
/var | данные которые меняются на работающей системе: логи, очереди, БД, кеши |
/var/log | логи сервисов |
/var/lib/<pkg> | persistent state приложения (postgres data, docker layers) |
/var/run ➜ /run | runtime-state (PID-файлы, UNIX-сокеты), tmpfs - пропадает на reboot |
/usr | read-only данные дистрибутива: /usr/bin, /usr/lib, /usr/share, /usr/local |
/usr/local | то же что /usr но для локально установленного (минуя пакетный менеджер) |
/home/<user> | пользовательские каталоги |
/root | домашняя root'a (отдельно от /home, чтобы при unmount /home root не залипал) |
/tmp | временные файлы; обычно очищается при reboot, иногда tmpfs |
/proc | виртуальная FS интерфейса к ядру и процессам - /proc/self/, /proc/cpuinfo, /proc/sys/* |
/sys | то же про устройства, шины, cgroups, драйверы (/sys/fs/cgroup, /sys/class/net) |
/dev | устройства: /dev/null, /dev/zero, /dev/sda, /dev/pts/* |
/boot | ядро, initramfs, GRUB |
/opt | опциональные сторонние пакеты которые не следуют FHS (часто vendor-овские) |
/srv | данные сервисов - content для веб-сайта, ftp, и т.п. |
/mnt, /media | mount-points для сменных носителей и разовых mount'ов |
Логика разделения /usr vs /var vs /etc
Разделение не случайное - оно даёт три разные стратегии бэкапов:
/usr- переустановится из репозиториев (бэкапить не обязательно)/etc- небольшое, текстовое, обязательно бэкапить/var- большие изменяющиеся данные, нужен снапшот FS или dump
Системы которые ломают FHS
- NixOS - всё в
/nix/store/<hash>-name/, FHS не используется - Container images - обычно следуют FHS, но «своя» FS внутри контейнера
- macOS - POSIX, но добавляет
/Applications,/System,/Users - Snap/Flatpak - пакеты в своих namespace'ах, видны как обычное FHS изнутри