Утилиты CLI, резервное копирование: команды dd и cpdup

Обычный способ переноса файловых систем -- классическая утилита dd, описанная в одном из предыдущих параграфов. Для использования ее в этом качестве достаточно указать файл устройства -- источника и файл целевого устройства. Например, директива

$ dd if=/dev/ad0s1a of=/dev/ar0s1a

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

Важно также, что команда dd не требует ни предварительного создания файловой системы на целевом носителе, ни его монтирования. Ибо механизм ее работы -- поблочный перенос всего содержимого устройства-источника на устройство-цель.

Та же задача может быть решена с помощью команды cpdup, также упоминавшейся ранее. Правда, она требует предварительного создания разделов на целевом носителе, файловых систем на разделах и их монтирования в структуру текущей коревой файловой системы. Вот как используется cpdup при ручной установке ОС DragonFlyBSD:

$ cpdup / /mnt

$ cpdup /var /mnt/var

$ cpdup /etc /mnt/etc

$ cpdup /dev /mnt/dev

$ cpdup /usr /mnt/usr

Здесь каталоги /, /var и так далее -- точки монтирования корня и отдельных его ветвей файловой системы установочного LiveCD, а /mnt, /mnt/var -- заблаговременно созданные, отформатированные и смонтированные разделы на винчестере, на который инсталлируется DragonFlyBSD.


Содержание

. .