Сайт | Скачать | Видео | Wiki

Голосование

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

Подробный мануал
14 (29.8%)
GPT
7 (14.9%)
UEFI
13 (27.7%)
UIRD
3 (6.4%)
RAID
0 (0%)
GRUB2
10 (21.3%)

Проголосовало пользователей: 21

Автор Тема: Инсталлятор  (Прочитано 130630 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33967
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Инсталлятор
« Ответ #285 : 01 Май 2019, 09:55:26 »
Я все понял - осталось только сделать  ;)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #286 : 01 Май 2019, 10:03:03 »
еще вопросик вырисовывается
сохранение данных пользователя на свежеустановленной системе
может в "простом" режиме создать заранее каталог changes ( или файлик changes.dat ) и соответствующий параметр в меню.лст прописать прописывать скриптом установщика
тогда начинающему о вариантах сохранения думать поначалу вообще не придется
а более опытный уже знает и о 090-save.pfs и прочих вариантах и сам меню.лст поправит под себя
« Последнее редактирование: 01 Май 2019, 10:05:04 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Инсталлятор
« Ответ #287 : 01 Май 2019, 10:20:26 »
Когда-то давно я написал установщик для PuppyRus
Попробовал в retro, запускал puppyrus2install из корня пустой флешки.
- Создал папку в / и не смог перенести в нее модули. Папка пустая.
- Создал папку "1" в корне флешки с menu.lst.

Понравилось как реализовано, все эти предупреждения и информационные сообщения на уровне глаз.
Скрин.
« Последнее редактирование: 01 Май 2019, 12:27:59 от krasnyh »

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #288 : 01 Май 2019, 10:27:25 »
Понравилось как реализовано, все эти предупреждения и информационные сообщения на уровне глаз
середина экрана?
на Yad место появления окошка вроде не сложно задать, размеры тем более просто
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33967
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Инсталлятор
« Ответ #289 : 01 Май 2019, 11:31:16 »
создать заранее каталог changes
Он сам создастся
Можно сделать доп. пункт меню с changes=
файлик changes.dat
Это уже следующий этап познания. Сложно будет угадать размер
все эти предупреждения и информационные сообщения на уровне глаз.
Разве не удобнее , когда рядом с курсором мыши?

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #290 : 01 Май 2019, 13:24:18 »
Он сам создастся
запамятовал, что-ж - скрипту легче
Сложно будет угадать размер
это да, начать с небольшего размера(32-64-128мб), чтоб хотя бы начальные настройки у пользователя поместились, ну и небольшой резерв получится под кэш браузера например
------
эти предложения для "простого" режима установщика(не "экспертного") - предполагаем что пользователь еще знать не знает про виды сохраненок, предполагаем что он пришелец с винды :)
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #291 : 02 Май 2019, 23:14:32 »
На пробу, в install-pra в районе 60й строки, после функции TO
переделал :
[ "`ls -1 "$to"`" ] && $sudo mkdir -p "$to/$system" ; to=$to/$system
вместо вывода сообщения о невозможности установки в непустую папку - просто создает пустую
и устанавливает уже в нее.
переменная $system , название этой папки, задается где-нибудь в начале ( или можно еще один -entry ? )
таким образом, если пользователь выберет просто раздел, а не пустой каталог - установщик сделает каталог за него
----
еще
нужно расставлять $sudo везде, если пытаться запускать из под лайва  :o
в системе install-pra запускается из install-g4d, который в свою очередь запускается с рутовыми правами
соответственно $sudo не нужно
может оставить как есть, только вначале добавить что-то типа:
[ $(id -u) = 0 ] || ( echo "мне нужны права root, попробуйте так:";echo "sudo $0" ; exit )
?

« Последнее редактирование: 02 Май 2019, 23:29:34 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Инсталлятор
« Ответ #292 : 02 Май 2019, 23:29:05 »
нужно расставлять $sudo везде, если пытаться запускать из под лайва  :o
Здесь http://wiki.puppyrus.org/setups/wi-fi, чтобы постоянно не вводить sudo была примененна такая конструкция:
Цитата
#!/bin/sh
#wi-fi up. DdShurick 04.12.14 version 003
which loginroot && loginroot=loginroot || loginroot=sudo
[ `id -u` = 0 ] || exec $loginroot $0

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #293 : 03 Май 2019, 09:44:15 »
хорошее решение, универсальное.
для систем где судо имеется(пра, ддр) можно упростить до
[ $(id -u) = 0 ] || sudo "$0"
?
именно для этого установщика, подозреваю что в ричи он использоваться не будет  :-\
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Инсталлятор
« Ответ #294 : 03 Май 2019, 10:00:59 »
[ $(id -u) = 0 ] || sudo "$0"
Если ALL NOPASSWD (как в PRA), а это == root.
Кстати, loginroot работает и как loginsudo, если переименовать или создать ссылку.
в ричи он использоваться не будет
Эт точно.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Инсталлятор
« Ответ #295 : 03 Май 2019, 10:02:12 »
[ $(id -u) = 0 ] || sudo "$0"
так скрипт дважды отработает. Надо еще первый прибить. И параметры передать надо. $0 $@

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #296 : 03 Май 2019, 10:18:08 »
Если ALL NOPASSWD (как в PRA), а это == root.
согласен, не хорошо ..
"отец основатель"(Бари К.) вообще на безопасность забивал, под рутом систему гонял :)
И параметры передать надо. $0 $@
надо запомнить :)
но в данном случае параметров у него просто нет, соответственно без $@ отработает также как и с ним
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #297 : 03 Май 2019, 10:26:45 »
так скрипт дважды отработает.
да, за собой подчищать надо, можно что-нибудь придумать
вернуть exec
?
[ $(id -u) = 0 ] || exec sudo "$0"
exec это же последняя команда, выполняемая в скрипте? или путаю с чем?
отработает потомок, и родитель сам завершиться
?
« Последнее редактирование: 03 Май 2019, 10:28:37 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33967
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Инсталлятор
« Ответ #298 : 03 Май 2019, 13:53:30 »
отработает потомок, и родитель сам завершиться
да

В модуле инсталлятора есть старый скрипт install-pra0 - где как раз один вопрос
Если народу сложно с созданием папки стандартным gtk методом - можно сделать выбор раздела и автосоздание
И там копирование всей папки дистра с всеми модулями  . Надо переделать на копирование только загруженных модулей

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #299 : 03 Май 2019, 14:09:56 »
во вложении "сырая"  немного доработанная версия инсталятора
отладочные команды(в основном echo "blabla" ) не удалял, помечены каментом #debug
поменял в том числе название ф-и TO на DIALOG, исходное крайне не информативно  :-\ , приходится по контексту догадываться что к чему(по началу, можно любое другое придумать? )
добавил entry с "дефолтным" названием подкаталога
изменения
если выбран раздел или непустой каталог - создаст подкаталог и установит в него
название этого подкаталога берется из entry (справа)
если выбран пустой каталог - как раньше, ставит в него
переменная $system - название для подкаталога
остается подумать над 161й строчкой в ф-и FRUGAL
e="`cd "/mnt/home/$df" && $sudo cp -RL * "$dir" 2>&1`"
дабы именно устанавливать систему, а не копировать текущую со всем "мусором"
ну или копировать без мусора

« Последнее редактирование: 03 Май 2019, 14:32:14 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)