Структура файловых систем в Linux следует определенным правилам, которые пытались рационализировать с помощью стандарта Filesystem Hierarchy Standart ( Почитать про него можно здесь). Правда некоторые системные администраторы, видя свою логику устройства ФС, пытаются "улучшить" структуру, принятую по умолчанию. Но, так как файловое дерево имеет большое количество скрытых зависимостей, то такие попытки изменений приносят еще больше проблем. Поэтому лучше не делать таких преобразований, чтобы не было мучительно больно за потраченное время ( да и люди, которые придут после вас, будут вас долго вспоминать "добрым словом" 😊). Просто предоставьте системе самой решать, где и какие пакеты разместить..
Основой всей файловой системы является корневой каталог, обозначаемый обычно / . Частью корневой системы является каталог /etc в нем находятся системные файлы и файлы конфигурации, каталог /bin - для важных утилит и /tmp - для временных файлов.
Большое значение имеют также каталоги /usr и /var. В /usr хранится большинство стандартных программ и другие полезные компоненты. В /var - логи и конфигурационные файлы. Раньше диски разбивали на партиции и монтировали к ним различные каталоги отдельно, чтобы одна часть такого дерева не забила доступное корневое пространство полностью, парализовав работу системы, сейчас используют lvm(об этом поговорим чуть позже).
В целом стандарт диктует следующее именование каталогов в системе.
/bin - Команды операционной системы ядра. Этот каталог должен быть доступен всегда. Изменять файлы в этом каталоге может только суперпользователь.
/boot - Ядро, а также файлы необходимые для успешной его загрузки.
/dev - каталог с файлами устройств. Принтеры, диски и т.д., можно найти здесь.
/etc - Здесь хранятся важный конфигурационные файлы, затрагивающие всех пользователей в системе.
/home - стандартные домашние каталоги пользователей. Здесь хранятся конфиги для пользователей, а так же личные файлы пользователей.
/lib - содержит разделяемые библиотеки, в некоторых системах этот каталог переехал в /var/lib, а в корне осталась только символическая ссылка на него.
/media - сюда монтируют съемные носители.
/mnt - в этот каталог монтируют временные точки монтирования.
/opt - сюда устанавливаются некоторые приложения.
/proc - здесь живут файлы процессов.
/root - Это дом суперпользователя, аналог /home, который используется для обычных пользователей.
/run - каталог, содержащий PID файлы процессов, сокеты и т.д., размещен в виртуальной памяти, поэтому информация при перезагрузке системы в нем не сохраняется.
/sbin - команды, необходимые для минимальной работоспособности системы. В данный момент каталог переехал в /var/sbin и команды по исполнению не отличаются от /bin
/srv - поля зарезервированные для распределения через веб и другие серверы.
/sys - интерфейсы разных ядер.
/tmp - Временные файлы, которые обычно удаляются при перезагрузке, либо через определенные периоды.
/usr - это самый большой по количеству подкаталогов раздел в системе. Здесь находится большинство исполняемых команд /usr/bin/. И вспомогательные файлы и библиотеки в /usr/lib. И документация в /usr/share/man и т. д.
/var - системные данные, а также конфигурационные файлы.
/var/adm - журнальные файлы, записи об инсталяции системы, административные компаненты.
/var/log - Системные журнальные файлы (т.н. логи)
/var/tmp и /var/run - тоже, что /tmp и /run, но при перезагрузке файлы из этих каталогов не исчезают.
Заключение.
Ну теперь, я думаю, вам будет не сложно потеряться в файловой системе Linux. Здесь я хотел определить базоывые понятия, так сказать фундамент. На самом деле это довольно таки сложная тема и обойтись одной статьей было бы сложно. Далее постараюсь поподробнее остановиться на каждом каталоге, заслуживающего внимания, так что не пропустите -подпишитесь.