Утилиты 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.
Содержание . .