Uwaga! To tłumaczenie może być
nieaktualne!
Niniejsza strona podręcznika opisuje pliki konfiguracyjne
pakietu mtools. Pliki konfiguracyjne noszą nazwy
/usr/local/etc/mtools.conf oraz ~/.mtoolsrc.
Jeśli określono zmienną środowiska
MTOOLSRC, to jej wartość jest używana jako nazwa
trzeciego pliku konfiguracyjnego. Pliki konfiguracyjne opisują
następujące pozycje:
- * Ogólne flagi i zmienne konfiguracji
- * Flagi i zmienne dla napędu
- * Tablice translacji znaków
Położenie plików konfiguracyjnych
Ogólnym, systemowym plikiem konfiguracyjnym jest
/usr/local/etc/mtools.conf, zaś ~/.mtoolsrc jest
prywatnym plikiem konfiguracyjnym użytkownika.
W niektórych systemach plikiem konfiguracyjnym o
zasięgu ogólnosystemowym jest jednak
/etc/defaults/mtools.conf.
Ogólna składnia pliku konfiguracyjnego
Pliki konfiguracyjne złożone są z sekcji.
Każda sekcja rozpoczyna się identyfikującym ją
słowem kluczowym zakończonym dwukropkiem. Po identyfikacji
sekcji następują przypisania zmiennych i flag. Przypisania
zmiennych posiadają poniższą postać:
nazwa=wartość
Flagi są pojedynczymi słowami kluczowymi bez znaku
równości i przypisanej wartości. Sekcja kończy
się z końcem pliku lub z rozpoczęciem kolejnej sekcji.
Linie rozpoczynające się od znaku krzyżyka
(#) są komentarzami. Znaki nowej linii są
równoważne białym znakom (z wyjątkiem
kończących komentarz). Wielkość liter w pliku
konfiguracyjnym nie ma znaczenia, z wyjątkiem pozycji ujętych
w znaki cytowania (jak np. nazwy plików).
Dla większości platform mtools
posiadają rozsądne wkompilowane parametry domyślne dla
napędów dyskietek. Zwykle zatem, nie ma potrzeby zajmowania
się plikiem konfiguracyjnym, jeśli chcemy jedynie
wykorzystywać mtools do uzyskania dostępu do dyskietek. Z
drugiej strony jednak, plik konfiguracyjny jest niezbędny przy
użyciu mtools również do partycji dysku twardego i
plików obrazu dosemu.
Przełączniki (flagi) globalne mogą być
ustawione na 1 lub 0.
Rozpoznawane są następujące flagi
globalne:
- MTOOLS_SKIP_CHECK
- Ustawienie na 1 powoduje, że mtools pomijają
większość testów kontrolnych. Potrzebne przy
odczycie niektórych dyskietek Atari, zrobionych z użyciem
wcześniejszych wersji ROM, które w inny sposób nie
byłyby rozpoznawane.
- MTOOLS_FAT_COMPATIBILITY
- Przy ustawieniu na 1, mtools pomijają sprawdzenie rozmiaru FAT.
Niektóre dyski mają FAT większy niż faktycznie
tego potrzebują. Są one odrzucane, jeśli niniejsza
opcja nie jest ustawiona.
- MTOOLS_LOWER_CASE
- Ustawienie na 1 powoduje, że mtools wyświetlają
małymi literami krótkie nazwy plików, w
których wszystkie litery są duże. Stworzone dla
uzyskania zgodności z poprzednimi wersjami mtools, które nie
rozpoznawały bitu dużych/małych liter (patrz
mtools(1), sekcja Rozróżnianie dużych
i małych liter w systemie VFAT).
- MTOOLS_NO_VFAT
- Przy ustawieniu na 1 mtools nie będą tworzyć
wpisów VFAT dla nazw plików o mieszanych,
dużych/małych literach, które poza tym są
poprawnymi nazwami plików DOSu. Przydatne przy pracy z wersjami
DOSu nie obsługującymi długich nazw VFAT, jak np.
FreeDos.
- MTOOLS_DOTTED_DIR
- Przy szerokim listowaniu katalogu, pokazuje nazwy plików z
kropką zamiast odstępów oddzielających
nazwę od rozszerzenia.
- MTOOLS_NAME_NUMERIC_TAIL
- Domyślnie ustawione na jeden, decyduje o tworzeniu numerycznych
przyrostków we wszystkich długich nazwach plików
(~1). Ustawienie na zero oznacza, że przyrostki numeryczne nie
będą tworzone, chyba że spowodowałoby to
kolizję nazw.
- MTOOLS_TWENTY_FOUR_HOUR_CLOCK
- Przy ustawieniu na jeden używany jest europejski sposób
zapisu czasu (zegar 24-godzinny). W przeciwnym przypadku wykorzystywana
jest notacja anglosaska (am/pm).
Przykład: Wstawienie poniższej linii do pliku
konfiguracyjnego nakazuje mtools pominięcie testów
poprawności:
MTOOLS_SKIP_CHECK=1
Zmienne globalne mogą być również ustawiane poprzez
środowisko:
export MTOOLS_SKIP_CHECK=1
Globalne zmienne znakowe mogą mieć przypisaną
dowolną wartość:
- MTOOLS_DATE_STRING
- Format używany do wyświetlania dat plików.
Domyślnie jest to dd-mm-yyyy.
W sekcji napędu mogą być użyte
przełączniki i wartości odnoszące się do
tego napędu. Sekcja opisująca napęd rozpoczyna
się od napisu:
drive litera_napędu:
następnie występują pary zmienna-wartość oraz
flagi. A oto przykładowy opis napędu:
drive a:
file="/dev/fd0" use_xdf=1
Informacja o geometrii opisuje fizyczną
charakterystykę dysku. Ma ona trojakie zastosowanie:
- formatowanie
- Informacja o geometrii zapisywana jest w sektorze startowym (boot-sector)
nowo utworzonego dysku. Można jednak opisać geometrię
dysku z linii poleceń (patrz polecenie mformat).
- filtrowanie
- W niektórych Unixach węzły urządzeń
(device nodes) obsługują wyłącznie
jedną geometrię fizyczną. Na przykład,
możesz potrzebować innego węzła dla
dostępu do dyskietki dużej gęstości niż
do dyskietki o małej gęstości. Aby zapewnić
możliwość poprawnego odczytu dysku przez
węzeł, geometria porównywana jest z faktyczną
geometrią zapisaną w sektorze startowym. Jeżeli nie
pasują, to odpowiedni zapis charakteryzujący napęd
zawodzi i testowany jest kolejny wpis z tą samą
literą napędu. Sekcja Wielokrotne opisy
wyjaśnia bliżej posługiwanie się wieloma
opisami dla jednej litery napędu.
- Gdy w pliku konfiguracyjnym nie podano żadnej informacji o
geometrii, to akceptowane są wszystkie dyski. W Linuksie
(również na Sparc) istnieją węzły
urządzeń o konfigurowalnej geometrii (/dev/fd0,
/dev/fd1 itd.), zatem filtrowanie napędów dyskowych
jest zbędne (i jest ignorowane). (mtools wykonują jednak
filtrowanie plików zwykłych (obrazów dysków) w
Linuksie: przeznaczono to głównie do testowania, gdyż
nie mam dostępu do Unixa, który faktycznie
potrzebowałby filtrowania).
- Jeśli nie potrzebujesz filtrowania, a chcesz używać
domyślnej geometrii przy formatowaniu (z użyciem
mformat), możesz wyłączyć filtrowaniu
flagą mformat_only.
- Jeśli chcesz filtrowania - powinieneś użyć
flagi filter. Podając geometrię musisz podać
również jedną z tych dwu flag.
- geometria
początkowa
- W urządzeniach obsługujących tę
możliwość (zwykle napędy dyskietek),
informacja o geometrii używana jest też do ustawienia
geometrii początkowej. Geometria początkowa stosowana jest
przy odczycie sektora startowego, zawierającego rzeczywistą
geometrię. Początkowe konfigurowanie nie jest wykonywane,
gdy w pliku konfiguracyjnym brak jest opisu geometrii lub gdy użyto
flagi mformat_only.
- W Linuksie geometria początkowa nie jest faktycznie potrzebna,
gdyż urządzenia konfigurowalne potrafią samoczynnie
wykryć dostatecznie dokładnie typ dysku (dla
większości powszechnych formatów) by móc
odczytać sektor startowy.
Zły opis geometrii może prowadzić do bardzo
poważnych błędów. Dlatego też usilnie
zaleca się dodanie flagi mformat_only do opisu napędu,
chyba iż faktycznie występuje potrzeba filtrowania czy
geometrii początkowej.
Dostępne są następujące zmienne
związane z geometrią dysków:
- cylinders
[tracks]
- Liczba cylindrów. Forma zalecana; tracks
(ścieżki) jest formą przestarzałą.
- heads
- Liczba głowic (stron).
- sectors
- Liczba sektorów na ścieżkę.
Przykład: poniższa sekcja opisuje napęd
1.44MB:
drive a: file="/dev/fd0H1440"
fat_bits=12 cylinders=80 heads=2 sectors=18
mformat_only
Dostępne są następujące
skrócone opisy geometrii:
- 1.44m
- dyskietka 3,5" wysokiej gęstości.
Równoważne: fat_bits=12 cylinders=80 heads=2 sectors=18
- 1.2m
- dyskietka 5,25" wysokiej gęstości.
Równoważne: fat_bits=12 cylinders=80 heads=2 sectors=15
- 720k
- dyskietka 3,5" podwójnej gęstości.
Równoważne: fat_bits=12 cylinders=80 heads=2 sectors=9
- 360k
- dyskietka 5,25" podwójnej gęstości.
Równoważne: fat_bits=12 cylinders=40 heads=2 sectors=9
Skrócone opisy formatów mogą być
zmieniane, zdefiniując inny format. Na przykład, 360k
sectors=8 opisuje dyskietkę 320k i jest równoważne
zapisowi: fat_bits=12 cylinders=40 heads=2 sectors=8.
Dostępne są ponadto następujące
flagi:
- sync
- Wszystkie operacje wejścia/wyjścia wykonywane są
synchronicznie.
- nodelay
- Urządzenie lub plik jest otwierane z flagą O_NDELAY.
Niezbędne przy niektórych systemach nie-Linuksowych.
- exclusive
- Urządzenie lub plik jest otwierane z flagą O_EXCL. W
Linuksie zapewnia to dostęp do napędu dyskietek w trybie
wyłączności. W większości innych
architektur oraz dla zwykłych plików nie daje żadnego
efektu.
Ogólne zmienne napędu
Dostępne są poniższe ogólne zmienne
napędu. W zależności od typu, zmiennym tym może
być przypisany łańcuch znakowy (file,
precmd) lub liczba całkowita (pozostałe).
- file
- Nazwa pliku lub urządzenia przechowującego obraz
dysku/dyskietki. Zmienna obowiązkowa. Nazwa pliku powinna
być ujęta w cudzysłowy.
- partition
- Sygnalizuje mtools traktowanie napędu jak urządzenia
spartycjonowanego i użycie zadanej partycji. Przy zastosowaniu tej
metody dostępne są wyłącznie partycje
główne (primary), numerowane od 1 do 4. Dla partycji
logicznych należy posłużyć się
ogólniejszą zmienną offset. Zmienna
partition przeznaczona jest do obsługi
nośników wyjmowalnych takich jak napędy Syquest, ZIP
czy dyski maagneto-optyczne. Mimo, iż tradycyjny DOS postrzega
dyski Syquest i dyski magneto-optyczne jako ogromne
dyskietki, które nie są partycjonowane, to OS/2 oraz
Windows NT traktują je jak dyski twarde, tj. urządzenia
partycjonowane. Flaga partition przydaje się dla
obrazów dysków twardych DOSEMU. Nie jest zalecana dla
dysków twardych, dla których możliwy jest
bezpośredni dostęp do partycji poprzez montowanie
(mount).
- offset
- Opisuje, gdzie w pliku rozpoczyna się system plików MS-DOS.
Przydatna w obsłudze partycji logicznych wewnątrz
obrazów dysków twardych (hdimages) DOSEMU oraz
ram-dysków Atari. Domyślnie ustawiona na zero, co oznacza,
że system plików zaczyna się na samym początku
urządzenia lub pliku.
- fat_bits
- Liczba bitów tablicy alokacji plików (FAT). Może to
być 12 lub 16. Rzadko potrzebna, gdyż prawie zawsze
może być uzyskana z informacji w sektorze startowym. I
przeciwnie, podanie liczby bitów FAT może być
przyczyną kłopotów, jeśli jest ona zła.
Powinna być używana wyłącznie w przypadku
niewłaściwego rozpoznawania automatycznego przez mtools
liczby bitów FAT. Przydatna również przy formatowaniu
z wykorzystaniem polecenia mformat dyskietki z nietypową
liczbą bitów FATu.
- precmd
- W niektórych odmianach Solaris niezbędne jest
wywołanie volcheck -v przed otwarciem urządzenia
dyskietek, co ma na celu wymuszenie na systemie zauważenia,
że w napędzie rzeczywiście jest dyskietka.
precmd="volcheck -v" umieszczone w sekcji
opisującej napęd powoduje pożądane
zachowanie.
- blocksize
- Parametr ten określa domyślny rozmiar bloku, jaki
będzie zawsze używany dla danego urządzenia.
Wszystkie operacje wejścia/wyjścia wykonywane są z
wielokrotnością tego rozmiaru bloku, niezależnie od
rozmiaru sektora zapisanego w sektorze startowym systemu plików.
Rozwiązanie to jest przydatne do obsługi
urządzeń znakowych, gdzie rozmiar sektora jest inny
niż 512, jak na przykład napędy CD-ROM w systemie
Solaris.
Obowiązkowa jest tylko zmienna file. Inne parametry
mogą zostać pominięte. W takim przypadku przyjmowane
są wartości domyślne lub automatycznie wykrywane.
Ogólne flagi napędu
Flaga może być albo ustawiona na 1
(włączone) albo na 0 (wyłączone). Jeśli
pominięto wartość, to jest ona włączana.
Na przykład, scsi jest równoważne
scsi=1.
- nolock
- Poleca mtools nie używać blokady (locking) dla tego
napędu. Przydatne w systemach z nienajlepszą
semantyką blokowania. Włączenie tego
przełącznika powoduje jednak, że operacje są
mniej bezpieczne w przypadkach, gdy kilku użytkowników
może korzystać z tego samego napędu w tym samym
czasie.
- scsi
- Ustawiona na 1 nakazuje mtools użycie przy dostępie do
urządzenia surowego wejścia/wyjścia SCSI (raw SCSI
I/O) zamiast standardowych funkcji read/write. Obecnie jest to
obsługiwane na HP/UX, Solaris i SunOs. Przełącznik
jest tam niezbędny, gdyż w niektórych architekturach,
jak SunOS czy Solaris, nie można korzystać z
nośników PC przy użyciu funkcji systemowych
read i write, gdyż system operacyjny oczekuje,
że będą one zawierać specyficzną dla
Suna "etykietę dysku".
- Ponieważ surowy dostęp do SCSI zawsze posługuje
się całym urządzeniem, musisz podać dodatkowo
flagę partition.
- Na niektórych systemach, jak Solaris, mtools potrzebują
uprawnień superużytkownika (root), by móc
wykorzystać opcję scsi. Zatem, jeśli chcesz
korzystać z napędów Zip/Jaz w systemie Solaris,
powinieneś zainstalować mtools z uprawnieniem SUID root.
Stąd też, jeśli podano flagę scsi, to
automatycznie używana jest też privileged, chyba
że zostanie jawnie wyłączona przez
privileged=0.
- mtools używają swoich uprawnień
superużytkownika do otwarcia urządzenia oraz
wywołania rzeczywistych funkcji wejścia/wyjścia SCSI.
Co więcej, uprawnienia roota używane są
wyłącznie dla napędów opisanych w pliku
konfiguracyjnym o zasięgu ogólnosystemowym, jak
/usr/local/mtools.conf, nie zaś dla napędów
opisanych w ~/.mtoolsrc czy też $MTOOLSRC.
- privileged
- Ustawiona na 1 nakazuje mtools użycie posiadanych przez nie
uprawnień SUID oraz SGID przy otwieraniu danego napędu.
Opcja ta jest poprawna tylko dla napędów opisanych w
ogólnosystemowym pliku konfiguracyjnym (jak np.
/usr/local/mtools.conf, nie zaś dla napędów
opisanych w ~/.mtoolsrc czy też $MTOOLSRC).
Naturalnie, opcja ta nie działa również jeśli
mtools nie zostały zainstalowane z ustawionym SUID lub SGID. Jest
automatycznie ustawiana przez scsi=1, ale również
wyłącznie dla napędów zdefiniowanych w plikach
konfiguracyjnych o zasięgu ogólnosystemowym. Flaga ta
może być jawnie ustawiona na zero w celu zakazania mtools
używania uprawnień do danego napędu, nawet
jeśli ustawione jest scsi=1.
- mtools potrzebują ustawienia dostępu SUID tylko wtedy, gdy
planuje się wykorzystanie zmiennych privileged lub
scsi dla któregoś z napędów.
Jeżeli opcje te nie są używane, mtools działa
prawidłowo nawet bez ustawiania SUID root.
- vold
- Poleca mtools interpretację nazwy urządzenia jako
identyfikatora "vold" [tłum.:volume daemon - demon
mechanizmu zarządzania woluminami systemu Solaris], nie zaś
jako nazwy pliku. Identyfikator "vold" jest tłumaczony na
faktyczną nazwę pliku przy użyciu funkcji
media_findname() oraz media_oldaliases() z biblioteki
volmgt. Przełącznik ten jest dostępny tylko w
przypadku skonfigurowania mtools z opcją --enable-new-vold
przed kompilacją.
- use_xdf
- Ustawienie na wartość niezerową powoduje, że
mtools próbuje również dostępu do tej
dyskietki jak do dyskietki XDF. XDF jest formatem dużej
gęstości wykorzystywanym przez OS/2.
Przełącznik ten jest domyślnie
wyłączony. Więcej informacji znajdziesz w sekcji
XDF dokumentacji mtools(1).
- mformat_only
- mtools powinny użyć geometrii tego napędu tylko do
formatowania (mformat), ale nie do filtrowania.
- filter
- mtools użyją geometrii tego napędu zarówno do
formatowania jak i do filtrowania.
- remote
- nakazuje mtools podłączenie się do floppyd (patrz
floppyd(1)).
Możliwe jest podanie wielu opisów dla danego
napędu. W takim przypadku, opisy są wypróbowywane po
kolei, aż do znalezienia pasującego. Opisy mogą nie
pasować z kilku powodów:
1. nieodpowiednia geometria,
2. brak dysku w napędzie,
3. inne kłopoty.
Wielość opisów jest przydatna przy wykorzystywaniu
urządzeń fizycznych potrafiących obsługiwać
tylko jedną geometrię pojedynczego dysku. Przykład:
drive a: file="/dev/fd0H1440" 1.44m
drive a: file="/dev/fd0H720" 720k
Powyższe linie nakazują mtools użycie /dev/fd0H1440 dla
dyskietek 1.44MB (dużej gęstości) oraz /dev/fd0H720 dla
dyskietek 720KB (podwójnej gęstości). W Linuksie cecha ta
nie jest faktycznie potrzebna, gdyż urządzenie /dev/fd0 jest w
stanie obsługiwać dowolną geometrię.
Można też użyć wielu opisów
napędu, by korzystać z obu napędów fizycznych za
pośrednictwem jednej litery napędu:
drive z: file="/dev/fd0"
drive z: file="/dev/fd1"
Z takim opisem mdir z: wykorzystuje pierwszy napęd fizyczny,
jeśli zawiera on dyskietkę. Jeśli w pierwszym
napędzie nie ma dyskietki, to mtools sprawdzają drugi
napęd.
Przy użyciu wielu plików konfiguracyjnych opisy
napędu występujące jako ostatnie
przesłaniają uprzednie opisy dla tego samego napędu z
wcześniejszych plików. Można tego uniknąć
posługując się słowami kluczowymi drive+
lub +drive zamiast drive. Pierwsza składnia dodaje opis
na końcu listy (tzn.będzie wypróbowany jako ostatni),
zaś druga na początek listy.
Jeśli mieszkasz w USA, Europie Zachodniej lub Australii,
możesz pominąć tę sekcję.
DOS używa odmiennego mapowania kodów znaków
niż Unix. Znaki 7-bitowe mają to samo znaczenie,
różnice dotyczą tylko znaków z ustawionym
ósmym bitem. Co gorsza, istnieje kilkanaście tablic
translacji, w zależności od kraju. Wygląd znaków
definiowany jest przy użyciu stron kodowych (code pages). Strony
kodowe nie są takie same dla wszystkich krajów. Na
przykład, niektóre strony kodowe nie zawierają
dużych liter akcentowanych. Z drugiej strony, niektóre z nich
zawierają znaki nie istniejące w Uniksie, jak znaki ramek czy
"spółgłoski akcentowane" używane w
niektórych krajach Europy Wschodniej. Dotyczy to dwu rzeczy
związanych z nazwami plików:
- duże litery
- W nazwach krótkich dozwolone są tylko duże znaki.
Dotyczy to również znaków akcentowanych. Na
przykład, przy stronie kodowej, która nie zawiera
akcentowanych dużych znaków, małe znaki akcentowane
zostaną zamienione na ich nieakcentowane odpowiedniki.
- długie nazwy
plików
- Micro$oft wreszcie się opamiętał i używa
bardziej standardowego mapowania w długich nazwach plików.
Używają Unicodu, który w uproszczeniu jest 32
bitową wersją ASCII. Pierwszych jego 256 znaków jest
identycznych z Uniksowym ASCII. Stąd też, strona kodowa ma
również wpływ na powiązania pomiędzy
kodami użytymi w długich nazwach plików a kodami
użytymi w krótkich nazwach.
mtools uważają, że nazwy plików
wprowadzone w linii poleceń mają mapowanie unixowe i zamienia
znaki dla uzyskania nazw krótkich. Domyślnie używana
jest strona kodowa 850 ze szwajcarskim odwzorowaniem duże liter na
małe. Wybrano tę stronę kodową gdyż jej
zestaw znaków jest najbliższy unixowemu. Ponadto, zawiera ona
większość znaków używanych w USA,
Australii i Europie Zachodniej. Niemniej jednak, możliwy jest
wybór innego odwzorowania. Istnieją dwie metody: zmienna
country (kraj) i bezpośrednie tablice.
Konfiguracja przy użyciu zmiennej Country
Zmienna COUNTRY polecana jest dla tych, którzy
mają dostęp do plików systemowych MS-DOS i
dokumentacji. Jeżeli się ich nie posiada, to lepiej jest
użyć bezpośrednich tablic translacji.
Składnia:
COUNTRY="country[,[codepage],country-file]"
Zapis ten powoduje użycie przez mtools tablicy translacji
Unix-na-DOS pasującej do strony kodowej codepage i tablicy
małe-na-duże dla kraju country oraz zastosowanie pliku
country-file do uzyskania tablicy duże-na-małe. Kod
kraju jest najczęściej telefonicznym przedrostkiem tego kraju.
Więcej szczegółów znaleźć
można w pomocy DOS dla "country". Parametry codepage
i country-file są opcjonalne. Plik country-file dostarczany
jest z DOSem, zwykle nazywa się COUNTRY.SYS i znajduje
się w katalogu C:\DOS. W większości
przypadków będzie zbędny, gdyż
najczęściej występujące tablice translacji
są wkompilowane w mtools. Nie ma zatem problemu, jeśli w
Uniksie brakuje tego pliku.
Jeżeli nie podano strony kodowej (codepage), to
używana jest domyślna strona kodowa kodowa dla danego kraju.
Jeśli nie podano parametru country-file, to dla tablicy
małe-na-duże użyte będą wkompilowane
wartości domyślne. Cecha ta jest przydatna w Unixach innych
niż Linuks, gdzie może nie być dostępny plik
COUNTRY.SYS.
Tablice Unix-na-DOS nie są zawarte w COUNTRY.SYS,
zatem mtools zawsze posługują się wkompilowanymi
wartościami domyślnymi. Stąd też,
obsługiwana jest tylko ograniczona ilość stron
kodowych. Jeśli brak jest używanej przez ciebie strony kodowej
lub jeśli znasz nazwę pliku Windows 95 przechowującego
to odwzorowanie, to napisz do autora: alain@linux.lu.
Zmienna COUNTRY może być także
ustawiona przez zdefiniowanie jej w środowisku.
Konfiguracja przy użyciu bezpośrednich tablic
translacji
Tablice translacji mogą być opisane wprost w pliku
konfiguracyjnym. Niezbędne są dwie tablice: pierwsza to
tablica DOS-na-Unix, druga to tablica małe-na-duże. tablica
DOS_na-Unix zaczyna się od słowa kluczowego tounix
zakończonego dwukropkiem, o którym następuje 128 liczb
szesnastkowych. Tablica małe-na-duże rozpoczyna się
słowem kluczowym fucase zakończonym dwukropkiem, po
którym następuje 128 liczb szesnastkowych.
Tablice określają translację dla
znaków o kodach większych od 128, gdyż translacja dla
niższych kodów jest banalna.
Przykład:
- tounix:
0xc7 0xfc 0xe9 0xe2 0xe4 0xe0 0xe5 0xe7
0xea 0xeb 0xe8 0xef 0xee 0xec 0xc4 0xc5
0xc9 0xe6 0xc6 0xf4 0xf6 0xf2 0xfb 0xf9
0xff 0xd6 0xdc 0xf8 0xa3 0xd8 0xd7 0x5f
0xe1 0xed 0xf3 0xfa 0xf1 0xd1 0xaa 0xba
0xbf 0xae 0xac 0xbd 0xbc 0xa1 0xab 0xbb
0x5f 0x5f 0x5f 0x5f 0x5f 0xc1 0xc2 0xc0
0xa9 0x5f 0x5f 0x5f 0x5f 0xa2 0xa5 0xac
0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0xe3 0xc3
0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0xa4
0xf0 0xd0 0xc9 0xcb 0xc8 0x69 0xcd 0xce
0xcf 0x5f 0x5f 0x5f 0x5f 0x7c 0x49 0x5f
0xd3 0xdf 0xd4 0xd2 0xf5 0xd5 0xb5 0xfe
0xde 0xda 0xd9 0xfd 0xdd 0xde 0xaf 0xb4
0xad 0xb1 0x5f 0xbe 0xb6 0xa7 0xf7 0xb8
0xb0 0xa8 0xb7 0xb9 0xb3 0xb2 0x5f 0x5f
fucase:
0x80 0x9a 0x90 0xb6 0x8e 0xb7 0x8f 0x80
0xd2 0xd3 0xd4 0xd8 0xd7 0xde 0x8e 0x8f
0x90 0x92 0x92 0xe2 0x99 0xe3 0xea 0xeb
0x59 0x99 0x9a 0x9d 0x9c 0x9d 0x9e 0x9f
0xb5 0xd6 0xe0 0xe9 0xa5 0xa5 0xa6 0xa7
0xa8 0xa9 0xaa 0xab 0xac 0xad 0xae 0xaf
0xb0 0xb1 0xb2 0xb3 0xb4 0xb5 0xb6 0xb7
0xb8 0xb9 0xba 0xbb 0xbc 0xbd 0xbe 0xbf
0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc7 0xc7
0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf
0xd1 0xd1 0xd2 0xd3 0xd4 0x49 0xd6 0xd7
0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde 0xdf
0xe0 0xe1 0xe2 0xe3 0xe5 0xe5 0xe6 0xe8
0xe8 0xe9 0xea 0xeb 0xed 0xed 0xee 0xef
0xf0 0xf1 0xf2 0xf3 0xf4 0xf5 0xf6 0xf7
0xf8 0xf9 0xfa 0xfb 0xfc 0xfd 0xfe 0xff
Pierwsza tablica odwzorowuje kody znaków DOSu na kody
znaków Unixa. Na przykład, znak DOSu numer 129. Jest to litera
u z kropkami nad nią. Aby wykonać translację do Unixa,
szukamy znaku numer 1 w pierwszej tablicy (1=129-128). Jest to 0xfc. (Uwaga!
numeracja zaczyna się od zera). Druga tablica odwzorowuje małe
znaki DOSu na duże znaki DOSu. Ta sama mała litera u z
kropkami przekształcona będzie na 0x9a, co jest dużym U
z kropkami w DOSie.
Jeśli istniejąca nazwa MS-DOS zawiera znaki Unicodu
większe niż 256, to są one tłumaczone na
podkreślenia lub znaki wyglądające podobnie. Na
przykład, spółgłoski akcentowane odwzorowywane
są na swe nieakcentowane odpowiedniki. Tłumaczenie to
używane jest przez mdir i unixowe nazwy plików generowane
przez mcopy. Linux również obsługuje Unicode, ale
niestety zbyt mało aplikacji go jeszcze używa, by
zajmować się tym w mtools. Co najistotniejsze, xterm nie
potrafi jeszcze wyświetlać Unicodu. Jeśli będzie
odpowiednie zapotrzebowanie, autor mtools dołączy
obsługę Unicodu również w unixowych nazwach
plików.
Ostrzeżenie: Przy usuwaniu plików przez
mtools znak podkreślenia oznacza wszystkie znaki, które nie
mogą być przedstawione w Unixie. Ostrożnie z mdel
!
Położenie plików konfiguracyjnych i
kolejność przetwarzania
Pliki konfiguracyjne przetwarzane są w
następującej kolejności:
- 1. wkompilowane wartości domyślne
- 2. /usr/local/etc/mtools.conf
- 3. /etc/mtools
- Do celów zgodności wstecznej i wyłącznie
wtedy, gdy nie istnieje mtools.conf.
- 4. ~/.mtoolsrc.
- 5. $MTOOLSRC
- (plik wskazywany przez zawartość zmiennej środowiska
MTOOLSRC)
Opcje opisywane w późniejszych plikach
unieważniają opcje opisane w plikach wcześniejszych.
Napędy zdefiniowane w późniejszych plikach
pozostają zdefiniowane jeśli nie są unieważnione
w plikach czytanych później. Na przykład, napędy
A i B mogą być zdefiniowane w pliku
/usr/local/etc/mtools.conf, zaś napędy C i D
zdefiniowane w ~/.mtoolsrc. Jeżeli jednak ~/.mtoolsrc
definiuje również napęd A, to ta nowa definicja
unieważnia poprzedni opis napędu A w
/usr/local/etc/mtools.conf zamiast uzupełnienia go. W celu
dodania nowego opisu do napędu już opisanego we
wcześniejszym pliku należy posłużyć
się słowem kluczowym +drive bądź
drive+.