Особенности файловых систем linux

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

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

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

Жесткий диск и разделы

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

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

Дальше больше. Чтобы на каждом разделе можно было работать с файлами и каталогами, необходима файловая система. Мы могли бы писать просто содержимое файлов на диск, но нужно еще где-то хранить данные о папках, имена файлов, их размер, адрес на жестком диске, атрибуты доступа. Всем этим занимается файловая система.

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

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

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

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

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

  • Ext2, Ext3, Ext4 или Extended Filesystem — это стандартная файловая система для Linux. Она была разработана еще для Minix. Она самая стабильная из всех существующих, кодовая база изменяется очень редко и эта файловая система содержит больше всего функций. Версия ext2 была разработана уже именно для Linux и получила много улучшений. В 2001 году вышла ext3, которая добавила еще больше стабильности благодаря использованию журналирования. В 2006 была выпущена версия ext4, которая используется во всех дистрибутивах Linux до сегодняшнего дня. В ней было внесено много улучшений, в том числе увеличен максимальный размер раздела до одного экзабайта.
  • JFS или Journaled File System была разработана в IBM для AIX UNIX и использовалась в качестве альтернативы для файловых систем ext. Сейчас она используется там, где необходима высокая стабильность и минимальное потребление ресурсов. При разработке файловой системы ставилась цель создать максимально эффективную файловую систему для многопроцессорных компьютеров. Также как и ext, это журналируемая файловая система, но в журнале хранятся только метаданные, что может привести к использованию старых версий файлов после сбоев.
  • ReiserFS — была разработана намного позже, в качестве альтернативы ext3 с улучшенной производительностью и расширенными возможностями. Она была разработана под руководством Ганса Райзера и поддерживает только Linux. Из особенностей можно отметить динамический размер блока, что позволяет упаковывать несколько небольших файлов в один блок, что предотвращает фрагментацию и улучшает работу с небольшими файлами. Еще одно преимущество — в возможности изменять размеры разделов на лету. Но минус в некоторой нестабильности и риске потери данных при отключении энергии. Раньше ReiserFS применялась по умолчанию в SUSE Linux, но сейчас разработчики перешли на Btrfs.
  • XFS — это высокопроизводительная файловая система, разработанная в Silicon Graphics для собственной операционной системы еще в 2001 году. Она изначально была рассчитана на файлы большого размера, и поддерживала диски до 2 Терабайт. Из преимуществ файловой системы можно отметить высокую скорость работы с большими файлами, отложенное выделение места, увеличение разделов на лету и незначительный размер служебной информации.
  • XFS — журналируемая файловая система, однако в отличие от ext, в журнал записываются только изменения метаданных. Она используется по умолчанию в дистрибутивах на основе Red Hat. Из недостатков — это невозможность уменьшения размера, сложность восстановления данных и риск потери файлов при записи, если будет неожиданное отключение питания, поскольку большинство данных находится в памяти.
  • Btrfs или B-Tree File System — это совершенно новая файловая система, которая сосредоточена на отказоустойчивости, легкости администрирования и восстановления данных. Файловая система объединяет в себе очень много новых интересных возможностей, таких как размещение на нескольких разделах, поддержка подтомов, изменение размера не лету, создание мгновенных снимков, а также высокая производительность. Но многими пользователями файловая система Btrfs считается нестабильной. Тем не менее, она уже используется как файловая система по умолчанию в OpenSUSE и SUSE Linux.
Читайте также:  Iptv player linux mint

Другие файловые системы, такие как NTFS, FAT, HFS могут использоваться в Linux, но корневая файловая система linux на них не устанавливается, поскольку они для этого не предназначены.

Специальные файловые системы

Ядро Linux использует специальные файловые системы, чтобы предоставить доступ пользователю и программам к своим настройкам и информации. Наиболее часто вы будете сталкиваться с такими вариантами:

  • tmpfs позволяет размещать любые пользовательские файлы в оперативной памяти компьютера. Достаточно создать блочное устройство нужного размера, затем подключить его к папке, и вы можете писать файлы в оперативную память.
  • procfs — по умолчанию смонтирована в папку proc и содержит всю информацию о запущенных в системе процессах, а также самом ядре.
  • sysfs — с помощью этой файловой системы вы можете задавать различные настройки ядра во время выполнения.

Виртуальные файловые системы

Не все файловые системы нужны в ядре. Существуют некоторые решения, которые можно реализовать и в пространстве пользователя. Разработчики ядра создали модуль FUSE ( filesystem in userspace), который позволяет создавать файловые системы в пространстве пользователя. К виртуальным файловым системам можно отнести ФС для шифрования и сетевые файловые системы.

  • EncFS — файловая система, которая шифрует все файлы и сохраняет их в зашифрованном виде в нужную директорию. Получить доступ к расшифрованным данным можно только примонтировав файловую систему.
  • Aufs (AnotherUnionFS) — позволяет объединять несколько файловых систем (папок) в одну общую.
  • NFS (Network Filesystem) — позволяет примонтировать файловую систему удаленного компьютера по сети.

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

Выводы

В этой статье мы рассмотрели типы файловых систем Linux. Как видите, здесь все намного запутаннее чем в Windows. Но на самом деле все просто. Если вам нужна максимально стабильная файловая система linux — то лучшим решением будет ext4, хотите новых технологий — btrfs, для маленьких файлов — raiser4, для больших — XFS. А какие файловые системы linux предпочитаете вы? Напишите в комментариях!

Читайте также:  Переключить линукс на русский

На завершение видео о том, что такое файловая система и ее структура в linux:

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Урок #22. Особенности файловой системы Linux

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

Итак, так же как и в Windows файловая система Линукс имеет древовидную структуру. Самый верхний каталог называется корневым и в этом тоже нет различия с Windows.

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

Принципиальное отличие Linux от Windows состоит в том, что в Линукс файлами считается ВСЕ!

Жесткие диски и разделы, созданные на них, приводы оптических дисков и съемные носители информации — все это считается также файлами.

Папки или каталоги — это тоже файлы, которые содержат список файлов, как бы за ним закрепленных…

В итоге все эти файлы объединены в одну структуру, о которой сейчас и пойдет речь.

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

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

Еще одним кардинальным отличием Линукса от Windows является отсутствие логических дисков. Точнее сказать, сами диски быть могут, но они не обозначаются отдельными буквами.

Так в Windows вы могли разбить жесткий диск компьютера на два логических диска С и D. У каждого логического диска был свой корневой каталог (папка), который обозначался C:\ и D:\ соответственно.

Читайте также:  Linux split text files

Обозначение логических дисков в Windows

В Линукс есть только ОДИН корневой каталог и он обозначается косой чертой «/». В остальном обозначение пути к файлу или папке аналогично, только для обозначения уровней древовидной структуры, также используется косая черта или как еще говорят на компьютерном жаргоне — слэш.

Приведу пример. В Windows 7 или 8 папка профиля пользователя Andrey находится по адресу C:\Users\Andrey. В Линукс путь записывается иначе — /home/andrey

Запись пути к файлам и каталогам в Линукс

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

Итак, в Windows мы привыкли что все носители информации представлены в виде дисков — есть логические диски, на которые разбит жесткий диск, есть привод оптических дисков и, например, флешка или съемный жесткий диск. Все они имеют буквенное обозначение. Как мы теперь знаем, в Линукс такое обозначение отсутствует и все носители информации, будь то жесткий диск компьютера или USB-флешка, должны быть подключены в файловую систему Линукс в виде файлов, для того чтобы с ними можно было работать.

Процесс подключения носителя информации к файловой системе называется монтированием (mount) и он в Линукс автоматизирован, то есть не требует вашего вмешательства.

Например, если вы подключаете к компьютеру флешку, то во-первых, после монтирования ее значок появится на рабочем столе, а во-вторых, она будет «вмонтирована» в файловую систему и ее содержимое можно будет найти в каталоге /media/usb_disk. Но это вовсе не означает, что при подключении флешки ее содержимое перемещается системой в эту папку на жестком диске. Содержимое лишь отображается здесь, на самом деле находясь на съемном устройстве…

Смонтированный диск в Линукс

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

То есть по сути монтирование — это процесс подключения носителя информации к файловой системе Линукс в виде отдельного каталога. При этом сам вновь созданный каталог называют точкой монтирования.

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

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

  • В Linux файловая структура связана в одно логическое дерево и путь любого файла или каталога начинается от корня файловой системы, который обозначается знаком косой черты «/».
  • Корень или корневой каталог может быть только один и это самый первый, а точнее даже нулевой уровень, от которого и ветвятся структуры вложенных папок.
  • Корень — это не просто первая папка на жестком диске, как это реализовано в Windows. По сути корень является основой всего в файловой системе, которая в свою очередь является структурой, объединяющей в виде файлов все устройства компьютера и собственно файлы пользователей.
  • Папки или каталоги являются также файлами, содержащими список связанных с ним файлов.

Источник

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