PDA

Показать полную графическую версию : задача: заархивировать систему


pva
31-07-2012, 13:17
всем привет!

делал так:

mount /dev/sda8 /mnt
dd if=/dev/zero of=/mnt/zeros
rm /mnt/zeros
umount /mnt
dd if=/dev/sda8 bs=100M | gzip -9 | dd of=/media/arch1-img.gz bs=100M

дальше забитие нулями заинмает минут 15, снятие образа минут 15 (ужалось в 2 Гб). Восстановление обратно - 5 минут (диск 30 Гб)

попробовал так:

mount /dev/sda8 /mnt
tar /mnt -zcf /media/arch1-img.tar.gz

Ждал час - надоело, отменил. В итоге получил недописанный архив 3 Гб

Мои вопросы:
чего так долго и так много?
можно ужать/ускорить?
чем лучше архивировать систему? (что находится в неиспользуемых областях диска - не интересно)
можно ли таром архивировать винду (на ntfs)? (ессно загрузившись с линукса)

El Scorpio
01-08-2012, 08:55
чего так долго и так много? »
Потому что ты архивируешь не файлы с раздела, а весь раздел целиком - включая все неиспользуемые места.
В первом случае всё пустое пространство предварительно заполняется нулями, которые очень легко сжимать. Во втором случае на разделе остаётся множество старой информации из удалённых файлов, которая сжимается наравне с актуальной информацией из используемых файлов.


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

pva
01-08-2012, 12:51
Во втором случае на разделе остаётся множество старой информации из удалённых файлов »
Я думал так ходит по файловой структуре и сжимает только существующий файлы. Правильно я думал?

dd просто затрёт начало другого раздела »
о! вот этого не знал. Думал что скажет что файл кончился. У меня был инцидент, когда снял образ с небольшого (виндового) раздела и записал его на большой. В результате раздел стал маленьким, линукс его видел, а винда больше нет... Слава богу, на маленький винт большой образ писать не пытался.
...поэтому и думаю в сторону tar-а.

А 7zip-ом можно архивировать и восстанавливать (чтобы потом нужные права оказались на нужных местах)?

vadblm
01-08-2012, 14:50
А 7zip-ом можно архивировать и восстанавливать (чтобы потом нужные права оказались на нужных местах)? »
Формат 7z не поддерживает хранение прав.

El Scorpio
02-08-2012, 01:30
Цитата El Scorpio:
Во втором случае на разделе остаётся множество старой информации из удалённых файлов »

Я думал так ходит по файловой структуре и сжимает только существующий файлы. Правильно я думал? »
Нет, файл /dev/sda1 соответствует не файловой системе раздела, а именно самому разделу. В том числе операции с разделом позволяют снять резервную копию даже раздела с разрушенной файловой системой для выполнения операций по восстановлению информации.
А чтобы "ходить по файловой структуре", нужно использовать программы, работающие именно с файловой структурой раздела. Например консольную программу partimage. Кстати, она и права доступа запоминает.


P.S.
Цитата El Scorpio:
dd просто затрёт начало другого раздела »

о! вот этого не знал. Думал что скажет что файл кончился. »
Если "следующий" раздел будет примонтирован на момент выполнения операции, то может быть программа dd завершится с ошибкой. Сам я этого не проверял.

У меня был инцидент, когда снял образ с небольшого (виндового) раздела и записал его на большой. В результате раздел стал маленьким, линукс его видел, а винда больше нет... »
Всё просто. Размер раздела и прочие характеристики записываются в двух разных местах - в таблице разбиения диска и в заголовке раздела. После копирования раздела командой dd значения в заголовке раздела были заменены значениями из образа раздела, а значения в таблице разбиения остались прежними.
Windows определила такую разницу параметров, как недопустимую ошибку, и отказалась работать с этим разделом. Linux же посчитала такую разницу параметров допустимой.

vadblm
02-08-2012, 02:11
Господа-товарищи! Неужто никто не знает, что dd тупая как валенок и делает только то, что ей прикажешь? Об чём тут рассуждать? Не, я думал предложить ТС вариант sfdisk (сохранить таблицу разделов) и банальный tar, но, с одной стороны, разделы MBR отмирают, уступая место GPT, а с другой лень рисовать схему, что куда.

sedarmill
02-08-2012, 09:04
FSArchiver

pva
02-08-2012, 14:16
Нет, файл /dev/sda1 соответствует не файловой системе раздела, а именно самому разделу. В том числе операции с разделом позволяют снять резервную копию даже раздела с разрушенной файловой системой для выполнения операций по восстановлению информации.
А чтобы "ходить по файловой структуре", нужно использовать программы, работающие именно с файловой структурой раздела. Например консольную программу partimage. Кстати, она и права доступа запоминает. »
El Scorpio, во втором варианте я монтирую раздел /dev/sda8 в директорию /mnt и архивирую директрию /mnt, а не раздел /dev/sda8

fsarchiver надо будет испытать :)

vadblm, архивировать таблицу разделов задачи не стоит. Задача возникла после неудачных попыток обновить glibc на arch. До тех пор, пока не стал архивировать раздел - дело с места не двигалось. Сейчас методом тыка научился руками ставить arch из инета :) (при помощи егошней флешки конечно)
Есть ещё мысль перетащить предустановленную винду с первичного раздела на логический. Думаю тут тоже архивирование понадобится.

vadblm
02-08-2012, 14:38
после неудачных попыток обновить glibc на arch. »
Да, там весело. В rolling-release дистре запросто всё могут поломать, а потом ищи, как починить. Хотя, если есть запасная машина, это не сложно, вики у арча хорошая.
Сейчас методом тыка научился руками ставить arch из инета (при помощи егошней флешки конечно) »
Для меня было открытием, что с июльского образа выкинули из дистра инсталлятор вообще. Типа делай сам всё ручками, гг.




© OSzone.net 2001-2012