# Welche "locale" benutzen für alte Partition?

## gentoo-neuling

Hallo!

Ich benutze bisher Ubuntu, möchte demnächst aber gerne Gentoo benutzen. Das Einrichten des Systems war auch recht einfach: Partition erstellen und einbinden, stage-Archiv entpacken, Netzwerk aktivieren, etc. Das habe ich problemlos hinbekommen: mit Ubuntu als aktivem System und "chroot", so wie es in den vielen Anleitungen zum Installieren beschrieben wird. Auch die Lokalisierung auf Deutsch ist nicht das eigentliche Problem: das Gentoo spricht Deutsch mit mir und neu erzeugte Dateinamen mit Umlauten sind ebenfalls kein Problem. Ein Problem ist nur das Einbinden der bisherigen /home: ich möchte die home-Partition unter Gentoo wieder als /home benutzen, da meine mp3- und Video-Sammlung auf dieser Partition liegt.

Mein System sieht derzeit so aus:

```
mount

/dev/sda6 on / type ext3 (rw,acl,user_xattr)

/dev/sda8 on /home type ext3 (rw,acl,user_xattr)

/dev/sda1 on /boot type ext2 (rw)
```

Die uninteressanten Dateisysteme habe ich weggelassen, weil sie nicht relevant für das Problem sind.

Auf sda7 habe ich das Gentoo installiert. Wenn ich dieses Gentoo starte und sda8 unter /home einbinde, werden Umlaute in Dateinamen nicht richtig angezeigt. Unter Ubuntu benutze ich folgende locales:

```
locale

LANG=de_DE@euro

LANGUAGE=de_DE

LC_CTYPE=de_DE@euro

LC_NUMERIC="de_DE@euro"

LC_TIME="de_DE@euro"

LC_COLLATE=POSIX

LC_MONETARY="de_DE@euro"

LC_MESSAGES=de_DE@euro

LC_PAPER="de_DE@euro"

LC_NAME="de_DE@euro"

LC_ADDRESS="de_DE@euro"

LC_TELEPHONE="de_DE@euro"

LC_MEASUREMENT="de_DE@euro"

LC_IDENTIFICATION="de_DE@euro"

LC_ALL=
```

Auch, wenn ich diese Werte in Gentoo einfach übernehme, werden die Umlaute in den Dateinamen auf sda8 nicht korrekt angezeigt. Welche locale oder welche mount-Option muss ich benutzen, damit ich die "alte" Partition richtig benutzen kann? Ein Umkopieren der Dateien kommt aufgrund der Menge leider nicht infrage. Wenn noch weitere Angaben benötigt werden um das Problem zu lösen, so sagt es mir bitte.

----------

## ChrisJumper

Willkommen Gentoo-neuling,

werfe mal einen Blick in das Utf8-Howto vom gentoo-wiki.com

Ich bin mir nicht sicher ob Ubuntu schon standardmäßig utf8 verwendet, würde es aber vermuten. Unter Gentoo muss man das noch explizit einstellen/einrichten (was aber auch mit diversen Nebenwirkungen verbunden ist.). Schau einfach mal in das eben genannte Howto oder in die offizielle utf-8 Doku.

Aber wie gesagt, meine Vermutung ist das Ubuntu utf8 verwendet obwohl die Locale nur als de_DE@euro bezeichnet wird. Mit dem convmv kann man die Daten dann auch bei bedarf Konvertieren. Aber weil ich mir nicht ganz sicher bin lieber erstmal ein wenig nach forschen ;)

Grüße

Chris

----------

## gentoo-neuling

 *ChrisJumper wrote:*   

> Schau einfach mal in das eben genannte Howto oder in die offizielle utf-8 Doku.

 Das habe ich schon probiert, und das klappt ja auch alles wunderbar: Unter Gentoo selber ist dann alles, was Umlaute angeht, so, wie es sein sollte. Nur die Dateinamen auf der alten Partition werden leider auch damit nicht korrekt angezeigt.  :Sad: 

 *Quote:*   

> Aber wie gesagt, meine Vermutung ist das Ubuntu utf8 verwendet obwohl die Locale nur als de_DE@euro bezeichnet wird.

 Wie könnte ich das denn evtl herausbekommen?

 *Quote:*   

> Mit dem convmv kann man die Daten dann auch bei bedarf Konvertieren.

 Muss ich bei Verwendung von convmv mit Nebenwirkungen rechnen?

----------

## Fabiolla

 *Quote:*   

> 
> 
> Aber wie gesagt, meine Vermutung ist das Ubuntu utf8 verwendet obwohl die Locale nur als de_DE@euro bezeichnet wird.
> 
> Wie könnte ich das denn evtl herausbekommen? 
> ...

 

Ubuntu wird vermutlich wie alle anderen die Locales basierend auf der Datei /etc/locale.gen generieren. In dieser Datei steht

auch das "charset" ==> dadurch kann in weiterer Folge herausgefunden werden ob Ubuntu für de_DE@euro utf-8 verwendet (würd' eher auf ISO-8859-15 tippen)

 *Quote:*   

> 
> 
> Mit dem convmv kann man die Daten dann auch bei bedarf Konvertieren.
> 
> Muss ich bei Verwendung von convmv mit Nebenwirkungen rechnen?
> ...

 

Im Regelfall nein da 'nur der Dateiname' konvertiert wird. Wenn du auf Nummer sicher gehen willst einfach ein/zwei Dateien testweise konvertieren. Zu beachten wäre noch, dass wenn nach dem Konvertieren Ubuntu wahrscheinich ein Problem mit den Sonderzeichen haben wird falls Ubuntu als Locale nicht utf-8 verwendet.

----------

## gentoo-neuling

 *Fabiolla wrote:*   

> Ubuntu wird vermutlich wie alle anderen die Locales basierend auf der Datei /etc/locale.gen generieren. In dieser Datei steht
> 
> auch das "charset" ==> dadurch kann in weiterer Folge herausgefunden werden ob Ubuntu für de_DE@euro utf-8 verwendet (würd' eher auf ISO-8859-15 tippen)

 

Eine locale.gen gibt es auf meinem System nicht, aber dafür /etc/default/locale, und die hat folgenden Inhalt:

 *Quote:*   

> LANG="de_DE.UTF-8"

  :Surprised: 

Seltsamerweise werden aber in der Datei /etc/environment die Variablen wie folgt gesetzt:

 *Quote:*   

> LANGUAGE="de_DE"
> 
> LANG=de_DE@euro
> 
> LC_COLLATE=POSIX
> ...

 

Außerdem gibt es die Datei /etc/locale.aliase, in der steht u.a.:

```
deutsch         de_DE.ISO-8859-1

...

german          de_DE.ISO-8859-1

```

Bedeutet das jetzt, dass ich einen wilden Mix aus Locales benutze, ohne es zu wissen? Ich glaube, in dem Falle wäre ein Umkopieren doch einfacher. Dann muss ich nur noch jemanden finden, der mir für ein paar Tage 4x500GB an Plattenkapazität zur Verfügung stellt.  :Very Happy: 

Ich probiere gerade dieses convmv aus. Das möchte aber immer gerne ein "from" als Argument haben. Wie kann ich denn rausbekommen, in welcher Kodierung der Ausgangsdateiname vorliegt?

Übrigens: starte ich den Rechner mit einer Knoppix, sehen die Dateinamen auf der Datenpartition normal aus. Hilft diese Angabe irgendwie?

----------

## Fauli

 *gentoo-neuling wrote:*   

> Ich probiere gerade dieses convmv aus. Das möchte aber immer gerne ein "from" als Argument haben. Wie kann ich denn rausbekommen, in welcher Kodierung der Ausgangsdateiname vorliegt?

 

Ich nehme an, dass Ubuntu die Dateinamen in UTF-8 gespeichert hat.

Probier mal ein:

```
$ cd /Verzeichnis/mit/Umlauten/auf/sda8

$ ls | file -

/dev/stdin: UTF-8 Unicode text
```

Ist die Ausgabe "UTF-8 Unicode text"?

Anstatt die Dateinamen nun mit convmv in von utf8 nach iso-8859-1 umzuwandeln, würde ich nochmal prüfen, ob dein Gentoo-System wirklich korrekt auf UTF-8 umgestellt ist. Welche Ausgabe kommt für sda6?

```
$ cd /Verzeichnis/mit/Umlauten/auf/sda6

$ ls | file -

/dev/stdin: ISO-8859 text
```

----------

## gentoo-neuling

 *Fauli wrote:*   

> Probier mal ein:
> 
> ```
> $ cd /Verzeichnis/mit/Umlauten/auf/sda8
> 
> ...

 

Hmmmm... sehr interessante Ergebnisse:

```

$: ls / | file -

/dev/stdin: ASCII text

$: ls ~ | file -

/dev/stdin: ASCII text

$: ls mp3 | file -

/dev/stdin: ISO-8859 text

```

"mp3" ist ein Unterverzeichnis in $HOME, und $HOME befindet sich auf /dev/sda8, und die Partition ist als /home eingebunden. Wieso hat die Partition denn eine andere Kodierung als das Wurzelverzeichnis? Meine Verwirrung ist jedenfalls kurz vor perfekt.   :Confused: 

Ich mache gleich mal ein Reboot und führe die Befehle noch mal unter Gentoo aus.

----------

## Fauli

Es ist wichtig, zum Testen ein Verzeichnis mit Umlauten zu nehmen.

Bei einem Verzeichnis ohne Umlaute gibt es keinen Unterschied zwischen ASCII, ISO-8859 und UTF-8. (Alle ASCII-Zeichen werden in ASCII, ISO-8859 und UTF-8 gleich codiert.)

----------

## gentoo-neuling

 *Fauli wrote:*   

> Es ist wichtig, zum Testen ein Verzeichnis mit Umlauten zu nehmen.
> 
> Bei einem Verzeichnis ohne Umlaute gibt es keinen Unterschied zwischen ASCII, ISO-8859 und UTF-8. (Alle ASCII-Zeichen werden in ASCII, ISO-8859 und UTF-8 gleich codiert.)

 

Ähhh.... ah, jetzt ja!  :Wink:  Stimmt natürlich. 

Ich habe soeben unter den Befehl "ls | file -" unter Gentoo auf die mp3-Partition losgelassen und das Ergebnis war auch "ISO-8859 text". Dann habe ich unter Gentoo auf dieser Partition ein Verzeichnis "täst" angelegt, und unter Ubuntu heißt das jetzt "tÃ€st". (Ich hoffe, das bleibt beim Ansehen jetzt so: der zweite Buchstabe ist ein großes "A" mit eine Tilde "~" darüber, der dritte Buchstabe ist ein Euro-Zeichen "€".)

----------

## jkoerner

Last edited by jkoerner on Wed Jun 08, 2011 6:43 pm; edited 1 time in total

----------

## Fauli

jkoerner hat Recht. Es ist also genau andersherum, als ich zuerst vermutet hatte.

Gentoo speichert das "ä" in UTF-8 als "c3 a4".

Ubuntu interpretiert die Bytes aber als ISO 8859-15 (Latin9): c3 => Ã, a4 => €.

Das heißt, am besten konvertierst du die Dateinamen unter Gentoo mit convmv von "iso-8859-15" in "utf8". Ohne die Option "--notest" wird eh nichts auf die Platte geschrieben und du kannst dir das Ergebnis der Umwandlung erst einmal ansehen.

Ubuntu solltest du danach noch auf UTF-8 umstellen, falls du es weiter benutzen möchstest.

----------

## gentoo-neuling

Danke schon mal für alle Hinweise. Ich werde in den nächsten Tagen probieren, was beim konvertieren passiert, sobald es meine Zeit zulässt.

Ich kann mich übrigens noch erinnern, dass ich die Regel für udev (oder war es HAL?), welche USB-Speicher einbindet, dahingehend ändern musste, dass kein UTF8 verwendet wird. Der Grund war nämlich, dass ein unter Ubuntu beschriebener USB-Stick unter Windows Probleme mit den Dateinamen machte. Erst, nachdem ich USB-Speicher nur noch als ISO-8859-1 benutzte, klappte auch der Datenaustausch mit Windows-Benutzern reibungslos. Wie wird sich Gentoo denn wohl in dieser Hinsicht verhalten?

----------

## ChrisJumper

 *gentoo-neuling wrote:*   

> Der Grund war nämlich, dass ein unter Ubuntu beschriebener USB-Stick unter Windows Probleme mit den Dateinamen machte. Erst, nachdem ich USB-Speicher nur noch als ISO-8859-1 benutzte, klappte auch der Datenaustausch mit Windows-Benutzern reibungslos. Wie wird sich Gentoo denn wohl in dieser Hinsicht verhalten?

 

Also für USB-Sticks, die ja meist in Fat32 Formatiert sind, wird bei mir immer ISO-8859-1 verwendet und das ist unter Gentoo auch die Voreinstellung. Eigentlich sollten da keine Probleme auftreten, wenn du aber ausnahmsweise eine utf8-Fat Partition mounten musst, kannst du beim mounten den Parameter utf8=true mit übergeben. Von Windows sind die meist alle noch in ISO-8859-1, kann aber nicht ausschließen das das bei Vista anders ist.

Ein Tipp noch am Rande, wenn du Dateien hast die mit einem Punkt anfangen, also ausgeblendet werden kann es sein das convmv die nicht bearbeitet. Die muss man dann irgendwie Explizied mit Angeben. Ich weiß nicht mehr genau, hatte damit einigen Aufwand als ich mal eine Windows98 Partition retten musste ;) Aber bei dir sind das ja nur Konfigurationsdateien.. da sind Umlaute recht unwahrscheinlich. Ich wollte es aber nur mal erwähnt haben.

P.s: Fauli's Tipp ist wichtig:

 *Quote:*   

> Ubuntu solltest du danach noch auf UTF-8 umstellen, falls du es weiter benutzen möchstest.

 

----------

