♦ -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, предназначенная для проверки целостности ФС, помещает в него найденные куски нарушенных файлов.
Чтобы с новой файловой системой можно было работать, она должна быть при помощи операции монтирования включена в общее дерево каталогов (п.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.
Глава 3
Работаем в командной строке
3.1. Как устроен Linux: ядро и процессы
Главная, постоянно находящаяся в оперативной памяти, часть ОС Linux называется ядром (Kernel). Ядро ОС обрабатывает прерывания от устройств, выполняет запросы системных процессов и пользовательских приложений, распределяет виртуальную память, создает и уничтожает процессы, обеспечивает многозадачность посредством переключения между ними, содержит драйверы устройств, обслуживает файловую систему (см. рис. 3.1).