Файловые системы, отображаемые в файлы, во FreeBSD5.X
Во FreeBSD 5.X для конфигурации и подключения дисков md(4), отображаемых в оперативную память, используется утилита mdconfig(8). Для работы с вам нужно подгрузить модуль или добавить поддержку этих устройств в файл конфигурации ядра:
device md
Утилита поддерживает три типа виртуальных дисков, отображаемых в память: диски в памяти, которая выделяется запросами malloc(9) и диски в памяти, использующие в качестве устройств хранения файлы или раздел подкачки. Одним из возможных использований таких дисков является монтирование файлов с образами дискет или CD.
Для монтирования образа существующей файловой системы:
Пример 16-6. Использование mdconfig для монтирования файла с образом существующей файловой системы во FreeBSD 5.X
# mdconfig -a -t vnode -f diskimage -u 0
# mount /dev/md0 /mnt
Для создания образа новой файловой системы при помощи mdconfig(8):
Пример 16-7. Создание нового диска, отображаемого в файл, при помощи mdconfig
# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in 5120+0 records out # mdconfig -a -t vnode -f newimage -u 0
# disklabel -r -w md0 auto
# newfs md0c
/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes. super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 # mount /dev/md0c /mnt
# df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4846 2 4458 0% /mnt
Если в параметре -u вы не задали номер устройства, то mdconfig(8) для выбора неиспользуемого устройства будет использовать функцию автоматическое выделения в md(4). Имя выделенного устройства будет выдано на стандартное устройство выводы в виде, например, md4. Для получения более полной информации о mdconfig(8), пожалуйста, обратитесь к соответствующей странице справочной системы.
Замечание: Начиная с FreeBSD 5.1-RELEASE, на смену старой программе disklabel(8) пришла утилита . У bsdlabel(8)
отсутствуют некоторые устаревшие опции и параметры; в примере выше параметр -r не может использоваться с bsdlabel(8).
Для получения дополнительной информации обратитесь к справочной странице п о bsdlabel(8).
Утилита весьма полезна, однако для создания файла с файловой системой требуется произвести много действий. Вместе с FreeBSD 5.0 поставляется утилита под названием mdmfs(8), которая создаёт диск при помощи mdconfig(8), размещает на нём файловую систему UFS при помощи newfs(8) и монтирует её командой . Например, если вы хотите создать и смонтировать такой же образ файловой системе, как выше, просто наберите такую команду:
Пример 16-8. Настройка и монтирование диска, отображаемого в файл, при помощи команды mdmfs
# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in 5120+0 records out # mdmfs -F newimage -s 5m md0 /mnt
# df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4846 2 4458 0% /mnt
Если вы используете параметр md без номера устройства, то mdmfs(8) будет использовать автоматическую нумерацию md(4) для автоматического выбора неиспользуемого устройства. Более полную информацию о mdmfs(8) можно найти на страницах справочной системы.