next up previous index
Next: mangle prefix G 3.0.9 Up: Die Parameter Previous: mangled map S   Index

mangled names S

Mit diesem Parameter kann die Abbildung von Unix-artigen Nicht-DOS-Namen auf DOS-konforme Namen erzwungen werden. Viele Netze enthalten DOS-Clients. Das wird sich in nächster Zukunft auch nicht ändern. Schon allein deshalb nicht, weil viele Anwendungen ohne GUI laufen, ja sogar laufen sollen und müssen. So laufen Kassenterminale und Reparaturterminale in Autowerkstätten und Supermärkten viel effizienter ohne GUI. Für eine reine Linux-Umgebung stellt das kein großes Problem dar, denn X11 ist im Gegensatz zur Windows-GUI nur ein Programm unter vielen und ist nicht in die Betriebssystem-Struktur eingebunden. Ein Terminal kann daher auch ohne GUI nützliche Dienste tun. Eine Windows NT-Workstation stellt für eine solche Applikation aber ein Problem dar, denn eine solche Workstation ist ohne GUI nicht oder nur eingeschränkt lauffähig. Wenn dieser Parameter entsprechend belegt wird, so werden die Unix-Namen auf legale DOS-Namen abgebildet, und zwar nach folgendem Algorithmus:

1.

Die ersten alphanumerischen Zeichen des Unix-Namens (bis zu fünf) bleiben erhalten, werden aber in Großbuchstaben umgewandelt. Diese Zeichenkette bildet den ersten Teil des DOS-Namens.

2.

Dem in Punkt 1 generierten Namensteil wird eine sogenannte Tilde ($\sim$) hinzugefügt, gefolgt von einer Sequenz, die aus zwei Zeichen besteht. Die Tilde kann auch durch ein anderes Zeichen ersetzt werden (siehe Seite [*]). Diese Sequenz wird mit einem besonderen Hashing-Verfahren (siehe Glossar Hashinghashing) ermittelt, und zwar aus dem originalen Präfix der Datei. Das Präfix einer Datei repräsentiert den Namensteil, der übrigbleibt, wenn man, von links lesend, das letzte, durch einen Punkt abgetrennte Suffix weg lässt. Das ist bei DOS-Dateien eindeutig, bei Unix-Dateien jedoch nicht, denn ein legaler Unix-Name kann mehrere Punkte enthalten, wie das erste Beispiel zeigt.

Einige Beispiele:


\begin{displaymath}\overbrace{\textit{olaf.borkner.delcarlo}}^{\textit{Praefix}}\underbrace{\textit{.tex}}_{\textit{Suffix}}
\end{displaymath}


\begin{displaymath}\overbrace{\textit{DOSNAME}}^{\textit{Praefix}}\underbrace{\textit{.EXE}}_{\textit{Suffix}}\end{displaymath}

Das Suffix des Unix-Dateinamens wird beim Hashing ebenfalls berücksichtigt, aber nur dann, wenn es länger als drei Buchstaben ist oder bereits Großbuchstaben enthält.

3.

Die ersten drei Zeichen des Suffix (siehe Beispiele) werden in Großbuchstaben verwandelt und als Suffix für den zu erzeugenden DOS-Dateinamen verwendet. Falls der Unix-Name keinerlei Punkte enthält, so wird der DOS-Name ebenfalls ohne Suffix gebildet (Ausnahme: sogenannte hidden Dateinamen).

4.

Dateinamen, die in Unix mit einem Punkt beginnen (sogenannte hidden Dateinamen), werden auch in einen DOS-Dateinamen umgewandelt, aber für das Suffix werden drei sogenannte Underscore verwendet (_ _ _).

Dieser Algorithmus erzeugt in den meisten Fällen einen eindeutigen DOS-Dateinamen, in wenigen Fällen kann jedoch eine Namenskollision auftreten (die Wahrscheinlichkeit ist $\frac{1}{1300}$ siehe man pages). Dieser Fall tritt aber nur dann auf, wenn die Unix-Namen zweier paarweise verschiedener Dateinamen sich in den ersten fünf Zeichen gleichen.

Voreinstellung:

mangled names = yes

Beispiel:

mangled names = no


next up previous index
Next: mangle prefix G 3.0.9 Up: Die Parameter Previous: mangled map S   Index
millin Verlag