Archiv/FUSE/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.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Pakete installieren

  2. ⚓︎ Bearbeiten von Paketquellen

  3. ⚓︎ Ein Terminal öffnen

  4. ⚓︎ Einen Texteditor öffnen

  5. ⚓︎ Rechte für Dateien und Ordner ändern

Inhaltsverzeichnis
  1. Einleitung
  2. Installation
  3. Benutzung
    1. Skript für Nautilus
    2. Skript für Thunar
  4. Links

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:

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:

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