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

Голосование

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

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

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

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

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Инсталлятор
« Ответ #315 : 06 Май 2019, 12:03:30 »
Примерно так?
Да. Хорошо бы и про каталог в это же окно
Только в пра64 вывод fdisk другой

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Инсталлятор
« Ответ #316 : 06 Май 2019, 12:15:19 »
Только в пра64 вывод fdisk другой
print $1" "$5" "$7 решает проблему
Моноблок 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

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #317 : 06 Май 2019, 20:59:14 »
losetup помимо системных модулей, показывает и примонтированный changes.dat
и он копируется   :-\
нужно исключать
losetup | awk '/^\/dev/ {print $6}' | grep pfs | while read m
?

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

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #318 : 06 Май 2019, 21:32:54 »
проверка на монтирование
[ `grep $to_dev /proc/mounts` ] || mount /dev$to_dev /mnt$to_dev
под ддр выдает ошибку :
строка 8: [: слишком много аргументов
хотя, если смонтировано - не важно
« Последнее редактирование: 06 Май 2019, 21:41:33 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2543
  • Репутация: +33/-0
Re: Инсталлятор
« Ответ #319 : 06 Май 2019, 21:47:30 »
не умничаю, но может слэши добавить?
(mount /dev/$to_dev /mnt/$to_dev)
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн stea.61

  • Пользователь
  • **
  • Сообщений: 45
  • Репутация: +6/-0
Re: Инсталлятор
« Ответ #320 : 06 Май 2019, 21:52:29 »
проверка на монтирование
[ `grep $to_dev /proc/mounts` ] || mount /dev$to_dev /mnt$to_dev
под ддр выдает ошибку :

grep -q $to_dev /proc/mounts || mount /dev$to_dev /mnt$to_dev

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #321 : 06 Май 2019, 21:55:11 »
не умничаю, но может слэши добавить?
(mount /dev/$to_dev /mnt/$to_dev)
не
если не смонтирован - монтирует, без ругани
ругается когда уже смонтирован, поскольку в выводе grep $to_dev /proc/mounts
на самом деле много инфы :)
там видно кто ругается :
[

1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2543
  • Репутация: +33/-0
Re: Инсталлятор
« Ответ #322 : 06 Май 2019, 21:58:28 »
- просто посморел в :
mkdir -p /mnt/$to_dev/$to_dir/base /mnt/$to_dev/$to_dir/modules
- со слэшами.
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #323 : 06 Май 2019, 22:00:06 »
grep -q $to_dev /proc/mounts || mount /dev$to_dev /mnt$to_dev
тогда пытается примонтировать смонтированное
- со слэшами.
я вариант от sfs гоняю, там некоторые мелкие ошибки исправлены для пра подкорректировано
ну и переменная уже со слэшем
« Последнее редактирование: 06 Май 2019, 23:07:45 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн stea.61

  • Пользователь
  • **
  • Сообщений: 45
  • Репутация: +6/-0
Re: Инсталлятор
« Ответ #324 : 06 Май 2019, 22:13:19 »
тогда пытается примонтировать смонтированное
Значит $to_dev - не однозначно определяет device, и $to_dev уже есть в смонтированных
Тогда логично полное имя в шаблон:

grep -q "/dev$to_dev" /proc/mounts || mount /dev$to_dev /mnt$to_dev

Или $to_dev это не разделы, а диски?
« Последнее редактирование: 06 Май 2019, 22:16:11 от stea.61 »

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #325 : 06 Май 2019, 22:17:34 »
Или $to_dev это не разделы, а диски?
разделы
-q полностью "обнуляет" вывод
так то это повторюсь не влияет на работу скрипта
если не смонтировано - смонтирует без ругани
« Последнее редактирование: 06 Май 2019, 22:21:29 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн stea.61

  • Пользователь
  • **
  • Сообщений: 45
  • Репутация: +6/-0
Re: Инсталлятор
« Ответ #326 : 06 Май 2019, 22:23:51 »
разделы
Если разделы - повторов монтирования быть никак не должно - mount /dev$to_dev /mnt$to_dev однозначно будет выполняться только если в /proc/mounts нет "/dev$to_dev".
Если есть повтор - причина однозначно в /proc/mounts.
Может, тогда "отвязаться" от /proc/mounts?

df -l | grep -q "/dev$to_dev" || mount /dev$to_dev /mnt$to_dev
« Последнее редактирование: 06 Май 2019, 22:34:45 от stea.61 »

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #327 : 06 Май 2019, 22:46:01 »
достаточно было "окавычить"
[ "`grep $to_dev /proc/mounts`" ] || mount /dev$to_dev /mnt$to_dev
пустая строка - не смонтировано - монтирует
не пустая строка - смонтировано - пропускает
-------------
чуть подправленный код от sfs, копирует только pfs, не ругается  8)
проверял под ддр, под пра думаю тоже пойдет, под ричи надо наверное чуть править(?)
Код
#!/bin/sh
#Задаём раздел
to_dev=$(yad --list \
--column=Раздел \
--column=Размер \
--column=ФС $(fdisk -l|grep ^/|grep -v swap|tr -d '*'| cut -b5- | awk '{print $1" "$5" "$7}') --height=200 --width=400 | cut -f1 -d'|')
#echo $to_dev== ;exit
[ "$to_dev" ] || exit 0
[ "`grep $to_dev /proc/mounts`" ] || mount /dev$to_dev /mnt$to_dev
#Имя каталога
while true; do
to_dir=$(yad --text="Введите имя каталога для установки" --entry --entry-text="Richy") || exit
mkdir -p /mnt$to_dev/$to_dir
[ `ls /mnt$to_dev/$to_dir` ] && yad --text="Каталог $to_dir не пустой, измените имя" || break
done
#Создаём подкаталоги
mkdir -p /mnt/$to_dev/$to_dir/base /mnt/$to_dev/$to_dir/modules /mnt/$to_dev/$to_dir/optional
#Копируем подключенные модули
#losetup -a | awk '{print $3}' |  while read m
losetup | awk '/^\/dev/ {print $6}' | grep pfs | while read m
  do
   
  echo "Копируется $(basename $m)"
# cp $m /mnt/$to_dev/$to_dir/$(basename $(dirname $m))/
[ "`basename "$m" |egrep '^[0-9]'`" ] && dd=base || dd=modules
    cp "$m" /mnt/$to_dev/$to_dir/$dd/
    #echo "$m /mnt/$to_dev/$to_dir/$dd/" #debug
  done

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

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Инсталлятор
« Ответ #328 : 06 Май 2019, 22:58:20 »
и прежде чем монтировать надо $to_dev проверять на "пустоту"
пользователь может кнопку отмена сразу нажать
подкорректировал
----
еще
Код
to_dir=$(yad --text="Введите имя каталога для установки" --entry --entry-text="Richy") || exit
mkdir -p /mnt$to_dev/$to_dir

параметр -p нужно убирать
либо проверять как прошло монтирование
.. сейчас понял почему у меня файл сохранения до упора забивался  :o :)
неудачные монтирования флэшки
а установщик об этом не предупреждает .. и молча(параметр -p) создает /mnt/sdc1/Richy не на флэшке
продолжать ?
« Последнее редактирование: 06 Май 2019, 23:25:04 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Инсталлятор
« Ответ #329 : 07 Май 2019, 08:39:25 »
под ддр выдает ошибку
Здесь изменения: to_dev -> to_part, umnt для отмонтирования после окончания установки.
Код
	if [ ! "$(grep $to_part /proc/mounts)" ]; then
mount /dev$to_part /mnt$to_part
umnt=1
fi
не умничаю, но может слэши добавить?
(mount /dev/$to_dev /mnt/$to_dev)
Добавил, так читается лучше.
параметр -p нужно убирать
Давайте попробуем так
Код
[ -d /mnt/$to_part/$to_dir ] || mkdir /mnt/$to_part/$to_dir || yad --image="error" --text="\n Невозможно создать каталог $to_dir \n" --center || exit 1
Моноблок 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