Linux для начинающих. Часть 1. Особенности файловой системы

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

Предисловие или почему сегодня стоит обратить внимание на Linux

Здравствуйте уважаемые читатели блога Совсем немного времени осталось до окончания поддержки Windows XP в апреле 2014 года.

Думаю, что незадолго до этого события имеет смысл на всякий случай запастись оффлайновым набором обновлений для XP, например, с помощью утилиты «WSUS Offline Update», описанной в предыдущей статье.

Что произойдет непосредственно после года? Да, собственно, в первый момент ничего. Те, кто по той или иной причине до сих пор не сумели отказаться от Windows XP, будут продолжать пользоваться этой операционной системы неопределенное время. По некоторым оценкам после окончания поддержки под ХР останутся около 15% мировых компьютеров.

Хорошо это или плохо? Однозначно плохо. Вновь обнаруженные уязвимости ОС устраняться больше не будут и злоумышленники наверняка постараются воспользоваться этой ситуацией.

Положение будет несколько смягчаться за счет ПО антивирусной защиты. Microsoft обещает продолжить поддержку Essential Security для XP. Можно предположить, что и антивирусные средства других разработчиков также не перестанут работать. Но антивирусное ПО и уязвимости операционной системы это все же далеко не одно и тоже.

Как-то мы уже обращались к теме Zero-day в связи с программами Adobe. Правда, в отношении Windows XP называть уязвимости Zero-day будет уже неправильно. «Нулевой день» — это когда об уязвимости никто, кроме обнаруживших  и эксплуатирующих ее злоумышленников не знает. А здесь знать будут, как бы, все, а вот устраняться она уже не будет.

Таким образом с каждым днем после окончания поддержки работа в Windows XP будет все более и более небезопасной. Наверное стоит все же попытаться найти ей замену. В этой связи мы и поговорим сегодня о Linux. Самое время.

Читайте также:  Когда выйдет MIUI 13 и какие смартфоны получат обновление

Альтернативой Windows XP я бы Linux не назвал – это все же совершенно другая операционная система, которая с большим или меньшим успехом позволит выполнять те или иные задачи. Просто далеко не на все компьютеры, на которых работает Windows XP, можно установить новые версии операционных систем Microsoft, а вот Linux, как правило, можно.

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

Начнем с файловой системы.

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

Можно видеть, ФС это некий универсальный «узел», через который программы хотя, правильнее сказать, клиенты, обращаются к нужным им серверам и драйверам. Такое взаимодействие обеспечивается несколькими компонентами, составляющими саму ФС:

  1.  API – набор программ, организованных в виде библиотеки (или нескольких систематизированных библиотек), обеспечивающих системные вызовы для управления объектами системы и доступный для использования программистам.
  2. Пространство имён — спецификация организации единой системы наименований и иерархии объектов.
  3. Безопасность — схема организации защиты объектов системы и их общего доступа (права доступа).
  4. Реализация — набор прикладных программ, обеспечивающих связку логических моделей с дисковой подсистемой.

Современные ядра оснащены абстрактным интерфейсом, поддерживающим работу с различными ФС. Для Linux самыми распространёнными являются Ext3, Ext4. Эти ФС журналируемые и поэтому для многих дистрибутивов являются основными.

Послесловие.

Как-то так. Как и всегда ждем от Вас комментариев, дополнений и всего такого прочего.

На этом мы закончим нашу очередную лекцию :). Будут и следующие, надеюсь, что интересные и захватывающие. Если есть, что дополнить (добавить), милости прошу, добавляйте в своих комментариях.

P.S. За существование данной статьи спасибо члену команды Pantera

Любая операционная система поддерживает несколько файловых систем, например, Windows поддерживает такие известные всем файловые системы, как FAT, FAT32, NTFS и др. Linux не исключение.

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

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

Читайте также:  Как проверить наличие открытых портов в Linux

От выбора файловой системы зависят:

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

Тип ФС также определяет, будут ли данные храниться в оперативной памяти (ОП) и как именно пользователь сможет изменить конфигурацию ядра.

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

ФС Linux — пространство раздела, поделенное на блоки определенного размера. Он определяется кратностью размеру сектора. Соответственно, это могут быть 1024, 2048, 4096 или 8120 байт. Важно помнить, что размер каждого блока известен изначально, ограничен максимальным размером ФС и зависит от требований, которые выдвигает пользователь к каждому из блоков.

Для обмена данными существует сразу два способа. Первый из них — виртуальная файловая система (VFS). С помощью данного типа ФС происходит совместная работа ядра и приложений, установленных в системе. VFS позволяет пользователю работать, не учитывая особенности каждой конкретной ФС. Второй способ — драйверы файловых систем. Именно они отвечают за связь между «железом» и софтом.

Список файловых систем, которые поддерживаются ядром, находится в файле /proc/filesystems:

[email protected]:~$ cat /proc/filesystems nodev sysfs nodev rootfs nodev ramfs nodev bdev nodev proc nodev cpuset nodev cgroup nodev cgroup2 nodev tmpfs nodev devtmpfs nodev debugfs nodev tracefs nodev securityfs nodev sockfs nodev bpf nodev pipefs nodev hugetlbfs nodev devpts ext3 ext2 ext4 squashfs vfat nodev ecryptfs fuseblk nodev fuse nodev fusectl nodev pstore nodev mqueue nodev autofs

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

Из-за этому после сбоя электропитания файловая система постоянно автоматически возвращается в рабочее состояние. Существует достаточно много разных файловых систем, которые выделяются друг от друга внутренним устройством, однако user везде найдёт привычную структуру из вложенных каталогов и файлов. Есть несколько типов файловых систем, которые в целой мере поддерживают все возможности, необходимые для полноценной службы Linux (все необходимые типы и атрибуты файлов, в том количестве права доступа). Журналируемая файловая система водит постоянный учёт всех операций записи на диск. Файловые системы отличаются скоростью доступа, надёжностью хранения данных, ступенью устойчивости при сбоях, некоторыми дополнительными возможностями. Нынешние операционные системы поддерживают по несколько типов файловых систем (кроме файловых систем, используемых для хранения данных на твердом диске, также файловые системы CD и DVD и пр.). Впрочем для каждой операционной системы обычно есть одна «классическая» файловая система, которая предлагается по умолчанию, представляется универсальной и подходит абсолютному большинству пользователей. Любой дистрибутив Linux позволяет использовать одну из данных файловых систем, каждая из них имеет свои превосходства и недостатки: Важное свойство файловых систем — помощь журналирования.

  • Ext2;
  • Ext3;
  • Ext4;
  • JFS;
  • ReiserFS;
  • XFS;
  • Btrfs;
  • ZFS;

Использование файла fstab

Файл /etc/fstab — это файл статической информации о файловой системе (такой, как точка монтирования, тип файловой системы, параметры монтирования и т. д.):

cat /etc/fstab

Использование файла fstab

Всё готово! В этом руководстве мы объяснили восемь способов определить тип файловой системы Linux. Вы знаете какой-либо метод, не упомянутый здесь? Поделитесь с нами в комментариях.

Связанные статьи:

  • Как в Linux подключить новый диск, разметить и отформатировать разделы (62.7%)
  • Команда findmnt для просмотра смонтированных файловых систем в Linux (61.9%)
  • Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть (61.5%)
  • Как добавлять записи в /etc/fstab. Как использовать /etc/fstab для хранения опций монтирования (58.4%)
  • Как использовать команду fsck для исправления ошибок файловой системы в Linux (58.3%)
  • Как найти дубликаты файлов на Linux с помощью dupeGuru (RANDOM — 50%)

/usr — программы пользователя

Этот каталог является самым большим и имеет много функций. Вкратце рассмотрим его структуру: /usr/bin/ — исполняемые файлы (графические редакторы, браузеры, плееры — не используются при загрузке системы); /usr/sbin/ — бинарные файлы программ, предназначенных для системного администрирования (выполняются с правами суперпользователя); /usr/lib/ — библиотеки для программ из /usr/sbin либо /usr/bin; /usr/local — файлы пользователя (программы, библиотеки и настройки, созданные пользователем).