Вступление
Эта статья расскажет о том как создать архив со stage4. Aрхив stage4 это образ вашего /root раздела жесткого диска. Основной причиной для создания Архива stage4 является возможность быстрого восстановления системы при сбоях на жестком диске или быстрого развертывания системы. Aрхив stage4 представляет собой тоже самое что и stage3, с тем различием, что вы будете иметь систему с теми CFLAGS и софтом, которое вы уже установили на момент создания stage4. Вы можете адаптировать этот способ под ваши личные нужды.
Если вы хотите создать систему способную устанавливаться на разные архитектуры одного типа процессоров (х86 или PowerPC), то используйте genkernel для установки вашего ядра. Это позволит загрузиться, и ядро будет работать точно также как и livecd. Вы можете также уменьшить степень оптимизации флагов CFLAGS (например, MCPU или MARCH) для создания "всеядного" архива stage4. Также придется исправить ошибки в файле /etc/fstab и изменить или использовать USE флаги после распаковки stage4, в каждом конкретном случае.
Подразумевается, что вы уже установили Gentoo. Если ещё нет, то воспользуйтесь handbook и сперва установите систему.
Также подразумевается, что вы уже установили некоторый список программного обеспечения и желаете использовать его, например, X, Xfce4, Sun’s JDK, CVS, Emacs, Thunderbird, и Firefox.
Архивация /boot
Сделайте копию /boot Если /boot у вас смонтирована отдельным разделом, то примонтируйте её сначала:
mount /boot
cp -R /boot /bootcpy
umount /boot
Как вариант, вы можете просто примонтировать /boot перед архивацией вашей системы. Но имейте в виду что это может вызвать проблемы в использовании stage4 на системах с различающимся оборудование(железом).
Если вы клонируете систему на машины с похожей конфигурацией, убедитесь что вы используете различные ключи
/etc/ssh/ssh_host_* keys.
rm /etc/ssh/ssh_host*
Так же вы можете прочитать Running out of disk space FAQ для освобождения места на жестком диске.
С большой осторожностью чистите /var/tmp. На некоторых системах информация о конфигурации звуковой карты и портежей берется оттуда. Это может вызвать ряд проблем позднее. Может быть лучше иметь слегка больший tarball чем узнать что восстановленная система неработоспособна.
Архивация системы
Создайте исключающий файл который скажет tar что не нужно добавлять в архив stage 4. Заканчивайте написание пути /* . Этим вы включите в архив все содержимое, поскольку если путь заканчивается просто / то архиватор сожмет только саму папку, но не включит в архив её содержимое, а это значит, что при восстановлении вы получите папки с пустым содержимым.
Содержание файла stage4.excl:
.bash_history
/dev/*
/mnt/*
/tmp/*
/proc/*
/sys/*
/usr/src/*
/usr/portage/*
/путь/к/stage4.tar.bz2
После завершения настроек архивации, мы создадим архив нашей системы:
tar cjpf /path/to/save/at/stage4.tar.bz2 / -X stage4.excl
Опции tar которые использовались:
c - создание архива j - использование bzip2 алгоритма сжатия p - Сохранять атрибуты файлов(НЕ УДАЛЯТЬ!!) f /path/file - вывод осуществлять в файл (а не в стандартный вывод) X - использовать файл с исключениями
Для более полного понимания и дополнительной информации прочтите tar manpage
Архивация займет достаточно много времени в зависимости от количества установленного софта. Рекомендуется сохранять архив на другой диск, подключенный к другому контролеру (для ускорения), или же на CD/DVD.
Если получившийся файл намного превышает размер CD, то вы можете разбить его на несколько небольших по размеру. Используйте для этого программу ‘split’. Части могут быть позже воссоединены программой ‘cat’.
Здесь приведены несколько скриптов которые могут сделать это сами.
Установка из архива stage4
- Загружаемся с live CD
- Устанавливаем системное время UTC и/или время в BIOS
date MMDDHHmmCCYY
hwclock --systohc
- Создайте разделы, файловые системы и смонтируйте их
- Скопируйте архивы stage4 на диск (если вы используете несколько CD загрузите систему набрав "gentoo docache"
при старте LiveCD. Позже вы сможете смонтировать и размонтировать другие CD.)
cd /mnt/gentoo
tar -xvjpf stage4.tar.bz2
- Если при создании архива вы копировали раздел /boot в /bootcpy, то при распаковке не забудьте восстановить /boot новой системы из каталога /bootcpy
cp -R /mnt/gentoo/bootcpy/* /mnt/gentoo/boot/
Дважды проверьте раздел /boot после копирования, прежде чем удалять /bootcpy!
rm -rf /mnt/gentoo/bootcpy
- Создайте несколько основных устройств, которые могут потребоваться при загрузке системы
mknod -m 660 /mnt/gentoo/dev/console c 5 1
mknod -m 660 /mnt/gentoo/dev/null c 1 3
(опционально) # mknod -m 660 /mnt/gentoo/dev/tty1 c 4 1
- Примонтируем /proc и /dev внутри chroot
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
- Скачайте или установите с CD последнюю версию портежей
cd /mnt/gentoo/usr/
wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2
tar xjf portage-latest.tar.bz2
- Смените корень и войдите в только что установленную систему /mnt/gentoo
chroot /mnt/gentoo /bin/bash
env-update; source /etc/profile
- Убедитесь что следующие файлы присутствуют в вашей системе
/boot/grub/grub.conf (или /boot/grub/menu.lst)
/etc/fstab
/etc/conf.d/hostname
/etc/hosts
/etc/conf.d/net
- Убедитесь, что установили загрузчик (grub или lilo) в главную загрузочную запись (mbr)
Настройка таблицы разделов
Прежде чем продолжить сохраните вашу текущую таблицу разделов:
dd if=/dev/(Ваш_диск) of=mbr.save count=1 bs=512
sfdisk -d /dev/(Ваш_диск) > partitions.save
Первое сохранит mbr а второе запишет информацию о разделах (включая логические диски, которые не записываются в mbr).
Для того чтобы восстановить разделы, введите следующее:
dd if=mbr.save of=/dev/(Ваш_диск)
sfdisk /dev/(Ваш_диск) < partitions.save