LINUX.ORG.RU

Установочные скрипты от дистрибутивов.

 


0

1

Сделал слепок системы таром. Теперь на новой машине, подгрузившись с лайва могу создать раздел, отформатировать. Примонтировать этот раздел. Распаковать туда содержимое архива. Подмониторовать /dev/ sys и т.д. подключится чрут и править фстаб и обновить граб После этого я смогу загрузится в восстановлен ого раздела. Вроде так примерно происходит при установки других дистрибутивов (Дебиан, Убунту)

Вопрос в том, как это автоматизировано в дистрибутивах? При установке там все сводится к простому выбору (или вообще полностью автоматическом режиме). Попытался погуглить - но даже создание раздела автоматом кажется чем то очень сложным.

дебутстрапом (я под убунтой) скачал минимальное окружение. Чтоб настроить для автоматической установки моего бекапа, чтоб потом собрать в изошник. И собственно сразу встрял при написании скрипта по такому плану

*1. вывод списка жестких дисков - это вывод /dev/sd[abcd] как я понял.

*2. выбор из списка нужного устройства для установки.

*3. очистка и создание раздела на этом устройстве. - parted ?

parted --script --force /dev/sda\
mklabel msdos mkpart primary ext4 1MiB 100%\
set boot on 1\
set lba on 1 

*4. форматирование mkfs.ext4 /dev/sda1 <- как получить это? *5. монтирование раздела и распаковка архива

mount /dev/sda1 /mntdir
tar -xvpzf /path/to/backup.tar.gz -C /mntdir --numeric-owner

*6. монитирую директоррии

mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
mount -t sysfs sys /mnt/sys

*7. чрут

chroot /mnt/ /bin/bash
здесь как то обновляется fstab?
update-grub
  1. перезагрузка. и все грузится уже с нового раздела.

Пытался найти какието скрипты для автоматизации некоторых пунктов - но без успешно.

Общая цель снять образ системы и потом её восстановить в автоматическом режиме с флешки. Пошел по пути описанном выше, - архивированием всей системы в тар. А потом собрать минимальный лайв который загрузившись сразу запускал скрипт с установкой (создание разделов, распаковка и т.д.)

В правильном направлении ли я иду? Как можно автоматизировать работу с партициями и обновлением файла fstab?

Есть ведь всякие готовые решения по резервному копированию, MondoRescue, Bacula и т.д.

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

Что касается вашего плана, то странно в 2020 разметка в MBR, работа с tar'ом без xattrs.

/dev/sda1 <- как получить это?

На каком диске раздел создавали, на том диске и создавайте ФС. Или для вас сложно в скрипте из строки ″/dev/sda″ получить ″/dev/sda1″?

mky ★★★★★ ()

есть некий каламарис или как его там, универсальный установщик. но это тоже не «установщик тара».

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

но по сути вопроса, единственная система, которую я знаю, где это сделано легко, просто и удобно, и там хоть диск делай, хоть флешку, хоть по сети ставь - это OpenBSD. больше я такого простого и удобного способа нигде не припомню.

buratino ★★★★★ ()

Общая цель снять образ системы и потом её восстановить в автоматическом режиме с флешки.

И все время после снятия образа система на "источнике" никак не будет обновляться, или вы постоянно будете актуализировать образ?

Попытался погуглить - но даже создание раздела автоматом кажется чем то очень сложным.

Учитывайте еще что в дистрибутивах обычно предлагается стопицот ФС, всякие там lvm, шифрования и рейды. Точно хотите это самостоятельно писать?

Тут есть регистрант, который сейчас как раз занимается подобными самоделками - Spoofing , думаю вам стоит попросить его помощи.

micronekodesu ★★★ ()
  1. вывод списка жестких дисков - это вывод /dev/sd[abcd] как я понял.

sd?, но это покажет только устройства драйвера scsi. Nvme, mmc имеют другие названия. Можешь в /dev/disk/смотреть.

boowai ★★★★ ()

В правильном направлении ли я иду?

Если думаешь, что за вечерок сможешь написать что-то, хотя-бы приближающееся к ubiquity, то сильно заблуждаешься. Ни за неделю, ни за месяц. А к тому времени выйдет новая версия системы, под которую придется исправлять, если не все, то более чем прилично.

чтоб потом собрать в изошник

Исо-образ нужен, только если реально планируешь писать его на болванку. В остальных случаях от него только лишние сложности и ограничения.

архивированием всей системы в тар

А дальше? Прежде чем начать извлекать из тара надо какую-то систему запустить. Делать, так-уж как делается во всех существующих системах - squashfs.

andytux ★★ ()
Ответ на: комментарий от andytux

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

про squashfs. Нашел инструкцию по убунте про тар. Ещё видел JFFS2 - это как я понял создание образов для флешпамяти во встраемых систем. Чес говоря не смог найти документации с примерами, как восстановить на жесткий диск из сквэш образа. Вообще как это происходит.

code4food ()
Ответ на: комментарий от micronekodesu

по необходимости буду обновлять. мне нужно восстановить системы для работы на пару дне макс, в случае факапа. А после спокойно поставлю.

Мне ненужно стопятцот систем. Средний пкшник наиболее частое что я могу найти. Там обычный ссд или хдд и пень скорей всего. Максимум дешевенький ноут.

Я посмотрел творение Spoofing, как я понял это развертка ридонли системы. Да и чот попытавшись подключить чрут сделанный debootsrap’ом получил ошибку.

code4food ()
Ответ на: комментарий от code4food

в случае факапа

Если диск не пострадал то можете просто переткнуть в новую машину и скорее всего заработает "из коробки".

Если нет желания заморачиваться (так как это на пару дней) можно весь диск скопировать через какой-нибудь dd (сделать таким образом бэкап), и потом так же развернуть на новом. Места пожрет конечно сколько на диске есть, за то создается и разворачивается в одну команду.

Я посмотрел творение Spoofing, как я понял это развертка ридонли системы. Да и чот попытавшись подключить чрут сделанный debootsrap’ом получил ошибку.

Ну так у него RO же из каких-то там образов собирается, оно не просто так существует, так что какая-то процедура снятия слепка и запихивания в образ должна быть.

micronekodesu ★★★ ()
Ответ на: комментарий от code4food

как восстановить на жесткий диск из сквэш образа

Например, так.

мне нужно восстановить системы для работы на пару дне макс

За глаза перекрывает твои потребности. Особенно вариант2.

andytux ★★ ()

Простой инсталлятор, написанный на bash есть в Slackware. Посмотри что и как там делается.

А лично я делаю слепки системы (для хранения и клонирования на другие компы) с помощью fsarchiver. Далее слепок записываю на загрузочную флешку с Slax и готово. Разворачиваю тем же fsarchiver.

sigurd ★★★★ ()