[[Vorlage(Archiviert)]] 


{{{#!vorlage Wissen
[:Pakete_installieren: Pakete installieren] 
[:Paketquellen_freischalten: Bearbeiten von Paketquellen] 
[:Terminal: Ein Terminal öffnen] 
[:Editor: Einen Texteditor öffnen] 
[:Rechte: Rechte für Dateien und Ordner ändern] 
}}}
[[Inhaltsverzeichnis(2)]] 


= Einleitung =
"'''fuseiso'''" ist ein Modul für [:FUSE:], welches einem normalen Benutzer erlaubt, CD-Abbildungen (Dateisystem: ISO9660) in das Dateisystem einzubinden. Nach Aussage des Entwicklers auf der [http://fuse.sourceforge.net/wiki/index.php/FuseIso Internetseite] {en} werden folgende Formate unterstützt: .iso, .img, .bin, .mdf, .nrg. 


= Installation =
Folgende Pakete müssen installiert [1] werden: 

 * '''fuseiso''' (''universe'', [2]) 
 * '''fuse-utils'''  

= Benutzung =
Zuerst sollte im Terminal [3] ein Ordner angelegt werden, in welchem das CD-Abbild eingehängt werden soll. 


{{{#!vorlage Befehl
sudo mkdir -p /media/fuseiso/cd
sudo chown -R $USER:$USER /media/fuseiso
}}}
Nun wird das CD-Abbild eingehängt: 


{{{#!vorlage Befehl
fuseiso cdimage.iso /media/fuseiso/cd
}}}
Der Inhalt der CD kann nun mit einem [:Dateimanager:] betrachtet werden. Um das CD-Abbild wieder aus dem Dateisystem auszuhängen, muss folgender Befehl in der Konsole eingegeben werden: 


{{{#!vorlage Befehl
fusermount -u /media/fuseiso/cd
}}}

== Skript für Nautilus ==
Um CD-Abbilder per Mausklick in [:Nautilus:] einfach ein- und auszuhängen, muss man eine Datei '''~/.gnome2/nautilus-scripts/fuseISO''' mit folgendem Inhalt anlegen [4] und ausführbar machen [5]. Weitere Informationen über Nautilus-Skripte findet man [:Nautilus/Skripte: hier]. 


{{{#!vorlage Hinweis

Die Variable ''MNTPATH'' muss auf einen existierenden Ordner zeigen, in welchem der Benutzer Schreibrechte besitzt. 

}}}

{{{#!/bin/bash
#
# Nautilus script -> mount/unmount an isofile with fuse

MNTPATH="/media/fuseiso"
ISO=`echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
ERRORTEMP=$(mktemp)
TEMP=$(mktemp)

while [ $# -gt 0 ]
do
    if ( file -b "$ISO" | grep "ISO 9660" > /dev/null 2>&1 ); then
        if ( mount | grep "$1" > /dev/null 2>&1 ); then
            fusermount -u "$MNTPATH/$1" 2>>$ERRORTEMP
            RETVAL=$?
            echo $RETVAL
            if [ "$RETVAL" = "0" ]; then
                echo "$ISO successfully unmounted\n" >> $TEMP
                rmdir "$MNTPATH/$1"
            else
                echo "FEHLER: `cat $ERRORTEMP`\n" >> $TEMP
            fi
        else
            mkdir "$MNTPATH/$1"
            fuseiso "$ISO" "$MNTPATH/$1" -o allow_root 2>>$ERRORTEMP
            RETVAL=$?
            echo $RETVAL
            if [ "$RETVAL" = "0" ]; then
                echo "$ISO mounted on $MNTPATH/$1\n" >> $TEMP
            else
                echo "FEHLER: `cat $ERRORTEMP`\n" >> $TEMP
            fi
        fi
    else
        echo "$1 is no ISO-file\n" >> $TEMP
    fi
    shift
done

zenity --info --text "`cat $TEMP`"

rm $ERRORTEMP
rm $TEMP

exit 0
}}}

== Skript für Thunar ==
Um CD-Abbilder per Mausklick in [:Thunar:] einfach ein- und auszuhängen, kann man eine Datei, z.B. '''~/bin/fuseISO.sh''', mit folgendem Inhalt anlegen [4] und ausführbar machen [5]. Anschließend in Thunar unter ''"Bearbeiten -> Benutzerdefinierte Aktionen"'' eine neue Aktion erstellen: 

 * '''Name:''' (un)mount Image 
 * '''Befehl:''' ~/bin/fuseISO.sh %n %d 
 * '''Dateizuordnung:''' *.iso;*.ISO 
 * '''Erscheint falls ausgewählt:''' Andere Dateien 

{{{#!vorlage Hinweis

Die Variable ''MNTPATH'' muss auf einen existierenden Ordner zeigen, in welchem der Benutzer Schreibrechte besitzt. 

}}}

{{{#!/bin/bash
# uebergabewerte: $1 Dateiname, $2 Pfad
#
# Thunar script -> mount/unmount an isofile with fuse

MNTPATH="/mnt/fuseiso"
ERRORTEMP=$(mktemp)
TEMP=$(mktemp)

if ( file -b "$2" | grep "ISO 9660" > /dev/null 2>&1 ); then
    if ( mount | grep "$1" > /dev/null 2>&1 ); then
        fusermount -u "$MNTPATH/$1" 2>>$ERRORTEMP
        RETVAL=$?
        echo $RETVAL
        if [ "$RETVAL" = "0" ]; then
            echo "$2 successfully unmounted\n" >> $TEMP
            rm -r "$MNTPATH/$1"
        else
            echo "FEHLER: `cat $ERRORTEMP`\n" >> $TEMP
        fi
    else
        mkdir "$MNTPATH/$1"
        fuseiso "$2" "$MNTPATH/$1" -o allow_root 2>>$ERRORTEMP
        RETVAL=$?
        echo $RETVAL
        if [ "$RETVAL" = "0" ]; then
            echo "$2 mounted on $MNTPATH/$1\n" >> $TEMP
        else
            echo "FEHLER: `cat $ERRORTEMP`\n" >> $TEMP
        fi
    fi
else
    echo "$1 is no ISO-file\n" >> $TEMP
fi

zenity --info --text "`cat $TEMP`"

rm $ERRORTEMP
rm $TEMP

exit 0
}}}

= Links =
 * [http://fuse.sourceforge.net/wiki/index.php/FuseIso fuseiso-Homepage] {en} 

----
 
# tag: System