Mit rar2fs RAR Archive virtuell mounten

Ein wunderbares Hilfsmittel für die Verwaltung von gepackten Dateien ist rar2fs. Angenommen ihr habt aus welchen Gründen auch immer viele gepackte Dateien, deren Inhalt ihr regelmäßig auslesen wollt wie zum Beispiel eine Musikdatei in einem .rar Archiv. Nehmen wir an, ihr habt so viele von diesen Dateien, dass ihr eigentlich keine Lust habt, immer erst alles zu entpacken. Oder vielleicht hängt ihr an den rar-Dateien und wollt sie gern behalten.

Alles kein Problem, ihr könnt trotzdem jeden normalen Media Player dazu bringen, eure Media Files abzuspielen. Dazu braucht ihr auf eurem Fileserver oder Homeserver ein Setup von rar2fs. Ein Verzeichnis voller .rar Dateien, das mit rar2fs gemountet wurde, gibt die vituell entpackten Archive komplett aus. Das heißt ihr braucht nichts entpacken und seht im gemounteten Ordner keine .rar Dateien sondern ihren entpackten Inhalt. Wird eine Datei aus einem .rar Archiv tatsächlich zum Abspielen angefordert, dann entpackt rar2fs genau die Teile on-the-fly, die euer Media Player gerade braucht.

Der momentan einzig sinnvolle Weg es unter Debian zu installieren, ist das kompilieren aus den Quelldateien, da es keine Pakete in den offiziellen Repositories gibt.

Hierfür brauchen wir:

– Unrar Sources (Hier)
– rar2fs Sources (Hier)

Und dann gehts eigentlich ganz schnell. Am besten ihr erstellt euch einen temporären Bastel-Ordner:

tar xf unrarsrc-5.2.3.tar.gz
cd unrar
make
make install DESTDIR=$OPT_PREFIX

Jetzt sollte Unrar schonmal nach /bin/unrar installiert worden sein. Dann gehts im gleichen Verzeichnis weiter mit:

make lib
make install-lib DESTDIR=$OPT_PREFIX

Nun sind auch die Libraries installiert, die rar2fs später nutzen wird. Dann können wir uns auch schon rar2fs vornehmen. Angenommen unrar liegt auf der gleichen Ebene wie rar2fs nutzen wir diese Kommandos:

./configure --prefix=$OPT_PREFIX --with-unrar=../unrar --with-unrar-lib=$OPT_PREFIX/lib
make
make install

Vermutlich müsst ihr vorher noch „libfuse-dev“ und „fuse“ installieren, aber beim configure wird schon gemeckert, wenn etwas fehlt. Ist das Setup abgeschlossen kann man einfach einen Order mit rars zu einem virtuellen Ordner mit entpackten Archiven machen:

rar2fs /pfad/zu/rararchiven/ /mnt/unrared/

Das wird mit dem Root-User wohl klappen, allerdings wäre das als User ja ganz nett. Als User wird euch beim mounten wohl folgendes begegnen:

failed to open /dev/fuse: Permission denied

Wenn ihr den gewünschten User allerdings zur fuse-Gruppe hinzufügt, sollte es reibungslos funktionieren

usermod -aG fuse username

Nun mit dem User neu einloggen und es sollte funktionieren. Viel Spaß!

ping: command not found

Bitte was? Wie minimal kann eine Distribution sein, dass nichtmal Ping installiert ist. Das ist mir heute zum ersten mal passiert und ich kannte die Pakete bei Debian auch nicht auswendig. Wenn euch das auch passiert, dann fehlen euch diese Pakete:

apt-get install inetutils-tools inetutils-ping

ping google.de
PING google.de (173.194.112.63): 48 data bytes
56 bytes from 173.194.112.63: icmp_seq=0 ttl=55 time=3.739 ms
Veröffentlicht unter Linux