Man lofiadm (как работать с образом диска)
Для работы с образом диска, записанным в файл, может оказаться полезной программа lofiadm, которая позволяет настроить обращение к файлу как к блочному устройству.
Эта программа управляет драйвером lofi, который позволяет связать файл с блочным псевдоустройством. После этого содержимое файла будет доступно посредством обращения к файлу этого блочного устройства. У системы будет полное впечатление, что это и есть устройство и его можно монтировать с помощью mount, проверять на корректность записей на нем с помощью fsck и т.п.
Программу lofiadm следует использовать для добавления таких псевдоустройств, удаления связи файла и псевдоустройства и вывода информации о таких устройствах в системе.
Например, можно смонтировать образ компакт-диска стандарта ISO, лежащего в файле ex.iso:
lofiadm -a /home/ivan/ex.iso /dev/lofi/1
Затем можно смонтировать новое устройство в системе:
mount -F hsfs -o ro /dev/lofi/1 /mnt
и проверить, видно ли оно:
df -k /mnt Filesystem kbytes used avail capacity Mounted on /dev/lofi/1 512418 512418 0 100% /mnt
Для демонтирования псевдоустройства и его удаления из системы следует дать следующие команды:
umount /mnt lofiadm -d /dev/lofi/1
Обратите внимание на возможность создания файловой системы на псевдоустройстве и появлении устройства прямого доступа (rlofi, аналогично rdsk) после выполнения lofiadm -a:
lofiadm -a /export/home/test /dev/lofi/1 newfs /dev/rlofi/1 newfs: construct a new file system /dev/rlofi/1: (y/n)? y /dev/rlofi/1: 71638 sectors in 119 cylinders of 1 tracks, 602 sectors 35.0MB in 8 cyl groups (16 c/g, 4.70MB/g, 2240 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 9664, 19296, 28928, ...
К файлу, который смонтирован в качестве псевдоустройства с помощью lofiadm, нельзя обращаться напрямую, как к файлу. Это аналогично тому, что нельзя напрямую обращаться к диску для записи файла, а следует делать это через драйвер файловой системы. Надлежит устанавливать такие права доступа к файлам, монтируемым как устройства, чтобы предотвратить несанкционированный доступ к ним как к обычным файлам.
После перезагрузки связь файла и псевдоустройства теряется; если требуется сделать ее постоянной, надо написать скрипт, который будет запускаться при загрузке и добавлять соответствующее псевдоустройство в систему, а затем его монтировать.
Возможность управлять псевдоустройствами зависит от прав доступа к файлу /dev/lofictl. По умолчанию правом монтирования и демонирования псевдоустройств обладает только root.