Инструкция по быстрому клонированию Arch Linux

Автор ping_Win, 15 Сентября 2012, 15:14

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

ping_Win

15 Сентября 2012, 15:14 Последнее редактирование: 15 Сентября 2012, 15:16 от ping_Win
У нас есть установленная и сконфигурированная система, которую мы хотим быстро тиражировать.

Примечание: рассматривается система, установленная на один раздел.

Для этого необходимо загрузиться с последнего установочного образа арча, который можно добыть здесь.

Монтируем файловую систему компьютера, с жетского диска которого мы хотим скопировать систему

# mount /dev/sda1 /mnt
Далее необходимо смонтировать носитель, на который мы будем закидывать полученный архив (в нашем случае это переносной жесткий диск).

# mount /dev/sdc1 /media
Теперь необходимо создать архив, причем обязательного от пользователя root, иначе могут неверно скопироваться права на файлы.

# cd /
# tar -cf /media/root.tar *

После завершения создания архива необходимо корректно отмонтировать файловые системы
# umount /mnt
# umount /media

На этом первая часть нашей работы закончена и мы переходим к развертыванию полученного пакета на целевом компьютере. Загружаемся с установочного образа арча и монтируем носитель с архивом файловой системы в папку /media

# mount /dev/sdc1 /media
Далее необходимо с помощью утилиты cfdisk, входящей в состав установочного образа, создать раздел на жестком диске sda и задать ему флаг Bootable, после чего создаем файловую систему на новом разделе и монтируем в /mnt
# mkfs.ext4 /dev/sda1
# mount /dev/sda1 /mnt

После чего перемещаем архив в директорию /mnt, которая в скором времени станет корнем нашей новой системы, и распаковываем скопированный архив

# cp /media/root.tar /mnt/root.tar
# cd /mnt
# tar -xf root.tar

Теперь необходимо сгенерировать новый fstab, выполнить chroot, который в моем любимом арчике не требует лишних телодвижений, и инсталировать загрузчик grub

# genfstab -p /mnt > /mnt/etc/fstab
# arch-chroot /mnt
# grub-install /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

Вот теперь у вас есть полностью готовый к работе Arch Linux, не забудьте донастроить свежеустановленную систему и корректно отмонтировать файловые системы.

# exit
# umount /mnt
# umount /media

B@F

Я думаю это подойдет к любому линуксу.
Поправьте, если я ошибаюсь, буду тока рад.

ping_Win

Цитата: B@F от 16 Сентября 2012, 10:22Я думаю это подойдет к любому линуксу.
Всё верно, за исключением утилитки arch-chroot, которая облегчает жизнь.

sotrud_nik

Еще 10.08 Убунту разворачивал из архива tar.gz.

Venhard

Ух-ты, круто ! Надо попробовать. Вопрос: насколько это отличается от создания копии раздела (ов) в clonezilla ?

sotrud_nik

clonezilla использует dd, то есть копирует посекторно, а не пофайлово.

А когда разворачиваешь из архива, то есть вероятность что файлы запишутся последовательно,
что есть гуд, и уменьшает лишние движения головки жесткого диска.

ping_Win

dd конечно хорошо, но слишком уж медленно работает на больших жестких дисках

sotrud_nik

Хотя может я и соврал) Проверять надо.

Venhard

В случае если /boot на отдельном разделе, действия будут точно такими же, только его надо запаковать и перенести на новый созданный и отформатированный раздел ? А как быть с /home разделом ? Или при переносе его надо создать и подключить в новом /etc/fstab ? Пользователь тоже перенесется вместе с рутовым разделом или придется нового создавать ?

ping_Win

ЦитироватьВ случае если /boot на отдельном разделе, действия будут точно такими же, только его надо запаковать и перенести на новый созданный и отформатированный раздел ? А как быть с /home разделом ? Или при переносе его надо создать и подключить в новом /etc/fstab ?
Если все разделы правильно смонтированы, то можно так же в один архив всё запаковать и потом распаковать, причем можно повторить структуру файловой системы или же, например, просто на один раздел распаковать и поправить fstab

ЦитироватьПользователь тоже перенесется вместе с рутовым разделом или придется нового создавать ?
Копируются абсолютно все настройки: пользователи, ssh-ключи и прочее

Venhard

Что-то не совсем понятно. Например у меня есть 4 раздела:

/dev/sda1    /boot
/dev/sda2    /swap
/dev/sda3    /
/dev/sda4    /home

Список возникших вопросов: http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />

1) Куда монтировать /boot и /home ?
2) Как все разделы запаковать в один архив ? Или в данном случае придется делать архив для каждого раздела ?
3) Будут ли паковаться файлы с /home раздела (там много больших файлов) ,сколько это займет времени или можно их как-то пропустить  ?
4) Каким должна быть структура разделов на другом диске, аналогичная текущей или может отличаться ?

ping_Win

21 Сентября 2012, 20:31 #11 Последнее редактирование: 21 Сентября 2012, 20:32 от ping_Win
Цитата: Venhard от 20 Сентября 2012, 15:23Что-то не совсем понятно. Например у меня есть 4 раздела:

/dev/sda1    /boot
/dev/sda2    /swap
/dev/sda3    /
/dev/sda4    /home

Список возникших вопросов: http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />

1) Куда монтировать /boot и /home ?
2) Как все разделы запаковать в один архив ? Или в данном случае придется делать архив для каждого раздела ?
3) Будут ли паковаться файлы с /home раздела (там много больших файлов) ,сколько это займет времени или можно их как-то пропустить  ?
4) Каким должна быть структура разделов на другом диске, аналогичная текущей или может отличаться ?

1) Если в корень монтируешь в /mnt, то монтировать надо надо /mnt/boot и /mnt/home
2) Перейти в /mnt и запаковать, будут запакованы все файлы
3) Да, если он примонтирован. Если запаковывать без сжатия, то будет существенно быстрее. Как пропустить я даже и не знаю.
4) Абсолютно любая, лишь бы хватило места на всех разделах.