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

Автор Тема: Установщик для флэшки live дистрибутива linux с ventoy.  (Прочитано 3789 раз)

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

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 941
  • Репутация: +24/-0
  • Автор темы
Скрипты в шапке изменил, peco теперь не нужен, скритпы полностью рабочие, и работают везде, то есть повторяемость есть, главное чтоб каталог с ресурсами live дистрибутива и с этими скриптами был в домашней директории, всё вроде.
« Последнее редактирование: 26 Февраль 2024, 15:53:25 от totiks2012 »

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 941
  • Репутация: +24/-0
  • Автор темы
"Вращающееся устройство" либо cd*, либо sr*
я там отписался, по этому критерию зацепит и ssd так как ssd не вращающийся, а мне хотелось чтоб без ssd,строго флэшку ,в любом случае я вас услышал и ваша помощь и замечания как нельзя кстати, imp спасибо вам в который раз!
« Последнее редактирование: 26 Февраль 2024, 16:02:15 от totiks2012 »

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
по этому критерию зацепит и ssd так как ssd
показывайте пользователю параметры раздела/устройства - метку(LABEL), размер, тип фс.
шанс ошибиться при выборе меньше
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1739
  • Репутация: +50/-1
  • /dev/hands < /dev/ass
по этому критерию зацепит и ssd так как ssd не вращающийся
Каким образом? У меня впечатление, что я с искуственным интеллектом общаюсь. Не обижайтесь. Просто ему тоже приходится кучу вопросов задавать, пока внятный ответ получишь
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1739
  • Репутация: +50/-1
  • /dev/hands < /dev/ass
По критерию cd*, либо sr* не должно ssd зацепить. Я вот к чему. Если не использовать переходники специальные (мульки по типу)
А sd* немного отличается ведь
« Последнее редактирование: 26 Февраль 2024, 17:04:59 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 941
  • Репутация: +24/-0
  • Автор темы
У меня впечатление, что я с искуственным интеллектом общаюсь. Не обижайтесь. Просто ему тоже приходится кучу вопросов задавать, пока внятный ответ получишь
:) это в причину того что у меня знания не такие обширные как вам  кажется, я в процессе постояного самобучения, и потому и похож на нейросеть :) .    Ну хорошо а мой способ разве не стабильно определяет флэшку чем этот код плох
Код
devices=$(lsblk -l -o NAME,TYPE | awk '$2 == "disk" && !/^(sda|zram0|fd0)/')
# Перебор устройств
for device in $devices; do

 # Проверка USB
  if [[ $(udevadm info -q all -n /dev/"$device" | grep -i "ID_BUS=usb") ]]; then
    PART="$device"
    echo "Найден USB-накопитель: $device"
    echo "ЗНАЧЕНИЕ PART=" "$PART"
    break
  fi

done

# Обработка отсутствия USB-накопителя
if [[ -z "$PART" ]]; then
  echo "USB-накопитель не найден."
  echo "Вставте флэшку и запустите скрипт снова"
  read ex
  exit
fi

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1739
  • Репутация: +50/-1
  • /dev/hands < /dev/ass
я в процессе постояного самобучения, и потому и похож на нейросеть
Вообще-то это полукомплимент был. Я хотя бы немного понимаю, что вы хотите.

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

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1739
  • Репутация: +50/-1
  • /dev/hands < /dev/ass
Ваш способ не определяет сменные устройства
Точнее - накопители. Устройства на usb разные могут быть и определять их через udev я не додумывался, надо будет посмотреть
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 941
  • Репутация: +24/-0
  • Автор темы
Ваш способ не определяет сменные устройства
видать я чегото не догоняю, devices=$(lsblk -l -o NAME,TYPE | awk '$2 == "disk" && !/^(sda|zram0|fd0)/')добывает все носители на компе,  кроме sda|zram0|fd0
if [[ $(udevadm info -q all -n /dev/"$device" | grep -i "ID_BUS=usb") ]]; then проверка если подключен к usb   то складываем носитель плюс подключен к usb значит флэшка не? просто не понимаю почему нет?
прихожу к тому что способ весьма не плох
ввёл для изучения выхлопа об устройствах
udevadm info -q all -n /dev/sd*
там можно грепнуть по таким параметрам  ID_BUS=usb в связке с ID_TYPE=disk и надежно отфильтровать что имеем дело с носимым устройством, не применяя даже lsblk -l просто мне с lsblk -l понятней, ваш способ тоже работает arg_prev=$(cat /sys/block/sd*/queue/rotational)
 arg=$(echo "$arg_prev" | tail -n 1)
 echo "$arg"
1
это с подключеной флэшкой
и 0 если флэшка отключена, меньше кода и изящно в общем я протестирую и с вашим способом, но он как ни странно меньше читаем, то есть не такой понятный ибо о $(cat /sys/block/sd*/queue/rotational) нужно еще и знать, интересно стало спасибо еще раз.


« Последнее редактирование: 26 Февраль 2024, 18:22:08 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34099
  • Репутация: +233/-0
    • PuppyRus-A
Скрипты в шапке изменил, peco теперь не нужен, скритпы полностью рабочие, и работают везде
Даже там где нет
Exec=xfce4-terminal
? ;)

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 941
  • Репутация: +24/-0
  • Автор темы
Даже там где нет
ну кому нужно исправит, я понимаю что полностью универсальных решений нет, чтоб универсально можно попробовать xterm но боюсь что в некоторых дистрибутивах могут быть проблеммы с отображением русских букв в терминале, потому если есть возможность то лучще задействовать uxterm. Этот способ зато доступен для понимания ...

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8655
  • Репутация: +187/-2
  • Старый чайник
строго флэшку
Код
shurick@antix1:~$ cat /sys/block/sdb/events
media_change
shurick@antix1:~$ cat /sys/block/sda/events
shurick@antix1:~$ cat /sys/block/sr0/events
media_change eject_request
media_change == флешка, media_change eject_request == дисковод, без ответа == жёсткий диск.
« Последнее редактирование: 26 Февраль 2024, 20:20:33 от 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

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1739
  • Репутация: +50/-1
  • /dev/hands < /dev/ass
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 941
  • Репутация: +24/-0
  • Автор темы
shurick@antix1:~$ cat /sys/block/sdb/events
media_change
shurick@antix1:~$ cat /sys/block/sda/events
shurick@antix1:~$ cat /sys/block/sr0/events
media_change eject_request
да работает такой способ, спасибо.
а что за прикол с eject_request просвятите пожалуйста?
« Последнее редактирование: 26 Февраль 2024, 20:23:53 от totiks2012 »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8655
  • Репутация: +187/-2
  • Старый чайник
Моноблок 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