Установка файловой системы ufs на локальный диск

Обновлено: 07.07.2024

В настоящей заметке речь пойдет о способе физической организации блоков дискового раздела, обеспечивающем возможность записи, хранения и манипулирования файлами, специфичном для FreBSD, точнее, для её файловых систем UFS и UFS2, бывших единственно нативными в этой ОС до портирования ZFS.

Вступление

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

Рассмотрение их целесообразно начать с конца списка, то есть с области данных.

Блоки данных

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

Inodes

Блок группы цилиндров и суперблок

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

Практика форматирования

после чего все базовые свойства файловой системы будут определены по умолчанию. Однако пользователь в силах влиять на них с помощью опций команды newfs , задаваемых в командной строке или раз и навсегда глобально, через пункт Options программы sysinstall . Важнейшие из этих опций мы и рассмотрим,

Опция -f устанавливает размер фрагмента блока. Рекомендуется определить его в 1/8 размера блока, что по умолчанию и составит 2048 байта. Значения в 1/4 или 1/2 блока также допустимы, но очень не рекомендуются в документации.

А вообще, с точки зрения пользователя, различий между UFS и UFS2 можно и не увидеть. Тем не менее, отказываться от UFS2 также оснований нет. Тем более, что и newfs , о которой говорилось выше, и sysinstall по умолчанию ныне (в 5-й ветке) создают именно ее. Если же требуется создать просто UFS (для совместимости с версиями прежних веток, UFS2 не поддерживающих), это нужно сделать принудительно, указав для newfs опцию -O 1 .

Парадокс Soft Updates

Почему? Нетрудно ответить: вследствие принятого во FreeBSD по умолчанию режима обращения с измененными файлами. Большинство нормальных файловых систем способны функционировать в одном из трех режимов:

Однако первым по времени реализации способом борьбы за целостность файловой системы был механизм Soft Updates, обеспечивающий одновременно (вернее, главным образом) и повышение быстродействия файловых операций.

При создании же файловых систем вручную, командой newfs , Soft Updates автоматически не включается: это нужно сделать, как уже говорилось, указанием опции:

Размонтировать все файловые системы, кроме корневой (с ней все равно этот номер не пройдет) командой

для каждого раздела, в файловой системе которого требуется Soft Updates. И, наконец, повторением команды

вернуться в многопользовательский режим. Перезагрузки, что характерно, не потребуется.

В принципе, Soft Updates можно включить и для корневой файловой системы, но для этого потребуется загрузка с внешнего носителя, типа rescue-CD из штатного комплекта FreeBSD.

Разбиение диска на разделы производится в двух случаях: при установке системы и при подключении нового диска. Разбиение на разделы следует спланировать так, чтобы в будущем размеры разделов были достаточны для установки программ и размещения файлов данных. В Solaris должны быть созданы как минимум два раздела: корневой ( root ), монтируемый в файловой системе в корень ее дерева и обозначаемый символом "/" (слэш), и раздел для свопинга . Последний не имеет точки монтирования, так как не принадлежит к файловой системе и не размечается, а используется для прямого чтения страниц с диска и записи страниц на диск .

Для более надежной и быстрой работы системы принято , кроме упомянутых разделов, создавать разделы с точками монтирования /usr , / export /home и, возможно, / opt . Далее мы будем называть разделы по именам точек монтирования (например, раздел /usr ).

Отметим, что при использовании файловой системы ZFS думать о разбиении диска на разделы незачем, но об этом подробнее рассказывается в "Концепция, устройство и администрирование файловой системы ZFS" .

В корневом каталоге системы располагается несколько файлов и ряд обязательных для работы системы подкаталогов . Это подкаталоги /bin, /sbin, /dev, / devices , /etc, / tmp . Как правило, имеются подкаталоги /usr и / opt , а также / export , они обычно являются точками монтирования других разделов.

Корневой каталог в типичной установке Solaris (набор программ Entire Distribution – подробнее см. лекции 3 и 4) занимает 200 Мб (при условии, что каталоги /usr, / opt , /var и / export /home размещены в других разделах). При установке системы ему следует выделить 300 Мб – с запасом. Каталог /usr займет не меньше 1400 Мб, /var – не менее 100 Мб. Для каталога /var имеет смысл выделить больше места, т.к. именно в нем будут содержаться быстро растущие в размере файлы протоколов , почтовые ящики пользователей и прочее. Приведенные объемы разделов справедливы для варианта установки с набором программ Entire Distribution .

Вообще говоря, перед планированием разделов следует подумать о том, как будет использоваться компьютер под управлением Solaris . Если это будет сервер Oracle , надо зарезервировать один неразмеченный (неотформатированный) раздел под базы данных Oracle . Если планируется сделать почтовый сервер , то следует отвести под раздел /var достаточно места для размещения всех почтовых ящиков в каталоге /var/ mail , а если это будет файловый сервер , надо сделать отдельный большой раздел для хранения файлов пользователей (например, / export /home ).

При установке системы программа -установщик предложит вам разумные значения по умолчанию. Если специфика устанавливаемой системы требует изменений, можно сделать их прямо в окне разметки диска, которое появляется в ходе работы установщика. О типах установки (установка базового комплекта, установка полного комплекта ПО Solaris и т.п.) подробнее рассказано в "Установка Solaris" .

При установке нового диска его разметку поможет провести программа format . Эта программа также может использоваться для получения информации о геометрии диска, для низкоуровнего форматирования SCSI -дисков и восстановления некоторой служебной информации после сбоев.

Разметка нового диска

Предположим, мы подключили новый диск , и это IDE primary slave диск . Чтобы создать на нем файловую систему, потребуется создать на новом диске разделы ( по крайней мере один) и затем на каждом из разделов создать новую файловую систему.

Создание разделов на диске выполняется с помощью команды format или fdisk . Последняя применяется только для платформы x86 . Однако, из format можно вызвать fdisk – и этот способ предпочтительнее. Почему – будет ясно из следующего описания.

После подключения нового диска нет надобности перенастраивать ядро Solaris , если диски этого типа в системе уже есть. Например, если у вас уже есть один IDE - диск и система с ним уже работает, незачем перезапускать систему с ключом r или создавать файл / reconfigure и перезапускаться для обнаружения нового устройства. Достаточно создать новые файлы устройств в каталогах / devices и /dev . Для этого в более ранних версиях Solaris использовалась программа disks , а начиная с версии Solaris 9 следует запускать devfsadm . При запуске без параметров новый диск будет обнаружен и требуемые файлы будут добавлены в каталоги / devices , ./dev/dsk и /dev/rdsk .

Теперь любая программа работы с диском, требующая файл устройства в каталоге /dev/rdsk , уже может работать с диском. Запустим программу format . В меню программы следует выбрать диск , а затем выбрать запуск fdisk . После этого мы будем работать в среде программы fdisk . Ее интерфейс нам знаком по другим системам, только обратите внимание, что есть возможность создавать разделы нескольких типов. Если мы добавляем дополнительный диск для работы с ним из среды Solaris , то следует выбрать тип Solaris . Раздел на новом диске не должен быть помечен как " активный ", если только с него не будет загружаться какая-нибудь система в будущем.

Можно запустить программу fdisk самостоятельно, без предварительного вызова программы format , но последняя все равно будет нужна на следующем этапе.

После создания раздела следует выйти из fdisk , и в программе format выбрать partition ->print .

Если определен размер только одного подраздела ( partition ), а именно – подраздела номер 2, это говорит о том, что для созданного раздела fdisk следует определить подразделы. Если это отвечает вашим намерениям, достаточно создать всего один подраздел размером с весь раздел fdisk . Это можно сделать через меню Partition программы format . Выбрав partition ->номер подраздела (например, 0), будет легко задать его размер.

Обязательно выберите пункт label для записи получившейся таблицы разделов на диск .

После этого создадим новую файловую систему на получившемся подразделе. Помните: разделы fdisk для Solaris – это лишь место для размещения подразделов типа solaris ( slices ). А на этих подразделах как раз и существует файловая система UFS , и располагаются файлы и каталоги. Файловую систему на новом диске создадим командой newfs .

Программа mkfs позволяет создавать файловые системы разных типов, включая UFS , а newfs является более удобным интерфейсом к mkfs исключительно для создания файловых систем UFS .

Смонтируем получившуюся файловую систему в каталог /test :

Обратите внимание: при создании файловой системы сразу создается каталог lost +found на ней, для того, чтобы при автоматическом восстановлении файлов после сбоя (при перезагрузке, например) программе fsck было куда записать потерявшиеся фрагменты файлов. Кроме этого, в некоторые блоки (их список выводится при работе newfs или mkfs ) записана резервная копия суперблока новой файловой системы .

Количество индексных дескрипторов в файловой системе

Количество индексных дескрипторов в создаваемой файловой системе типа UFS можно задать посредством указания параметра с ключом -i :

Параметр nbpi обозначает число байтов , приходящихся на один индексный дескриптор 1 Имеется в виду число байт данных в файлах этого раздела, а не длина индексного дескрип- тора, последняя фиксирована и равна 128 байтам (прим. Авт.). , что при известном объеме диска однозначно определяет число индексных дескрипторов в файловой системе .

Программы mkfs и newfs поддерживают еще ряд ключей, которые позволяют гибко описывать параметры создаваемой файловой системы .

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

В этом разделе описывается, как создавать, монтировать и демонтировать типы файловых систем s5 и ufs. Для этого необходимо сначала отформатировать гибкие и жесткие диски. Если используемые диски не были отформатированы, обратитесь к разделу 9 "Форматирование запоминающих устройств" и "Управление запоминающими устройствами".

Обратитесь к этим задачам из опции file_system в меню UNIX System V Release 4.0 Version 1.0.

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

Создание рабочей файловой системы проводится в несколько этапов:

  1. Форматирование гибких дисков.
  2. Создание файловой системы с использованием меню OA&M или команды mkfs.
  3. Установка файловой системы.
  4. Демонтирование файловой системы при отсутствии обращения к ней.

2.1.1. Использование меню OA&M для создания файловой системы

Используйте следующие меню для создания файловой системы:

    Выберите make из меню "Управление файловой системой" (Manage File System).

Система отображает экран "Создание файловой системы" (Create a File System) (make):

Введите информацию файловой системы и нажмите SAVE.

Система отображает один из следующих экранов:

Система отображает команду вставить дискету в дисковод.

Затем система создает файловую систему и пытается смонтировать ее.

2.1.2. Использование команды mkfs для создания файловой системы

В данном подразделе сначала обсуждается общий формат команды mkfs, а затем ее специфическое применение для создания файловой системы s5 или ufs. Формат команды mkfs:

где filetype - тип файловой системы - либо s5, либо ufs; -V - отображает полностью командную строку, включая информацию файла ufstab; -m - возвращает командную строку, используемую для создания существующей файловой системы. Этот параметр позволяет пользователю видеть атрибуты, из которых состоит файловая система; current_options - параметры, поддерживаемые s5; specific_options - атрибуты файловой системы должны быть введены в файл /etc/vfstab. special - имя элемента vfstab, содержащее атрибуты особой файловой системы; special_operands - операнды, специфичные для типа создаваемой файловой системы.

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

Введите следующие команды, чтобы создать новую файловую систему s5 или преобразовать старую с новым логическим размером блока:

  1. Если новая файловая система будет создаваться в разделе диска, где постоянно находится старая файловая система, создайте резервную копию старой системы. Для создания резервных копий систем с одним или несколькими жесткими дисками можно использовать команду cpio(1).
  2. Если новая файловая система будет создаваться из старой, выполните команду labelit, которая сообщает и имя уже смонтированной файловой системы и физическое имя тома старой файловой системы. Эти метки уничтожаются при создании новой файловой системы.

Вам следует специфицировать тип файловой системы, когда вы используете команду labelit. Например, если используется устройство f0q15d, файловой системой будет memo, а именем тома memo 2.0.

Если новую файловую систему необходимо создать из старой, и новая файловая система будет иметь больший логический размер блока, тогда благодаря фрагментации новая файловая система выделит больше блоков диска для хранения данных, чем старая система. Используйте команду fsba (1M), чтобы узнать требования области памяти старой файловой системы с новым размером блока. Используйте эту информацию также для того, чтобы убедиться, что часть диска, которая будет использоваться для новой файловой системы, достаточно большая. Используйте команду prtvtoc (1M), чтобы узнать размер частей текущего диска.

где blocksize - логический размер блока файловой системы.

Значение по умолчанию - 1024 байта. Система s5 поддерживает также 512 - байтовые и 2048 - байтовые блоки; special - вход в файле vfstab, содержащий атрибуты файловой системы; blocks - количество 512 - байтовых блоков, которые займет файловая система. Значением по умолчанию для inodes является один индексный дескриптор файла для каждых четырех логических блоков памяти; gap blocks/cyl - промежуток между записями и количество блоков в одном цилиндре. Эти цифры зависят от размера блока и размеров жесткого диска; prototype - имя файла, который может включать: количество блоков, необходимых для файловой системы, каталог и структуру файла для файловой системы, а также команды считывания содержимого существующих файлов в файловую систему.

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

В первом формате единственной другой информацией, которая должна быть размещена на командной строке mkfs, является количество 512 - байтовых блоков, которые займет файловая система. Второй формат позволяет включать эту информацию в макетный файл, который может также определять каталог и файловую структуру для новой файловой системы; он также позволяет считывать содержание файлов из существующей файловой системы.

Оба формата позволяют определять информацию о промежутках между записями и блоках в одном цилиндре. Если такая информация не дается на командной строке, тогда используются значения по умолчанию.

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

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

Если вы используете первый формат mkfs, тогда файловая система создается с единственным каталогом. Если вы используете макетный файл, как указано выше, он может включать информацию, которая заставляет команду строить и инициализировать каталог и файловую структуру для файловой системы.

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

При построении файловой системы ufs команда mkfs создает файловую систему с корневым каталогом и с каталогом lost+found. Число индексных дескрипторов файла высчитывается как функция размера файловой системы.

Введите следующие команды, чтобы создать новую файловую систему ufs или преобразовать старую в новый логический размер блока:

  1. Если новая файловая система будет создаваться на части диска, где находится старая файловая система, создайте резервную копию старой системы.
  2. Если новая файловая система будет создаваться из старой, выполните команду labelit, которая сообщает и имя смонтированной файловой системы и физическое имя тома старой файловой системы. Эти метки уничтожаются, когда создается новая файловая система.

Необходимо определить тип файловой системы при использовании labelit. Например, если у вас устройство f0q15d, файловой системой будет memo, а именем тома memo 2.0. Введите:

где special - вход в файле vfstab, содержащий атрибуты файловой системы; size - количество секторов в файловой системе; arguments - необязательные параметры - это список параметров, отделяемых запятыми и позволяющих настраивать файловую систему. Ниже приводится список наиболее важных параметров:

Если списку параметров предшествует -o, тогда необходимо специфицировать только желаемые параметры, но каждый параметр должен быть явно маркирован. Иначе, параметры исследуются слева направо, где первым параметром считается nsect, вторым - ntrack и т.д.

Следующие две команды схожи по функциям:

prototype - имя файла, которое может включать: количество блоков, необходимое для файловой системы, каталог и файловая структура, а также команды считывания содержания соответствующих файлов в файловую систему.

2.1.2.3. Выбор логического размера блока

Логический размер блока - это размер порций, которые ядро системы использует для считывания или записи файлов. Логический размер блока обычно отличается от физического размера блока - размера наименьшей порции, которую дисковый контроллер может считать или записать; как правило, 1024 байта.

Администратор, использующий команду mkfs для создания файловой системы, может определить логический размер блоков файловой системы. По умолчанию логический размер блоков составляет 1024 байта (1K) в системе s5 и 4096 байтов (4K) в системе ufs. Файловые системы root и usr поставляются как 1K файловые системы. Кроме 1К файловых систем, система s5 также поддерживает 2048 байтовые (2К) файловые системы.

Чтобы разумно выбрать логический размер блоков, необходимо учесть производительность и объем пространства. Для большинства систем ufs 8K файловая система с размером фрагментов 1К имеет наилучшую производительность, тогда как для большинства s5 систем 1К файловая система самая производительная. Для специальных прикладных программ, прогоняемых в системе s5 (как например, для s5 служебных файловых процессоров), которые используют большое количество выполнимых файлов или файлов данных, лучшим выбором может быть 2К файловая система.

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

Стандарт FHS был разработан первоначально для упорядочивания структуры каталогов в многочисленных дистрибутивах Linux. И лишь позднее он был приспособлен для других Unix-подобных систем (в том числе и BSD-клана). Однако именно иерархия каталогов FreeBSD может послужить примером для образцового следования духу FHS. А буквально штучные отступления в ней от его буквы всегда функционально обусловлены.

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

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

она покажет нам несколько неожиданную картину (для упрощения из вывода исключены сведения об обычных файлах и символических ссылках в корне, а оставшиеся каталоги отсортированы по их идентификаторам) 2 ../ 2 ./ 2 dev/ 2 home/ 2 tmp/ 2 usr/ 2 var/ 3 cdrom/ 4 mnt/ 5 root/ 8257 dist/ 8258 bin/ 8294 proc/ 8295 sbin/ 16512 stand/ 24768 etc/ 24776 boot/

Из этого примера (относящегося к файловой системе машины, на которой эти строки пишутся) видно, что аж 7 каталогов имеют одинаковые цифровые идентификаторы, равные 2. Спрашивается, какая же здесь уникальность?

Теперь возьмем и смонтируем в /mnt/usb флэш-накопитель с USB-интерфейсом (именно для этого я его и предназначал) и повторим просмотр. И видим: 18 disk/ 24 iso/ 2 usb/

То есть идентификаторы каталогов, оставшихся пустыми (/mnt/disk и /mnt/iso) не изменились, а идентификатор каталога /mnt/usb волшебным образом изменился на 2. Ибо в момент монтирования он стал корневым для своей собственной файловой системы и точкой отсчета для исчисления inodes всех записанных на ней файлов.

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

что даст нам в ответ /sbin/mount /sbin/mount_msdosfs /sbin/mount_smbfs /sbin/mount_cd9660 /sbin/mount_nfs /sbin/mount_std /sbin/mount_devfs /sbin/mount_ntfs /sbin/mount_udf /sbin/mount_ext2fs /sbin/mount_nullfs /sbin/mount_umapfs /sbin/mount_fdescfs /sbin/mount_nwfs /sbin/mount_unionfs /sbin/mount_linprocfs /sbin/mount_portalfs /sbin/mount_mfs /sbin/mount_procfs

Каждая команда из этого списка отвечает за отдельный тип файловой системы, к некоторым из которых мы вернемся дальнейшем. А пока заметим только собственно /sbin/mount, предназначенную для работы с UFS и UFS2.

Есть еще несколько значений опции -o, запрещающих размещение на смонтированной файловой системе файлов определенных разновидностей, например, исполнимых (-o noexec), файлов устройств (-o nodev) или файлов с т.н. битом суидности (-o nosuid), однако они имеют практическое значение в основном для администраторов серверов и служат целям безопасности. На настольной же машине обычной формой монтирования будет нечто вроде этой: $ mount -o noatime /dev/ads0d /usr; $ mount -o noatime /dev/ads0e /var; $ mount -o noatime /dev/ads0f /home

Все сказанное относилось только к монтированию файловых систем FreeBSD. Однако на практике часто возникает необходимость инкорпорации в ее древо каталогов файловых систем других типов. Особенно часто это требуется для ISO9660 (обычная файловая система для всех компакт-дисков, кроме Mac'овских) и FAT'ов разного рода. В этом случае соответствующая случаю команда монтирования должна быть вызвана явно, например, $ mount_cd9660 /dev/acd0 /cdrom

будет полным эквивалентом команды $ mount_fstype . .

Все операции по монтированию файловых систем (в том числе и на сменных носителях) во FreeBSD требуют прав суперпользователя. В числе значений опции -o здесь, в отличие от Linux-варианта команды mount, нет параметра user, разрешающего монтирование обычным пользователям. Правда, есть несколько способов обойти это, но сейчас говорить о них невместно.Настройка автоматического монтирования

Сам по себе файл /etc/fstab генерируется автоматически при установке FreeBSD, включая все необходимые для обеспечения жизнедеятельности файловые системы. Однако в дальнейшем он может правится вручную с целью внесения новых устройств для монтирования или дополнительных опций для уже включенных устройств.

Если последовать советам резонных людей (и умолчаниям sysinstall) и выделить из состава корня некоторые ветки файловой системы, к перечисленным добавятся (при автоматической разметке слайса через sysinstall) еще и записи вроде /dev/ad0s1d /var ufs rw 0 0 /dev/ad0s1e /usr ufs rw 0 0 /dev/ad0s1f /tmp ufs rw 0 0

Наконец, очень рекомендуется проследить, чтобы в наличии была еще и строка /dev/ad0s1g /home ufs rw 0 0

отвечающая за файловую систему с домашними каталогами пользователей.

в которой опции, как нетрудно догадаться предписывают отказ от монтирования при старте (noauto) и режим «только для чтения» (ro). После чего для монтирования CD достаточно будет указать только mount point - $ mount /cdrom

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

Одной строкой можно размонтировать несколько файловых систем: $ umount /usr /var /home

соответственно. Есть и возможность размонтирования файловых систем определенных типов путем указания значений опции -t. Так, команда $ umount -t ufs

размонтирует только BSD-разделы, не затронув CD и всего остального, что задействовано в системе.

Для продолжения работы после выполнения низкоуровневых операций с файловыми системами их потребуется смонтировать обратно. Это можно сделать не только без перезагрузки, но и без нудного индивидуального монтирования. Достаточно прибегнуть к опции -a: $ mount -a

посредством которой будут смонтированы все файловые системы, для которых имеются записи в /etc/fstab. При этом будет предпринята попытка смонтировать и те из них, которые помечены флагом noauto. Чтобы избежать этого, можно дополнительно определить тип файловой системы. То есть команда $ mount -a -t ufs

смонтирует только BSD-разделы, не покушаясь на CD или флэш-накопители. А можно, напротив, исключить из процесса глобального монтирования какие-то из перечисленных в /etc/fstab файловых систем, например, ненужные в данный момент FAT'ы: $ mount -a -t nomsdosfs Преамбула вместо заключения

К слову сказать, команда mount без опций и аргументов (а в такой форме, в отличие от всех рассмотренных выше случаев, ее может дать и обычный пользователь) выведет список смонтированных в данный момент файловых систем с указанием точки монтирования, условий оного и режима работы. Например, для машины, на которой пишутся эти строки, вывод ее будет выглядеть так: /dev/ad0s1a on / (ufs, local, noatime, soft-updates) devfs on /dev (devfs, local) /dev/ccd0e on /var (ufs, local, noatime, soft-updates) /dev/ccd1e on /usr (ufs, local, noatime, soft-updates) /dev/ccd2e on /home (ufs, local, noatime, soft-updates) /dev/md0 on /tmp (ufs, local, noatime, async)

А вот дальше идут строки для устройств и файловых систем, о которых не было речи в предшествующих повествованиях. Более того, если мы посмотрим на соответствующий наличной конфигурации файл /etc/fstab: $ more /etc/fstab /dev/ad0s1b none swap sw 0 0 /dev/ar0s1b none swap sw 0 0 /dev/ad0s1a / ufs rw,noatime 1 1 /dev/ccd0e /var ufs rw,noatime 2 2 /dev/ccd1e /usr ufs rw,noatime 2 2 /dev/ccd2e /home ufs rw,noatime 2 2 /dev/acd0 /cdrom cd9660 ro,noauto 0 0 /dev/da0s1 /mnt/usb ext2fs rw,noauto,noatime 0 0 /dev/md0 /tmp mfs rw,noatime,async,-s32m 2 0

то увидим, что одной из строк вывода (devfs on /dev (devfs, local) вообще нет соответствия среди его записей. Что это за устройства и файловые системы?

Читайте также: