PDA

View Full Version : umount smontare una iso tramite un file .sh che si trova nella iso stessa


Player1
10-12-2013, 14:06
Buongiorno a tutti,
ho un piccolo problemino con linux spero possiate aiutarmi.
Ho un'immagine iso (chiamiamola myiso.iso) al suo interno ho creato un file .sh che si occupa di installare il contenuto (che chiameremo install.sh).
Per lanciare l'installazione monto l'immagine e lancio install.sh così:

mount myiso.iso /iso -o loop
cd /iso
./install.sh

Siccome al termine dell'installazione capita spessissimo (sempre!) di dimenticare l'immagine montata, e questo causa non pochi problemi, vorrei inserire qualcosa all'interno di install.sh che alla fine smonti automaticamente l'immagine.
1) La cosa più banale (ma errata) che può venire in mente è di inserire il comando umount all'interno di install.sh così:

cd /
umount /iso
exit(0)

Questo non funziona perchè install.sh stesso sta girando all'interno di /iso quindi /iso non può essere smontato.
2) Mi è stato consogliato di usare umount con l'opzione -l così:

cd /
umount /iso -l
exit(0)

Questo inizialmente sembra funzionare ma in realtà da dei problemi perchè anche se l'immagine viene smontata da /iso rimane montata in /dev/loopX

Qualcuno sa darmi qualche suggerimento?
Grazie

sacarde
11-12-2013, 08:07
e mettere tutto nello script ?


mount ...
cd
exec script
umount

Player1
11-12-2013, 08:10
e mettere tutto nello script ?

Ciao, purtroppo non è possibile perché lo script si trova all'interno dell'immagine iso che voglio montare/smontare

sacarde
11-12-2013, 08:22
bo..

una volta montata tutti i file della iso sono accedibili nel filesystem



mount myiso.iso /iso -o loop

/iso/install.sh

cd /

umount

Player1
11-12-2013, 09:09
La tua soluzione è corretta ma funziona solo se l'install.sh viene lanciata dall'esterno della directory iso.
Cioè così:
./iso/install.sh

L'utente normalmente va nella cartella iso:
cd iso
e poi lancia l'install:
./install.sh