Иерархия файловой системы Linux

img_0415 Операционная система

,filesystem-hierarchy-standard-6916435

Прежде чем рассматривать архитектуру операционной системы нужно изучить иерархию файловой системы.

Все компоненты операционной системы являются объектами файловой системы. В Linux/Unix системах каждый пользователь имеет неограниченный доступ только к своему домашнему каталогу. Как только создается новый
пользователь, создается директория в /home/Имя пользователя. За пределами этого каталога, этот пользователь не будет иметь полный доступ к файлам, в лучшем случае — право чтения.

Нужно отметить то, что в Linux/Unix системах файловая система имеет только один корень, то есть файловая система расширяется от root (корня).

По умолчанию, для Ubuntu например, предлагается ext4, или ext4fs — четвёртая расширенная файловая система. По большому счету выбор файловой системы не особенно важен если от него не зависят условия бесперебойной работы каких-то специальных, необходимых приложений у которых есть определенные требования именно к той или иной файловой системе. Вне зависимости от структуры и вида файловой системы, ее иерархия стандартизирована: в любой файловой системе — один и тот же набор папок (в любом дистрибутиве). Увидеть этот набор (структуру файловой системы

первого уровня вложенности) мы можем путем ввода следующей команды:

~$ ls /

Так же, структуру файловой системы первого уровня вложенности можно установив утилиту tree:

~$ sudo apt install tree

Эта утилита позволяет в древовидном представлении увидеть файловую структуру. Отобразим файлы и папки первого уровня вложенности от корня с помощью утилиты tree:

~$ tree -L 1 /

Организация файловой системы

Организация файловой системы в Linux/Unix системах представлена единым древом. Каждая папка может быть как каталогом в корневой файловой системе так и точкой монтирования другой файловой системы, которая может быть либо другого типа (из числа поддерживаемых), либо эта файловая система может находиться на другом логическом диске, на другом физическом диске, либо это файловая система смонтирована с удаленного сервера.

Поэтому глядя на файловую структуру первого уровня вложенности, нельзя сказать что папки, которые мы видим, это папки смонтированные откуда-либо или это каталоги, установленные на одном физическом или логическом диске.

Набор этих папок и файлов регламентирован стандартом иерархии файловой системы Linux — FHS (Filesystem Hierarchy Standard). Этот стандарт определяет какие будут каталоги в системе и их назначение.

Каталог boot

Сначала подгружается ядро системы. После этого будет получен доступ к файловой системе пользователю. Ядро подгружает загрузчик GRUB. Этот загрузчик устанавливается на этапе установки операционной системы и позволяет реализовать мультизагрузку любой системы из числа доступных, которые прописаны в файле конфигурации загрузчика, или систему с любым выбранным ядром.
Ядро или ядра, которые загрузчик может подгрузить к выбранному дистрибутиву, находятся в каталоге boot.

~$ ls /boot

В этой папке мы видим папку с загрузчиком GRUB(1) и файлы ядра (2 и 3). Так же мы видим файлы конфигурации ядра (4 и 5), они могут использоваться для ручной сборки ядра из исходников.

Файлы initrd.img-4.4.0-178-generic и initrd.img-4.4.0-21-generic являются  сжатыми образами файловой системы системного раздела.

Так как сначала загружается ядро системы, а только потом файловая система, то получается, что загружать ядро не откуда. Поэтому ядро системы загружается из образа. Итак: сначала загружается загрузчик GRUB, загрузчик распаковывает образ файловой системы с минимальной функциональностью которая необходима для загрузки ядра в оперативную память. На следующем шаге загружается ядро в подготовленную среду, в образ файловой системы, а после этого, на этот образ монтируется фактическая  файловая система.

Каталоги bin/sbin

Содержат обязательное программное обеспечение в виде исполняемых бинарных файлов, являющихся частью операционной системы.

Каталоги lib/lib64

Чтобы не писать многократно один и тот же код в разных приложениях, этот код выносится в отдельно подключающиеся библиотеки. Эти файлы попадают либо в папку lib, либо lib64 в зависимости от разрядности.

Каталог etc

Сюда попадают все файлы конфигурации. При настройке «по умолчанию» , в папке etc создается папка с названием программы, и в нее уже попадает файл конфигурации этой программы.

Каталог home

Обычно каталог home — это папка, которая размещена на системном разделе, но она так же является точкой монтирования. Обычно туда монтируется отдельный диск с отдельной файловой системой для распределения учетных записей пользователей.

Каталог lost+found

Если происходят какие-нибудь сбои на уровне файловой системы, теряются связи в какой папке был тот или иной файл или подпапка и равно как любой другой объект файловой системы, то все они будут находиться в этой папке. Отсюда будет возможно последующее восстановление файловой системы.

Каталог media

Этот каталог-точка монтирования среды CD-DVD дисков и/или иных перемещаемых носителей.

Каталог mnt

Устаревшее назначение каталога этого заключалось в монтировании на него дисководов. Теперь этот каталог используется в основном для временного монтирования разных разделов и файловых систем.

Каталог opt

Каталог для загрузки программных продуктов.

Каталог usr

Содержит приложения и сопутствующие файлы, обслуживающие пользователя.

Каталог var

В этом каталоге содержатся изменяемые данные, то есть те данные, которые изменяются динамически пользователями по мере необходимости. Каталог var может являться либо локальным каталогом (по умолчанию), либо точкой монтирования. Обычно, там хранятся те данные, которые обрабатываются многопользовательскими приложениями (базы данных или веб-сайты, например).

Каталоги tmp, run, sys, proc

Каталог tmp. Существует еще ряд файловых систем, которые не являются физическими  файловыми системами, а являются псевдофайловыми системами. Псевдофайловая система представляет из себя область оперативной памяти и все данные хранятся именно там. Соответственно максимальное время хранения этих данных — до первой перезагрузки операционной системы, или до автоматической очистки.

В каталоге run хранятся запущенные процессы, в каталоге sys — системные компоненты.

Каталог proc. Все настройки, осуществленные пользователем «на лету», хранятся в этом каталоге.

Оцените автора
( Пока оценок нет )
Инфо бизнес