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

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

Создание файловой системы «вручную». Команда mkfs

Из предыдущего параграфа следует, что создать файловую систему на разделе жесткого диска или внешнем носителе — это значит разметить его сектора на структуры данных, специфические для этой файловой системы (суперблок, список i-узлов, блоки данных). В DOS/Windows этот процесс называется форматированием. В UNIX-системах понятие форматирования не используется, а процедура и соответствующая команда так и называются — создание файловой системы.

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

mkfs [-t <тип>] [опции_ФС] ФС [блоков]

Типы и описание файловых систем, поддерживаемых Linux, вы найдете в справочной системе по команде man fs. Те типы, которые чаще всего используются на съемных носителях, перечислены в таблице 4.3. Ясно, что если вы «отформатируете» дискету с типом vfat, то она будет читаться и из-под Windows, а если с типом ext2/ext3 — только из-под Linux.

Если не указывать тип, то будет создана ФС с типом по умолчанию — в настоящий момент это ext2.

В качестве аргумента ФС можно указывать либо имя устройства (/dev/fd0), либо точку монтирования (/media/usbdisk). Последним аргументом можно указать количество блоков, которые нужно отвести под новую файловую систему.

Опции_ФС — это параметры, специфические для файловой системы определенного типа. Например, для ext2/ext3 можно указать:

-b <размер_блока> (по умолчанию 4096 байт, но может быть и 1024 или 2048);

-N <количество_i-узлов>,

-i <байт_на_i-узел>.

Утилита mkfs передает эти опции настоящему конструктору ФС, которого вызывает в зависимости от указанного типа. Установленные у вас конструкторы можно найти по команде ls /sbin/mkfs*, а список опций конкретной ФС посмотреть на man-странице соответствующего конструктора (например, man mkfs.vfat).

Замечу только, что для ext3fs после ключа -J можно указать опции журналирования: size=<размер> — размер журнального файла в мегабайтах, и device=<устройство> — внешний журнал, заранее созданный на другом разделе.

Как я уже сказал, преобразовать существующий раздел ext2fs в ext3fs можно без перезагрузки системы, простым добавлением журнала командой tune2fs:

# tune2fs -j /dev/hd5

Дополнительные конструкторы (для ReiserFS, XFS и т.п.) устанавливаются из пакетов reiserfsprogs и xfsprogs соответственно.

В результате на новом разделе образуется корневой каталог новой файловой системы и в нем — подкаталог /lost+found. Не удаляйте этот подкаталог: утилита fsck, предназначенная для проверки целостности ФС, помещает в него найденные куски нарушенных файлов.

Настройка автоматического монтирования при загрузке компьютера. Команда mount

Чтобы с новой файловой системой можно было работать, она должна быть при помощи операции монтирования включена в общее дерево каталогов (п.1.1.3). О ручном монтировании/размонтировании применительно к съемным носителям сказано в п.4.2.5, а здесь я скажу, как сделать так, чтобы разделы жесткого диска автоматически монтировались при загрузке системы и демонтировались при останове. Для этого их нужно прописать в файл /etc/fstab, который читает команда mount в ходе начальной загрузки (об этапах загрузки и загрузочных сценариях см. п.9.1).

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

<устройство> <точка_монтирования> <тип> <опции> <дамп> <номер_fsck>

Устройство — это файл устройства, к которому подключен раздел (например, /dev/hda5). Для сетевой файловой системы здесь должно быть указано имя сервера и каталог на нем.

Точка_монтирования — это имя каталога, к которому файловая система будет подключена. Он должен существовать и (желательно) быть пустым. Для раздела подкачки (swap) значение этого поля не используется, но в файле /etc/fstab присутствовать все равно должно.

? Вместо типа ФС можно указать значение auto: в этом случае команда mount попытается определить тип самостоятельно.

Дамп — это отметка о необходимости резервного копирования данной ФС программой dump (п.10.4.3). Значение 1 говорит о том, что резервировать нужно, значение 0 — нет.

Номер_fsck: утилита fsck обычно запускается перед автоматическим монтированием ФС, проверяет ее на целостность и пытается исправить найденные ошибки. Это процедура долгая, и для ускорения загрузки можно либо отключить проверку для некоторых ФС (значение 0), либо для некоторых разделов запускать ее параллельно. Значение этого поля задает порядок проверки разных ФС: если номера одинаковые, то системы будут проверяться параллельно. Ясно, что ускорение может получиться только в том случае, когда параллельно проверяемые разделы находятся на разных физических дисках.

Справку об опциях монтирования команды mount можно получить по команде man mount. В таблице 2.4 перечислены самые употребительные из них.

Основные опции монтирования Таблица 2.4

Опция Назначение
auto ФС может быть смонтирована автоматически
га Смонтировать файловую систему в режиме «только чтение»
rw Смонтировать файловую систему для чтения и для записи (по умолчанию)
dev ФС может содержать файлы блочных и символьных устройств. Они интерпретируются как специальные файлы
exec Файлы на ФС могут быть исполняемыми
suid Разрешить использование битов SUID и SGID
user Разрешить непривилегированному пользователю монтировать и размонтировать данную файловую систему. Это значение влечет за собой noexec, nosuid и nodev, если после него явно не указано exec, suid или dev
noauto nodev noexec nosuid nouser Значения, противоположные соответствующим без «no»
defaults Установки по умолчанию: rw, suid, dev, exec, auto, nouser, async
codepage=<значение> Интерпретировать символы в именах файлов согласно кодовой странице
iocharset=<значение> Выводить символы в именах файлов согласно набору символов

Программа установки создала файл /etc/fstab, в котором перечислены все ваши Linux-разделы (корневой, swap и, если вы послушались п.1.3.4, /home). Теперь нужно сделать так, чтобы из-под Linux были видны данные на ваших Windows-разделах. Проверьте, поддерживает ли ваше ядро типы ФС на Windows-разделах (cat /proc/filesystems, в выводе команды должны присутствовать слова vfat и/или ntfs). Обычно ядро, поставляемое с дистрибутивом, собрано без поддержки NTFS — если ваш Windows-раздел отформатирован с этим типом, то вам придется либо пересобрать ядро, либо, что гораздо проще, конвертировать раздел в тип FAT32.

Итак, после всех этих проверок я вписал в файл /etc/fstab строку:

/dev/hda6 /mnt/disk_e vfat rw,codepage=866,iocharset=utf8

…и получил каталог /mnt/disk_e, всем файлам в котором приписан в качестве владельца root, а в качестве прав доступа — rwx-rxr-x. Если вас такой режим доступа не устраивает и хочется иметь право писать в этот каталог от имени непривилегированного пользователя, прочитайте на man-странице команды mount об опциях uid, gid и umask.

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



Поделитесь на страничке

Похожие главы из других книг:

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

Из книги автора

8.1. Монтирование и демонтирование файловых систем Унифицированное иерархическое пространство имен файлов является большим достоинством дизайна Linux/Unix. Данный раздел рассматривает, как административные файлы, команды и операционная система объединяются для построения


8.1.2. Обзор различных типов файловых систем

Из книги автора

8.1.2. Обзор различных типов файловых систем ЗАМЕЧАНИЕ. Обсуждение в данном разделе специфично для Linux. Однако, у многих современных систем Unix также есть сходные особенности. Мы рекомендуем вам изучить документацию своей системы. Исторически V7 Unix поддерживал лишь один тип


14.7. Обход деревьев файловых систем

Из книги автора

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


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

Из книги автора

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


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

Из книги автора

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


16.1. Типы файловых систем, поддерживаемых в Linux

Из книги автора

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


4.6. Создание файловой системы. Типы файловых систем

Из книги автора

4.6. Создание файловой системы. Типы файловых систем Каждая операционная система имеет основной тип файловой системы, а также дополнительные типы, поддержка которых осуществляется модулями (драйверами), подключаемыми к ядру. В случае с Linux поддержку той или иной файловой


7.8.4. Параметры файловых систем

Из книги автора

7.8.4. Параметры файловых систем В каталоге /proc/sys/fs/ можно найти файлы, определяющие работу файловой системы:• file-max - максимальное число одновременно открытых файлов, по умолчанию 4096.• inode-max - максимальное число одновременно открытых инодов, по умолчанию 4096.• super-max -


Использование защищенных файловых систем

Из книги автора

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


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

Из книги автора

5.11. Монтирование файловых систем 5.11.1. Команда mount Чтобы работать с какой-либо файловой системой, необходимо примонтировать ее к корневой файловой системе. Например, подключив флешку, нужно подмонтировать файловую систему флешки к корневой файловой системе — только так


5.11.4. Монтирование файловых систем при загрузке Linux

Из книги автора

5.11.4. Монтирование файловых систем при загрузке Linux Если вы не хотите при каждой загрузке вручную монтировать постоянные файловые системы (например, разделы Windows), вам следует прописать их в файле /etc/fstab. Обратите внимание — в этом файле не нужно прописывать файловые


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

Из книги автора

Создание файловых систем Пулы хранения представляют собой вместилища для наборов данных, для манипуляции которыми предназначена вторая из главнейших команд – zfs. Самыми важными наборами данных являются файловые системы, к рассмотрению которых мы и переходим.Для