Управление дисками из командной строки, часть 3

Управление дисками из командной строки, часть 3

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

Это неотъемлемая часть Дисковой утилиты, и, как и в случае с разбиением на разделы, создание и восстановление образов можно выполнять через командную строку.

Открытие образов дисков

Образ диска — это файл, содержащий всю структуру раздела или даже просто папку. На Mac образы дисков, как правило, представляют собой файлы DMG. Вы, вероятно, сталкивались с ними при загрузке приложений, таких как Skype, из Интернета. Если вы помните времена, когда программное обеспечение поставлялось либо на дискетах, либо на оптических дисках, образы дисков были разработаны для работы почти таким же образом, но посредством цифрового, а не физического распространения.

Skype is packaged in a DMG file

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

Образы дисков также сохраняют функции загрузки, поэтому образы, созданные из загрузочных томов OS X, можно создавать и восстанавливать. Это особенно полезно для тех, кому нужно настроить десятки, если не сотни, одинаковых компьютеров Mac с одинаковой конфигурацией программного обеспечения. Вместо того, чтобы повторять весь процесс настройки на каждом Mac, его можно было бы выполнить только на одном Mac и создать его образ диска, а затем восстановить его на всех остальных Mac.

Создание образа диска и тома

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

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

Чтобы создать образ диска раздела, выполните команду:

sudo hdiutil create ~/Desktop/{disk image name}.dmg -srcdevice /dev/{disk identifier}

Выполнение hdiutil таким образом должно быть от имени пользователя root, поэтому оно начинается с sudo.

Примером этой команды на практике может быть:

sudo hdiutil create ~/Desktop/Lion.dmg -srcdevice /dev/disk2s4

Эта команда создаст новый образ диска с именем Lion.dmg на рабочем столе на основе идентификатора диска disk2s4. В данном случае это относилось к тому, содержащему установку OS X Mavericks.

Создание образа диска из папки

Команду hdiutil также можно использовать для создания образа диска на основе папки.

hdiutil create {imagename}.dmg -volname "{Name of volume}" -srcfolder /{path to folder}'

Используя приведенную выше команду, мы могли бы выполнить следующее:

hdiutil create ~/Desktop/newimage.dmg -volname "New Disk Image" -srcfolder ~/Desktop/myfolder

Имя образа диска и имя тома — это две разные вещи, первое просто относится к имени файла созданного образа диска. Когда образ монтируется или восстанавливается на диск, используется имя тома. Поэтому, если я смонтирую этот новый образ диска, вы увидите, что OS X смонтирует его как «New Disk Image»

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

Стандартные образы дисков не могут увеличиваться в размере, поэтому вам нужно будет указать конкретный размер, если вы собираетесь добавлять в него данные позже. Параметр -size может использоваться для указания размера создаваемого образа диска.

Если вам нужно будет изменить или добавить больше данных в образ диска, используйте параметр -format UDRW, который представляет чтение/запись.

Сочетая все вышеперечисленное, команда будет такой:

hdiutil create ~/Desktop/newimage.dmg -volname "New Disk Image" -size 1g -format UDRW -srcfolder ~/Desktop/myfolder

Создание зашифрованных образов

Хотя Mac OS X не поддерживает защищенные паролем папки, вы можете создавать зашифрованные образы дисков и хранить в них важные файлы.

Чтобы создать зашифрованный образ диска, используйте команду:

hdiutil create {imagename}.dmg -encryption -size {size} -volname {Name of volume} -format {filesystem}

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

Вот пример команды для создания зашифрованного образа диска объемом 1 ГБ:

hdiutil create encrypted.dmg -encryption -size 1g -volname "Encrypted Disk Image" -fs JHFS+

Во время процесса появится генератор паролей OS X, чтобы вы могли указать и подтвердить (или сгенерировать) пароль.

Изменение размера образов дисков

Если вы создали образ диска, который стал заполненным или был намного больше необходимого, его размер можно изменить с помощью параметра resize и параметра -size..

hdiutil resize -size {new size} {imagename}.dmg

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

hdiutil resize -size 2g newimage.dmg

Восстановление образов дисков

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

Восстановление образов дисков не выполняется ни hdiutil, ни diskutil, но следующей командой, которую мы рассмотрим: asr.

asr (Apple Software Restore), используется для копирования (восстановления) образа диска на диск. Команда, используемая для восстановления образа диска:

sudo asr restore --source {disk image}.dmg --target /Volumes/{volume name}

Есть несколько параметров, которые можно включить для ускорения процесса, которые можно добавить в конец команды.

  • noprompt (не отображает никаких подсказок перед удалением или восстановлением)

  • noverify (пропускает проверку после восстановления)

  • erase (сотрет целевой том, прежде чем продолжить)

Примером команды, использующей эту опцию, будет:

sudo asr restore -source ~/Desktop/Lion.dmg -target /Volumes/Lion -noprompt -noverify -erase

Восстановление тома в том

Если вам нужно скопировать том с одного внешнего жесткого диска на другой, вам не нужно сначала создавать образ диска, так как asr может восстановить один том на другой.

Команда для этого аналогична восстановлению образа диска, но мы ссылаемся на том, а не на образ диска. Например:

sudo asr restore -source /Volumes/Mavericks --target /Volumes/NewVolume -noprompt -noverify -erase

После завершения целевой том будет идентичен исходному тому, даже с тем же именем.

Итог

Используя комбинацию diskutil, hdiutil и asr, все функции Дисковой утилиты можно выполнять через командную строку, от зашифрованных образов дисков до базового дублирования томов.

Обо мне

bottom-logo

Я дизайнер. Здесь вы можете увидеть мои работы. Хорошо я делаю свою работу или не очень — судить вам.

Главное правило — вы никогда не увидите незаконченной работы. Только досконально отточенный проект можно выпускать в жизнь.

Калькулятор упаковки