Re: tar: can't translate pathname "..." to UTF-8

From: Polytropon <freebsd(at)edvax.de>
Date: Sun, 30 Jul 2017 18:26:31 +0200

On Sun, 30 Jul 2017 18:08:00 +0200, Marc Santhoff wrote:
> On So, 2017-07-30 at 16:55 +0200, Polytropon wrote:
> > On Sun, 30 Jul 2017 04:15:00 +0200, Marc Santhoff wrote:
> > > Moin,
> > >
> > > die Fehlermeldung im Subjekt bekomme ich auf einem frischen 10er System.
> > > Es handelt sich um draufkopierte Dateinamen mit Umlauten.
> >
> > Das UFS-Dateisystem ist grundsätzlich Umlaut-agnostisch, d. h. es
> > kümmert sich nicht um Zeichencodierungen, sondern übernimmt die
> > Bytes so, wie sie sind.
>
> OK.
>
> > Wenn ich mir die Meldung, die Du im Betreff zitierst, genau ansehe,
> > dann habe ich eine Idee, kann aber sein, daß ich da auf dem Holzweg
> > bin: Ist "..." eine Auslassung, oder soll das eine Ellipsis sein?
> > Vielleicht will tar die zu "Punkt Punkt Punkt" umwandeln, was aber
> > nicht geht, da der Punkt ja ein Sonderzeichen mit spezieller Pfad-
> > bedeutung ist. Aber da steht ja "to UTF-8", nicht "from", also sehe
> > ich da wahrscheinlich was, was gar nicht da ist, aber man weiß ja
> > nie. UTF-8 ist halt nicht trivial. :-)
> >
> > Ist
> >
> > tar: can't translate pathname "..." to UTF-8
> >
> > der _tatsächliche_ Meldungstext?
>
> Nein, das ist aus dem Gedächtnis rezitiert der ungefähre Text. Die
> Auslassungpunkte stehen für einen kompletten Pfad mit Dateinamen. Der
> Dateiname enthält typische, deutsche Sonderzeichen, also Umlaute,
> Esszett. Sorry for confusion... ;)

Gut, also keine Ellipsis. :-)

> > > Oder vielleicht /etc/profile als Stratdatei der sh?
> >
> > Das gilt aber nur für die sh. Wenn Du csh benutzt, muß die Angabe
> > in .cshrc (lokal) oder /etc/csh.cshrc (global) stehen.
>
> Klar, ist bekannt. Auch die Unterschiede zwischen den Shells. Systemjobs
> benutzen zumindest was FreeBSD angeht doch aber hoffentlich alle sh?

Sie benutzen die Shell, die in /etc/crontab festgelegt ist.
Systemseitig - das ist richtig - ist es /bin/sh.

> Was anderes ist mir noch nicht begegnet, sind ja auch Warnungen iirc im
> Handbuch.

Wenn man von /bin/sh auf /usr/local/bin/bash "umschaltet" und
denkt: Na ach, das ist doch dasselbe!, dann kann man unangenehme
Überraschungen erleben. :-)

> Das ist das Problem, kein login sondern ein cronjob. Und es macht
> (bisher) nur tar, genauer bsdtar Ärger. Irgendwo las ich, libarchive
> hätte die Funktionen dafür, vielleicht sollte ich mal gtar installieren
> und damit testen. Fragt sich, welche Nebenwirkungen das hat.
>
> Für jeden tar-job immer gleich die Umgebungsvariablen vorweg setzen
> geht, aber ich vergesse das garantiert.

Du könntest einen "Wrapper" dafür schreiben, der von /bin/sh
aufgerufen wird, aber eventuell zusätzliche Umgebungsvariablen
setzt - tar wird dann als Unterprozeß gestartet und "erbt" die
Einstellungen.

> > > Mir ist nicht klar, wie dem Ssystem mitgeteilt wird, welche locale es
> > > für Dateinamen grundsätzlich benutzen soll.
> >
> > Keine, denn dem System ist das prinzipiell egal. Nur die Darstellung
> > kann eben leiden, A-Tilde ein Viertel umgedrehtes Fragezeichen. :-)
>
> OK, also passiert die Umsetzung an der Konsole oder eben durch die
> tools.

Genau. Es kommen mehrere Faktoren zusammen, wenn man will, daß
ein Dateiname mit Umlauten und Eszett korrekt angezeigt wird.

> > PS.
> >
> > Dumme Frage: Alle Welt benutzt UTF-8 und propagiert das auch so
> > als den aktuellen Standard. Warum benutzt Du ISO-8859-15? Ich
> > selbst benutze ISO-8859-1, weil ich knauserig bin und keine zwei
> > Byte für einen popeligen Umlaut verschwenden will... ;-)
>
> Hmm. Ich administriere nicht täglich und ich brauche ein laufendes
> System. Der Server, den ich grade außer Betrieb genommen habe, war ein
> P1/166MHz unter FreeBSD7. Es gibt gewisse Widrstände gegen
> veränderung. :D

"Never touch a running system" - hier gibt es noch einen internen
Server mit FreeBSD 4.4 glaube ich... ich _weiß_ es nicht einmal,
weil das Teil seit Jahren, ach, was sag' ich, seit Jahrzehnten
genau das macht, was es soll, und dadurch "unsichtbar" bleibt. :-)

> Ich befürchte Umstellungsprobleme, obwohl die mittlerweile schon eine
> Weile vorbei sein könnten.

Vor allem: Überraschungen kann es in zwei Dimensionen geben: Erstens
die Dateinamen ISO-8859-1/15 <-> UTF-8, und bei Textdateien auch
die Dateiinhalte. Aber viele moderne Editoren können das "intern
umschalten", so daß es nicht in einer Suchen-und-Ersetzen-Orgie
enden muß. :-)

> Und den (eigentlich überflüssigen) Aufwand,
> alle Dateinamen zu ändern, mag ich ohne handfesten Grund einfach nicht
> leisten.

Da ich vor vielen Jahren in Multi-OS-Umgebungen arbeiten mußte und
sich da bekanntlich der kleinste gemeinssame Nenner durchsetzt,
nutze ich noch immer die Regel: keine Umlaute, keine Sonderzeichen,
keine Leerzeichen. Das spart einem zumindest hier Umstellungsprobleme.
Und mit "Suchen & Ersetzen" kann man Umlaute, Eszett und Leerzeichen
erzeugen, wenn man das unbedingt haben will. Und chinesische Schrift-
zeichen natürlich auch. :-)

-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 30 Jul 2017 - 18:26:35 CEST

search this site