====== FreeBSD: переносим файлы ОС с одного диска на другой ======
Что есть: диск с установленным на него ОС FreeBSD
Что нужно: перенести файлы на второй диск, чтобы можно было загрузиться со второго диска
===== Подготовка =====
1. Монтируем файловые системы на исходном диске и диске назначения по вашему вкусу.
Если файловая система - zfs, то могут сильно помочь команды:
* zpool import -f -R /mnt <имя пула>
где ключи:
* -f - форсированное монтирование
* -R - монтировать файловые системы ZFS по указанному пути
а также:
* mount -t zfs <имя пула zfs> <точка монтирования>
Эта команда позволит смонтировать корневую файловую систему zfs, которая по-умолчанию не монтируется командой zpool import.
2. Далее переносим с помощью tar исходные файлы на диск назначения. К примеру, в /mnt/source у нас смонтирована исходная файловая система, в /mnt/destination - файловая система назначения. Тогда:
cd /mnt
# tar -C source -cf - . | tar -C target -xvf -
с помощью ключа -X мы можем указать tar, какие файлы не нужно копировать. Пример: -X /tmp/xlist
3. Это еще не все. Нам нужно перенести специальные флаги. Идея такая: снимаем информацию по флагам в отдельный файл с исходных файлов, и основываясь на этой информации, применяем флаги к скопированным данным. Вот как это можно сделать:
# cd /mnt/source
# mtree -c > <файл с флагами>
# ( cd /mnt/destination ; mtree -deU -f <путь к файлу с флагами> )
Это собственно все. Надеюсь, основная идея была понятной. Если нет, то смотрим ссылки, там все разжевано.
===== Ссылки =====
- http://keramida.wordpress.com/2008/09/14/moving-a-freebsd-installation/
- http://www.tech-recipes.com/rx/115/copy-files-and-directories-recursively-with-tar/
- http://mysyslog.ru/posts/313
TAG: {{tag> FreeBSD}}
~~DISCUSSION~~