• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Externe USB HDD mittels hal und ntfs-3g automatisch mounten

Status
Für weitere Antworten geschlossen.
Hallo,

unter OpenSuSE 10.3 wird meine schicke neue externe USB HDD standardmäßig nur read only über das filesystem "ntfs" eingebunden.
(bitte sagt jetzt nicht: "Dann formatiere sie eben mit ext3!" Diesemal muss es einfach NTFS sein.)

Folgender Weg führt zum automatischen Einbinden über hal und Konsorten beim Einstöpseln:

1. Platte einstöpseln und externe Platte mittels ntfs-config auf Schreibzugriff setzen
2. Platte wieder ausstöpseln
3. die durch ntfs-config geänderte /etc/fstab wieder durch die ursprüngliche ersetzen. ntfs-config legt einen Eintrag für die externe Platte an, der das automatische mounten über hal verhindert.
4. beim erneuten Einstöpseln sollte hal sich nun mit der Fehlermeldung
hal-storage-mount-removable-extra-options auth_self_keep_always <-- (action, result)
dem mounten verweigern
5. /etc/PolicyKit/PolicyKit.conf editieren:
Code:
<?xml version="1.0" encoding="UTF-8"?> 

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">



<config version="0.1">

 <match action="hal-storage-mount-removable-*">
  <match user="1001|1002">
   <return result="yes"/>
  </match>
 </match>

</config>

bei match user= werden dabei alle user id's aufgeführt, die mounten dürfen sollen.
6. neu starten, das neu Laden der Enstellungen mittels polkit-reload-config funktionierte bei mir nicht.

Das sollte es gewesen sein.

ABER:

Es ist nicht möglich, Dateien mit Umlauten im Dateinamen auf das mit ntfs-3g eingebundene Laufwerk zu schreiben. Beim manuellen mounten müsste daher statt nls=utf-8 die Option locale=de.DE.UTF-8 gesetzt werden. Nur wie teile ich dies meinem Freund hal mit?

Ich freue mich auf eure Vorschläge!
 
So, mittlerweile geht auch mounten "mit Umlauten" über hal:
Nachdem die Platte durch hal/ kde mediamanager eingebunden wurde als normaler user in der shell mit
Code:
halmount -u /dev/sdb1
ausbinden und anschließend mit
Code:
halmount /dev/sdb1 -o "locale=de_DE.UTF-8"
wieder einbinden.

Über den KDE mediamanager geht es derzeit (KDE 3.5.7) wohl noch nicht.
 
kaltduscher_99 schrieb:
So, mittlerweile geht auch mounten "mit Umlauten" über hal:
Nachdem die Platte durch hal/ kde mediamanager eingebunden wurde als normaler user in der shell mit
Code:
halmount -u /dev/sdb1
ausbinden und anschließend mit
Code:
halmount /dev/sdb1 -o "locale=de_DE.UTF-8"
wieder einbinden.

Über den KDE mediamanager geht es derzeit (KDE 3.5.7) wohl noch nicht.

es geht mit einem kleinen trick:

in /sbin/ eine neue datei mount.ntfs-3g.sh anlegen mit folgendem inhalt:

#!/bin/bash

/bin/ntfs-3g $1 $2 -o locale=de_DE.UTF-8


dann:
cd /sbin
chmod +x mount.ntfs-3g.sh
mv mount.ntfs-3g mount.ntfs-3g.orig
ln -s mount.ntfs-3g.sh mount.ntfs-3g

bei mir hats dann auch mit dem kde-automounter gefunzt.

danke für deinen beitrag, ohne den ich es nie geschafft hätte!
 

Grothesk

Ultimate Guru
Das könnte ich mir auch gut im wiki vorstellen.
Überträgt das einer von euch? Ihr seid ja im Thema drin.
 

Smarty

Newbie
Hallo zusammen,

ihr habt hier ziemlich genau das beschrieben, was ich suche, ich kämpfe allerdings noch mit einer Fehlermeldung. Aber der Reihe nach:

Ich habe meine USB-Platte mit ntfs formatiert und dann nach dem Einbinden (Eintrag unter /media/My Book) mit ntfs-config Schreibzugriff gesetzt. Ich habe dabei das Verzeichnis /media/My Book übernommen.

Da ich feste fstab-Mounts nicht unter Media möchte, habe ich dort zwischenzeitlich ein anders Verzeichnis / Mountpunkt angegeben.
Ergebnis bis dahin war, daß er die Platte mit der bei Euch im ersten Teil genannten Fehlermeldung garnicht mehr gemountet hat.

Die fstab-Zeile ist nun aber (wie in Eurer Beschreibung empfohlen) auskommentiert.

Ich habe dann die Datei /etc/hal/fdi/policy/20-ntfs-config-write-policy.fdi
weggeschoben. Danach kam zumindest wieder der EIntrag unter /media/My Book.
Dann habe ich /etc/PolicyKit/PolicyKit.conf wie beschrieben angepasst (copy + paste aus Eurer Beschreibung) und rebootet.

Dann habe ich die Datei mount.ntfs-3g.sh erstellt und den Link wie angegeben eingerichtet.

Bis dahin hat alles geklappt. Beim Anstecken kam wieder /media/My Book, er hat mir angeboten das MEdium in einem neuen Fenster zu öffnen... alles klar. Allerdings nur Read-Only.

Ich habe vermutet, daß das mit der hal/fdi/policy-Datei zusammenhängt, die ich oben weggeschoben hatte. Doch nachdem ich die wieder zurückgeholt habe passiert nun folgendes:

- Der Eintrag /media/My Book erschient beim Einstecken nicht mehr. Wenn ich den Dialog mit "In einem neuen fenster öffnen" bestätige, dann erhalte ich folgenden Fehler:
Code:
ntfs-3g: You must specify exactly one device and exactly one mount point. ntfs-3g 1.913 - Third Generation NTFS Driver Copyright (C) 2005-2006 Yura Pakhuchiy Copyright (C) 2006-2007 Szabolcs Szakacsits Usage: ntfs-3g <device|image_file> <mount_point> [-o option[,...]] Options: ro, force, locale=, uid=, gid=, umask=, fmask=, dmask=, streams_interface=. Please see details in the manual. Example: ntfs-3g /dev/sda1 /mnt/win -o force,locale=en_EN.UTF-8 Ntfs-3g news, support and information: http://ntfs-3g.org

Kann damit jemand was anfangen? Ich bin für jeden Tip dankbar...

Danke und Gruß,
Martin Soltau
 
Smarty schrieb:
Ich habe meine USB-Platte mit ntfs formatiert und dann nach dem Einbinden (Eintrag unter /media/My Book) mit ntfs-config Schreibzugriff gesetzt. Ich habe dabei das Verzeichnis /media/My Book übernommen.

ich denke da ist dein problem.
du solltest bei der konfiguration den schreibzugriff für alle externen platten aktivieren, nicht nur für bestimmte.
 
whois schrieb:
rainerklier schrieb:
in welches wiki meinst du?

In unsere Linuxclub Wiki. :wink:
http://wiki.linux-club.de/Hauptseite

spricht was dagegen wenn ich eine wiki seite in de.opensuse.org erstelle (ich denke dort suchen die leute als erstes, ich zumindest hab zuerst auch dort gesucht), und dann im wiki.linux-club.de eine wiki seite mache, die dorthin verlinkt?
 

Smarty

Newbie
Hallo Rainerklier,

Ich bin mirnicht sicher, was Du meinst. Bei ntfs-config kommen zwei Dialoge.

Der Erste zeigt die vorhandenen Partitionen und hat im Default die ntfs-Partitionen angehakt. Da habe ich meine interne Festplatte rausgenommen, weil die will ich nicht mounten.

Dann folgt der Zweite Dialog. Der fragt nach Schreibzugriff für externe (da kann ich garnix auswählen) und interne (da stehen die, die ich im ersten Dialog ausgewählt habe) Laufwerke.

Für externe habe ich aktiviert, für interne eben nur die USB-Platte unter /dev/sdg1.

Wo siehst Du den Fehler? Muß ich auch meine interen Festplattenpartition mit ntfs aktivieren? Die will ich doch garnicht...

Danke und Gruß,
Martin

P.S.: Ich habe nun alle von ntfs-config angelegten Dateien im /media- und /etc/hal/fdi/policy-Verzeichnis gelöscht und die Platte neu via nfts-config eingehängt:
Er hat sie problemlos eingebunden - sogar mit schreibzugriff für root.
Nach Reboot und neu anhängen: Gleiche Fehlermeldung wie oben - You have to specify exactly one... :-(

P.P.S.: Wenn er mir wenigstens sagen würde, Wo zum Henker er meint, ein zweites Device oder einen zweiten Mountpoint her zu haben, dann könnte ich das ja beheben. Aber so... ratlose Grüße...
 
Es gibt auch noch einen ganz kurzen Weg, indem man einfach eine entsprechende fdi-Regel anlegt. Mehr nicht.

http://cloudkicker.net/2008/02/08/ext-ntfs-hdd/
 
timetourist schrieb:
Es gibt auch noch einen ganz kurzen Weg, indem man einfach eine entsprechende fdi-Regel anlegt. Mehr nicht.

http://cloudkicker.net/2008/02/08/ext-ntfs-hdd/

diese lösung ist beeindruckend gut, kurz, einfach, schnell und erfolgreich.

ich hab sie bei meinem 2. linux rechner ausprobiert und war in 1 minute fertig und es hat wunderbar geklappt!

nur um den trick mit der .sh datei und dem verlinken der mount.ntfs-3g auf die .sh datei kommt man nicht herum, sonst kann man keine dateien mit umlauten anlegen.
 
rainerklier schrieb:
kaltduscher_99 schrieb:
in /sbin/ eine neue datei mount.ntfs-3g.sh anlegen mit folgendem inhalt:

#!/bin/bash

/bin/ntfs-3g $1 $2 -o locale=de_DE.UTF-8

Hat super funktioniert, lässt sich aber noch verbessern:

Code:
#!/bin/bash
/bin/ntfs-3g $1 "$2" -o locale=de_DE.UTF-8,$4

So funktionieren auch Festplattennamen mit Leerzeichen und Optionen, die von außen gesetzt werden, werden mitübernommen (durch das $4).

Viele Grüße, Ingo
 
Status
Für weitere Antworten geschlossen.
Oben