mtools(1)

NAZWA
mtools - narzędzia dostępu do dysków DOS w Uniksie

WSTĘP
Mtools jest zbiorem narzędzi, udostępnianych jako public domain, pozwalających systemom unixowym na operowanie plikami DOSowymi: odczyt, zapis i przemieszczanie plików położonych na DOSowym systemie plików (zwykle dyskietce). Gdy jest to uzasadnione, każdy z programów usiłuje emulować odpowiednie polecenie DOSu. Nie są jednak emulowane zbędne ograniczenia i osobliwości DOSu. Na przykład, możliwe jest przesuwanie podkatalogów z jednego podkatalogu do innego.

Mtools wystarczają do zapewnienia dostępu do systemów plikowych DOSu. Na przykład, polecenia takie jak mdir a: działają na napędzie a: bez uprzedniego montowania (dołączania) czy inicjalizacji (zakładając, że na twojej maszynie działa domyślny plik /etc/mtools.conf. Przy pomocy mtools można zmieniać dyskietki bez potrzeby ich dołączania i odłączania.

SKĄD WZIĄĆ MTOOLS
Mtools można znaleźć w następujących miejscach (i ich mirrorach):
http://mtools.linux.lu/mtools-3.9.9.tar.gz
ftp://www.tux.org/pub/knaff/mtools/mtools-3.9.9.tar.gz
ftp://ibiblio.unc.edu/pub/Linux/utils/disk-management/mtools-3.9.9.tar.gz

Przed zgłoszeniem błędu upewnij się, że nie został już poprawiony w łatkach alfa, które można znaleźć na:
http://mtools.linux.lu/
ftp://www.tux.org/pub/knaff/mtools

Łaty mają nazwy mtools-wersja-ddmm-.taz, gdzie wersja oznacza wersję podstawową, dd dzień, zaś mm miesiąc. Z powodu braku miejsca zwykle pozostawiam jedynie najnowszą łatę.

Na `mtools @ tux.org' istnieje lista dyskusyjna. Proszę przesyłać wszystkie zgłoszenia błędów na tę listę. Można zapisać się na listę wysyłając wiadomość z treścią 'subscribe mtools @ tux.org' do `majordomo @ tux.org'. (Uwaga: proszę usunąć odstępy przed i po znaku "@". Pozostawiłem je dla oszukania spambotów). Zawiadomienia o nowych wersjach mtools, oprócz przesyłania na ogłoszeniowe grupy Linuksa, będą również wysyłane na tę listę. Archiwum listy prowadzone jest na
http://www.tux.org/hypermail/mtools/latest

WSPÓLNE CECHY WSZYSTKICH POLECEŃ MTOOLS

  Opcje i nazwy plików
Nazwy plików MS-DOS składają się z litery napędu, po której następuje dwukropek, podkatalog i nazwa pliku. Tylko nazwa pliku jest obowiązkowa, litera napędu i podkatalog są opcjonalne. Nazwy plików bez litery napędu odnoszą się do plików unixowych. Nazwy podkatalogów mogą używać zarówno separatora \ jak i \. Użycie separatora \ lub znaków uogólniających wymaga otoczenia nazw znakami cytowania (apostrofami, cudzysłowami) dla ochrony przed ich interpretacją przez powłokę. Jednakże znaki uogólniające w nazwach plików unixowych nie powinny być cytowane, gdyż chcemy by powłoka je rozwinęła.

Procedury "wyszukiwania wzorców" wyrażeń regularnych stosują się do reguł uniksowych. Na przykład, * oznacza wszystkie pliki DOSowe (zamiast *.*). Bity określające atrybuty pliku (archiwalny, ukryty, tylko-do-odczytu, systemowy) podczas wyszukiwania wzorca są ignorowane.

Wszystkie opcje używają znaku - (minus) jako pierwszego znaku, nie zaś / (ukośnika), jak mógłbyś się spodziewać w DOSie.

Większość poleceń mtools pozwala na użycie wielu nazw plików jako parametrów, co nie jest zgodne z konwencjami DOSu, ale jest przyjaźniejsze dla użytkownika.

Większość poleceń mtools posiada opcje informujące je, jak obsługiwać kolizje nazw plików. Więcej szczegółów znajdziesz w sekcji Kolizje nazw. Wszystkie polecenia akceptują opcję -V wyświetlającą wersję, a większość również opcję -v przełączającą tryb wyświetlania szczegółów (verbose). Patrz sekcja Polecenia, gdzie umieszczono szczegółowy opis opcji charakterystycznych dla poszczególnych poleceń.

  Litery napędów
Znaczenie liter napędów zależy od konfiguracji sprzętowej. Przy większości konfiguracji jednak, napęd A jest pierwszym napędem dyskietek, napęd B drugim napędem dyskietek (jeśli jest dostępny), napęd J jest napędem Jaz (jeśli dostępny), zaś napęd Z - napędem typu Zip (jeśli dostępny). W systemach, gdzie nazwa urządzenia pochodzi od identyfikatora SCSI, napęd Jaz przyjmowany jest za 4 obiekt SCSI, zaś Zip za SCSI 5 (domyślne ustawienia fabryczne). W Linuksie, w przypadku obu tych napędów, przyjmuje się, że jest to drugi napęd szyny SCSI (/dev/sdb). Ustawienia domyślne mogą być zmienione przez zmianę pliku konfiguracyjnego (patrz opis konfiguracji w mtools(5)).

  Bieżący katalog roboczy
Do ustawienia urządzenia i bieżącego katalogu (odnoszącego się do systemu plikowego MS-DOSu) używa się polecenia mcd. Jednak. w przeciwieństwie do DOSu, istnieje tylko jeden katalog roboczy dla wszystkich napędów, nie zaś po jednym na napęd.

  Długie nazwy plików VFAT
Niniejsza wersja mtools obsługuje długie nazwy plików stosowane w VFAT. Jeśli unixowa nazwa pliku jest zbyt długa, by zmieścić się w krótkiej nazwie DOSu, zachowywana jest jako długa nazwa VFAT i tworzona jest towarzysząca jej krótka nazwa. Tę krótką nazwę widzisz sprawdzając dysk DOSem w wersji wcześniejszej niż 7.0. Poniższe zestawienie pokazuje kilka przykładów krótkich nazw:

   Długa nazwa Nazwa MS_DOS Powód zmiany nazwy
   ----------- ------------ -----------------------
   ToJestTest TOJEST~1 zbyt długa nazwa pliku
   alain.knaff ALAIN~1.KNA za długie rozszerzenie
   prn.txt PRN~1.TXT PRN jest nazwą urządzenia
   .abc ABC~1 pusta nazwa pliku
   hot+cold HOT_CO~1 niedozwolony znak

Jak widać, w celu uzyskania krótkiej nazwy zastosowano następujące przekształcenia:

*   Niedozwolone znaki są zastąpione podkreśleniem. Znakami zabronionymi są: ;+=[]',\"*\<>/?:|.

*   Usunięte są dodatkowe kropki, które nie mogą być zinterpretowane jako główny separator nazwy/rozszerzenia.

*   Tworzony jest licznik dla przyrostka ~n,

*   Nazwa skracana jest tak, by spełnić ograniczenie 8+3.

Początkowa, unixowa nazwa pliku (długa lub krótka) zwana jest również nazwą pierwotną lub główną (primary), zaś pochodząca od niej nazwa krótka zwana jest wtórną lub dodatkową (secondary).

Przykład:
    mcopy /etc/motd a:DlugaNazwa
Mtools utworzą wpis w VFAT dla `DlugaNazwa' i użyją `DLUGANAZ' jako nazwy krótkiej. `DlugaNazwa' jest tutaj nazwą główną, zaś `DLUGANAZ' nazwą dodatkową.
    mcopy /etc/motd a:motd
`motd' spełnia ograniczenia stawiane nazwom pliku DOS. Mtools nie musi tworzyć z niej innej nazwy. Nazwą pierwotną jest `motd', a nie ma nazwy wtórnej.

W skrócie: nazwą główną jest długa nazwa, jeśli taka istnieje, lub krótka nazwa, jeśli nie ma długiej nazwy.

Mimo, iż VFAT jest dużo elastyczniejszy niż FAT, nawet w nim nadal istnieją niedopuszczalne nazwy plików. Pozostały jeszcze niektóre niedozwolone znaki (\"*\<>/?:|), zaś nazwy urządzeń w dalszym ciągu są zarezerwowane.

   Nazwa unixowa Długa nazwa Powód zmiany
   ------------- ----------- -------------------------
   prn prn-1 PRN jest nazwą urządzenia
   ab:c ab_c-1 niedozwolony znak

Jak widać, w przypadku niedozwolonej długiej nazwy, wykonywane są następujące przekształcenia:

*   Niedozwolone znaki zastępowane są podkreśleniami,

*   Tworzony jest licznik dla przyrostka ~n,

  Kolizje nazw
Podczas zapisu pliku na dysk, jego długa lub krótka nazwa może kolidować z nazwą istniejącego pliku lub katalogu. Może się to zdarzyć dla każdego z poleceń tworzących nowy katalog lub wpis w katalogu, takiemu jak mcopy, mmd, mren, mmove, mwrite i mread. W przypadku kolizji nazw polecenia mtools pytają o sposób postępowania. Oferują kilka możliwości:

overwrite
    Nadpisuje istniejący plik. Nie jest możliwe nadpisanie katalogu plikiem.

rename
    Zmienia nazwę nowo tworzonego pliku. Mtools pytają o nową nazwę pliku.

autorename
    Zmienia nazwę nowo tworzonego pliku. Mtools wybierają same nazwę, bez pytania.

skip
    Pomiń ten plik, zajmij się następnym (jeśli jest).

By wybrać jedną z powyższych akcji, po zachęcie ze strony polecenia, wpisz jej pierwszą literę. Jeśli użyjesz małej litery, to akcja będzie się odnosić wyłącznie do tego pliku; użycie dużej litery spowoduje zastosowanie danej akcji do wszystkich plików bez dalszych pytań.

Możesz również wybrać akcje (dla wszystkich plików) w linii poleceń, przy wywołaniu mtools:

-o  Domyślnie nadpisuje nazwy pierwotne.

-O  Domyślnie nadpisuje nazwy wtórne.

-r  Domyślnie zmienia nazwę pierwotną.

-R  Domyślnie zmienia nazwę wtórną.

-a  Domyślnie automatycznie zmienia nazwę pierwotną.

-A  Domyślnie automatycznie zmienia nazwę wtórną.

-s  Domyślnie przeskocz nazwę pierwotną.

-S  Domyślnie przeskocz nazwę wtórną.

-m  Pytaj użytkownika, co zrobić z nazwą pierwotną.

-M  Pytaj użytkownika, co zrobić z nazwą wtórną.

Zauważ, że w linii poleceń przełączniki małe/duże odróżniają polecenia dla nazwy pierwotnej/wtórnej, podczas gdy przy wyborze interakcyjnym małe/duże różnicują zakres: tym-razem/zawsze.

Nazwa pierwotna jest nazwą wyświetlaną w Windows 95 lub Windows NT, tj. nazwą długą, jeśli takowa istnieje, w przeciwnym razie krótką. Nazwa wtórna jest nazwą "ukrytą", tj. nazwą krótką jeśli istnieje długa.

Przy domyślnym sposobie działania mtools użytkownik jest proszony o reakcję w przypadku kolizji nazw pierwotnych, zaś nazwy wtórne zmieniane są automatycznie.

Jeśli kolizja nazw zdarzy się w katalogu Unixa, mtools pytają tylko czy nadpisać plik, czy go pominąć.

  Rozróżnianie dużych i małych liter w systemie VFAT
System plików VFAT potrafi zapamiętać wielkość znaków (małe/duże litery) w nazwach plików. W tym samym katalogu nie mogą jednak istnieć pliki o nazwach różniących się jedynie wielkością liter. Jeśli, na przykład zapisałeś plik o nazwie DlugaNazwaPliku w systemie plikowym VFAT, mdir pokaże go jako DlugaNazwaPliku, nie zaś jako DlugaNazwapliku. Jednak polecenie odmówi dopisania pliku DlugaNazwapliku do tego samego katalogu, gdyż wielkość liter jest ignorowana przy sprawdzaniu kolizji.

System VFAT umożliwia przechowywanie wielkości liter nazwy pliku w bajcie atrybutu, jeśli wszystkie litery tej nazwy są duże (bądź małe) oraz wszystkie litery rozszerzenia też są duże (lub odpowiednio, małe). Mtools używają tej informacji do wyświetlania nazw plików oraz tworzenia nazw unixowych przy kopiowaniu (mcopy) do katalogu Unixa. Może to dawać nieoczekiwane efekty w odniesieniu do plików zapisanych przy użyciu DOS w wersji wcześniejszej niż 7.0: nazwy takich plików będą w całości zamienione na duże litery. Zachowanie to różni się od poprzedniej wersji mtools, która tworzyła nazwy plików unixowych złożone z małych liter.

  Formatowanie o dużej gęstości
Mtools obsługują wiele sposobów formatowania, pozwalających na przechowywanie na dyskietce większej niż zwykle ilości danych. W związku z różnymi możliwościami systemów operacyjnych, formaty te nie są obsługiwane we wszystkich systemach. Mtools rozpoznają te formaty tam, gdzie są one obsługiwane.

W celu sformatowania takich dyskietek powinieneś użyć narzędzia odpowiedniego do systemu operacyjnego. Dla Linuksa, odpowiednie narzędzia obsługi dyskietek można znaleźć w pakiecie fdutils w następujących miejscach:

ftp://www.tux.org/pub/knaff/fdutils/.

ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/fdutils-*

Dalszych szczegółów szukaj w dokumentacji dołączonej do tego pakietu. Użyj superformat by sformatować dyskietkę w dowolnym z formatów oprócz XDF, oraz xdfcopy do formatowania XDF.

  Więcej sektorów
Najstarszą metodą umieszczenia większej ilości danych na dyskietce jest użycie większej liczy sektorów i cylindrów. Mimo, że standardowy format używa 80 cylindrów i 18 sektorów (na 3,5" dyskietkach dużej gęstości), to możliwe jest użycie do 83 cylindrów (na większości napędów) i do 21 sektorów. Metoda ta pozwala na zapisanie do 1743K na dyskietce 3,5"HD. Dyskietki o 21 sektorach są jednak dwukrotnie wolniejsze od standardowych dyskietek o 18 sektorach, gdyż sektory są upakowane tak blisko siebie, że zachodzi potrzeba ich przeplotu. Problem ten nie istnieje przy formatach o 20 sektorach.

Formaty te są obsługiwane przez liczne shareware'owe DOSowe programy narzędziowe takie jak fdformat czy vgacopy. W swej nieskończonej arogancji Bill Gate$ wierzył, że to on to wynalazł i nazwał je dyskami DMF lub Windows formatted disks. W rzeczywistości, rozwiązanie to istniało już od lat! Mtools obsługują te formaty w Linuksie, SunOs oraz DELL Unix PC.

  Większe sektory
Użycie większych sektorów umożliwia przekroczenie pojemności możliwej do uzyskania przy standardowych sektorach 512-bajtowych. Powodem jest nagłówek sektora. Nagłówek sektora ma taki sam rozmiar, niezależnie od liczby bajtów danych w sektorze. Możemy zatem zaoszczędzić nieco miejsca używając mniejszej liczby większych sektorów. Na przykład, 1 sektor 4-kilobajtowy zabiera tylko jedno miejsce na nagłówek, podczas gdy 8 sektorów po 512 bajtów ma 8 nagłówków, przy tej samej ilości danych użytkowych. Metoda ta umożliwia przechowanie do 1992K na dyskietkach 3,5HD.

Mtools obsługują te formaty tylko w Linuksie.

  2m
Format 2m został pierwotnie wynaleziony przez Ciriaco Garcia de Celis. On również używa większych niż zwykle sektorów, by pomieścić więcej danych na dyskietce. Posługuje się jednak standardowym formatem (18 sektorów po 512 bajtów każdy) na pierwszym cylindrze, by ułatwić obsługę tych dyskietek w DOSie. Faktycznie, metoda ta pozwala na użycie sektora startowego (bootsector) o standardowym rozmiarze, zawierającego opis, jak powinna być odczytana reszta dyskietki.

Wadą tego rozwiązania jest to, że pierwszy cylinder może pomieścić mniej danych niż pozostałe. Niestety, DOS potrafi obsługiwać wyłącznie dyskietki o tej samej ilości danych na każdej ścieżce. A zatem 2m ukrywa fakt, iż pierwsza ścieżka zawiera mniej danych przez użycie shadow FAT. (Zwykle DOS przechowuje FAT w dwu identycznych kopiach, dla dodatkowego bezpieczeństwa. XDF przechowuje tylko jedną kopię, a mówi DOSowi, że przechowuje dwie. W ten sposób oszczędzane jest miejsce, jakie byłoby zajęte przez drugą kopię FAT). Oznacza to również, że nie powinieneś nigdy używać dyskietek 2m do zapisywania czegokolwiek innego niż system plików DOS.

Mtools obsługuje ten format tylko w Linuksie.

  XDF
XDF jest formatem dużej gęstości używanym przez OS/2. Umożliwia przechowywanie na dyskietce do 1840K. Jest to mniej niż najlepsze formaty 2m, ale jego główną zaletą jest szybkość: 600 milisekund na ścieżkę. Jest to szybciej niż dla formatu 21-sektorowego i prawie tak szybko jak dla standardowego formatu o 18 sektorach. Chcąc zapewnić dostęp do tych dyskietek, upewnij się, że mtools zostały skompilowane z obsługą XDF i ustaw zmienną use_xdf dla napędu w pliku konfiguracyjnym. Szczegóły znajdziesz w sekcjach Kompilowanie mtools i Różne zmienne. Szybki dostęp XDF osiągalny jest przy jądrze Linuksa nowszym niż 1.1.34.

Mtools obsługuje ten format tylko w Linuksie.

Ostrzeżenie / Uwaga dystrybutorzy: mtools skompilowane pod jądrem Linuksa nowszym niż 1.3.34 nie będzie działać przy starszym jądrze. Skompilowane jednak na starszym jądrze działa nadal na nowszym, z wyjątkiem tego, że dostęp XDF jest wolniejszy. Zaleca się, by autorzy dystrybucji dołączali binaria mtools skompilowane wyłącznie pod jądrze starszym niż 1.3.34, aż do ukazania się 2.0. Po ukazaniu się 2.0 mogą (i powinny) być rozpowszechniane binaria mtools kompilowane pod nowszymi jądrami. Binaria mtools kompilowane pod jądrami starszymi niż 1.3.24 nie będą działać przy żadnym z jąder 2.1 lub późniejszym.

  Kody zakończenia (Exit codes)
Wszystkie polecenia mtools zwracają 0 w przypadku powodzenia, 1 przy kompletnym niepowodzeniu lub 2 przy częściowym. Wszystkie polecenia mtools przed pracą dokonują pewnych sprawdzeń poprawności, by upewnić się, że dysk jest rzeczywiście dyskiem MS-DOS (a nie, powiedzmy, dyskiem systemu ext2 czy minix). Kontrole te mogą odrzucić dyski częściowo uszkodzone, które mimo to mogą być czytelne. Możesz uniknąć tych kontroli przez ustawienie zmiennej środowiska MTOOLS_SKIP_CHECK lub odpowiedniej zmiennej pliku konfiguracyjnego (patrz sekcja Zmienne globalne w mtools(5)).

BŁĘDY
Niefortunnym efektem ubocznym odgadywania poprawnego urządzenia (przy obsługiwaniu wielu pojemności dyskietek) jest sporadyczny komunikat o błędzie ze sterownika urządzenia. Może być on spokojnie zignorowany.

Kod sprawdzający formatowanie zatyka się na dyskietkach 1.72M formatowanych przy użyciu mformat z mtools wersji wcześniejszych niż 2.0.7. Ustaw zmienną środowiska MTOOLS_FAT_COMPATIBILITY (lub odpowiednią zmienną pliku konfiguracyjnego, patrz Zmienne globalne w mtools(5)), by pominąć sprawdzanie fat.

KONWERSJA DOKUMENTACJI
Oryginalne strony podręcznika zostały utworzone automatycznie z dokumentacji Texinfo pakietu mtools [tłum.: polska wersja została sformatowana ręcznie]. Proces ten jednak jest tylko przybliżony i niektóre elementy, jak odnośniki czy indeksy są w nim tracone. W rzeczywistości elementy te nie posiadają właściwych odpowiedników w formacje stron man. Ponadto nie cała informacja została przełożona na wersję podręcznika systemowego (stron man). [tłum.:pominięto, jak w oryginale, sekcję dotyczącą kompilacji mtools i przenoszenia na różne platformy.] Dlatego usilnie zalecamy użycie oryginalnej dokumentacji Texinfo. Na końcu niniejszej strony znajdziesz instrukcje jak przeglądać dokumentację Texinfo.

*   Drukowalną postać dokumentacji texinfo możesz otrzymać uruchamiając poniższe polecenia:
        ./configure; make dvi; dvips mtools.dvi

*   Aby utworzyć wersję html, uruchom:
        ./configure; make html
    Już utworzone wersje html możesz znaleźć na:
       http://mtools.linux.lu
    a także na:
       http://www.tux.org/pub/knaff/mtools

*   Aby utworzyć kopię info (przeglądalną w trybie info Emacsa), uruchom:
        ./configure; make info

Dokumentacja Texinfo wygląda najlepiej wydrukowana lub w postaci html. W wersji info niektóre przykłady są naprawdę trudne w czytaniu z powodu używanych w info konwencji cytowania.

PATRZ TAKŻE
mtools(5), zawierające opis konfiguracji oraz:

floppyd
    demon zdalnego dostępu do dyskietek; uruchamiany w oknie X-servera

floppyd_installtest
    narzędzie sprawdzające obecność `floppyd'

mattrib
    zmień atrybuty plików MS-DOS

mbadblocks
    testuje dyskietki, oznacza błędne bloki w FAT

mcat
    zrzuć obraz dyskietki. Jak `cat'. Przydatne tylko, jeśli używa się `floppyd'.

mcd zmień katalog MS-DOS

mcopy
    kopiuj pliki pomiędzy DOSem a Unixem

mdel
    skasuj plik MS-DOS

mdeltree
    usuń katalog MS-DOS z podkatalogami

mdir
    wyświetl katalog MS-DOS

mdu wyświetl ilość miejsca zajmowanego przez katalog DOS

mformat
    dodaj system plików DOS do niskopoziomowo sformatowanej dyskietki

minfo
    pokaż informację o systemie plików MS-DOS

mlabel
    nadaj etykietę dysku MS-DOS

mkmanifest
    twórz skrypt powłoki do odtworzenia unixowych nazw plików

mmd utwórz podkatalog MS-DOS

mmount
    zamontuj (dołącz) dysk DOS

mpartition
    utwórz partycję MS-DOS

mrd usuń katalog DOS

mmove
    przesuń lub zmień nazwę pliku/katalogu MS-DOS

mren
    zmień nazwę istniejącego pliku MS-DOS

mshowfat
    pokaż FAT dla danych plików

mtoolstest
    sprawdź i wyświetl konfigurację mtools

mtype
    wyświetl zawartość pliku MS-DOS

mzip
    zmień zabezpieczenie, wysuń dysk napędu Zip/Jaz

xcopy
    skrypt do rekurencyjnego kopiowania katalogu DOS do innego katalogu

KOPIOWANIE
Niniejsza, polska wersja dokumentacji stanowi tłumaczenie pliku Texinfo pakietu mtools wersji 3.9.6. Może być rozpowszechniana, modyfikowana i tłumaczona na poniższych warunkach: Mtools Copyright (C) 1992-1998 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one, and provided that the privacy of any reader of the resulting derived work is respected. In particular is it strictly forbidden to make this documentation available on a World Wide Web server which deals cookies. However, keeping access statistics is allowed. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.