Корневая файловая система linux это

Файловая система Linux

Операционные системы хранят данные на диске при помощи файловых систем. Классическая файловая система представляет данные в виде вложенных друг в друга каталогов (их ещё называют папками), в которых содержатся файлы 1 . Один из каталогов является «вершиной» файловой системы (а выражаясь технически — «корнем» 2 ), в нём содержатся (или из него растут) все остальные каталоги и файлы.

Если жёсткий диск разбит на разделы, то на каждом разделе организуется отдельная файловая система с собственным корнем и структурой каталогов (ведь разделы полностью изолированы друг от друга).

В Linux корневой каталог называется весьма лаконично — « / ». Полные имена (пути) всех остальных каталогов получаются из « / », к которому дописываются справа имена последовательно вложенных друг в друга каталогов. Имена каталогов в пути также разделяются символом « / » («слэш»). Например, запись /home обозначает каталог « home » в корневом каталоге (« / »), а /home/user — каталог « user » в каталоге « home » (который, в свою очередь, в корневом каталоге) 3 . Аналогичным образом составляются полные имена файлов.

Монтирование

Корневой каталог в Linux всегда только один, а все остальные каталоги в него вложены, т. е. для пользователя файловая система представляет собой единое целое 4 . В действительности, разные части файловой системы могут находиться на совершенно разных устройствах: разных разделах жёсткого диска, на разнообразных съёмных носителях (лазерных дисках, дискетах, флэш-картах), даже на других компьютерах (с доступом через сеть). Для того, чтобы соорудить из этого хозяйства единое дерево с одним корнем, используется процедура монтирования.

Монтирование — это подключение в один из каталогов целой файловой системы, которая находится где-то на другом устройстве. Эту операцию можно представить как «прививание» ветки к дереву. Для монтирования необходим пустой каталог — он называется точкой монтирования. Точкой монтирования может служить любой каталог, никаких ограничений на этот счёт в Linux нет. При помощи специальной команды ( mount ) мы объявляем, что в данном каталоге (пока пустом) нужно отображать содержимое такого-то устройства. После этой операции в каталоге (точке монтирования) появятся все те файлы и каталоги, которые находятся на соответствующем устройстве. В результате пользователь может даже и не знать, на каком устройстве какие файлы располагаются.

Подключённую таким образом («смонтированную») файловую систему можно в любой момент отключить — размонтировать (для этого имеется специальная команда umount ), после чего тот каталог, куда она была смонтирована, снова окажется пустым.

Одно из устройств для Linux является самым важным — это корневая файловая система (root filesystem). Именно к ней затем будут подключаться (монтироваться) все остальные файловые системы на других устройствах. Обратите внимание, что корневая файловая система тоже монтируется, но только не к другой файловой системе, а к «самой Linux», причём точкой монтирования служит « / » (корневой каталог). Поэтому при загрузке системы прежде всего монтируется корневая файловая система, а при останове она размонтируется (в последнюю очередь).

Пользователю обычно не требуется выполнять монтирование и размонтирование вручную: при загрузке системы будут смонтированы все устройства, на которых хранятся части файловой системы, а при останове (перед выключением) системы все они будут размонтированы. Файловые системы на съёмных носителях (лазерных дисках, дискетах и пр.) также монтируются и размонтируются автоматически — либо при подключении носителя, либо при обращении к соответствующему каталогу.

Стандартные каталоги

В корневом каталоге Linux-системы обычно находятся только подкаталоги со стандартными именами. Более того, не только имена, но и тип данных, которые могут попасть в тот или иной каталог, также регламентированы стандартом 5 . Этот стандарт довольно последовательно соблюдается во всех Linux-системах: так, в любой Linux вы всегда найдёте каталоги /etc , /home , /usr/bin и т. п. и сможете довольно точно предсказать, что именно в них находится.

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

1Файл — область данных, имеющая собственное имя.

2Такой каталог называют корневым каталогом, поскольку он служит корнем дерева файловой системе (в математическом смысле слов «дерево» и «корень»).

3Весьма похожий способ записи полного пути используется в системах DOS и Windows, с той разницей, что корневой каталог обозначается литерой устройства с последующим двоеточием, а в качестве разделителя используется символ « \ » («обратный слэш»).

Читайте также:  Huawei cloud pc windows 10

4Это отличается от технологии, применяемой в Windows или Amiga, где для каждого устройства, на котором есть файловая система, используется свой корневой каталог, обозначенный литерой, например « a », « c », « d » и т. д.

Источник

Корневая файловая система linux это

В Linux и Unix все — файл. Директории, устройства, сами файлы — все это ФАЙЛЫ. Устройства определяются узлами (Minor node и Major node), но при этом они остаются файлами.

Файловые системы Linux и Unix организованы в виде древовидной иерархической структуры. Самый верхний уровень файловой системы это / или корневой каталог. Все остальные файлы и каталоги находятся в корневом каталоге. Например, /home/jebediah/cheeses.odt показывает правильный полный путь к файлу cheeses.odt , который находится в каталоге jebediah , который находится в каталоге home , который, в свою очередь, находится в корневом каталоге.

В корневом каталоге находится набор важных каталогов, общих для большинства систем Linux. Вот список основных каталогов, которые находятся непосредственно в корневом ( / ) каталоге:

/bin — важные бинарные (исполняемые) приложения

/boot — загрузочные конфигурационные файлы, ядра и другие файлы, необходимые во время загрузки операционной системы

/dev — файлы устройств

/etc — конфигурационные файлы, стартовые сценарии

/home — домашние каталоги пользователей

/initrd — используется при создании частного initrd процесса загрузки

/lib — системные библиотеки

/lost+found — предоставляет систему потерян+найден для файлов в корневом ( / ) каталоге

/mnt — файловые системы на вашем жестком диске, примонтированные вручную

/opt — каталог для установки дополнительных приложений

/proc — специальный динамический каталог, содержащий информацию о состоянии системы, включая процессы , исполняемые в данный момент

/root — домашний каталог пользователя root , произносится «слэш-рут»

/sbin — важные с истемные бин арные приложения

/srv — может содержать файлы веб-сервера, ftp-сервера и др.

/sys — системные файлы

/tmp — временные файлы

/usr — приложения и файлы, наиболее доступные всем пользователям

/var — изменяемые файлы, такие как логи и базы данных

Источник

Структура файловой системы Linux

Файловая система в ОС Linux, как и в ОС Windows, представляет собой иерархическую структуру каталогов и файлов (в виде дерева), но при этом имеет ряд кардинальных отличий.

Структура каталогов

В ОС Windows жесткие диски называются латинскими буквами (С:, D:, . ), и каждый из дисков представляет собой корневой каталог с собственным деревом папок. Подключение же нового устройства приведет к появлению нового корневого каталога со своей буквой (например, F:). В ОС Linux файловая система представлена единым корневым каталогом, обозначаемым как слэш (/). Соответственно, при данной файловой структуре не диски содержат каталоги, а каталог — диски.

Подключение внешних носителей

В ОС Linux имеется процедура монтирования: когда подключается съемный носитель или диск, файл устройства будет виден в каталоге /dev (devices). Чтобы увидеть содержимое этого устройства, его нужно смонтировать в отдельную директорию /mnt. Также файловая система позволяет примонтировать его и в любое другое место, например /home.

Понятие файла

Понятие «файл» в Linux имеет несколько другое значение, нежели в Windows. «Файлом» можно назвать обычный файл, содержащий данные, и интерпретируемый программой. Директория также является «файлом», содержащим в себе ссылки на другие директории или файлы с данными. Файлы устройства указывает на драйвер, благодаря которому система взаимодействует с физическими устройствами. Имеются и многие другие типы файлов.

Принцип установки программ

Если в Windows программы, зачастую, хранят все данные в одной папке, например в «C:Program FilesProgramName», то в Linux файлы программы разделяются по каталогам в зависимости от типа. Например, исполняемые файлы в /bin, библиотеки в /lib, файлы конфигураций в /etc, логи и кэш в /var.

Регистр имен

Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы Temp.txt и temp.txt будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.

Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:

Стандарт иерархии файловой системы

  • / — root каталог. Содержит в себе всю иерархию системы;
  • /bin — здесь находятся двоичные исполняемые файлы. Основные общие команды, хранящиеся отдельно от других программ в системе (прим.: pwd, ls, cat, ps);
  • /boot — тут расположены файлы, используемые для загрузки системы (образ initrd, ядро vmlinuz);
  • /dev — в данной директории располагаются файлы устройств (драйверов). С помощью этих файлов можно взаимодействовать с устройствами. К примеру, если это жесткий диск, можно подключить его к файловой системе. В файл принтера же можно написать напрямую и отправить задание на печать;
  • /etc — в этой директории находятся файлы конфигураций программ. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов;
  • /home — каталог, аналогичный каталогу Users в Windows. Содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя;
  • /lib — содержит системные библиотеки, с которыми работают программы и модули ядра;
  • /lost+found — содержит файлы, восстановленные после сбоя работы системы. Система проведет проверку после сбоя и найденные файлы можно будет посмотреть в данном каталоге;
  • /media — точка монтирования внешних носителей. Например, когда вы вставляете диск в дисковод, он будет автоматически смонтирован в директорию /media/cdrom;
  • /mnt — точка временного монтирования. Файловые системы подключаемых устройств обычно монтируются в этот каталог для временного использования;
  • /opt — тут расположены дополнительные (необязательные) приложения. Такие программы обычно не подчиняются принятой иерархии и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации);
  • /proc — содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС;
  • /root — директория, которая содержит файлы и личные настройки суперпользователя;
  • /run — содержит файлы состояния приложений. Например, PID-файлы или UNIX-сокеты;
  • /sbin — аналогично /bin содержит бинарные файлы. Утилиты нужны для настройки и администрирования системы суперпользователем;
  • /srv — содержит файлы сервисов, предоставляемых сервером (прим. FTP или Apache HTTP);
  • /sys — содержит данные непосредственно о системе. Тут можно узнать информацию о ядре, драйверах и устройствах;
  • /tmp — содержит временные файлы. Данные файлы доступны всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке;
  • /usr — содержит пользовательские приложения и утилиты второго уровня, используемые пользователями, а не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой;
  • /var — содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи будут храниться в /var/log, кэш в /var/cache, очереди заданий в /var/spool/ и так далее.
Читайте также:  Майкрософт windows 10 корпоративная 2016 с долгосрочным обслуживанием 64 bit

Источник

Файловая система Linux

В этой статье мы поговорим про файловую систему Linux. Но здесь вы не найдете описания тонкостей работы с определенной файловой системой, например, ext4, а также не найдете команд для работы с какой-либо ФС. Мы остановимся на более общих понятиях и попытаемся разобраться что такое файловая система, и как она работает в целом.

Каждый компьютер сохраняет данные и результаты на жестком диске, твердотельном накопителе SSD или любом другом носителе информации, это неизбежно. Для этого есть несколько причин. Во-первых, содержимое RAM очищается при каждой перезагрузке компьютера. Конечно, есть быстрые энергонезависимые устройства хранения, такие как флеш память, но они стоят намного дороже, чем стандартные модули DDR3.

Вторая причина хранить данные на диске, это то, что оперативная память намного дороже чем более медленные, но вместительные жесткие диски. Фактически 16 Гб оперативной памяти будет стоить столько же, сколько жесткий диск на 2 Тб. Таким образом, мы видим, что оперативная память в 71 раза дороже чем HDD.

Что такое файловая система?

Люди могут подразумевать под файловой системой совсем разные понятия. Само словосочетание может иметь несколько значений и вам придется понимать о чем идет речь из контекста документа.

Давайте рассмотрим наиболее часто используемые значения слов файловая система. Мы не будем останавливаться на официальной трактовке, а попытаемся обратить внимание на сферу применения:

  • Все структура каталогов Linux, начиная с корня (/);
  • Конкретный формат раздела хранения данных, например, Ext3, Ext4, Btrfs, XFS и так далее. Ядро Linux поддерживает более 100 типов файловых систем, в том числе очень старых и новых. Каждый тип файловой системы использует свои структуры метаданных чтобы организовать работу с данными на диске;
  • Раздел или логический том, отформатированный в определенный тип файловой системы, который можно примонтировать к определенной точке монтирования.

Дальше рассмотрим как выполнена организация файловой системы Linux и ее основные функции.

Основные функции файловой системы

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

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

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

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

Читайте также:  Ошибка 256 при установке windows

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

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

Дальше, нам нужно программное обеспечение, которое будет выполнять все эти функции. Организация файловой системы linux состоит из двух частей:

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

Структура каталогов

Намного проще найти файлы, если они хранятся небольшими группами, каждый на своем месте, а не все в одной куче. Структуру файловой системы Linux можно представить в виде простой иерархии. Все каталоги находятся в корневом каталоге (/) поэтому каждый адрес файла начинается с него. Например, /var/log/dmesg, /usr/share/, /bin.

Корневая файловая система Linux — это ФС верхнего уровня, она должна содержать все файлы, необходимые для загрузки Linux еще до того как другие файловые системы будут смонтированы. Здесь уже должны быть все исполняемые файлы и библиотеки, нужные для подключения других ФС. Во время загрузки другие файловые системы монтируются в четко определенные для них каталоги. Более детально предназначение каждого каталога Linux мы рассматривали в статье структура файловой системы Linux.

Каталоги /bin, /dev, /etc, /lib, /root, /sbin не могут быть примонтированы и должны быть доступны еще до загрузки, так как в них находятся все необходимые файлы. Что касается каталогов /media и /mnt, то они должны быть пустыми, поскольку это точки монтирования для других файловых систем. Остальные каталоги можно смело монтировать позже, они никак не повлияют на запуск.

В некоторых не Unix операционных системах разделам присваиваются отдельные буквы, например, C: или D:. В них каждый раздел будет иметь отдельную файловую систему. Чтобы найти нужный файл на диске C: вам необходимо сначала выполнить команду C:, а затем искать путь к файлу.

В Linux все физические диски и разделы, объеденные в одну файловую структуру. Она начинается с корня (/) в котором расположены все другие каталоги. Это работает потому что файловые системы /var, /home, /boot, /tmp и т д могут находиться на других физических дисках. Даже съемные диски подключаются в основную файловую систему.

И это очень хорошо, потому что при обновлении версии дистрибутива можно сохранить абсолютно все файлы и настройки в домашнем каталоге. Иногда полезно переформатировать корневой раздел чтобы убрать оттуда весь мусор, если /home находится на отдельном разделе, то вы ничего не потеряете. Есть и другие причины так поступать, например, защита корневой ФС от переполнения, что привело бы к неработоспособности системы.

Типы файловых систем

Как уже было сказано, Linux поддерживает более 10 различных файловых систем, но создавать и выполнять запись, возможно, только в некоторые из них. Зато можно подключить их все к корневой файловой системе. Под типом мы подразумеваем совокупность структур и метаданных, необходимых для хранения файлов.

Linux может монтировать и читать такие файловые системы:

Основная причина почему они поддерживаются — это попытка организовать максимальную совместимость с другими операционными системами. А вот основные файловые системы linux, которые можно создавать:

Мы более подробно рассматривали особенности некоторых из них в статье типы файловых систем Linux.

Монтирование файловых систем

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

Точка монтирования — это обычный каталог, как любая другая часть файловой системы. Например, домашняя папка смонтирована в каталог /home. И так далее.

Корневая файловая система ос Linux / подключается на раннем этапе загрузки. Другие файловые системы монтируются системой инициализации, например, SysVinit или Systemd. Точки монтирования настраиваются с помощью файла /etc/fstab. Также можно выполнять ручное монтирование в Linux с помощью команды mount. Каталог для монтирования необязательно должен быть пустым, он может содержать файлы, но тогда они будут просто скрыты.

Выводы

Эта статья была ориентирована на новичков и я надеюсь, что некоторые вопросы, касаемо термина файловая система linux были сняты. Теперь вы можете оценить элегантность, сложность и функциональность файловой системы Linux. Если у вас есть вопросы, спрашивайте в комментариях!

Источник

Оцените статью