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

Так же, как и при установке новой копии Windows, о разбиении винчестера на разделы нужно продумать заранее. Есть несколько вещей, которые вы должны знать о разделах, которые требуются при установке Ubuntu Linux. Установка Ubuntu требует как минимум двух разделов: один для самой операционной системы - обозначается «/» и называется «root» (корневой раздел), а второй для виртуальной памяти (для файлов подкачки) - называется «swap». Есть еще третий раздел - «home», создается по желанию, на нем будут храниться основные настройки приложений и файлы пользователя.

Разделы жесткого диска

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

На других носителях информации выделение разделов или не предусмотрено, или (за редкими исключениями) не практикуется. Однако, существуют флеш-драйвы, память которых можно разбить на два раздела, причём один раздел можно защитить паролем, при этом система «увидит» составное устройство из двух флеш-карт (на самом деле любую флеш карту можно разбить на два и боле разделов, однако драйвер в Windows отображает только первый из них; работа с ними возможна при подмене драйвера или при работе с другими ОС)

Преимущества использования разделов

Выделение на одном жёстком диске нескольких разделов даёт следующие преимущества:

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

Структура диска, разбитого на разделы

  • Информация о размещении разделов на жёстком диске хранится в таблице разделов, которая является частью главной загрузочной записи (MBR). MBR располагается в первом физическом секторе жёсткого диска.
  • Раздел может быть либо первичным, либо расширенным.
  • В первом секторе каждого первичного раздела находится загрузочный сектор, отвечающий за загрузку операционной системы с этого раздела. Информация о том, какой раздел будет использован для загрузки операционной системы, тоже записана в главной загрузочной записи.
  • В MBR под таблицу разделов выделено 64 байта. Каждая запись занимает 16 байт. Таким образом, всего на жестком диске может быть создано не более 4 разделов. Когда разрабатывалась структура MBR, это считалось достаточным. Однако, позднее был введён расширенный раздел, который содержит таблицу разделов, в которой можно прописать ещё до 4 разделов.
  • По правилам расширенный раздел может быть только один, и не может содержать другой расширенный раздел.
  • Таким образом, в максимальной конфигурации на жёстком диске может быть сформировано три первичных и один расширенный раздел.

Виды логических разделов

Первичный (основной) раздел

Первичный раздел обязательно должен быть на физическом диске. Этот раздел всегда содержит либо одну файловую систему, либо другие логические разделы. На физическом диске может быть до четырёх первичных разделов. Некоторые старые операционные системы — например, MS-DOS и Windows — могли быть установлены только на первичный раздел.

Расширенный (дополнительный) раздел

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

Какую файловую систему выбрать для Ubuntu?

Подобно Windows, Linux за свою жизнь повидала несколько разных файловых систем. Ubuntu «понимает» файловые системы Windows, но не установится на них. Ubuntu может сразу же записывать и считывать из разделов FAT16, FAT32 и VFAT и NTFS. Однако Windows не может работать с файловыми системами Linux, и вам придётся передавать файлы в и из Windows из-под операционной системы Ubuntu.

Помимо знакомых файловых систем Windows, вы можете выбрать несколько таких, которые вы, возможно, не знаете. Среди таких файловых систем - ext3 или ext4. Ext4 в настоящий момент является самой подходящей файловой системой для десктопа. Файловая система ext2 в большинстве случаев уже не используется1), т.к не имеет журналирования, без него при системном сбое будет трудно восстановить данные. Файловые системы ReiserFS, Reiser4, XFS, JFS, BTRFS и т.д. также можно использовать, но у них есть свои особенности, поэтому выбирайте их только когда точно знаете, что вам нужна именно такая ФС. Раздел «swap» предназначен только для виртуальной памяти и в отличие от других файловых систем ему не требуется точка монтирования.

Что такое точки монтирования?

  • Linux не назначает буквы каждому диску и разделу, как в Windows и DOS. Вместо этого вы должны задать точку монтирования для каждого диска и раздела. Linux работает по принципу иерархического дерева каталогов, где корневой каталог ( / ) является основной точкой монтирования, в которую по умолчанию входят все остальные. Можно считать, что / в Linux - это эквивалент c:\ в Windows, где по умолчанию хранятся все системные файлы и папки.
  • Точки монтирования представляют собой подкаталоги, подобно тому, как c:\Documents and Settings\Files указывает на папку под названием «Files», которая находится в «Мои документы/My Documents» на диске C:\ Простая аналогия. Отличие Linux и Windows заключается вот в чём: из-за своих серверных корней для Linux не имеет значения, если один из корневых подкаталогов находится в отдельном разделе или на другом диске. Если определить подкаталоги как точки монтирования для дисков и разделов, то Linux обнаружит такой подкаталог и не будет дублировать его в корневом разделе или диске.
  • К примеру, в /home хранятся все ваши персональные файлы. Если вам нужны будут эти файлы на другом диске или разделе, то вы установите второй диск или создадите новый раздел и установите точку монтирования на /home. Это можно сделать для любого подкаталога. Во время установки Ubuntu предоставляет возможность задать следующие точки монтирования: /boot (начальный загрузчик и заголовки ядра), /dev (драйверы и устройства), /home (пользовательские файлы), /opt (дополнительное программное обеспечение), /srv (системные сервисы) /tmp (временные файлы), /usr (приложения), /usr/local (данные, доступные всем пользователям) и /var (server spool и логи).
  • Для типичной настольной системы нет никакого смысла выделять для /dev, /opt, /srv, /tmp, /usr/local и /var собственные разделы. Если вы планируете запускать более двух операционных систем на нескольких жёстких дисках, то неплохо было бы создать раздел для /boot. Стоит также создать раздел для /usr, но только если вы уже имеете чёткое представление о том, сколько места займут приложения. Обязательно нужно создать /home в отдельном разделе, а ещё лучше - на отдельном жёстком диске. Вы можете создать минимальное количество разделов, а именно «root» и «swap», тогда /boot, /home,/usr и все остальные будут просто находиться в корневом разделе ( / ). Поместив /home в отдельный раздел (или ещё лучше - на отдельный диск), вы можете обезопасить свои документы, музыку, видео, фотографии, сохранённые игры и т.д. от тех неприятностей, которые могут случиться с системными файлами в корневом разделе. Следовательно, если вы поместите все файлы, которые вы обычно резервируете, в домашний каталог /home, то вам не придётся беспокоиться о резервировании при переустановке, обновлении или даже смене дистрибутива.

Структура файловой системы. Что в каком каталоге искать?

Ubuntu поддерживает стандарт FHS (Filesystem Hierarchy Standard - Стандарт иерархии файловой системы), описывающий какая информация должна находится в том или ином месте «дерева». Ниже вкратце приведём таблицу для наглядности

Директория Описание
/ Корневая директория, содержащая всю файловую иерархию.
/bin/ Основные системные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp).
/boot/ Загрузочные файлы (в том числе файлы загрузчика, ядро и т.д.). Часто выносится на отдельный раздел.
/dev/ Основные файлы устройств системы (например физические устройства sata винчестеры /dev/sda, видео камеры или TV тюннеры /dev/video или псевдоустройства, например «чёрные дыры» /dev/null, /dev/zero ).
/etc/ Общесистемные конфигурационные файлы, лежат в корне директории и файлы конфигурации установленных программ (имя происходит от et cetera).
/etc/X11/ Файлы конфигурации X Window System версии 11.
/etc/apt/ Файлы конфигурации пакетного менеджера Apt.
/etc/samba/ Файлы конфигурации сервера Samba, раcшаривающего файлы по сети с windows машинами.
/home/ Содержит домашние директории пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе.
/lib/ Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/.
/media/ Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM, flash дисков.
/opt/ Дополнительное программное обеспечение.
/proc/ Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде каталогов файлов.
/root/ Домашняя директория пользователя root.
/sbin/ Основные системные программы для администрирования и настройки системы, например, init, iptables, ifconfig.
/srv/ Данные, специфичные для окружения системы.
/tmp/ Временные файлы (см. также /var/tmp).
/usr/ Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин. [1]
/usr/bin/ Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме.
/usr/include/ Стандартные заголовочные файлы.
/usr/lib/ Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/.
/usr/sbin/ Дополнительные системные программы (такие как демоны различных сетевых сервисов).
/usr/share/ Архитектурно-независимые общие данные.
/usr/src/ Исходные коды (например, здесь располагаются исходные коды ядра).
/usr/local/ Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/.
/var/ Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров.
/var/cache/ Данные кэша приложений. Сюда скачиваются пакеты перед их установкой в систему, здесь же они какое-то время и хранятся
/var/lib/ Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).
/var/lock/ Лок-файлы, указывающие на занятость некоторого ресурса.
/var/log/ Различные файлы регистрации (log-файлы).
/var/mail/ Почтовые ящики пользователей.
/var/run/ Информация о запущенных программах (в основном, о демонах).
/var/spool/ Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма).
/var/tmp/ Временные файлы, которые должны быть сохранены между перезагрузками.
/var/www/ Директория веб-сервера Apache, всё что находится внутри транслируется им в интернет (конфигурация по-умолчанию)

Дисковые файловые системы, применяемые в Ubuntu

  • Ext2 - файловая система, используемая в операционных системах на ядре Linux. Достаточно быстра для того, чтобы служить эталоном в тестах производительности файловых систем. Она не является журналируемой файловой системой и это её главный недостаток.
  • Ext3 - журналируемая файловая система, используемая в ОС на ядре Linux. Является файловой системой по умолчанию во многих дистрибутивах. Основана на Ext2, но отличается тем, что в ней есть журналирование, то есть в ней предусмотрена запись некоторых данных, позволяющих восстановить файловую систему при сбоях в работе компьютера.
  • Ext4 - журналируемая файловая система, используемая в ОС сна ядре Linux. Основана на файловой системе Ext3, но отличается тем, что в ней представлен механизм пространственной записи файлов, уменьшающий фрагментацию и повышающий производительность. В Ubuntu, начиная с версии 9.10, становится файловой системой по умолчанию.
  • Fat16 - файловая система, сейчас широко используемая в картах памяти фотоаппаратов и других устройств.
  • Fat32 - файловая система основанная на Fat16. Cоздана, чтобы преодолеть ограничения на размер тома в Fat16.
  • NTFS - файловая система для семейства операционных систем Microsoft Windows. Поддержка в Ubuntu осуществляется специальным драйвером - NTFS-3G.
  • HFS - файловая система, разработанная Apple Inc. для использования на компьютерах, работающих под управлением операционной системы Mac OS.
  • HSF+ - файловая система, разработанная Apple Inc. для замены HFS. Является улучшенной версией HFS, с поддержкой файлов большого размера и использует кодировку Unicode для имён файлов и папок.
  • JFS - журналируемая файловая система. В отличие от Ext3, в которую добавили поддержку журналирования, JFS изначально была журналируемой. На момент выхода в свет JFS была самой производительной из существовавших файловых систем. На текущий момент сохраняет за собой одно из лидирующих мест по этому показателю.
  • LinuxSWAP - раздел жёсткого диска, предназначенная для виртуальной памяти (файла подкачки).
  • ReiserFS - журналируемая файловая система, разработанная специально для Linux. Обычно под словом ReiserFS понимают третью версию (последняя — 3.6.21), а четвёртую называют Reiser4. В настоящий момент разработка Reiser3 прекращена.
  • Reiser4 - журналируемая файловая система ReiserFS (4-я версия), разработанная специально для Linux. Одна из самых быстрых файловых систем для Linux (с включённым плагином-архиватором - самая быстрая).
  • UFS - файловая система, созданная для операционных систем семейства BSD. Linux поддерживает UFS на уровне чтения, но не имеет полной поддержки для записи UFS. Родной Linux ext2 создан по подобию UFS.
  • XFS - высокопроизводительная журналируемая файловая система. Дефрагментируется «на лету». Невозможно уменьшить размер существующей файловой системы. Возможны потери данных во время записи при сбое питания, так как большое количество буферов хранится в памяти.

О всех существующих файловых системах можно прочитать в этой статье

1) Тем не менее, обычно используется для раздела /boot, если таковой имеется.

Обсуждение

Ваш комментарий:
   _  __   ____   ____ __  __   __  ___   _  __
  / |/ /  / __/  / __/ \ \/ /  /  |/  /  | |/_/
 /    /  _\ \   / _/    \  /  / /|_/ /  _>  <  
/_/|_/  /___/  /_/      /_/  /_/  /_/  /_/|_|