/dev/tape – так обычно обозначается псевдоним (символическая ссылка) специального файла ленточного устройства. Далее предполагается, что домашние каталоги пользователей размещаются на отдельном логическом разделе, примонтированном к каталогу /home. При этом в конфигурационном файле /etc/fstab строка с /home в поле для резервного копирования должна содержать единицу; без нее утилита dump откажется работать.
Не рекомендуется производить резервное копирование разделов, которые в данный момент примонтированы к корневой файловой системе; их следует временно демонтировать.
Как уже отмечалось выше, файлам, которые не следует резервировать, с помощью утилиты chattrможет присваиваться дополнительный атрибут d. Утилита dumpигнорирует файлы с подобной меткой.
Файловому копированию свойственно несколько недостатков. Во-первых, в некоторых случаях оно ведет к изменению временных отметок файлов, а также их владельцев. Файлы-источники как минимум меняют время последнего доступа, а файлы-копии обновляют три временных отметки. Во–вторых, при копировании данных на носитель с иной файловой системой не дублируются некоторые специфические для исходной файловой системы метаданные файлов. Наконец, не копируются каталоги, которые на момент копирования могли быть закрыты примонтированными разделами. Эти обстоятельства совершенно неприемлемы в случаях, когда необходимо получить юридически достоверную копию и исключить какие-либо изменения в источнике копирования. Для решения таких задач может подойти утилита dd. Этоуниверсальная утилита для блочного (с изменяемым размером блока) копирования файлов. По той причине, что в ОС Linux диски и разделы представлены в виде файлов, можно утверждать, что она будет работать и с ними. Копирование дисковых разделов не нуждается в их монтировании, но при этом они не должны быть смонтированными и использоваться.
if=<источник>– файл, откуда копируются данные. Если источник не указан, копируются данные из стандартного ввода stdin, в случае интерактивной работы – введенные с клавиатуры. Поток данных может передаваться команде dd из другой программы через конвейер; в этом случае параметр if= не указывается, так как используется ввод из stdin.
of=<приемник>– файл, в который записываются данные. В случае отсутствия адресуемого файла в файловой системе он будет создан. Если параметр of= не указан, данные выводятся в стандартный вывод stdout или на экран. В случае отсутствия параметра of= вывод утилиты через конвейер можно перенаправить другой программе.
bs=<размер_блока>–размерблока копируемых данных, который по умолчанию равен 512 байтов. Максимальная скорость копирования обеспечивается при размере блока 4096 байтов (4 Кб), что равно одной странице виртуальной памяти. Минимальный размер копируемого блока можно указать равным одному байту, но реальный размер считываемого блока все равно не может быть меньше величины одного сектора на диске. Размер блока может задаваться раздельно для источника (ibs – input block size) и для приемника (obs – output block size). Если копируемые блоки одинаковы, то задается величина bs. Размер может задаваться в байтах (единица измерения не указывается), килобайтах (К), мегабайтах (М), гигабайтах (G).
skip=<число_блоков>–количество (десятичное число) пропущенных при копирования из источника блоков указанного размера.
conv=noerror,fsync–режим обработки ошибок, при котором блок, скопированный с ошибкой контрольной суммы в приемнике, заполняется нулями, а процесс копирования не прерывается. При отсутствии этого параметра копирование завершается после первой ошибки чтения. Аргумент fsync служит для того, чтобы скопированные данные не «застревали» в дисковом кэше, а сразу записывались на диск.
Этим не исчерпываются возможности этой великолепной утилиты. Она может использоваться для просмотра элементов архитектуры файло-
вых систем вместо дискового редактора. С помощью dd можно также вставлять данные в нужные места адресуемой памяти. Варианты использования утилиты:
· для создания файл-образа гибкого магнитного диска
dd if=/dev/fd0 of=/tmp/floppy conv=noerror
· для создания файл-образа компакт–диска
dd if=/dev/hdc of=/tmp/cdrom1 conv=noerror
· для создания файл-образа 7-го раздела жесткого магнитного диска с IDE-интерфейсом
Одним из недостатков утилиты dd является отсутствие информирования пользователя о процессе ее работы. Когда речь идет о копировании физических дисков или логических разделов большого размера, подобная неизвестность действует угнетающе. В руководстве по использованию утилиты предлагается из другой консоли периодически выдавать команду вида