Чтение онлайн

ЖАНРЫ

Внутреннее устройство Linux
Шрифт:

• Тип HFS+ (hfsplus) является стандартом Apple, который используется в большинстве компьютеров Macintosh.

Хотя расширенные файловые системы были абсолютно пригодны для применения обычными пользователями, в технологии файловых систем были произведены многочисленные улучшения, причем такие, что даже система ext4 не может ими воспользоваться в силу требований обратной совместимости. Эти улучшения относятся главным образом к расширяемости системы, как то: очень большое количество файлов, файлы большого объема и другие подобные вещи. Новые файловые системы Linux, такие как Btrfs, находятся в разработке и могут прийти

на смену расширенным файловым системам.

4.2.2. Создание файловой системы

Когда вы завершите работу с разделами, которая описана выше (см. раздел 4.1), можно создавать файловую систему. Как и для разделов, это выполняется в пространстве пользователя, поскольку процесс из пространства пользователя может напрямую обращаться к блочному устройству и работать с ним. Утилита mkfs способна создать многие типы файловых систем. Например, можно создать раздел типа ext4 в устройстве /dev/sdf2 с помощью такой команды:

# mkfs -t ext4 /dev/sdf2

Команда mkfs автоматически определяет количество блоков в устройстве и уста­навливает некоторые разумные параметры по умолчанию. Если вы не в полной мере представляете, что делаете, или если не любите читать подробную документацию, не меняйте эти настройки.

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

внимание

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

Оказывается, утилита mkfs является только «лицевой стороной» набора команд для создания файловых систем. Эти команды называются mkfs.fs, где вместо fs подставлен тип файловой системы. Таким образом, когда вы запускаете команду mkfs –t ext4, утилита mkfs, в свою очередь, запускает команду mkfs.ext4.

Но двуличности здесь еще больше. Исследуйте файлы, которые скрываются за обозначениями mkfs.*, и вы увидите следующее:

$ ls -l /sbin/mkfs.*

– rwxr-xr-x 1 root root 17896 Mar 29 21:49 /sbin/mkfs.bfs

– rwxr-xr-x 1 root root 30280 Mar 29 21:49 /sbin/mkfs.cramfs

lrwxrwxrwx 1 root root 6 Mar 30 13:25 /sbin/mkfs.ext2 -> mke2fs

lrwxrwxrwx 1 root root 6 Mar 30 13:25 /sbin/mkfs.ext3 -> mke2fs

lrwxrwxrwx 1 root root 6 Mar 30 13:25 /sbin/mkfs.ext4 -> mke2fs

lrwxrwxrwx 1 root root 6 Mar 30 13:25 /sbin/mkfs.ext4dev -> mke2fs

– rwxr-xr-x 1 root root 26200 Mar 29 21:49 /sbin/mkfs.minix

lrwxrwxrwx 1 root root 7 Dec 19 2011 /sbin/mkfs.msdos -> mkdosfs

lrwxrwxrwx 1 root root 6 Mar 5 2012 /sbin/mkfs.ntfs -> mkntfs

lrwxrwxrwx 1 root root 7 Dec 19 2011 /sbin/mkfs.vfat -> mkdosfs

Файл mkfs.ext4

является лишь символической ссылкой на mke2fs. Об этом важно помнить, если вы натолкнетесь на какую-либо систему без специальной команды mkfs или же когда станете искать документацию по какой-либо файловой системе. Каждой утилите для создания файловой системы посвящена особая страница в руководстве, например, mke2fs(8). В большинстве версий ОС это не создаст проблем, поскольку при попытке доступа к странице mkfs.ext4(8) руководства вы будете перенаправлены на страницу mke2fs(8). Просто имейте это в виду.

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

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

Чтобы выполнить монтирование файловой системы, вы должны знать следу­ющее:

• устройство для размещения файловой системы (например, раздел диска; на нем будут располагаться актуальные данные файловой системы);

• тип файловой системы;

• точку монтирования, то есть место в иерархии каталогов текущей системы, куда будет присоединена файловая система. Точка монтирования всегда является обычным каталогом. Например, можно использовать каталог /cdrom в качестве точки монтирования для приводов CD-ROM. Точка монтирования не обязана находиться именно в корневом каталоге, в системе она может быть где угодно.

Для монтирования файловой системы применяется терминология «смонтировать устройство в точке монтирования». Чтобы узнать статус текущей файловой системы, запустите команду mount. Результат будет выглядеть примерно так:

$ mount

/dev/sda1 on / type ext4 (rw,errors=remount-ro)

proc on /proc type proc (rw,noexec,nosuid,nodev)

sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

none on /sys/fs/fuse/connections type fusectl (rw)

none on /sys/kernel/debug type debugfs (rw)

none on /sys/kernel/security type securityfs (rw)

udev on /dev type devtmpfs (rw,mode=0755)

devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)

tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)

snip

Каждая строка соответствует одной файловой системе, смонтированной в настоящее время. Перечислены следующие элементы:

• устройство, например /dev/sda3. Обратите внимание на то, что некоторые устройства в действительности не являются таковыми (например, proc), а играют роль заместителей для имен реальных устройств, поскольку таким файловым системам специального назначения не нужны устройства;

• слово on;

• точка монтирования;

• слово type;

• тип файловой системы, как правило, в виде краткого идентификатора;

• параметры монтирования (в скобках) (см. подробности в подразделе 4.2.6).

Чтобы смонтировать файловую систему, используйте приведенную ниже команду mount, указав тип файловой системы, устройство и желаемую точку монтирования:

# mount -t type device mountpoint

Чтобы, например, смонтировать четвертую расширенную файловую систему /dev/sdf2 в точке /home/extra, используйте такую команду:

Поделиться с друзьями: