Linux Forum Казахстан

Общий => Вопрос новичка => Тема начата: Dj Bob от 17 Октября 2008, 13:17

Название: Бэкап системы
Отправлено: Dj Bob от 17 Октября 2008, 13:17
Народ а как можно зарезать типа бэкап ДВД ???
Просто слишком много чего прикрутил к убунте а если теперь слетит то трафик жалко
да и ставить все по новому тоже не охота !
Мож кто подскажет как решить эту проблему ?
Название: Бэкап системы
Отправлено: Zavr от 17 Октября 2008, 14:00
ЦитироватьНарод а как можно зарезать типа бэкап ДВД ???
Просто слишком много чего прикрутил к убунте а если теперь слетит то трафик жалко
да и ставить все по новому тоже не охота !
Мож кто подскажет как решить эту проблему ?

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

Живой Линукс своими руками, Эпизод 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 (//\"http://bp2.blogger.com/_hM8AMxgJLzw/RvdmMCz9i7I/AAAAAAAAAQc/_3XkpoTo-QY/s1600-h/livelinux2.jpg\")

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



http://mydebianblog.blogspot.com/2007/09/1-livecd.html (//\"http://mydebianblog.blogspot.com/2007/09/1-livecd.html\")

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

Либо просто загрузиться  с LiveCD и заархивировать весь корневой раздел куда нибудь и все.
Название: Бэкап системы
Отправлено: Zavr от 17 Октября 2008, 15:31
бекап эт кагда нужно сохранить не только систему, но и документы
я так понял, Dj Bob`у нужна только система с нужным ему набором пакетов и настройками

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

только вот как ее установить патом на винт?
Название: Бэкап системы
Отправлено: Vicpo от 17 Октября 2008, 15:44
выше описанным способом можно забекапить и домашний каталог, но его обычно загоняют в архив и отправляют либо на съемник либо ещё куда подальше от рабочего винта  :)
Название: Бэкап системы
Отправлено: Zavr от 17 Октября 2008, 17:42
мы друг друга не поняли :D
Название: Бэкап системы
Отправлено: log от 18 Декабря 2008, 08:57
ЦитироватьНарод а как можно зарезать типа бэкап ДВД ???
Просто слишком много чего прикрутил к убунте а если теперь слетит то трафик жалко
да и ставить все по новому тоже не охота !
Мож кто подскажет как решить эту проблему ?
Если _только_пакеты_ , то с помощью 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, тоже отличный вариант.