Der Martin: Samba macht Zicken - Zeichencodierung

Beitrag lesen

Hallo,

Die chinesischen Zeichen und die anderen wählte ich mit dem Hintergedanken, dass auch kein Win-1252 mitspielt, dieses aber in dem Fall das œ kennt.

ah, daran hatte ich nicht gedacht. Ich glaube, das war trotzdem aufschlussreich.

Ich hab den Rest vom Thread nicht richtig mitverfolgt, hattest du irgendwo deine Konfiguration aufgezeigt, also wie das Ubuntu mit dem Samba-Gentoo verbunden ist?

Nein, hatte ich versäumt, sorry.
Ubuntu bindet Samba-Shares und Windows-Freigaben als CIFS-Filesystem ein, dabei springt wohl der Samba-Client ein.

Auf dem Ubuntu-Host läuft außerdem ebenfalls ein Samba, damit jeder Rechner im LAN sowohl Server- als auch Clientfunktion haben kann (Freigaben auf jedem PC). Ausgenommen davon ist nur die Gentoo-Maschine, die *ausschließlich* Server sein soll. Das hat damit aber AFAIS nichts zu tun.

Windows vs. Gentoo ist ja klar, das redet sicher nicht direkt mit Ubuntu.

Doch - und jetzt, wo du's erwähnst: Den Ärger mit Sonderzeichen in Dateinamen habe ich auch schon im Zusammenspiel von Windows und Ubuntu.

Tipp- oder Rechenfehler, das muss ein U+253C sein.

Ablesefehler vom Schmierzettel. :-)

Jedenfalls ergibt das ┼ô, was nach CP850 (und auch CP437) C5 93 ist und als UTF-8 gelesen œ ergibt. Da haben also deine Systeme ein UTF-8-œ einzelbyteweise als CP850 interpretiert und diese beiden Zeichen wieder zu UTF-8 gemacht, was deine fünf Fragezeichen sind.

Klingt überzeugend. Nur: Warum?

Ein "trœt" vom Windows-Client angelegt, sieht die Gentoo-Shell als "tr??t", der Ubuntu-Client als "tr?t" - wobei der das Fragezeichen hier als echtes Fragezeichen sieht, es ist also schon an anderer Stelle ein Codierungsfehler aufgetreten.
Sind da auch ein UTF-8-Fonts eingestellt?

Nach bestem Wissen und Gewissen, ja. Zumindest kann ich auf dem Ubuntu-PC problemlos Zeichen aus dem ganzen Unicode-Bereich in Dateinamen verwenden, und die werden dann auch sowohl im GUI-Dateimanager als auch auf der Shell übereinstimmend korrekt angezeigt. Erst im Dialog mit einem anderen Rechner gibt's wohl Interpretationskonflikte.

Übrigens stimme ich dir mittlerweile zu, dass die bash auf der Gentoo-Maschine tatsächlich keinen UTF-8-Support hat; sie stellt bei ls jedes einzelne Byte im Dateinamen oberhalb von 0x80 als '?' dar. Sieht aus wie ASCII only. Das werde mal konkret weiter verfolgen.
Die Baustelle solltest du erst einmal klären.

Einerseits ja, andererseits ist mir aber auch piepegal, ob die Shell eines Servers Dateinamen richtig anzeigen kann, solange die Serverprozesse richtig damit umgehen. Und nach allem, was ich bisher im Internet finden konnte, sind sämtliche Voraussetzungen erfüllt, dass die bash Unicode korrekt verarbeiten müsste. Es muss irgendwas geben, was ich bisher übersehe, und was vielleicht derart trivial ist, dass es auch bei den meisten Lösungsvorschlägen nicht erwähnt wird.
bash 4.0, readline.so 6.1, UNICODE="yes" in /etc/rc.conf, kein X11, nur Konsole, gleiche Anzeige an der lokalen Konsole und über ssh ... was noch?

Gentoo hat USE-Flags für unicode und vielleicht auch utf8. Schau mal, ob die gesetzt sind

Sind sie - besser gesagt, *ist es*.

ufed ist ein ganz passables Tool für die USE-Flag-Verwaltung.

Danke, guter Tipp. Damit konnte ich nur ein generelles USE-Flag zum Thema finden:
 (+) unicode        (+  ) Adds support for Unicode
Das war von Anfang an gesetzt, ist AFAIK sogar die Defaulteinstellung.
Dafür habe ich ein paar andere USE-Flags gefunden (die mit dem Thema nichts zu tun haben), die ich bei der Gelegenheit geändert habe. Weißt du aus dem FF (oder dezimal 255), was ich tun muss, um die betroffenen Pakete, und möglichst *nur* die, unter Berücksichtigung dieser Änderungen neu zu compilieren?

Der DNS-Server weigert sich bei manchen in der hosts-Datei eingetragenen Hostnamen beharrlich, diese aufzulösen.
Ist das überhaupt seine Aufgabe? Die /etc/hosts gilt doch nur lokal und nicht netzweit.

Grundsätzlich schon - dnsmasq ist aber von seiner Anatomie her zunächst ein DNS-Forwarder, der aber zusätzlich die hosts-Datei seines Heimsystems auswertet und die eingetragenen Pärchen bei einer passenden DNS-Anfrage als Antwort zurückgibt. Das macht ihn ja so attraktiv für kleine Netze - man muss sich nicht in komplexe Systeme wie BIND einarbeiten, die für ein Netz mit einem Dutzend Hosts sowieso Overkill wären.

Den Fehler habe ich inzwischen gefunden - ein Syntaxfehler in der Konfigurationsdatei /etc/dnsmasq.conf, den das Tool aber leider nur beim Start/Restart des Dienstes meldet. Ändert sich die Konfigurationsdatei im Betrieb, wird die Änderung sofort transparent übernommen; ist die Konfiguration dann aber fehlerhaft, reagiert dnsmasq wohl etwas eigenartig.

Ciao,
 Martin

--
Man soll den Tag nicht vor dem Abend loben.
Und den Mann nicht vor dem Morgen.
  (alte Volksweisheit)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(