To main content

Ubuntu: bindfs mit Abhängigkeit von fuse installieren

Veröffentlicht von Benjamin Marwell am

Software Package Clipart (BindFS)Wer unter Ubuntu 11.10 (oder früher) das Dateisystem BindFS installieren möchte, stößt auf ein Problem: Die geforderte Abhängigkeit FUSE kann nicht installiert werden: solch ein Paket gibt es nämlich gar nicht. Gemeint war hier wohl fuse-utils. Statt bindfs umzuschreiben, ist es aber einfacher, ein virtuelles fuse-Paket zu erstellen. Das ist schnell erledigt.

Virtuelle Pakete

Ein virtuelles Paket enthält keine Nutzdaten, und ist daher gut geeignet, diese falsche Anforderung zu befriedigen. Zusätzlich wird noch die korrekte Abhängigkeit fuse-utils  angegeben, um sicherzustellen, dass die eigentliche Abhängigkeit auch installiert ist.

Paketerstellung und -installation

Mit folgenden Befehlen wird das Paket erstellt und installiert:
$ mkdir -p fuse/DEBIAN
$ cat fuse/DEBIAN/control
Package: fuse
Version: 1.0.0
Section: utils
Priority: optional
Architecture: all
Depends: fuse-utils
Suggests:
Conflicts:
Installed-Size: 124 kb
Maintainer: Ubuntu Hero <larry.the.cow@ubuntu.invalid>
Description: This is a fuse virtual package.
        It is meant for to make bindfs-package work, which
        requires this non-existend fuse package.

$ dpkg-deb -b fuse .
dpkg-deb: building package `fuse' in `./fuse_1.0.0_alldeb'.

$ sudo dpkg -i fuse_1.0.0_all.deb

Das war es schon. BindFS kann nun ohne Abhängigkeitsprobleme installiert werden, und bleibt es auch bei Updates. Dieses ist mit Abstand die sauberste Variante, da hier auch die Funktionsfähigkeit nach Updates der Pakete bindfs  und fuse-utils  gewährleistet ist.

Alternativen

Die aus meiner Sicht nicht so schöne Alternative ist das Forcieren der Installation. Dieses lässt sich durch manuelles herunterladen und einem anschließenden dpkg-Befehl bewerkstelligen. Achtung! Die Installation mit --force-depends  wird bei der nächsten Ausführung von apt-get oder aptitude rückgängig gemacht! Damit kann euer System in einen inkonsisten Zustand versetzt werden!
$ aptitude download bindfs
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Status-Informationen einlesen... Fertig
Lese erweiterte Statusinformationen
Initialisiere Paketstatus... Fertig
Hole:1 http://de.archive.ubuntu.com/ubuntu/ oneiric/universe bindfs_1.9-3 [20,0kB]
20,0kB wurden in 0s heruntergeladen (653kB/s)

$ sudo dpkg --force-depends -i bindfs_*.deb
Außerdem ließe sich noch das bindfs-Paket neu erstellen, so dass es die korrekte Abhängigkeit enthält. Das sollte aber lieber Canonical übernehmen, da die Änderung beim nächsten Update von bindfs  sonst wieder verloren ist. Damit stieße man auf den gleichen inkonsistenzen Zustand wie oben. Als dritte Möglichkeit käme noch in Betracht, fuse-utils neu zu paketieren. Hier ist es möglich, in der Datei DEBIAN/control  den Eintrag Provides: fuse  zu setzen. Auch hier ergibt sich die Problematik der Inkonsistenz, fällt also als Quickfix raus. Alle drei vorgestellten Alternativen sind aufwändiger umzusetzen und können zu einem Inkonsistenten Zustand führen. Daher sind sie als schnelle Lösung des Abhängigkeitsproblems nicht in Betracht zu ziehen. Sie werden hier nur der Vollständigkeit halber und zu Lehrzwecken aufgeführt.

Weblinks