staging.inyokaproject.org

fuseiso

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

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 Internetseite 🇬🇧 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.

sudo mkdir -p /media/fuseiso/cd
sudo chown -R $USER:$USER /media/fuseiso 

Nun wird das CD-Abbild eingehängt:

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:

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 hier.

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

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

Diese Revision wurde am 17. Januar 2014 23:14 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System