[Problem] Umlaute bei Festplatte mit ext2 an der FBF via SMB fehlerhaft

w-sky

Neuer User
Mitglied seit
20 Aug 2005
Beiträge
96
Punkte für Reaktionen
1
Punkte
6
Hallo Experten, ich hoffe es gibt für dieses Problem eine einfache Lösung.

An einer FBF 7270 hab ich eine externe Festplatte, die mit dem ext2-Dateisystem und UTF-8 Zeichensatzcodierung für die Dateinamen formatiert wurde. UTF-8 ist eigentlich die Standardeinstellung für die ext-Dateisysteme.

Aber nun werden die Umlaute der Dateinamen auf dieser Festplatte via SMB nicht korrekt angezeigt, z.B. anstelle eines "ü" sieht man zwei Zeichen: "Ã" und das Viertel-Zeichen (das die Forumsoftware auch nicht darstellen kann). Via FTP sind Umlaute dagegen in Ordnung.

Und ebenfalls in Ordnung sind die Umlaute auf FAT32- und NTFS-Laufwerken sowohl via SMB als auch FTP.

Kennt jemand das Problem, gibt es eine Lösung? Oder funktioniert das bei euch?? Ich habe schonmal an den AVM-Support geschrieben und die meinten, das Problem sei nicht bekannt und ich solle ihnen Supportdaten schicken... ich hoffe aber, dass es einfacher zu lösen ist.

Klappt das vielleicht mit ext3 oder ext4 besser??

Vlg
 
das hat nichts mit ext-filesystemen zu tun, sondern mit der einstellung von samba. standardmäßig steht in der smb.conf halt iso-<irgendwas>...

lösung: auf utf-8 unstellen
 
Wie stellt man das denn an, ext2 mit UTF-8 zu formatieren?
Ernste Frage oder Spitzfindigkeit? ;) Nunja, ob/wie man beim Formatieren die gewünschte Dateinamenzeichensatzkodierung auswählt weiß ich auch nicht, aber wenn man das ganz normale Disk Tool von Ubuntu zum Partitionieren/Formatieren eines Laufwerks einsetzt, ein ext-Dateisystem auswählt und dieses dann benutzt, ist die Zeichensatzkodierung UTF-8.
Gut möglich dass ich mich insofern falsch ausgedrückt habe, als dass das Charset von der Einstellung im Betriebssystem abhängig ist.
 
das hat nichts mit ext-filesystemen zu tun, sondern mit der einstellung von samba. standardmäßig steht in der smb.conf halt iso-<irgendwas>...

lösung: auf utf-8 unstellen
Leider nur ein Teilerfolg. smb.conf hab ich gefunden in /var/samba/lib und auch mühelos den Eintrag unix charset = ISO-8859-1 geändert in unix charset = UTF-8.

Die Umlaute der Dateinamen des ext2-Laufwerks sind dann in Ordnung (sogar chinesische Zeichen!) - aber damit sind die Umlaute in Dateinamen aller anderen angeschlossenen Laufwerke (NTFS und FAT) jetzt nur noch Unterstriche. :(

Und noch mehr: Jedes Mal, wenn ich ein USB-Laufwerk der Box abziehe oder anstecke, wird der Inhalt der smb.conf zurückgesetzt. Solange fritz.nas per SMB auf dem Rechner noch gemounted ist, bleibt die UTF-8-Einstellung aktiv, aber beim nächsten Mal gilt wieder ISO-8859-1. :( :(

Hier http://blog.tigion.de/2010/12/16/fritz-nas-der-punkt-und-sonos/ hat einer einen IMHO wenig eleganten Weg beschrieben, eine gewünschte Änderung von smb.conf per cat und sed (suchen und ersetzen per Kommandozeile) bei jedem Neustart der Box automatisch durchführen zu lassen. Aber das wird hier nicht helfen, weil die automatische Änderung bei jedem(!) An- oder Abstecken eines Laufwerks an die Box durchgeführt werden müsste. (Zudem starte ich die Box normalerweise wochen- oder monatelang nicht neu...)

Wie dauerhaft speichern?

Und wie bekomme ich es hin, dass ich auf allen Laufwerken saubere Dateinamen habe, und nicht nur entweder bei ext2 oder bei FAT/NTFS?
 
Zuletzt bearbeitet:
Ernste Frage bzw. ernster Hinweis.
Weder beim Formatieren noch nachher wird irgendwo der Zeichensatz für die Dateien des EXT2 festgelegt.
wie bekomme ich es hin, dass ich auf allen Laufwerken saubere Dateinamen habe, und nicht nur entweder bei ext2 oder bei FAT/NTFS?
Indem Du bei FAT/NTFS UTF-8 als Kodierung für die Dateinamen auswählst.Letztlich wird es nicht ohne einige Modifikationen der Firmware gehen, sowohl um die Mount-Optionen zu ändern als auch die Neuerstellung der smb.conf abzufangen

Du kannst an AVM schreiben, vielleicht ändern sie es, wenn sich genug Leute melden..
 
Indem Du bei FAT/NTFS UTF-8 als Kodierung für die Dateinamen auswählst.Letztlich wird es nicht ohne einige Modifikationen der Firmware gehen, sowohl um die Mount-Optionen zu ändern als auch die Neuerstellung der smb.conf abzufangen

Du kannst an AVM schreiben, vielleicht ändern sie es, wenn sich genug Leute melden..
Danke. Doch alles auf UTF-8 zu machen ist ja nicht praktikabel, denn dann würde wieder alles verkehrt sein, wenn so ein Laufwerk an einen Windows-PC angesteckt wird, oder? Außerdem sollen die Umlaute auch von FAT- und NTFS-Laufwerken korrekt angezeigt werden, die andere Personen (von ihren Windows-, Mac- oder Sonstwascomputern) mitbringen. Die sollen einfach an den USB-Hub an der FBF angeschlossen werden und per SMB im LAN verfügbar sein.

Rein unter Windows geht es mit Ext2Fsd; UTF-8 als Codepage und alles, was ich ranstecke, sieht gut aus. Unter Linux sowieso - ich hab nie irgendwas an Codepageeinstellungen machen müssen, und trotzdem sind alle Umlaute und ausländische Zeichen auf allen Laufwerken korrekt. Sogar wenn Linux-ext2-, Windows-NTFS- und Windows-FAT-Laufwerke gleichzeitig am Rechner hängen.

Irgendwie möchte ich, dass das auch mit der Fritz Box so klappt...
 
Doch alles auf UTF-8 zu machen ist ja nicht praktikabel, denn dann würde wieder alles verkehrt sein, wenn so ein Laufwerk an einen Windows-PC angesteckt wird, oder?
Nein, alles auf UTF-8, und überall sind die Umlaute richtig.
Dein PC-Linux verwendet auch überall UTF-8, und es gibt damit keine Probleme.
 
Fritzbox benutzt nativ kein UTF8. Das ist das Hauptproblem. Ich hatte irgendwo bereits geschrieben, dass dies daran liegt, dass die box fast ausschließlich in Deutschland bzw. von Deutschen benutzt wird. In der Welt ist die Box wenig bekannt und von der Internationalisation kommt die meiste Motivation auf UTF8 umzusteigen.
Wie ich bereits auch irgendwo vor ein Paar Wochen geschrieben hatte, gibt es grundsätzlich eine Möglichkeit die Box nativ auf UTF8 umzustellen. Zumindest habe ich zwei vergleichbare Systeme (beide busybox-basiert: NAS und Multimedia-Box), die bereits UTF8 als Basis haben. Diese Umstellung bedeutet allerdings, dass man sehr, sehr viel an den bereits existierenden Skripten / Binaries ändern muss. Ist eine letztendlich saubere und einzig richtige Lösung, erfordert allerdings viel Aufwand und wird in diesem Stadium vom FREETZ-Projekt kaum schaffbar sein. Außerdem sollten da eigentlich auch AVM-Teile der Firmware "mitziehen".
Wie Ralf schon sagte, kannst du die Festplatte nicht als UTF8 formatieren, weil sowas nicht vorgesehen ist. Du kannst lediglich beim mount unter Linux in gewissen Grenzen steuern, ob die betroffene Prtition als UTF8 oder als sonstwas gemountet wird. Und selbst das ist nur für linuxfremde Formatierungen vorgesehen, soweit ich weiß. Ansonsten bestimmt deine Terminaleinstellung im Wesentlichen, wie die Sonderzeichen angezeigt bzw. eingegeben werden. Man kann in gewissen Grenzen selbst bei nicht-UTF8-Systemen das UTF8-Verhalten im Terminal oder in einer SCP-Session "erzwingen" indem man im betroffenen Client-Programm (z.B. WinSCP oder Putty) die entsprechenden Einstellungen auf UTF8 ändert. Somit wirst du es höchstwahrscheinlich hinkriegen deine Dateien auf der Festplatte richtig zu benennen und die Namen auch richtig dargestellt zu sehen. Du wirst dich aber gleichzeitig damit abfinden müssen, dass der Rest vom Betriebsystem mit dir nicht in UTF8 reden will. Wird sich dadurch äußern, dass diverse Programme, die Deutsch reden oder Sonderzeichen nutzen (wie z.B. mc) komische Darstellungsweise haben werden.
So wie ich dich allerdings verstanden hatte, willst du eigentlich nur korrekt über SAMBA auf die Platte zugreifen können. Um dies zu erreichen, muss die Box gar nicht nativ UTF8 "reden". Es würde schon reichen, die Platte als UTF8 zu mounten (wenn es denn bei EXT überhaupt notwendig sein sollte) und in der entsprechenden SAMBA-Konfigdatei deinen SAMBA-Server dazu zu ertüchtigen zu meinen, er wäre auf einem UTF8-System. Dazu gibt es Möglichkeiten, die hier in IPPF bereits mehrfach beschrieben wurden. Wenn du alles nach der Anleitung machst, baust du somit eine korrekte Brücke zwischen deiner Festplatte und dem Windows. Im Default-Fall funktioniert diese Brücke nicht als UTF8, weil die Box UTF8 nicht als Default-Kodierung hat. Somit gehen SAMBA, mount und co. ohne Spezialbehandlung davon aus, dass du 8859 benutzen willst.

MfG
 
Bei mir läuft eine ext2 formatierte Platte ohne Probleme mit Umlauten. Es kann allerdings sein, dass ich die Dateien erst nach dem mounten rüberkopiert habe. In dem Fall werden sie wohl richtig kodiert.

Mit umkopieren der Dateien sollte Dein Problem zu lösen sein. ext2 Platte so mounten, dass alles stimmt und Daten sichern. Dann ext2 Platte an die FBF und Daten zurückspielen.

jo
 
Bei EXT2 und allen anderen Linux-Dateisystemen gibt es keine Möglichkeit, eine Zeichenkodierung beim Mounten anzugeben. Man mountet einfach die Platte und verwendet die Kodierung, die man nutzen möchte. Das einzige, was hierfür notwendig ist, ist im Samba UTF-8 auszuwählen. Bei FAT/NTFS findet eine Umsetzung statt, deswegen muß man da beim Mounten utf8 auswählen. In Verbindung mit der Einstellung beim Samba wird dann auch hier alles richtig dargestellt. Auch wenn man die Platte vorher oder nachher an ein anderes gängiges System (Windows, PC-Linux) anschließt, passen die Umlaute immer noch, weil das auch dort die übliche Einstellung ist.

Alle Programme und Dateien auf der Box in UTF-8 zu konvertieren hätte sicherlich auch Vorteile, ist hierfür aber nicht notwendig.

Wenn man nur die ISO-8859-1 Zeichen braucht, dann funktioniert alles in der Voreinstellung der Box, solange die Platte nicht ein Linux-Dateisystem hat und anderswo angeschlossen wird.
 
@Ralf: Das ist eben das Problem "solange sie nirgendswo anders angeschlossen wird". Du siehst Ralf, dass die Thematik letzte Zeit hier in IPPF vermehrt auftritt. Und ich vermute, dass es einfach daran liegt, dass fast alle Linux-Distributionen heutzutage UTF8 verwenden. Das ist auch der Grund dafür, dass alle heutigen Kleinsysteme vermehrt auch auf UTF8 setzen. AVM mit ihrer Box hackt hier leider hinterher. Hat aber eher historische Gründe, weil als AVM mit dem Linux auf den Boxen so um 2005 oder sogar noch früher angefangen hat, hatte UTF8 sich noch nicht als de-facto durchgesetzt. Und jetzt ist schon ziemlich viel passiert und erfordert viel Aufwand, wenn man alles auf UTF8 umsetzen würde. Auf der anderen Seite kommen aber vermehrt solche Leute, wie w-sky und wollen ihre Platte möglichst überall einstecken können und dabei auch alles internationalmäßig benennen. Und da entstehen solche Probleme, die nicht immer verstanden, geschweige von den Betroffenen selbst bewältigt werden können. Deswegen sollte man wirklich ernsthaft überlegen, ob es nicht langsam der richtige Zeitpunkt wäre jetzt von 8859 nach UTF generell zu wechseln. Skripte und Binaries von 8859 nach UTF8 umkodieren könnte man wahrscheinlich beim Build automatisch, wenn man einen Umkodierer drüberlaufen lässt. Da, wo man Quellen hat, wird es wahrscheinlich gut gehen. Vernünftige Pakete (wie z.B. mc) werden dies wahrscheinlich von alleine beherrschen. Man muss sie dann lediglich neu kompilieren. Wenn ich Zeit hätte, würde ich es mir gerne ansehen. Leider habe ich aber kaum Zeit....

MfG
 
Ich würde nur zwei Sachen ändern:
- Samba Default auf UTF-8
- Mounten von Windows-basierten Partitionen mit utf8
Für die meisten Anwender reicht das aus.

Die restliche Umstellung ist etwas, das von AVM kommen müßte.
 
was sagt denn freetz von der problematik? gibt es da vielleicht ein modul dafür?
 
Ein Modul wofür? Wobei wir hier nicht bei Freetz sein.

Mit Freetz wäre es relativ einfach, die zwei genannten Änderungen durchzuführen. Vielleicht gibt es auch schon irgendwo die Einstellungen dafür.
 
ja genau das meine ich! mit freetz ist es relativ einfach
 
[...]Das ist auch der Grund dafür, dass alle heutigen Kleinsysteme vermehrt auch auf UTF8 setzen. AVM mit ihrer Box hackt hier leider hinterher. Hat aber eher historische Gründe, weil als AVM mit dem Linux auf den Boxen so um 2005 oder sogar noch früher angefangen hat, hatte UTF8 sich noch nicht als de-facto durchgesetzt. [...] ob es nicht langsam der richtige Zeitpunkt wäre jetzt von 8859 nach UTF generell zu wechseln.
Dein Wort in AVMs Ohr. Jetzt erstmal hab ich von ihnen nur folgendes zu hören bekommen, nachdem ich ihnen keine Supportdaten schickte, sondern die Fragen, wie ich Änderungen an smb.conf dauerhaft mache und wie ich für jedes Dateisystem die passende Codepage im Samba-Server verwende.*
AVM-Support schrieb:
Guten Tag Herr w-sky,

vielen Dank für Ihre Rückmeldung.

Leider kann ich Ihnen keine Lösung anbieten, da wir Linux-System über den
Support nicht betreuen.

Freundliche Grüße aus Berlin

*Die Frage traf wohl nicht den Kern des Problems.

Wenn ich es jetzt richtig sehe, ist der Kern des Problems, dass die Fritz-Box intern ISO-8859 für die Dateinamen verwendet. Wenn ich eine NTFS- oder FAT-Platte anstecke, die lt. Spezifikationen des Dateisystems die Dateinamen in UTF-16 speichern (so steht's hier und hier), passt die Mount-Routine das an ISO-8859 an und alles sieht gut aus, weil der Samba-Server ebenfalls auf ISO-8859 eingestellt ist.

Jetzt kommt der User mit seiner frisch unter Suse, Ubuntu oder sonstwas formatierten ext-Platte mit Dateinamen in UTF und da haben wir den Salat. Doch wenn nun deswegen der Samba-Server auf UTF-8 umgestellt ist, interpretiert er auch die zu ISO-8859 gewandelten Dateinamen der NTFS- und FAT-Laufwerke an der Box und die des internen Speichers als UTF-8. Die Folge: Umlaute werden zu Unterstrichen.

Frage: Könnten wir als Behelfslösung die Mount-Routine dazu bringen, bei ext-Laufwerken wie bei NTFS und FAT die Dateinamen an ISO-8859 anzupassen? Damit wäre die FBF immer noch kein Stück internationaler und mit chinesischen Zeichen wird es wieder nicht klappen, aber es wäre schonmal ein Stück besser.

Die beste Lösung wäre natürlich, den Samba-Server konkret mit UTF-8 laufen zu lassen und NTFS-/FAT-Laufwerke so zu mounten, dass sie auch zu dieser Codepage passen.
 
Mit umkopieren der Dateien sollte Dein Problem zu lösen sein. ext2 Platte so mounten, dass alles stimmt und Daten sichern. Dann ext2 Platte an die FBF und Daten zurückspielen.
Schon klar, was passiert: Die FBF speichert die Dateinamen dann mit ISO-8859 und solange das Laufwerk an der FBF bleibt, ist alles hübsch. Aber bei Bedarf sollen die Laufwerke auch direkt via USB an PCs angeschlossen werden können - für maximale Flexibilität und höhere Geschwindigkeit bei großen Transfers (Fritz-NAS 3-4 MB/s vs. 30-40 MB/s...), ich denke das sind leicht nachvollziehbare Gründe.

1 TB bei 4 MB/s dauert circa 69 Stunden........
 
Zuletzt bearbeitet:
Frage: Könnten wir als Behelfslösung die Mount-Routine dazu bringen, bei ext-Laufwerken wie bei NTFS und FAT die Dateinamen an ISO-8859 anzupassen? Damit wäre die FBF immer noch kein Stück internationaler und mit chinesischen Zeichen wird es wieder nicht klappen, aber es wäre schonmal ein Stück besser.
Die beste Lösung wäre natürlich, den Samba-Server konkret mit UTF-8 laufen zu lassen und NTFS-/FAT-Laufwerke so zu mounten, dass sie auch zu dieser Codepage passen.

Da hast du doch selbst auf deine Frage geantwortet. Und wie Ralf bereits sagte, unter FREETZ ginge alles deutlich einfacher. Ohne FREETZ muss man überlegen, wie man es idiotensicher realisieren kann. Mit debug.cfg, 'mount -o bind' und co. würde es sicherlich irgendwie gehen.

MfG
 
Könnten wir als Behelfslösung die Mount-Routine dazu bringen, bei ext-Laufwerken wie bei NTFS und FAT die Dateinamen an ISO-8859 anzupassen?
Ich habe schon einige Male geschrieben, daß man bei Linux-Dateisystemen weder beim Erstellen noch beim Mounten des Dateisystems einen Zeichensatz angeben kann. Von daher sollte inzwischen klar sein, daß das nicht geht.

Außerdem wäre es auch nicht einfacher, den Mount von Linux-Dateisystemen anzupassen als den Mount von Windows-Dateisystemen.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.