Summary: | Добавить пользовательские initinstall.d скрипты | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Alexander Shemetov <berkut_174> | ||||||||
Component: | installer | Assignee: | Антон Мидюков <antohami> | ||||||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||||
Severity: | normal | ||||||||||
Priority: | P5 | CC: | antohami, boyarsh, klark, mike, rider, sem | ||||||||
Version: | unstable | ||||||||||
Hardware: | x86_64 | ||||||||||
OS: | Linux | ||||||||||
Attachments: |
|
Description
Alexander Shemetov
2024-04-05 09:15:24 MSK
Проблема в том, что install-scripts.tar вытягивается initinstall скриптом. И его перенести на более раннюю стадию также нельзя, потому что ещё одним initinstall скриптом настраивается сеть. vm/profiles.scm всегда было можно подложить свой: https://www.altlinux.org/Autoinstall (Ответ для Антон Мидюков на комментарий #2) > vm/profiles.scm всегда было можно подложить свой: > https://www.altlinux.org/Autoinstall Можно. Но если у меня в vm-profile.sсm прописано два и более профилей, как мне потом его выбрать в autoinstall.scm ? Проблема. Я сейчас использую два отдельных каталога metadata на сервере, то есть на каждый профиль свой отдельный metadata и в каждом свой autoinstall.scm и vm-profile.scm. Это неудобно. В других дистрибутивах обычно инсталлер позволяет либо запустить некий скрипт в init скриптах, чтобы подправить конфиг как нужно, либо в рамках конфигурации инсталлера есть возможность использовать условия. Ни того, ни другого тут я не вижу, к сожалению. Также в /pkg-install сильно не хватает установки пакета не из lists, а просто произвольный пакет указать, например, package "htop vim-console" и тп. Вообще, если честно, все эти вещи с хранением скриптов и списка пакетов в tar не очень удобно использовать... Распакуй, исправь, запакуй... Нашёл, казалось бы, отличные и простой вариант /postinstall/laststate для установки пакета... ("/postinstall/laststate" run "exec_chroot apt-get install -y htop") Но и он не работает, потому что перед 99-zz.. отрабатывает 99-online-repo.sh, который отключает репу с CDROM. Жаль. (Ответ для Антон Мидюков на комментарий #1) > Проблема в том, что install-scripts.tar вытягивается initinstall скриптом. И > его перенести на более раннюю стадию также нельзя, потому что ещё одним > initinstall скриптом настраивается сеть. загрузка скриптов выполняется в 27-metadata-install-scripts.sh, не вижу проблем запускать скрипт хоть сразу после этого скрипта (In reply to Антон Мидюков from comment #1) > Проблема в том, что install-scripts.tar вытягивается initinstall скриптом. И > его перенести на более раннюю стадию также нельзя, потому что ещё одним > initinstall скриптом настраивается сеть. Если немного переработать цикл запуска скриптов initinstall.d, можно такую поддержку добавить, избавив от необходимости перепаковки ISO со сквошом. Попробую изобразить... Created attachment 15810 [details]
35-computername.sh
Скрипт для автоматического присвоения имени хосту.
Created attachment 15811 [details]
35-excludedisks.sh
Скрипт для исключения всех дисков, кроме заданного через /proc/cmdline, который будет найден по указанному размеру.
Для начала прицепил пару скриптов из реальной практики. Нужно дать возможность их запускать на стадии initinstall.d без перепаковки установщика. Исходить будем из того, что на этой стадии, в числе прочего, выполняются 10-network.sh, 26-metadata-autoinstall.sh и 27-metadata-install-scripts.sh. Created attachment 15812 [details]
Возможный вариант решения
Все скрипты до 30-xxx.sh выполняются последовательно и не могут быть удалены или перезаписаны. Начиная с 30-xxx.sh скрипты могут быть перезаписаны, но не могут быть удалены. Перед их выполнением каталог initinstall.d перечитывается.
Task 344502. installer-1.15.5-alt1 -> sisyphus: Sat Apr 06 2024 Anton Midyukov <antohami@altlinux> 1.15.5-alt1 - initinstall: allow run additional scripts from install-scripts.tar (Closes: 49907) (Ответ для Leonid Krivoshein на комментарий #11) > Task 344502. Скажите, пожалуйста, кратко, что было сделано и как можно теперь использовать ? Спасибо заранее. (Ответ для Alexander Shemetov на комментарий #13) > (Ответ для Leonid Krivoshein на комментарий #11) > > Task 344502. > > Скажите, пожалуйста, кратко, что было сделано и как можно теперь > использовать ? Спасибо заранее. Можно в install-scripts.tar поместить каталог initinstall.d со скриптами. Скрипты должны иметь порядковые номера от 30 до 99. Другие игнорируются. Когда будет в каком-то из бранчей, это будет отражено на вики. (Ответ для Антон Мидюков на комментарий #14) > (Ответ для Alexander Shemetov на комментарий #13) > > (Ответ для Leonid Krivoshein на комментарий #11) > > > Task 344502. > > > > Скажите, пожалуйста, кратко, что было сделано и как можно теперь > > использовать ? Спасибо заранее. > > Можно в install-scripts.tar поместить каталог initinstall.d со скриптами. > Скрипты должны иметь порядковые номера от 30 до 99. Другие игнорируются. > Когда будет в каком-то из бранчей, это будет отражено на вики. Отлично, спасибо! (In reply to Alexander Shemetov from comment #13) как можно теперь использовать ? Пока новый установщик не появится в установочном образе -- никак нельзя. |