Страница 40 из 65 7.33. Как перенести систему на большой новый диск?Самый лучший способ заключается в переустановке ОС на новый диск и последующем переносе данных пользователей. Это очень рекомендуется делать, если вы следов али ветке -stable в течение более одного релиза или обновляли релиз, а не устанавливали новый. Вы можете установить программу booteasy на оба диска с помощью команды boot0cfg(8) и выполнять загрузку с любого из них до тех пор, пока не будете удовлетворены новой конфигурацией системы. Пропустите следующий абзац, чтобы перейти к вопросу переноса данных после этой операции. Если вы решили не делать новой установки, то вам нужно разбить на разделы и разметить новый диск с помощью /stand/sysinstall или fdisk(8) и disklabel(8). В ы также должны установить на оба диска программу booteasy с помощью boot0cfg(8) , чтобы иметь возможность выполнять загрузку как старой, так и новой системы после выполнения копирования. Обратитесь к руководству по форматированию носителей за подробным описанием этого процесса. Итак, после подготовки диск, вы можете переносить данные. К сожалению, вы не можете просто скопировать данные. Такие вещи, как файлы устройств (в каталоге / dev) и символические ссылки будут этому мешать. Вам нужно использовать инструменты, которые работают с такими случаями, а именно dump(8) и tar(1). Я рекомендую выполнять перенос данных в однопользовательском режиме, но это не обязательно. Вы не должны использовать ничего, кроме dump(8) и restore(8) для переноса корне вой файловой системы. Команда tar(1) может сработать, а может и не сработать. Также вы должны использовать dump(8) и restore(8) при переносе одного раздела в другой пустой раздел. Последовательность шагов при использовании программы dump для переноса данных раздела в новый раздел такова: 1. выполните команду newfs над новым разделом. 2. смонтируйте его во временный каталог. 3. перейдите в этот каталог. 4. Выполните команду dump над старым разделом, направив вывод в новый раздел. Например, если вы собираетесь перенести корневую файловую систему на устройство /dev/ad1s1a с использованием каталога /mnt в качестве временной точки монтиров ания, то это делается так: # newfs /dev/ad1s1a # mount /dev/ad1s1a # cd /mnt # dump 0uaf - / | restore xf -
Если вы собираетесь изменить размещение ваших разделов - скажем, разбив один из разделов на два или объединив два раздела в один, вы можете обнаружить необходимость в переносе всего в один подкаталог на новое место. Так как программа dump(8) работает с файловыми системами, она этого сделать не сможет. Поэтому воспользуйтесь программой tar(1). Команда общего вида для переноса /old в /new в случае tar(1) имеет такой вид: # (cd /old; tar cf - .) | (cd /new; tar xpf -)
Если в каталог /old смонтированы файловые системы, и вы не хотите перемещать данные или размонтировать их, то просто добавьте флаг 'l' к первому упоминанию tar(1): # (cd /old; tar clf - .) | (cd /new; tar xpf -).
Вы можете предпочесть cpio(1), pax(1) или cpdup (из ports/sysutils/cpdup) в место tar. |