LINUX.ORG.RU

Действия установщика Ubuntu

 , ,


0

1

Собственно, вопрос: какие действия выполняет установщик бубунты, и как развертывает систему? однажды другу нужно было накатить линь, и я трансплантировал ему свой арч. Конфигурация железа различалась, но не сильно. Хочется сваять скриптик для клонирования уже готовой и настроенной системы, реально ли это, и какие вариации железа допустимы? да, и я не намерен делать принципиально новую ос)


Хочется сваять скриптик для клонирования уже готовой и настроенной системы, реально ли это

обычно достаточно сделать клон dd, если HDD одинаковые. Если разные, можно тупо затарить/растарить и поправить загрузчик. Установщик так и делает, только он минимальную ОС ставит, а потом доставляет пакеты что юзверь скажет.

Не заморачивайся, скачай minimal-cd (для убунты тоже был, для деба точно есть), и будет тебе счастье.

другу

там главное инет поднять. Остальное тривиально.

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

обычно достаточно сделать клон dd, если HDD одинаковые

я тогда подключал его винт к себе, копировал корневые каталоги (и симлинки), правил fstab.

Если разные, можно тупо затарить/растарить

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

Не заморачивайся, скачай minimal-cd

есть установщик арча (~500MiB)

там главное инет поднять

главное - установить загрузчик и сделать mkinitcpio. инет - ip

gribf ()

есть хороший livecd называемый DRBL и не менее хорошая программа clonezilla.

как правило для переноса достаточно поправить правила udev для сетевых карт ( /etc/udev/rules.d/70-persistent-net.rules) после чего система работает как часы.

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

есть хороший livecd
хорошая программа clonezilla

они гуевые? опять же: а вдруг нужно будет католог монтировать на другие разделы?

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

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

gribf ()

Хочется сваять скриптик для клонирования уже готовой и настроенной системы,

1. dd if=/dev/sda1 of=/home/user/arch.iso
2. dd if=arch.iso of=/dev/sda1

На разных компах, соответственно. И граб потом поправить. Ну, загнать все это в баш и там же потом поправить конфиг граба.

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

Да, дд не всегда прокатитить может, из-за винта. Так что можно его архивом в *.tar.gz, например, засунуть, а потом рассунуть обратно и поправить граб.

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

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

да. Он умеет пропускать файлы, в т.ч. по маске. Т.е. можно задать маску КРОМЕ "./mnt/*"

`--exclude=PATTERN' Causes `tar' to ignore files that match the PATTERN.

The `--exclude=PATTERN' option prevents any file or member whose name matches the shell wildcard (PATTERN) from being operated on. For example, to create an archive with all the contents of the directory `src' except for files whose names end in `.o', use the command `tar -cf src.tar --exclude='*.o' src'.

You may give multiple `--exclude' options.

(и симлинки)

ИМХО tar лучше и удобнее работает с симлинками.

инет - ip

тогда проблемы не существует.

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

удастся ли скопировать структуру каталогов на уже смонтированные ФС?

tar'ом так и делаю.

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

На разных компах, соответственно

можно поднять ssh и сделать это всё одновременно.

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

dd if=/dev/sda1 of=/home/user/arch.iso

поблочное копирование нинужна) tar или cpio (лучше tar)

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

Он умеет пропускать файлы, в т.ч. по маске.

что ж, это существенно упрощает задачу. останется только скрипт написать. кстати - как в питоне отловить код завершения процесса?

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

кстати - как в питоне отловить код завершения процесса?

не помню. Я такую ерунду на баше пишу. Питон тащить тяжело.

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

на баше error_code=$?

если код не нужен, можно просто так:

if ping -c1 ya.ru
then echo есть сеть
else echo нет сети
fi

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

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

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

остается только как-то автоматизировать все это дело, прикрутить установщик загрузчика и какую-то утилитку для разметки. может cfdisk + mkfs?

да-да. А можно просто взять, и скачать слаку.

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

взять, и скачать слаку.

в каком смысле? может я чего не знаю (никогда не использовал слаку)?

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

в каком смысле? может я чего не знаю (никогда не использовал слаку)?

оно и видно. Ты её только-что придумал. Жаль, что на 20+ лет опоздал...

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

угу. В слаке всё прикручено и ничего не отваливается.

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

в слаке нет AURа и контроля зависимостей. хотя, да. после каждого обновления ядро паникует: говорит, не может найти init.

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

в слаке нет AURа и контроля зависимостей.

это чудесно.

хотя, да. после каждого обновления ядро паникует: говорит, не может найти init.

сочувствую. Ставь systemd с новым init'ом (;

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

systemd с новым init'ом

уже стоит) дело в том, что помогает mkinitcpio. Но (!), только если выполнить с Live, предварительно примонтировав /dev /proc /sys. mkinitcpio сразу после обновления не спасает..

это чудесно.

а чем вам АУР не угодил?

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

уже стоит) дело в том, что помогает mkinitcpio. Но (!), только если выполнить с Live, предварительно примонтировав /dev /proc /sys. mkinitcpio сразу после обновления не спасает..

сочувствую. Как на вкус кактус?

а чем вам АУР не угодил?

не нужен.

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

кактус слегка мерзковат( а мне нравится АУР. пакеты не поддерживаемые в официальных репах (мертвые) не нужно будет собирать из исходников без участия пакмана (а вдруг удалить надо будет?). например - blueman. GNOME я не использую - никакого gnome-bluetooth, или че там еще, у меня нет

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

не нужно будет собирать из исходников без участия пакмана (а вдруг удалить надо будет?)

у нас никаких проблем с этим нет.

GNOME я не использую

я тем более. Гнум непатрегоугодный.

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

оно представляет из себя лайв дебиана с весьма функциональным софтом для резервного копирования/развертывания итп.

конкретно для ваших целей ( я так понял, это перенос системы на дрыгой компьютер ) drbl сгодится однозначно.

на источнике настраивается сервер, клиент подрубается по сетевой загрузке и копирует диск.

в режиме мультикаст лично так скопировал кластер из 24 машин.

из недостатоков даже не знаю что сказать - у меня все работало, но есть черное подозрение что оно может не менять UUID разделов/ID системы, что вцелом не здорово.

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

клиент подрубается по сетевой загрузке

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

скопировал кластер из 24 машин

Насколько сильно они различались?

может не менять UUID разделов

так при форматировании же меняется

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

объясняю что делает программа: она берет диск и копирует таблицу разделов при помощи sfdisk, затем берет раздел, считывает с него занятые сектора фс и их перемещает на другую машину. почле чего сносятся все аппаратно-зависимые конфиги и пишется загрузчик.

вот и все.

т.е. оно не форматирует раздел а делает его копию на другой(других) машинах.

машины были идентичны - различались толко мак адресом.

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

с твердотельными накопителями конечно работать хорошо, только когда компьютеров более 4 то гораздо быстрее сделать kickstart с сетевой установкой или клонирование ( зависит от задач ).

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

сносятся все аппаратно-зависимые конфиги

т.е. fstab и тому подобные?

пишется загрузчик

вот мне и интересно как)

я правильно понял - сначала монтирование и chroot, потом grub-mkconfig?

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

я подозреваю что fstab и grub.cfg переписываются седом. по-крафней мере я б так сделал

и подозверваю что загрузчик ставится не в чрута из основного лайва с указанием куда ставить и откуда модули брать

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

ну, для установки загрузчика чрут и не нужен. а фстаб без chroot генерируется (вроде) genfstab /mount-point с выводом в файл. я когда шиндовс клонировал было больше проблем, да и потеря производительности. во ее избежание на линупсе достаточно будет сохранить архитектуру ЦП и дрова на экзотические чипсеты?

gribf ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.