Бэкап системы

Автор Dj Bob, 17 Октября 2008, 13:17

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

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

Dj Bob

Народ а как можно зарезать типа бэкап ДВД ???
Просто слишком много чего прикрутил к убунте а если теперь слетит то трафик жалко
да и ставить все по новому тоже не охота !
Мож кто подскажет как решить эту проблему ?

Zavr

ЦитироватьНарод а как можно зарезать типа бэкап ДВД ???
Просто слишком много чего прикрутил к убунте а если теперь слетит то трафик жалко
да и ставить все по новому тоже не охота !
Мож кто подскажет как решить эту проблему ?

В записках дебианщика есть статья, а вот собственно, и она:

Живой Линукс своими руками, Эпизод 1: Быстро создаём Linux LiveCD

Несмотря на то, что живых дистрибутивов - Linux LiveCD - развелось огромное количество, так или иначе хочется создать что-то своё, для личных нужд и конкретных целей. Способов для этого имеется много, от LFS до Knoppix Customisation Kit. Но "мы пойдём другим путём"и будем создавать живой диск на основе собственного дистрибутива и с минимальными трудозатратами. Ниже описываются шаги на примере Дебиана и live-scripts.


Необходимые приготовления
Для начала нужно скачать скрипты для создания живого диска отсюда. Желательно так же скачать и ядро, которое уже подготовлено для работы - и если вы не гонитесь за какими-то рекордами. Можно собрать и собственное ядро, но его придётся не раз пропатчить...

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


Настраиваем систему
Для этого монтируем файл-образ с установленной и настроенной системой на петлевое устройство и затаскиваем туда необходимые скрипты и ядро (от рута):

    mount -t ext3 debianEtch40Xorg71Xwm.img /cdrom -o loop,offset=32256
    cp linux-2.6.21.5-i486-1.tgz /cdrom/root
    umount /cdrom

Распаковываем архив с ядром, перемещаем получившиеся файлы в соответствующие директории (загрузочный образ в /boot, модули - в /lib/modules, утилиты squashfs в /usr/bin). Всё это делается от рута. Далее генерируем образ initrd:

    mkinitramfs -o /boot/initrd.img-2.6.21.5 2.6.21.5

Версия ядра может измениться, так что команду нужно будет поправить. Заменяем дистрибутивное ядро новым, изменяем grub.list, обновляем загрузчик update-grub - это сэкономит нам ещё около 60 Мб.
Загружаем эмулятор вместе с файлом-образом получившейся системы, тестируем, пробуем.

    qemu -kernel-kqemu -hda debianEtch40Xorg71Xwm.img

Настраиваем виртуальный дистрибутив под наши задачи, устанавливая нужные пакеты и удаляя лишние. Лично у меня есть некий базовый дистрибутив в сжатом виде, как образ QEMU, и в зависимости от задач я меняю состав его программ.

Обязательно проверьте, установлен ли mkisofs - иначе создать живой CD не удастся и вы (забегая вперёд) получите сообщение:

# /tmp/live_data_2865/virenslinux/make_iso.sh
Target ISO file name [ Hit enter for /linux-live-6.1.4.iso ]: virenslive.iso
/tmp/live_data_2865/virenslinux/make_iso.sh: line 25: mkisofs: command not found

Если mkisofs есть, переходим дальше.


Создание живого диска
Снова монтируем файл-образ настроенной системы на петлю:

    mount -t ext3 debianEtch40Xorg71Xwm.img /cdrom -o loop,offset=32256

Теперь согласно руководству, копируем в /cdrom/temp (куда прикручена система для liveCD) скрипты для создания диска. Скрипты будут работать только от рута, так что можно немножко покрасноглазить :-)

Настраиваем скрипты, для чего заходим в каталог /linux-live-версия на прикрученной системе и редактируем файл .config
В нём можно изменить название LIVECDNAME на то, которое больше нравится, и главное - изменить KERNEL на то, которое установлено в той системе (здесь это 2.6.21.5). Таким образом, строка будет выглядеть:

    KERNEL=2.6.21.5

Сделайте это, иначе на следующем шаге скрипт ядро не найдёт.


Генерация файлов живого диска
Теперь переходим к точке монтирования нашей новой системы

    cd /cdrom

и входим в неё:

    chroot /cdrom

Теперь все действия будут выполняться рутом относительно той системы, а не в которой вы работаете. Переходим в каталог со скриптами:

    cd /tmp/linux-live-6.1.4/

и даём команду собрать образ:

    ./build

Для того, чтобы всё прошло успешно, в ядре обязательно должна быть включена поддержка ext2, иначе при сборке всё закончится ошибкой.

Changing current directory to /tmp/linux-live-6.1.4
Name of your live distro [hit enter for virensLinux]:
Linux Live scripts were installed successfuly in /
Enter path for the kernel you'd like to use [hit enter for /boot/vmlinuz]:
Creating LiveCD from your Linux
some debug information can be found in /tmp/linux-live-debug.log
copying cd-root to /tmp/live_data_9345, using kernel from /boot/vmlinuz
creating initrd image...
Using kernel modules from /lib/modules/2.6.21.5
mount: /dev/loop6 has wrong device number or fs type ext2 not supported
Error mounting initrd! Not enough free loop devices?

Если всё на месте, отвечаем на несколько вопросов, и видим процесс генерации:

notebeast:/tmp/linux-live-6.1.4# ./build
Changing current directory to /tmp/linux-live-6.1.4
Name of your live distro [hit enter for virenslinux]:
Linux Live scripts were installed successfuly in /
Enter path for the kernel you'd like to use [hit enter for /boot/vmlinuz]:
Creating LiveCD from your Linux
some debug information can be found in /tmp/linux-live-debug.log
copying cd-root to /tmp/live_data_2865, using kernel from /boot/vmlinuz
creating initrd image...
Using kernel modules from /lib/modules/2.6.21.5
creating compressed images...
base/bin.lzm ...
[========================================================= ] 100/112 89%
base/etc.lzm ...
[================================================================] 709/709 100%
base/home.lzm ...
[==================================================================] 37/37 100%
base/lib.lzm ...
[==============================================================] 2161/2161 100%
base/opt.lzm ...

base/root.lzm ...
[====================================================================] 7/7 100%
base/usr.lzm ...
[========================================================== ] 21934/22313 98%
base/sbin.lzm ...
[========================================================= ] 95/106 89%
base/srv.lzm ...

base/var.lzm ...
[==============================================================] 2100/2100 100%
--------done----------

* run /tmp/live_data_2865/virenslinux/make_iso.bat to create ISO image
* or copy content of /tmp/live_data_2865 to your USB device
and run ./boot/bootinst.sh (from the device!) to setup boot sector

Now press Enter...

За это время можно выпить чашечку кофе, или принять ванну (в зависимости от мощи процессора). У меня это отнимает около 10 минут. После этого нужно создать ISO-образ нашего загрузочного живого пингвина.


Создание живого CD
Осталось последнее - создать ISO образ живого диска и пропалить его на болванку. Для этого переходим в каталог, куда скрипты утоптали пингвина и выполняем:

    notebeast:/tmp/live_data_16804/virensLinux# ./make_iso.sh

После этого поползут диагностические строчки, и пойдёт процесс компоновки диска:
Target ISO file name [ Hit enter for /tmp/virensLinux.iso ]:
genisoimage 1.1.2 (Linux)
Scanning ../.
Scanning .././virensLinux
Scanning .././virensLinux/rootcopy
Scanning .././virensLinux/tools
Scanning .././virensLinux/tools/WIN
Scanning .././virensLinux/modules
Scanning .././virensLinux/optional
Scanning .././virensLinux/base
Scanning .././boot
Scanning .././boot/dos
Scanning .././boot/isolinux
Scanning .././boot/syslinux
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: Eltorito Volume Descriptor Start Block 17
Size of boot image is 4 sectors -> No emulation
Done with: Eltorito Volume Descriptor Block(s) 1
Writing: Joliet Volume Descriptor Start Block 18
Done with: Joliet Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 19
Done with: End Volume Descriptor Block(s) 1
Writing: Version block Start Block 20
Done with: Version block Block(s) 1
Writing: Path table Start Block 21
Done with: Path table Block(s) 4
Writing: Joliet path table Start Block 25
Done with: Joliet path table Block(s) 4
Writing: Directory tree Start Block 29
Done with: Directory tree Block(s) 12
Writing: Joliet directory tree Start Block 41
Done with: Joliet directory tree Block(s) 12
Writing: Directory tree cleanup Start Block 53
Done with: Directory tree cleanup Block(s) 0
Writing: Extension record Start Block 53
Done with: Extension record Block(s) 1
Writing: The File(s) Start Block 54
6.43% done, estimate finish Sat Aug 11 10:00:37 2007
12.85% done, estimate finish Sat Aug 11 10:00:37 2007
19.27% done, estimate finish Sat Aug 11 10:00:32 2007
25.70% done, estimate finish Sat Aug 11 10:00:41 2007
32.11% done, estimate finish Sat Aug 11 10:00:43 2007
38.54% done, estimate finish Sat Aug 11 10:00:45 2007
44.95% done, estimate finish Sat Aug 11 10:00:46 2007
51.39% done, estimate finish Sat Aug 11 10:00:47 2007
57.80% done, estimate finish Sat Aug 11 10:00:47 2007
64.23% done, estimate finish Sat Aug 11 10:00:48 2007
70.64% done, estimate finish Sat Aug 11 10:00:48 2007
77.07% done, estimate finish Sat Aug 11 10:00:47 2007
83.49% done, estimate finish Sat Aug 11 10:00:48 2007
89.92% done, estimate finish Sat Aug 11 10:00:48 2007
96.34% done, estimate finish Sat Aug 11 10:00:48 2007
Total translation table size: 2048
Total rockridge attributes bytes: 6393
Total directory bytes: 22528
Path table size(bytes): 168
Done with: The File(s) Block(s) 77653
Writing: Ending Padblock Start Block 77707
Done with: Ending Padblock Block(s) 150
Max brk space used 0
77857 extents written (152 MB)

Готово, будет создан (в моём случае) файл virensLinux.iso, который является загрузочным диском. Проверяю в QEMU:

    qemu -cdrom virensLinux.iso

Работает! Вот, например, что в итоге получилось у меня:

http://bp2.blogger.com/_hM8AMxgJLzw/RvdmMC.../livelinux2.jpg

Простой и строгий IceWM с одной из тем по умолчанию (Infadel2). Простенько, но со вкусом. Правда, при загрузке оно пишет Slax, но это уже другая история.
Теперь ISO-образ пропаливаем на болванку любимой программой прожига, и радуемся.



http://mydebianblog.blogspot.com/2007/09/1-livecd.html

рабочие ссылки вы можете найти в оригинале статьи  :)
ночь, полная луна, по кладбищу бродят пингвины... готишно...

Zavr

как вы уже поняли, Live CD можно сделать из абсолютно любого установленого дистра
ночь, полная луна, по кладбищу бродят пингвины... готишно...

Vicpo

Ну лайвсд это не бэкап  :)
Бэкап проще можно сделать
требования пустой диск такого же объема что и системный
загружаемся с лайвсд топаем в консоль ищем системный диск(пусть будет sda1) пустой диск пусть будет sdb1 монтируем его в каталог /mnt/disk
выполняем команду dd of=/dev/sda1 if=/mnt/disk/backup.img
и ждем завершения, восстановление точно также только команду даем
dd of=/mnt/disk/backup.img if=/dev/sda1

Либо просто загрузиться  с LiveCD и заархивировать весь корневой раздел куда нибудь и все.

Zavr

бекап эт кагда нужно сохранить не только систему, но и документы
я так понял, Dj Bob`у нужна только система с нужным ему набором пакетов и настройками

у Live CD который ты сделал сам для себя больше преимуществ чем у любого другого, а иногда даже больше чем у установленой системы

только вот как ее установить патом на винт?
ночь, полная луна, по кладбищу бродят пингвины... готишно...

Vicpo

выше описанным способом можно забекапить и домашний каталог, но его обычно загоняют в архив и отправляют либо на съемник либо ещё куда подальше от рабочего винта  :)

Zavr

мы друг друга не поняли :D
ночь, полная луна, по кладбищу бродят пингвины... готишно...

log

ЦитироватьНарод а как можно зарезать типа бэкап ДВД ???
Просто слишком много чего прикрутил к убунте а если теперь слетит то трафик жалко
да и ставить все по новому тоже не охота !
Мож кто подскажет как решить эту проблему ?
Если _только_пакеты_ , то с помощью APTonCD.
Если всю систему то попробуйте:
 backup-manager -command-line backup tool
cdbackup CD-R(W) backup utility
multicd Backup your data to CD-R/CD-RW
partimage Бэкап разделов/винтов+приличное сжатие на выходе.

Все это ставится с помощью apt-get , aptitude или любым менеджером пакетов и наверняка есть в бубунте...

Ну или с помощью dd, тоже отличный вариант.
А потом, доктор, я собрал мир. Это заняло у меня 7 дней...