Монтирование ISO-образа

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Монтирование ISO-образа

Сообщение TechnoMag »

Пишу скрипт на bash с использованием Xdialog для монтирования выбранного файла-образа ISO.
Нужно запросить у пользователя пароль root'a и выполнить монтирование с правами root'a.
Честно говоря, не знаю, так ли это необходимо (запрашивать пароль).
Вот. И собственно выполнение команды mount с правами администратора.

Код: Выделить всё

#!/bin/sh

Xdialog --password --inputbox "enter root password" 20 50
iso1=$(Xdialog --stdout --fselect "" 0 0)
sudo -u root mount -t iso9660 -o ro,loop=/dev/loop0 $iso1 /mnt/iso
Thunar /mnt/iso


как проверять правильность ввода пароля?
Переменная $iso может содержать имена с пробелами
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:

Аватара пользователя
UTeHok
Сообщения: 354
Статус: Антиглобалист
ОС: Debian GNU/Linux

Re: Монтирование ISO-образа

Сообщение UTeHok »

Так это же делается двумя командами в консоли:
Создаем точку монтирования:
# mkdir /media/linux-loop
и монтируем iso-образ:
# mount -o loop /home/name/linux.iso /media/linux-loop

Куда еще проще?
«Make love, not war!»
Спасибо сказали:

Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: Монтирование ISO-образа

Сообщение TechnoMag »

это понятно, но я хочу сделать для начинающего пользователя. Да и самому удобно будет
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:

Аватара пользователя
UTeHok
Сообщения: 354
Статус: Антиглобалист
ОС: Debian GNU/Linux

Re: Монтирование ISO-образа

Сообщение UTeHok »

TechnoMag писал(а):
29.07.2008 22:06
это понятно, но я хочу сделать для начинающего пользователя. Да и самому удобно будет

Ясно. Жаль для меня bash и Xdialog - темный лес, так бы с радостью помог.
«Make love, not war!»
Спасибо сказали:

Аватара пользователя
OwnerCoder
Сообщения: 186
ОС: OpenSuSe 11, Apple OS X 10.5.8

Re: Монтирование ISO-образа

Сообщение OwnerCoder »

TechnoMag писал(а):
29.07.2008 21:43
Пишу скрипт на bash с использованием Xdialog для монтирования выбранного файла-образа ISO.
Нужно запросить у пользователя пароль root'a и выполнить монтирование с правами root'a.
Честно говоря, не знаю, так ли это необходимо (запрашивать пароль).
Вот. И собственно выполнение команды mount с правами администратора.

Код: Выделить всё

#!/bin/sh

Xdialog --password --inputbox "enter root password" 20 50
iso1=$(Xdialog --stdout --fselect "" 0 0)
sudo -u root mount -t iso9660 -o ro,loop=/dev/loop0 $iso1 /mnt/iso
Thunar /mnt/iso


как проверять правильность ввода пароля?
Переменная $iso может содержать имена с пробелами


1. Придется доставлять пользователю xdialog. (Не удобно, лишние пару килобайт)
2. Куда ты записываеш введенный пароль???

Код: Выделить всё

Xdialog --password --inputbox "enter root password" 20 50

3. Можно определить под чем сидит польз. и соответственно

Код: Выделить всё

gnome: gksu
kde: kdesu

4. В баше можно получить результат выполнения команды в переменную, пример:

Код: Выделить всё

owner@linux-jsrt:~> result=`ps -A | grep bash`
owner@linux-jsrt:~> echo $result
17117 tty1 00:00:00 bash 21172 pts/1 00:00:00 bash 21209 pts/1 00:00:00 bash
owner@linux-jsrt:~>
Спасибо сказали:

Аватара пользователя
Hunter
Сообщения: 215
ОС: Debian GNU/Linux

Re: Монтирование ISO-образа

Сообщение Hunter »

В mount переменную $iso1 в кавычки возьмите... а то если в имени образа есть пробелы - работать не будет.
Спасибо сказали:

Аватара пользователя
Ariasp
Сообщения: 254
Статус: NixLander

Re: Монтирование ISO-образа

Сообщение Ariasp »

TechnoMag писал(а):
29.07.2008 21:43
Пишу скрипт на bash с использованием Xdialog для монтирования выбранного файла-образа ISO.
Нужно запросить у пользователя пароль root'a и выполнить монтирование с правами root'a.
Честно говоря, не знаю, так ли это необходимо (запрашивать пароль).
Вот. И собственно выполнение команды mount с правами администратора.

:wacko: Никак не пойму сакральный смысл этой задачи.
Зачем нужен пароль рута, если используешь sudo? И что "самому удобно будет" от этого скрипта? Что может быть проще для маунта исо с правами администратора, чем
sudo mount -o loop /путь_к_iso /директория_монтирования
(в крайнем случае sudo su -c 'mount -o loop /путь_к_iso /директория_монтирования')
Спасибо сказали:

Аватара пользователя
oper777
Сообщения: 411
ОС: gentoo

Re: Монтирование ISO-образа

Сообщение oper777 »

Код: Выделить всё

#!/bin/bash
iso1=$(Xdialog --stdout --fselect "" 0 0)
mount -o loop "$iso1" /mnt/iso


Разрешите этот скрипт в sudoers без пароля. В баше создайте альяс Ваш_скрипт='sudo Ваш_скрипт'.
Спасибо сказали:

skvitek
Сообщения: 96

Re: Монтирование ISO-образа

Сообщение skvitek »

Я совсем новичок в этом деле, но делал так:
http://www.gnome-look.org/content/show.php...o?content=84301
nyashka
Спасибо сказали:

Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: Монтирование ISO-образа

Сообщение TechnoMag »

а как определить, запущен ли скрипт из консоли или через меню оконного менеджера?
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4417
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Монтирование ISO-образа

Сообщение Rootlexx »

TechnoMag писал(а):
26.08.2008 13:30
а как определить запущен ли скрипт из консоли или через меню оконного менеджера?

Например, так:

Код: Выделить всё

if tty -s; then
        from_console; else
        from_menu;
fi
Спасибо сказали:

Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Монтирование ISO-образа

Сообщение sspphheerraa »

А можно как-то это в контекстное меню конкверора (правый клик на iso-шнике) вставить?
Вот это действительно было бы удобно.
Sspphheerraa
Спасибо сказали:

Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: Монтирование ISO-образа

Сообщение TechnoMag »

sspphheerraa писал(а):
26.08.2008 20:00
А можно как-то это в контекстное меню конкверора (правый клик на iso-шнике) вставить?
Вот это действительно было бы удобно.


Конкуерора нет, попробую в Тюнаре. Отличная идея!
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:

Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: Монтирование ISO-образа

Сообщение TechnoMag »

Готовый скрипт.
Если запускаете из консоли (терминала) открывается консольный диалог. Если из меню оконного менеджера открывается диалог для иксов.
Авторазмонтирование при закрытии mc. Единственное !но!, авторазмонтирование происходит если закрыты ВСЕ Тюнары.

Код: Выделить всё

#!/bin/sh

# Скрипт для монтирования образов дисков ISO v1.01
# Автор: TechnoMag (Кобзев Илья Владимирович)

# блок настроек скрипта

# файловый менеджер для иксов
xfm="thunar"
# консольный файловый менеджер
cfm="mc"
# точка монтирования ISO
mp="/mnt/iso"

# блок кода

if tty -s; then
iso1=$(dialog --title "Выбор ISO-образа" --stdout --fselect "/home" 5 75);
    if [ -a $iso1 ]; then
        sudo mount -t iso9660 -o ro,loop=/dev/loop0 "$iso1" $mp && $cfm $mp;
        ( while ps ax | grep -m 1 "$cfm $mp"; do
        sleep 10;
        done
        sudo umount $mp );
    else
        echo "Файл $iso1 не существует!";
    fi
else
iso1=$(Xdialog --title "Выбор ISO-образа" --stdout --fselect "/home" 0 0);
    if [ -a $iso1 ]; then
        sudo mount -t iso9660 -o ro,loop=/dev/loop0 "$iso1" $mp && $xfm $mp;
        ( while ps ax | grep -m 1 "$xfm"; do
        sleep 10;
        done
        sudo umount $mp );
    else
        Xdialog --title "Ошибка" --msgbox "Файл не существует!" 0 0;
    fi

fi


ЗЫ в консольном диалоге нужно набирать имя файла в строке ввода. Если выберете при помощи клавиш курсора, будет ошибка.
Будут изменения. :)
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:

Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Монтирование ISO-образа

Сообщение butch »

просто на заметку, популяризую fuse =)
вместо mount -o loop можно использовать fuseiso. к тому же он коректнее работает с mdf
Спасибо сказали:

MMouXe
Сообщения: 252

Re: Монтирование ISO-образа

Сообщение MMouXe »

Для этих целей также есть:
Furius ISO Mount (http://www.marcus-furius.com/?page_id=14) для GNOME,
AcetoneISO2 (http://www.acetoneteam.org) для KDE.
PS Хорошо сказано на ЛОРе по поводу наездов на подобное ПО:
"В среде красноглазых принято ненавидить всё новое и всё что предназначено для улучшения юзабильности линукса. Ибо труЪ должны всё делать в консоли, а следовательно всё остальное - не нужный фолзЪ".
Спасибо сказали: