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

Автор Тема: Установщик PuppyRus  (Прочитано 48734 раз)

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #30 : 29 Июль 2010, 23:55:07 »
 Работа над ошибками
Моноблок 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

Оффлайн RulllJazzz

  • Постоялец
  • ***
  • Сообщений: 172
  • Репутация: +16/-1
Re: Установщик PuppyRus
« Ответ #31 : 30 Июль 2010, 00:27:01 »
Ну в консоли теперь почти не намусорено, винда в menu.lst не дублируется, запись новоиспечённого папируса добавляется в конце через две строки. Всё чинно и аккуратно.

Оффлайн Tarmo

  • Почетный участник
  • Старожил
  • *
  • Сообщений: 360
  • Репутация: +46/-0
Re: Установщик PuppyRus
« Ответ #32 : 30 Июль 2010, 22:57:42 »
Дядя Шура... а может по ходу скрипта какие-то сообщения о стадиях полёта выводить?

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #33 : 30 Июль 2010, 23:12:52 »
 В линуксе всё можно.  ;D

...........................Готово
« Последнее редактирование: 31 Июль 2010, 11:26:07 от DdShurick »
Моноблок 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

Оффлайн RulllJazzz

  • Постоялец
  • ***
  • Сообщений: 172
  • Репутация: +16/-1
Re: Установщик PuppyRus
« Ответ #34 : 31 Июль 2010, 21:34:46 »
В окно "имя каталога для установки" надо вставить ахтунг:
"Имя папки не должно содержать пробелов".

А то всё-равно при пробеле в имени два каталога получается.

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #35 : 31 Июль 2010, 22:04:02 »
 Исправлено
Моноблок 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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #36 : 31 Июль 2010, 23:02:52 »
 И ещё
« Последнее редактирование: 01 Август 2010, 09:02:28 от DdShurick »
Моноблок 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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #37 : 02 Август 2010, 00:10:07 »
 Новый вариант
Моноблок 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

Оффлайн RulllJazzz

  • Постоялец
  • ***
  • Сообщений: 172
  • Репутация: +16/-1
Re: Установщик PuppyRus
« Ответ #38 : 02 Август 2010, 03:05:39 »
Решил я немного поправить названия окон, пока правил, вспомнил, что если menu.lst при отработке скрипта уже присутствует, скрипт добавляет записи на строку, следующую за последней. Если это строчка предыдущей записи, а не пустая строка, записи загрузок визуально "склеиваются". Появилось пару мыслей и вот что получилось в результате (обновлено):

Решил попробовать расклеить, добавив в начало записи перевод строки. Сработало. Но я, начиная с 3-ей редакции не стирал menu.lst и не трогал загрузочную запись windows, с тех пор, когда про дубляж говорил. А добавление записи проверить было надо. Стёр папку grub и запустил скрипт по-новой.

Оказалось, что теперь он вообще не добавляет запись windows ни при каких условиях. Начал съезжать на старые версии и смотреть - откуда это пошло. В результате выяснил, что корректно добавляет windows вот эта версия скрипта (№3m), остальные нет. Правда она по-прежнему делает дубль в menu.lst.

Что ещё интересно. Я пробовал прогонять скрипт как без папки grub, так и с ней (созданной этим скриптом и со старой) - консоль отрабатывает чисто, ни одной ошибки. В menu.lst записи добавляются с двумя переносами строки как до записи, так и после.

Прогон 5-ой версии при монтировании sda3 (визуально сужу по ярлыку диска) выдаёт вот эту ошибку:
Код
cat: /mnt/sda2/boot/grub/menu.lst: No such file or directory
/mnt/home/console_installer5m: line 154: /mnt/sda2/boot/grub/menu.lst: No such file or directory

Вот что я думаю. Сначала о дисках:

  • sda1 - fat32 XOSL
  • sda2 - ext3 Puppy
  • sda3 - ntfs Windows
  • sda4 - ntfs (данные)
  • sdb1 - fat32 (данные)

Значит... скрипт проверяет первые два диска, находит GRUB (или создаёт), пишет в menu.lst загрузочную запись свежеустановленного PuppyRus. Затем отправляется на поиски, монтирует sda3, находит там windows. Радостный бежит назад писать о находке в menu.lst и получает поджопник от sda2, о чём завуалированно матерится в консоль (мол нету ничего, хотя только что там был и в файл menu.lst писал).

В результате после окончания установки запись о windows в menu.lst отсутствует, хотя скрипт её нашёл и даже пытался эту самую запись сделать. На других дисках (после sda3) систем у меня не стоит, поэтому я не могу определить - поворился бы косяк с доступом к sda2, будь на следующих дисках ещё одна windows,например. Или нет...

Подумал, что это из-за невозможности размонтировать sda2 (/home). Загрузился с LiveCD и повторил процедуры. Диск смонтировался и размонтировался (как и все остальные при поиске загрузчиков), но ошибка осталась.

Ответ в любом случае в скрипте третьей редакции. Потом пошла ошибка с доступом (и косяки с пропуском строк в menu.lst).


По поводу пятой версии - как и упоминал в начале, подправил кое что. Комментарии и сам файл прикрепил.

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

Это всё.   :)

« Последнее редактирование: 02 Август 2010, 15:03:29 от RulllJazzz »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #39 : 02 Август 2010, 15:37:21 »
 Исправил. Комментарии в архиве.
Моноблок 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

Оффлайн RulllJazzz

  • Постоялец
  • ***
  • Сообщений: 172
  • Репутация: +16/-1
Re: Установщик PuppyRus
« Ответ #40 : 02 Август 2010, 17:29:37 »
Даже и прицепиться не к чему. Почти... ;D

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

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

В 58 строке (комментарий читал, у меня не виснет):
"$dialog" --title "Ошибка\!"

Экранируется восклицательный знак?
Экран в заголовке окна маячит, некрасиво совсем.
Может просто восклицательный знак уберём вместе с экраном и дело с концом?

Или экран для чего-то другого предназначен?
« Последнее редактирование: 02 Август 2010, 17:39:08 от RulllJazzz »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #41 : 02 Август 2010, 17:38:45 »
 Придумал. --infobox заменить на --msgbox, окно без кнопки не закроется.
Последняя строка
Код
"$dialog" --title "Установка загрузчика" --no-cancel --ok-label "Закрыть" --msgbox "Установка PuppyRus успешно завершена" 5 42 
« Последнее редактирование: 02 Август 2010, 17:50:11 от DdShurick »
Моноблок 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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #42 : 03 Август 2010, 21:02:17 »
 Добавил кнопку "Восстановить загрузчик"
Но тут возможны варианты. Ваше мнение?
« Последнее редактирование: 05 Август 2010, 16:18:17 от DdShurick »
Моноблок 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

Оффлайн bit777

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1037
  • Репутация: +127/-0
Re: Установщик PuppyRus
« Ответ #43 : 16 Сентябрь 2010, 13:07:48 »
Последние строки в Console_installer9 необходимо перепесать в виде
Код
"$dialog" --title "Установка PuppyRus" --ok-label "Puppy" --cancel-label "GRUB" --yesno "Кнопка Puppu установит PuppyRus,
Кнопка GRUB восстановит загрузчик." 0 0
qwerty=$?
[ $qwerty = 255 ] && exit
[ $qwerty = 0 ] && puppyinstall
[ $qwerty = 1 ] && grubinstall grub
exit
Потому что каждая следующая проверка использует результат выполнения предыдущей команды.
« Последнее редактирование: 16 Сентябрь 2010, 13:10:21 от bit777 »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
Re: Установщик PuppyRus
« Ответ #44 : 16 Сентябрь 2010, 13:58:36 »
Последние строки в Console_installer9 необходимо перепесать в виде
Код
"$dialog" --title "Установка PuppyRus" --ok-label "Puppy" --cancel-label "GRUB" --yesno "Кнопка Puppu установит PuppyRus,
Кнопка GRUB восстановит загрузчик." 0 0
qwerty=$?
[ $qwerty = 255 ] && exit
[ $qwerty = 0 ] && puppyinstall
[ $qwerty = 1 ] && grubinstall grub
exit
Потому что каждая следующая проверка использует результат выполнения предыдущей команды.
OK. Сделано.
« Последнее редактирование: 16 Сентябрь 2010, 14:07:08 от DdShurick »
Моноблок 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