Автор Тема: Инструмент за записване на ISO върху USB FLASH (Calculate USB Creator 0.1)  (Прочетена 20697 пъти)

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Код
GeSHi (Bash):
  1. #!/bin/bash
  2. #Автор: Росен Александров
  3. #jabber - roko@jabber.calculate-linux.org
  4. #e-mail - sandikata@yandex.ru
  5. #irc - irc.freenode.net/ROKO__
  6.  
  7. # Переменные
  8. XDIALOG=`find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -name Xdialog`
  9. if [ -z "$XDIALOG" ]
  10. then
  11.  DIALOG="dialog"
  12. else
  13.  DIALOG="Xdialog"
  14. fi
  15.  
  16. pn="ddflash-gui"
  17. # Суперпользователь
  18. if [ `id -u` -ne 0 ] ; gksu $pn
  19. then
  20. $DIALOG --title "Ошибка!" --msgbox "Вы должны иметь привилегии суперпользователя!" 0 0
  21. exit 1
  22. fi
  23.  
  24. # DDFLASH 0.1
  25. $DIALOG --title "DDFLASH 0.1" --yesno "Добро пожаловать.\n
  26. Это тест версия!\n
  27. Используйте на свой страх и риск!\n
  28. Мы не принимаем жалобы на потерю данных!\n
  29. Автор: Росен Александров\n
  30. Готовы ли вы продолжать?" 16 85
  31.  
  32. otwet=$?
  33. if [ $otwet -ne 0 ]
  34. then notify-send -t 10000 "Вы не согласились, чтобы продолжить. Программа закрывается!"
  35. exit 0
  36. fi
  37.  
  38. $DIALOG --title "DDFLASH 0.1" --msgbox "Пожалуйста, отключите все USB устройства!" 16 85
  39. dmesg -c 1> /dev/null
  40. $DIALOG --title "DDFLASH 0.1" --msgbox "Теперь подключите USB устройство, которое будет признано, это займет некоторое время." 16 85
  41. sleep 10
  42. USB=`dmesg | grep removable | cut -d '[' -f 3 | cut -d ']' -f 1`
  43. if [ -z "$USB" ]; then
  44. USB=`dmesg | grep removable | cut -d ' ' -f 3 | cut -c 2,3,4`
  45. fi
  46. DEVICE=`for var in $USB; do echo "/dev/$var"; done`
  47. set $DEVICE
  48. usb=`$DIALOG --title "$TITLE" --radiolist "DDFLASH 0.1 Выберите устройство?" 15 60 3 \
  49. :$1 "" off \
  50. :$2 "" off \
  51. :$3 "" off 3>&1 1>&2 2>&3 | cut -c2-11`
  52. [ -z "$usb" ] && exit 0
  53.  
  54. # Образ
  55. iso=`$DIALOG --title "DDFLASH 0.1 Выберите изображение? (ISO)" --fselect "/" 40 100 3>&1 1>&2 2>&3`
  56. [ -z "$iso" ] ;
  57.  
  58. # Продолжать
  59. $DIALOG --title "DDFLASH 0.1" --clear \
  60. --yesno "Вы уверены, что хотите продолжить?" 16 85 3
  61.  
  62. value=$?
  63.  
  64. case $value in
  65. 0) umount $usb ; dd if=$iso of=$usb
  66.   Xdialog --no-buttons --infobox "Копирование ... Пожалуйста, подождите ..." 0 0
  67. ;;
  68.  
  69. 1) notify-send -t 10000 "Отмена нажатой."
  70.   exit 0
  71. ;;
  72.  
  73. 255) notify-send -t 10000 "Диалог был закрыт."
  74. ;;
  75.  
  76. esac
  77. $DIALOG --title "DDFLASH 0.1" --msgbox "Копирование завершено." 15 60
  78. exit 0
  79.  
  80.  

Скоро ще има още подобрения по програмата.
« Последна редакция: Mar 05, 2012, 23:05 от AMD »
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

jet

  • Напреднали
  • *****
  • Публикации: 3472
  • Distribution: debian
  • Window Manager: kde
    • Профил
Ако искаш някой да ти ползва скрипта - махни тези номера на редове или дай линк за сваляне.
А какъв е този Xdialog, в кой-пакет се намира, освен ако не трябва да се ползва твоята дистрибуция.
При версия 0.2, ще ходиш да заменяш 0.1 с 0.2 ли
Не се заяждам, градивна критика.
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Ако искаш някой да ти ползва скрипта - махни тези номера на редове или дай линк за сваляне.
А какъв е този Xdialog, в кой-пакет се намира, освен ако не трябва да се ползва твоята дистрибуция.
При версия 0.2, ще ходиш да заменяш 0.1 с 0.2 ли
Не се заяждам, градивна критика.

Не това 0.1 го добавям като пиша пакети за моята дистрибуция, и нали ако има големи промени ще стане 0.2, а евентуално ако са само фиксове добавям 0.1-r1 r2 и така нататък.

Линк за сваляне сега ще публикувам.

https://github.com/sandikata/ROKO__/blob/master/ddflash-gui

Цъкваш на RAW и получаваш чистия код, без номерация на редовете.
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Xdialog си е самостоятелен пакет. За всяка дистрибуция. Вече отделен въпрос е дали всяка дистрибуция ще го има в хранилището си (Особено ако е КДЕ Десктоп.)

Xdialog е еквивалент на Zenity и Kdialog

http://mirror.yandex.ru/gentoo-distfiles/distfiles/Xdialog-2.3.1.tar.bz2 - с GTK

http://mirror.yandex.ru/gentoo-distfiles/distfiles/dialog-1.1-20120215.tgz - с Console Like Interface

Зависимости: libtool bash ncurses gettext gtk+-2

ПС: За Дебиан/Убунту потребители, ако не съществува в хранилищата може да се инсталира ръчно както писах по-горе, тъй като при тях се използва "whiptail"
« Последна редакция: Mar 03, 2012, 20:05 от AMD »
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Малко снимки от програмката.

http://imglink.ru/show-image.php?id=be907b1ee69b125a6f388d5a7981d2e4
http://imglink.ru/show-image.php?id=7c6e5dfecefe6fec45d63291c698a494
http://imglink.ru/show-image.php?id=5d3344a56109098d53c55117abdccdd7
http://imglink.ru/show-image.php?id=ef70a832f44b08be7ff85aed3ed3de8e

ПС: Не всички диалози се показват при мен, защото нямам включено USB и съм направил скрипта да не продължава ако не покаже налични устройства в списъка (4-тия линк).
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
И това копира с dd iso-то върху флашка.

Трябва да се каже, че това е възможно само ако iso-to е така направено че да може да бутва и от CD и от Флашка. При федората знам, че вече от ver 13 нагоре iso-тата им са такива. Не знам как е при другите дистрибуции. Може навсякъде вече да е така.

Но в общият случай iso не може направо да се записва върху флашка. Iso-то си е за CD и ефекта ще е никакъв. Няма да бутне.
« Последна редакция: Mar 03, 2012, 22:58 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

radoshow

  • Напреднали
  • *****
  • Публикации: 1313
  • Distribution: Arch Linux
  • Window Manager: Gnome Shell
    • Профил
И това копира с dd iso-то върху флашка.

Трябва да се каже, че това е възможно само ако iso-to е така направено че да може да бутва и от CD и от Флашка. При федората знам че вече от ver 13 нагоре iso-тата им са такива. Не знам как е при другите дистрибуции. Може навсякъде вече да е така.

Но в общият случай iso не може направо да се записва върху флашка. Iso-то си е за CD и ефекта ще е никакъв. Няма да бутне.
Примерно Убунту,ЛинуксМинт и някой други не могат да се записват по този начин,ама много са тези,които можеш да запишеш като bootableUSB.

P.S.Аз имам забележки към скрипта.Примерно когато не си поставил флашка в USB-то не спира до там скрипта,а си продължава до края.Може да се направи като искането на на Адмонистраторски права.Когато не открие флашка да спира скрипта.Не знам за Xdialog-а дали е еквивалент на Zenity и Kdialog,ама по-добре ползвай тях,защото при мен изглежда като инсталатор на ArchLinux.
« Последна редакция: Mar 03, 2012, 23:14 от radoshow »
Активен

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
И това копира с dd iso-то върху флашка.

Трябва да се каже, че това е възможно само ако iso-to е така направено че да може да бутва и от CD и от Флашка. При федората знам, че вече от ver 13 нагоре iso-тата им са такива. Не знам как е при другите дистрибуции. Може навсякъде вече да е така.

Но в общият случай iso не може направо да се записва върху флашка. Iso-то си е за CD и ефекта ще е никакъв. Няма да бутне.

Направено е за дистрибуциите които правят Хибридни образи (Hybrid ISO)
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
И това копира с dd iso-то върху флашка.

Трябва да се каже, че това е възможно само ако iso-to е така направено че да може да бутва и от CD и от Флашка. При федората знам че вече от ver 13 нагоре iso-тата им са такива. Не знам как е при другите дистрибуции. Може навсякъде вече да е така.

Относно забележката нямам в момента флашка на която да тествам поведението му. Ако можеш покажи с снимки какво си забелязал.
Но в общият случай iso не може направо да се записва върху флашка. Iso-то си е за CD и ефекта ще е никакъв. Няма да бутне.
Примерно Убунту,ЛинуксМинт и някой други не могат да се записват по този начин,ама много са тези,които можеш да запишеш като bootableUSB.

P.S.Аз имам забележки към скрипта.Примерно когато не си поставил флашка в USB-то не спира до там скрипта,а си продължава до края.Може да се направи като искането на на Адмонистраторски права.Когато не открие флашка да спира скрипта.Не знам за Xdialog-а дали е еквивалент на Zenity и Kdialog,ама по-добре ползвай тях,защото при мен изглежда като инсталатор на ArchLinux.


Значи нямаш инсталиран Xdialog направил съм го така че ако имаш Xdialog излиза графично, ако имаш само dialog излиза конзолно.
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
И колко продължава тестовият период скрипта?

П.П.
Понеже форума е на Линукс за българи, а не на Calculate Linux е по-правилно съобщенията да са преведени български.
Активен

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
И колко продължава тестовият период скрипта?

П.П.
Понеже форума е на Линукс за българи, а не на Calculate Linux е по-правилно съобщенията да са преведени български.

Това мисля че важи и за статиите които се пускат на английски!

Сега по темата. Тестов ще е докато получа отзиви дали работи, и какви проблеми са забелязани. Аз нямам в момента къде да го тествам.

Не съществува риск да си изтриеш важна информация на диска, защото съм го направил така че да следи само за сменяеми дялове (флашки и други). Единственото е ако имаш нещо важно на флашката си заминава безвъзвратно.
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

radoshow

  • Напреднали
  • *****
  • Публикации: 1313
  • Distribution: Arch Linux
  • Window Manager: Gnome Shell
    • Профил
Росене,преди малко тествах скрипта и при мен не се получи.За теста ползвах ArchLinux(този имах на компа).Сега ще дръпна някой друг хибрид(ако искаш предложи ти някой) и ще пробвам отново.Направих видео на теста.Ето виж:
http://youtu.be/mTMGBpN6j_Q
Активен

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Предполагах че ще е подобен резултата.
Някой от знаещите може ли да даде идея?

Не съм много сигурен в това дали изобщо скрипта записва в променливи данните въведени от Xdialog.

Ами да ....

roko__@Calculate(11:47:41-12-03-05)( ~ pts/2 )# sudo sh script.sh
usr/share/
/dev/sdf
/usr/share/themes/MurrinaNeoGraphite/gtk-2.0/gtkrc:52: Murrine configuration option "scrollbar_color" is no longer supported and will be ignored.
/home/roko__/Торенти/Need For Speed Underground 2.iso

Не чете правилно USB-то. това usr/share не знам от къде се взема че само пречи.

usb=`$DIALOG --title "Выберите устройство." --radiolist "DDFLASH 0.1" 0 0 0 \
        :$1 "" off \
        :$2 "" off \
   :$3 "" off \
   :$4 "" off \
   :$5 "" off \
        :$6 "Не трогай сюда!" off 3>&1 1>&2 2>&3 | cut -c2-11`

Проблема идва от тази секция ама а де...

roko__@Calculate(11:54:54-12-03-05)( ~ pts/2 )# sudo sh script.sh
usr/share/
/dev/sdf
/usr/share/themes/MurrinaNeoGraphite/gtk-2.0/gtkrc:52: Murrine configuration option "scrollbar_color" is no longer supported and will be ignored.
/home/roko__/Торенти/Need For Speed Underground 2.iso
dd: открытие «/usr/share/themes/MurrinaNeoGraphite/gtk-2.0/gtkrc:52: Murrine configuration option "scrollbar_color" is no longer supported and will be ignored.\n/home/roko__/Торенти/Need For Speed Underground 2.iso»: Нет такого файла или каталога
dd: открытие «usr/share/\n/dev/sdf»: Нет такого файла или каталога
0:00:00 [   0B/s] [<=>               

Ето какво изсира, не мога да разбера от къде се взема това usr/share/\n/dev/sdf
Трябва ми само /dev/sdf да излиза.

Но е доста тъпо.
« Последна редакция: Mar 05, 2012, 13:39 от neter »
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

4096bits

  • Напреднали
  • *****
  • Публикации: 6152
    • Профил
Не съм от разбирачите, но с 'dd' не е ли бавничко? Ако iso-то е DVD?!
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Не съм от разбирачите, но с 'dd' не е ли бавничко? Ако iso-то е DVD?!

То няма бързо копиране при бавна памет.

Мисля че открих проблема, след малко ще кача официалната версия!
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
flash игричка
Хумор
Ipolit 19 7772 Последна публикация Sep 02, 2007, 13:43
от reiserFS
Fedora и LiveUSB Creator проблем
Настройка на програми
s7ar 5 3185 Последна публикация Apr 27, 2009, 17:39
от mishot
Добавяне и използване на библиотеки в Qt Creator
Общ форум
staco 16 5345 Последна публикация Sep 03, 2009, 21:31
от LinuxFanUNIX
Calculate Linux
Коментар
ROKO__ 48 11362 Последна публикация Dec 19, 2010, 13:14
от neter
Calculate 11.15 бавен първоначален експлоурър
Настройка на програми
arlekin 5 2111 Последна публикация Apr 17, 2012, 10:11
от arlekin