Gentoo Archives: gentoo-user-de

From: Frank Numrich <fnumrich@×××.de>
To: gentoo-user-de@l.g.o
Subject: Re: [gentoo-user-de] Umlaute in Dateinamen in auf der Console
Date: Mon, 18 Oct 2004 19:45:58
Message-Id: 20041018214251.2d390942@czw8000.czw.local.de
In Reply to: Re: [gentoo-user-de] Umlaute in Dateinamen in auf der Console by Erik Wasser
1 On Sun, 17 Oct 2004 23:41:56 +0200
2 Erik Wasser <erik.wasser@×××××.net> wrote:
3
4 > On Sunday 17 October 2004 22:58, Frank Numrich wrote:
5 > > On Thu, 14 Oct 2004 23:24:25 +0200
6 > >
7 > > Felix Tiede <lists@××××××××.de> wrote:
8 > > > Frank Numrich wrote:
9 > > > > Hallo,
10 > > > >
11 > > > > ich habe vor einiger Zeit eine Fileserver von Linux auf Genoo
12 > > > > umgezogen. Nun fällt mir auf, dass die Umlaute nicht richtig
13 > > > > angezeigt werden: Bsp.: Statt Überweisungsliste-Lohn-Gehalt.rpt
14 > > > > heißt die Datei nun ?berweisungsliste-Lohn-Gehalt.rpt
15 > > > >
16 > > > > Ich kann sie auch nur mit dem '?' im Namen ansprechen:
17 > > > >
18 > > > > czwserv1 Reports # ll Überweisungsliste-Lohn-Gehalt.rpt
19 > > > > ls: Überweisungsliste-Lohn-Gehalt.rpt: No such file or directory
20 > > > >
21 > > > > czwserv1 Reports # ll ?berweisungsliste-Lohn-Gehalt.rpt
22 > > > > -rwxrwx--- 1 root sekretariat 43008 Apr 8 2003
23 > > > > ?berweisungsliste-DTA.rpt
24 > > > >
25 > > > > Wenn ich die Datei umbenenne/kopiere:
26 > > > >
27 > > > > czwserv1 Reports # cp ?berweisungsliste-Lohn-Gehalt.rpt
28 > > > > Überweisungsliste-Lohn-Gehalt.rpt
29 > > > >
30 > > > > dann kann ich die neue Datei mit Umlaut ansprechen, sie wird aber
31 > > > > immer noch mit '?' angezeigt:
32 > > > >
33 > > > > czwserv1 Reports # ll Überweisungsliste-Lohn-Gehalt.rpt
34 > > > > -rwxrwx--- 1 root sekretariat 43008 Oct 14 22:42
35 > > > > ?berweisungsliste-DTA.rpt
36 > > > >
37 > > > >
38 > > > > Ich kann also auf der Console Umlaute verwenden.
39 > > > > Z.B. eine Datei mit Umlaut anlegen ...
40 > > > >
41 > > > > czwserv1 Reports # touch /tmp/Übertest
42 > > > >
43 > > > > ... ergibt folgendes Ergebnis:
44 > > > >
45 > > > > czwserv1 Reports # ll /tmp/Übertest
46 > > > > -rw-r--r-- 1 root root 0 Oct 14 22:30
47 > > > > /tmp/?bertest
48 > > > >
49 > > > > Das verstehe ich ehrlich gesagt nicht. Anscheinend werden zwar
50 > > > > sowohl bei den 'Alten' (also vom alten Server kopierten) als auch
51 > > > > bei Neuen Dateien die Umlaute als '?' angezeigt, intern sind aber
52 > > > > bei den Neuen Dateien schon Umlaute vorhanden, bei den Alten
53 > > > > anscheinend die '?'.
54 > > >
55 > > > Ich hatte mit Gentoo ein ähnliches Problem. Aus irgendwelchen
56 > > > Gründen kommt die Konsole mit Unicode-Namen nicht umgehen kann,
57 > > > d.h. sie nicht (richtig) anzeigt werden. Da es aber keine doppelten
58 > > > Störzeichen, sondern Fragezeichen sind, nehme ich jetzt mal frech
59 > > > an, dass Deine Konsole (oder Lokalisierung) nicht den "richtigen"
60 > > > latin1-zeichensatz benutzt.
61 > > >
62 > > > Da ich die Konfiguration nicht kenne, kann ich nur raten:"
63 > > > In /etc/rc.conf folgendes eintragen
64 > > > KEYMAP="de-latin1" oder KEYMAP="de-latin1-nodeadkeys"
65 > > > CONSOLEFONT="lat9w-16"
66 > > >
67 > > > Ausserdem sicherstellen, dass die korrekten Locales definiert sind:
68 > > > LANG="de_DE@euro"
69 > > > i18n="de_DE"
70 > > >
71 > > > Das reicht zumindest für iso-8859-1(5)-kodierte Umlaute in
72 > > > Dateinamen. Sind sie Unicode-kodiert, ist mir kein Weg bekannt.
73 > > >
74 > > > Da ich auch die Server-Konfiguration und den Transportweg (SMB,
75 > > > NFS?) nicht kenne, kann ich auch hier nur raten, dass die
76 > > > Kodierungen nicht zusammenpassen. Im Zweifelsfall die
77 > > > Umgebungsvariablen $LANG und $i18n kontrollieren - sie sollten
78 > > > zumindest identisch sein.
79 > > >
80 > > > Hoffe, dass ich helfen konnte, viele Grüße
81 > > > Felix
82 > > >
83 > > > --
84 > > > gentoo-user-de@g.o mailing list
85 > >
86 > > Vielen Dank für den Tipp,
87 > >
88 > > das scheints gewesen zu sein. LANG war auf POSIX. Ich hatte irgendwo
89 > > im Gentoo-Forum gelesen, dass das auch die beste Einstellung für root
90 > > sei, da ansonsten Probleme mit portage auftreten könnten. Daher
91 > > wurden beim kopieren der Dateien vom alten auf den neuen Server die
92 > > Umlaute nicht richtig umgesetzt.
93 > >
94 > > Jetzt muß ich nur noch alle Dateien finden, deren Namen ein '?'
95 > > enthalten und diese umbenennen. Geht leider nicht per Skript, da ja
96 > > nicht klar ist, ob das '?' nun durch ä, ö oder ü ersetzt werden muß.
97 > >
98 > > Wie kann ich den beim Suchen mit 'find' ein '?' angeben ohne dass es
99 > > als Wildcard verwendet wird? Das '?' mit einem '\' zu entwerten
100 > > ('\?') geht nicht.
101 >
102 > Reingefallen! B-) Du mußt es zweimal escapen, einmal für die Shell und
103 > einmal für den 'find'-Befehl:
104 >
105 > % echo $SHELL
106 > /bin/bash
107 > % touch \? a b c
108 > % find -iname \\? -maxdepth 1
109 > ./?
110 >
111 > --
112
113 Hmm,
114
115 das tut aber bei mir nicht so.
116
117 czwserv1 Reports # mkdir /tmp/test
118 czwserv1 Reports # cd /tmp/test
119 czwserv1 test # export LANG="POSIX"
120 czwserv1 test # touch /tmp/test/nämlich
121 czwserv1 test # ll
122 total 0
123 -rw-r--r-- 1 root root 0 Oct 18 21:22 n?mlich
124 czwserv1 test # find . -iname *\\?mlich
125 czwserv1 test # find . -iname *\?mlich
126 ./nämlich
127 czwserv1 test #
128
129 Bei der Einstellung LANG=POSIX werden ja die Umlaute nicht richtig erkannt und umgesetzt werden.
130 Daher ist auch die Ausgabe von ll -> n?mlich.
131 Wenn ich jedoch nach dem Fragezeichen konkret suche (mit \\?) dann wird nichts gefunden.
132 Suche ich mit dem Fragezeichen als Wildcard (\?), dann wird die Datei von find gefunden und mit korrektem Umlaut angezeigt.
133
134 Die Dateien die ich von dem alten Server übernommen habe, werden von ll so angezeigt:
135 -rwxrwx--- 1 root sekretariat 43008 Apr 8 2003 ?berweisungsliste-DTA.rpt
136
137 Wenn ich mit find suche erhalte ich folgende Ausgabe:
138
139 czwserv1 Reports # find . -iname '*berweisungsliste-DTA*'
140 ./berweisungsliste-DTA-rpt
141
142 Mit ll und grep ebenfalls dasselbe:
143
144 czwserv1 Reports # ll | grep berweisungsliste-DTA
145 -rwxrwx--- 1 root sekretariat 43008 8. Apr 2003 berweisungsliste-DTA.rpt
146
147 Wenn ich LANG auf de_DE@euro setze, dann ändert sich an den Ausgaben gar nichts.
148
149 Die bash interpretiert die falschen Umlaute einfach anders (-> '?') als find und grep (von denen an der entsprechenden Stelle gar nichts ausgegeben wird).
150 So kann ich die betroffenen Files natürlich nicht rausfinden.
151
152 Mal schauen ob mir das '?' an einer Windoof-Maschine angezeigt wird. Bin aber skeptisch, da ich per smbclient statt des '?' einen '_' erhalte. Da dies ja ein recht übliches Zeichen in Dateinamen ist, hilft das nicht so sehr viel.
153
154 Ich hoffe irgendjemand weiß da mehr als ich.
155
156 Viele Grüße
157 Frank
158
159
160
161
162
163
164 --
165 gentoo-user-de@g.o mailing list

Replies

Subject Author
Re: [gentoo-user-de] Umlaute in Dateinamen in auf der Console Erik Wasser <erik.wasser@×××××.net>