Подкиньте идею как такое сделать?
Имеем:
[console]/dev/sdb1 * 2048 67102719 33550336 83 Linux
/dev/sdb2 67102720 78161919 5529600 82 Linux swap / Solaris[/console]
Загрузчик GRUB1
В конце диска есть свободное место, там будет раздел ~10GB (если нужно, можно и больше, но не желательно)
Нужно:
Сделать образ корневой ФС, и желательно сжатый
На третий раздел впилить какой-то MinimalBoot
И в GRUB добавить раздел "RESTORE" - откуда должна загрузится эта системка распаковать образ в /dev/sdb1 и уйти в перезагрузку.
И все это полным автоматом так как в управлении ориентируемся на ПДУ, а там с нормальных кнопок, которые есть и на клавиатуре доступно только стрелки, "esc" и "Enter", так что в грабе выбрать и загрузить что-то отличное от образа по умолчанию можно, но дальше особо рулить не получится...
[quote="mvt"]Не, ну dd и прописать машинку в основной загузчик. Не подойдёт?
В принципе подойдет...
...единственное - это как паралельно сжать это все???
а то образ в 12-13 гиг эт как-то некошерно будет)[/quote]
А сожмёте, как грузить будете? Вы хотели 10 а будет 12 - сильно много?
PS У меня штук восемь - и все нормально грузятся и работают. Общий загрузчик - grub 0.97.
Это уж потом они как-то со своими грузятся. А можно и ядро с initrd просто прописать.
Не, ну сделайте образ в файл. Меняйте его ежедневно. При неудаче на основной машинке разворачивайте на основном разделе. Нет? Или сделайте две машины и синхронизируйте их. Как вообще Вы хотите?
Хочу что-то типа FactoryReset
Тоесть образ создается вручную, кидается на отдельный раздел, туда-же отдельное ядро, которое никак на связано с основной системой.
В случае необходимости при загрузке выбирается именно это ядро, и все что оно делает - это распаковывает образ в основной раздел.
После распаковки образа должна получатся чистая система.
Тоесть образ создается вручную, кидается на отдельный раздел, туда-же отдельное ядро, которое никак на связано с основной системой.
В случае необходимости при загрузке выбирается именно это ядро, и все что оно делает - это распаковывает образ в основной раздел.
После распаковки образа должна получатся чистая система.
Вы тихо прикалываетесь. :) dd if=/dev/sda1 of=/dev/sda6/vach.file #это просто пример
при неудаче - dd if=/dev/sda6/vach.file of=/dev/sda1
Вот и всё :)
Загрузчик в MBR останется. Но. Если накроется жёсткий диск - накроется всё. А Вы не могли бы инфу (ценную) держать на другом разделе, диске, внешнем носителе...? Это не проще?
Ценная инфа и так на другом разделе.
НО!
Но все это ориентируется не на себя, а на юзверей для которых слово "консоль" - из области ядерной физики, а систему убить всеравно умеют.
Вот и нужно установить систему, настроить все и сделать возможность отката до этой точки самим юзверем, без моего вмешательства и переустановки системы. ну а на ПДУ ориентируемся так как есть пару машин которые таскаются как медиацентры и с управления кроме пду там ничерта нету.
Ценная инфа и так на другом разделе.
НО!
Но все это ориентируется не на себя, а на юзверей для которых слово "консоль" - из области ядерной физики, а систему убить всеравно умеют.
Вот и нужно установить систему, настроить все и сделать возможность отката до этой точки самим юзверем, без моего вмешательства и переустановки системы. ну а на ПДУ ориентируемся так как есть пару машин которые таскаются как медиацентры и с управления кроме пду там ничерта нету.
Вот здесь Вы борзеете :) Никакой юзверь не будет Вам восстанавливать систему. Или учите их хотя бы команде dd :)
Вот и нужно установить систему, настроить все и сделать возможность отката до этой точки самим юзверем, без моего вмешательства и переустановки системы. ну а на ПДУ ориентируемся так как есть пару машин которые таскаются как медиацентры и с управления кроме пду там ничерта нету.
ты ищешь что-то готовое или хочешь сделать сам?
Если первое, то вероятность того, что кто-то из местных сталкивался с этим минимальна... а вероятность найти в гугле что-то готовое, что можно использовать, что будет в открытом и лёгком доступе и что потребует усилий на то, чтобы понять «как эта чертовщина работает» меньше, чем запилить с нуля, тоже не особо велика, ИМХО. [Возможно я не прав в своих оценках]
Если хочешь сделать сам, то флаг в руки... начинай, задавай конкретные вопросы, что не понятно/не знаешь как, рассказывай как-что решил сделать — попытаемся подсобить советами/идеями/конструктивной критикой... а продумывать всю архитектуру с нуля и подробно описывать за вас ИМХО ни кто не станет — это тяжёлый неоплачиваемый труд...
Если хочешь сделать сам, то флаг в руки... начинай, задавай конкретные вопросы,
ОК
Начнем с того чем сделать сжатый образ диска?
предполагаю что-то такое dd if=/dev/sdb1 bs=1M conv=noerror | gzip -c > /root.gz
ну и обратно: gzip -dc /root.gz | dd of=/dev/sdb1 bs=1M conv=noerror
Вопрос в том на сколько это правильно и эфективно? Ну и стоит ли использовать именно gzip или есть варианты получше??
Второе - это что поставить в качестве второй системы, учитывая что нужно только чтобы после загрузки запустилось это: gzip -dc /root.gz | dd of=/dev/sdb1 bs=1M conv=noerror, а после окончания этого процеса reboot. Соответственно чем меньше оно будет весить - тем лучше.
[quote="mvt"]Не, ну dd и прописать машинку в основной загузчик. Не подойдёт?
В принципе подойдет...
...единственное - это как паралельно сжать это все???
а то образ в 12-13 гиг эт как-то некошерно будет)[/quote]
ИМХО в данном случае dd не очень хорошо подходит в силу множества подводных камней и ухищрений, на которые придётся идти, при снятии образа. Хотя, как вариант конечно допустим...
Если рассматривать исключительно простые инструменты, то я бы в качестве бекенда использовал бы tar, а ФС пересоздавал бы с нуля...
Если что-то посложнее, то после быстрого просмотра гугла, я бы копал в сторону fsarchive.
Второе - это что поставить в качестве второй системы, учитывая что нужно только чтобы после загрузки запустилось это: gzip -dc /root.gz | dd of=/dev/sdb1 bs=1M conv=noerror, а после окончания этого процеса reboot. Соответственно чем меньше оно будет весить - тем лучше.
В качестве тяжёлого решения: я бы брал любой (который мне кажется наиболее подходящим) дистр и убирал бы оттуда лишнее... как конкретный вариант: сборка минимального образа с помощью debootstrap. Из бонусов: кроме восстановления резервной копии всегда под рукой будет полноцеппая рабочая система на всякий пожарный. Из минусов: относительно толсто.
В качестве малого: initrd и всё. честно признаться, сам initrd я ни когда не собирал, так что тут деталей сказать не могу...
После загрузки я бы запускал скрипт-меню на ncurses'е... Как сам запуск организовать зависит от дистра или initrd... для sysvinit-based системы достаточно просто подправить inittab.
"1000Mhz" написал:
"dd не нужен" как сказали бы на лор`е
на лоре за такое можно и саной тряпкой по мордасам схлопотать он анонимов =)
Единственное, при создании "образа" нужно явно указать список каталогов НЕ указывая там каталог с бекапами и всякие /proc. (или наоборот, tar --exclude).
"Fat-Zer" написал:
В качестве малого: initrd
в данном случае я не очень понимаю, как тут initrd заюзать. В смысле — зачем?
Не надо брать tar. Хотя бы потому, что он не сможет сжать корневой раздел запущенной системы и вывалится с ошибкой, уже проходили-с. Да, это можно сделать с лайв-сд.. но зачем?