org.freedesktop.Hal.Device.Volume.UnknownFailure: mount: illegal option -- u usage: mount [-t fstype

cabriofahrer

Well-Known Member
Seit dem Upgrade auf 10.2 funktioniert das Automounten mit HAL von NTFS-Platten nicht mehr. Die Platten/Partitionen werden zwar in Dolphin gelistet, aber beim Anklicken erscheint die Meldung aus dem Titel. Unter früheren 9.x-Versionen, wo ich zwar noch MATE verwendete, war das kein Problem. Unter 10.2 funktioniert es auch mit MATE nicht mehr. NTFS-3G ist installiert und fuse.ko geladen.
 
In irgendeiner Datei (es ist mir wirklich zu viel, das nun zu suchen), sind die jeweiligen Optionen gelistet, die bei HAL zur Geltung kommen, nachdem der Typ erkannt worden ist. Da wird womöglich etwas stehen, was nun nicht gut ankommt. Das zu finden ist eine ziemliche Arbeit. Vielleicht gibt es eine Dokumentation.
Vor sehr vielen Jahren hatte ich damit ein Problem. Damals gab es plötzlich die Option --large bei einem Dateisystem, die nicht in der HAL Datei eingepflegt war. Den Mail-Verkehr hatte ich noch gespeichert. Da ist die Rede von /usr/local/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi, aber möglicherweise trifft das bei dir nicht zu. Der gesamte Vorgang ist recht komplex und HAL selbst mounted ja nichts, es gibt nur die Informationen an einen "Mounter" weiter. Damals hieß es übrigens von Joe Marcus Clarke:
Right. FreeBSD's hal only has support for the kernel NTFS. Fuse
support is missing since I do not have NTFS volumes, and cannot test.
Patches are welcome.

Joe
 
Hm, es sieht auch so aus, als sei der support für Kernel-NTFS in 10.x einfach weggefallen. Es existiert nicht mehr wie früher eine Datei "ntfs" im Verzeichnis /usr/local/bin, womit auch der Befehl z.B. "mount -t ntfs /dev/da0s1 /mnt" nicht mehr funktioniert. Weiß jemand, warum das so ist?
Die Erklärung von einem Entwickler wie Clarke, er hätte keine NTFS-Platten zum Testen, finde ich indes etwas arm. Wer hat keine alte Festplatte herumliegen, die mal schnell direkt oder mit einem USB-Adapter angeschlossen und mit NTFS formatiert werden kann?
 
Probier mal:
Code:
sudo ntfs-3g /dev/ada1s1 -o ro NTFSTESTVERZEICHNIS
Das tut es bei mir mit einer alten Windows XP Festplatte. (Read Only mounted, sicherheitshalber) Der Device Node mit dem NTFS ist bei mir ada1s1. Nachschauen, was für Filesysteme wo genau sind geht mit file -s auf die Device Nodes draufhalten. Das akzeptiert auch Wildcards wie etwa:
Code:
file -s /dev/ada*
Das NTFSTESTVERZEICHNIS ist einfach irgendein Verzeichnis im Userhome.
 
Die in-kernel NTFS Implementierung ist rausgeflogen, weil sie als letztes Dateisystem GIANT nutzte. Das bremste alle anderen Dateisysteme, weil VFS APIs dadurch auch unter den GIANT Lock fielen. Außerdem ist die FUSE ntfs-3g Implementierung vollständiger und FreeBSD 10.2 enthält FUSE im Basissystem. Damit war die Entscheidung gefallen. Wer wirklich NTFS nutzen muss kann es per FUSE.
 
Vermutlich erklären die Antworten oben schon alles dazu. Ergänzend möchte ich eine weitere Aussage von Joe zitieren:
The Fuse change looks to be non-trivial, and I did not want to break
existing (working) NTFS support. I would be happy to implement NTFS
read-write through fuse, but I need some basis for getting this working
in FreeBSD given the way our mount works. That's why I was hoping some
fuse users would contribute.

Joe
Diese Gespräche fanden zu einer FreeBSD-7er Zeit statt, sind also schon eine Weile her und vielleicht wird sich da dann demnächst tatsächlich etwas ändern. Vielleicht.
Andererseits fand ich es persönlich schon immer einen unerhörten Aufwand, all dieses HAL zu installieren, nur um Datenträger automatisch zu mounten (ich weiß natürlich, das HAL und Kosorten mehr können oder könnten). Die Geschichte mit automatischem Mount ist ja grundsätzlich schon eine merkwürdige Konstruktion. Da sitzt man vor seinem Unix und mir_nix dir_nix erscheint plötzlich ein neuer Datenträger, weil irgendjemand zufällig mal einen Stick in einen PC gesteckt hat? Das ist jedenfalls gewöhnungsbedürftig, besonders, wenn man bedenkt, dass irgendein User diesen Stick auch wieder auswerfen kann oder eben dieses verhindert, weil er noch etwas damit arbeitet, während der Besitzer des Sticks verzweifelt vorm PC sitzt und sich fragt, wieso sein umount nicht geht.
Man stellt sich solche Konzepte eben am Besten in einem Ein-Benutzer-allein-vorm-PC Umfeld vor, ansonsten können die durchaus ziemlich verwirrende Ergebnisse liefern.
Trotzdem habe ich früher auch den entsprechenden KDE-Dienst gerne genutzt und war ganz entzückt, wenn nicht nur ein Icon eingeblendet wurde, das einen neuen Stick anzeigte, sondern, wenn sich dieses Icon abhängig davon ob gemountet war oder nicht auch noch veränderte.

NTFS ist ein Problem. Zumindest offiziell noch immer, aber mit FUSE und ntfs-3g habe ich persönlich seit Jahren nicht einen Fehler erlebt, weder bei FreeBSD, noch auf GNU/Linux. Allerdings gibt es nicht DAS NTFS. Davon sind mehrere Versionen im Umlauf und ich weiß nicht, wie kompatibel die jeweils sind. Meine Erfahrung beschränkt sich auf Versionen, die mit Windows XP und früheren zu machen waren. Ganz einfach: weil ich kein Windows habe und nutze.
Ob überhaupt ein Datenträger mit NTFS unter FreeBSD formatiert werden kann, weiß ich gar nicht. Es gibt Methoden einen FAT, also MSDOS formatierten Datenträger zu erstellen. Aber NTFS, das weiß ich nicht. Ebensowenig weiß ich das für EXT3 und EXT4.
Das hängt damit zusammen, dass ich Dateisysteme, die nicht nativ vom System unterstützt werden, nicht versuche, auf diesem System zu erstellen.
Sie zu benutzen, vor allem -ro, macht mich nicht kribbelig.
Aber erstellen und dann mit anderen Systemen benutzen, das fühlt sich nicht gut an für mich. Reine Gefühlssache, keine Erfahrung, keine logische Begründung.
NTFS kann man nativ überhaupt nur mit Windows benutzen (afaik). Es ist wirklich nicht so abwegig, dass jemand so etwas nicht braucht und deshalb keine Datenträger mit diesem Dateisystem hat. Bei mir sind die auch nur deshalb beliebt geworden, weil meine Firma auf Microsoft setzt und wir außer GNU/Linux und FreeBSD auch einige Mac-OS-X im Haus haben. NTFS zeigte sich als geeignetes Austausch-Dateisystem für Sticks oder externe Platten. Ohne Microsoft wäre die Wahl aber auf EXT2 gefallen. Wer das nun so liest, dass ich den Ansprüchen von Microsoft nachgegeben habe, hat nicht Unrecht. Das schwächste Glied in der Kette bestimmte diese Entscheidung. Wie gesagt, ohne M$ hätte ich gar kein NTFS in Gebrauch (obwohl ich es wirklich gut finde, vor allem für externe Medien).
Natürlich kann aber das Argument, keine Platte zur Verfügung zu haben und deshalb nicht testen zu können, einfach nur meinen, dass man keine Lust darauf hat. Auch das muss man verstehen. Warum sich da ins Zeug legen, um anderen etwas zu basteln, das man selbst gar nicht mag oder braucht? Wir sind bei OpenSource, da gehört das mit dazu. Wenn man es selbst nicht kann, muss man mit dem leben, was andere einem anbieten.
 
Danke für Eure Ausführungen soweit.

@Fusselbär, das manuelle Mounten mit ntfs-3g klappt natürlich. Die Frage ist nur, wie KDE4/Dolphin mit ntfs-3g genauso (automatisch) umgehen kann wie mit einem mit FAT formatierten Datenträger.

@pit234a, natürlich würde ich NTFS gerne umgehen, aber in einer von Windows dominierten Welt scheint NTFS eben das geeignetste Austausch-Dateiensystem zu sein. Mit exfat hätte man wohl das gleiche Problem. HAL/KDE4 oder welcher DE auch immer würde es nicht automatisch mounten, und mir geht es eben um dieses Prinzip: Totales Desktopfeeling mit FreeBSD. Oder stellt Euch mal vor: Jemandem, der von Computern überhaupt keine Ahnung hat (auch nicht von WinXP), ein Desktopsystem mit FreeBSD einzurichten, dass diese Person auch nutzen kann. Ich denke, da ist automatisches Mounten einer externen Festplatte, die in 100% der Fälle beim Neuerwerb mit NTFS daherkommt, einfach essentiell.
Und natürlich kann man unter FreeBSD mit NTFS formatieren: mkntfs, das mit ntfs-3g mitinstalliert wird.
 
Nachtrag: Was ich noch am Anfang vergessen hatte: Ich hatte, wie auch unter FreeBSD 9.x, die Anleitung nach

/usr/local/share/doc/hal-0.5.11/README.fuse

befolgt und in /usr/sbin/ die Datei "mount_ntfs" erstellt. Das war immer nötig, damit nicht nur ein Automount stattfand, sondern das Medium auch beschreibbar war. Aber selbst das funktioniert eben unter 10.2 nicht mehr.
 
was mir da gerade auffällt: meine Version ist hal-0.5.14 und mein System ist ALT. Seit vielen Monaten mache ich keine regelmäßigen Updates mehr. Vielleicht solltest du mal einen generellen Update ins Auge fassen? Vielleicht bekommst du dann auch neue HAL-Richtlinien etc. ...

Was in meinem README steht, ist, dass da ein Script benutzt wird (mit Hal ausgeliefert) und anstatt /usr/sbin/mount_ntfs benutzt wird. Dieses mount_ntfs ist normalerweise nicht das fuse ntfs-3g, aber dadurch, dass man nun dieses helper script dort einsetzt, wird das fuse-ntfs gestartet und umgesetzt.
Dazu werden dann im README (oder las ich das im script?) auch Dateien genannt, die die Konfiguration, sprich, die mount Optionen enthalten. Hier würde ich mal ansetzen. All das lässt sich auch manuell machen, was Hal automatisch versucht. Irgendwo hat sich doch offenbar eine Option --u eingeschlichen, die nicht unterstützt wird. Dazu fallen mir mehrere Möglichkeiten ein.
-es könnte sein, dass diese Option früher unterstützt wurde und nun weggefallen ist und deshalb Probleme verursacht
-es könnte sein, dass die Option in einer Konfigurations-Datei beschrieben wird, die fehlerhaft geworden ist (etwa einen Syntax-Fehler enthält)
-es könnte sein, dass die Option aus einer falschen Datei da ist, einer, die nun eigentlich obsolet sein sollte

Das nur mal als Hinweis.
 
Irgendwo hat sich doch offenbar eine Option --u eingeschlichen, die nicht unterstützt wird. Dazu fallen mir mehrere Möglichkeiten ein.
-es könnte sein, dass diese Option früher unterstützt wurde und nun weggefallen ist und deshalb Probleme verursacht
-es könnte sein, dass die Option in einer Konfigurations-Datei beschrieben wird, die fehlerhaft geworden ist (etwa einen Syntax-Fehler enthält)
-es könnte sein, dass die Option aus einer falschen Datei da ist, einer, die nun eigentlich obsolet sein sollte

Klingt sehr logisch. Doch in welcher Konfigurationsdatei könnte dieses "--u" stehen?
 
Nun bin ich nicht vor einem FreeBSD. Wie gesagt, entweder im Script oder im README wurden Dateien genannt, außerdem habe ich weiter oben schon mal eine allgemeinere erwähnt. Da würde ich anfangen.
Die man-page des mount-Kommandos kann vielleicht auch Hinweise geben, wenn sich dort etwas findet, das --u* genannt wird. Dazu evtl auch ältere Versionen im Netz suchen und checken, ob sich da was geändert hat.

Fehlersuchen in HAL und den unterschiedlichen Funktionen gereichen immer sehr komplex. Das macht nervös und ist Fuddelkram. Es gibt einige Befehle, die Aktionen anzeigen lassen und dann Hinweise liefern. Im Augenblick erinnere ich nur noch lshal und da gibt es lshal -m, wenn ich nicht irre, das aktuelle Aktionen fortlaufend anzeigt. Es gibt aber weitere Optionen und möglicherweise auch weitere Werkzeuge, die ich nun gerade nicht erinnere. dmesg zeigt mitunter auch Hinweise.

Irgendeiner Dokumentation zu folgen ist meist nur mühsam und ohne Erfolg, weil man das kaum verstehen kann und weil sie oft nicht aktuell sind.

Deshalb auch mein Rat: erst mal einen Update, damit du auf die aktuellste Version kommst und damit die Hoffnung, dass der Fehler bereits bereinigt ist. Das ist bequemer, als die Fehlersuche durch HAL.
Merkwürdig ist, dass du keine besseren Hinweise bei einer Suche im Web findest. Wenn der Fehler verbreitet ist, sollte man da doch etwas finden.
 
Back
Top