PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ISO-Image in fstab eintragen



jean_luc_picard
17.06.03, 06:42
hallo leute,

ich würde gern ein iso-image in der fstab eintragen, so das es beim booten automatisch gemountet wird. es gibt scheinbar auch probleme mit dem image- bzw. verzeichnisnamen, da diese leerzeichen enthalten...

fstab


/srv/media/image nr.1.ISO /srv/media/image nr.1/ iso9660 ro


was ist an dieser zeile nicht in ordnung? wie kann ich erreichen, das auch pfadangaben mit leerzeichen funktionieren?

quinte17
17.06.03, 06:43
tu mal die leerzeichen mit einem \ (backslash) davor aushebeln...

jean_luc_picard
17.06.03, 06:52
hab ich schon versucht, aber man bekommt ja leider keine vielsagende fehlermeldung (nur das die zeile fehlerhaft ist). da ich aber auch schonmal versucht habe das ganze mit image und pfad zu realisieren, die keine leerzeichen hatten, weiß ich, das es auch dann nicht funktioniert...

quinte17
17.06.03, 06:58
ich kann dir nur noch als tipp loopdevice geben ;)
ich mach des immer per hand mit losetup...

aber ich glaube man mount hilft dir da sicher auch... (er kennt dein iso ja nicht als device an)

mfg

edit: mount isoimage.iso /mnt/point -o loop
sollte funzen (per hand) kannst glaub ich auch so irgendwie in die fstab reinbekommen dass er des auch checkt *gg*

sepp2k
17.06.03, 13:48
schreib hinter das ro noch ,loop

jean_luc_picard
17.06.03, 15:03
leider ist dann wohl das problem mit den leerzeichen zu lösen... mit \ funktioniert es nicht, und mit '/diese iso.iso' '/diese verzeichnis' auch nicht...

... naja, vielleicht ist es einfacher ein kleines skript zu schreiben, das beim booten ausgeführt wird ;)

LX-Ben
17.06.03, 15:05
Naive Frage: Lässt sich die *.iso nicht 'in ohne Leerzeichen'
umbenennen?

jean_luc_picard
17.06.03, 15:19
natürlich ließe sich das machen ;)

... aber dann schreibe ich doch lieber das skript ;) , es müsste ja auch das verzeichnis in dem die iso liegt und wo sie mountet werden soll "leerzeichenfrei" sein... da ich leerzeichen bisher nie vermieden habe (und eigentlich will ich das auch nicht ändern) müsste ich sämtliche verzeichnisse umbenennen...

zander
17.06.03, 15:33
/srv/media/image\040nr.1.ISO /srv/media/image\040nr.1/ iso9660 defaults,loop,ro 0 0

jean_luc_picard
22.06.03, 14:48
da ich öfter iso-images auf dem server habe, habe ich mir mal ein kleines skript geschrieben, welches diese automatisch mountet... das skript kann man (wenn man will) in der boot.local eintragen, dann wird es beim booten ausgeführt...

für alle, die es interessiert:



#!/bin/bash
# skript zum automatischen mounten von ISO-dateien
# übergebener pfad wird rekursiv nach iso's durchsucht.
# es wird für jede gefundene iso ein gleichnamiges unterverzeichnis erstellt (ohne die endung .iso)
# und die iso in dieses gemountet
# dieses skript muss als root ausgeführt werden (wegen mount)

#InterFieldSeperator für for schleife auf newline setzen
#da die dateinamen leerzeichen enthalten können
IFS='
'

#temporäre datei, in der die gefundenen iso's zwischengespeichert werden
isotmp=/tmp/ISOmounter.isotmp

#wurde ein gültiger pfad übergeben
if [ -d "$1" ]; then

# nach iso's suchen und gefundene abspeichern
find /srv -iname *.iso -fprint $isotmp

#für jede gefundene iso wird folgendes ausgeführt
for iso in $(cat $isotmp); do
#pfadnamen für die iso erzeugen (.iso am ende abschneiden)... vielleicht geht das auch einfacher?
path=`echo $iso | awk 'BEGIN {FS = "."} {ORS="";} {print $1} {while ( ++x < (NF-1) ) print "." $(x+1) } {print "\n"}'`

#existiert das directory bereits?
if [ -d "$path" ]; then
echo "Der Pfad für die ISO $iso existiert..."

#sind in dem pfad mehr als 2 dateien (. und .. sind in jedem pfad)
test `ls $path -a | wc -l` -le 2
if [ $? = 0 ]; then
echo "... das Verzeichnis ist leer... mounte ISO"
mount -t iso9660 -o loop,ro $iso $path
echo ""
else
echo "... das Verzeichnis ist NICHT leer! Diese ISO wird nicht gemountet"
echo ""
fi
else
echo "Der Pfad für die ISO $iso existiert NICHT! Erstelle Verzeichnis $path"
mkdir $path
if [ $? = 0 ]; then
echo "... mounte ISO"
mount -t iso9660 -o loop,ro $iso $path
else
echo "Erstellen des Verzeichnisses fehlgeschlagen! Abbruch!"
fi
fi
done

else

echo "Bitten einen gültigen Pfad angeben."

fi

rm $isotmp


... ich übernehme keine garantie ;)
für verbesserungsvorschläge bin ich immer offen...

thiede
29.07.03, 15:15
falls es noch jemanden interessiert

in der fstab eintragen

/Verzeichnis/Imagedatei.iso /Verzeichnis_in_das_gemountet_wird iso9660 loop,ro,users


Gruss

Norbert