UMSDOS HOWTO

Jacques Gelinas jacques@solucorp.qc.ca
v1.1, 13 Listopada 1995
Wersja polska: Leszek Pietryka lesio@mail.uw.edu.pl
v1.0, 19 Listopada 2000


Umsdos to alternatywny dla Ext2 linuksowy system plików. Jego głównym celem jest ułatwienie współistnienia danych Linuksa i MS-DOS poprzez współdzielenie tej samej partycji. Ten dokument najpierw wyjaśnia, jak używać systemu Umsdos skonfigurowanego na różne sposoby, później opisuje zasadę jego działania, a następnie podaje informacje, które pozwolą ci zdecydować, czy jest to dla ciebie dobry wybór (zobacz PO CO UMSDOS na końcu dokumentu). Dokument ten został napisany w standardzie ISO-8859-2. Oryginał tego dokumentu znajduje się np. pod adresem: ftp.icm.edu.pl. Wersja polska znajduje się pod tym samym adresem.

1. UMSDOS: Skąd się wziął?

1.1 Historia

Projekt Umsdos powstał w 1992. W sieci pojawił się w styczniu 1994 w postaci łaty. Do standardowej dystrybucji jądra (wersja 1.1.36) dołączono go w lipcu.

Dystrybucja Slackware zaadoptowała Umsdos wcześniej, jeszcze zanim znalazł się w oficjalnej wersji jądra.

W jądrze 1.1.60 działanie Umsdos znacznie ulepszono, szczególnie w zakresie zapisu. Od wersji (mniej więcej) 1.1.70 jest on znowu stabilny.

W Linuksie 1.2.2 usunięto poważny błąd, który od samego początku sprawiał użytkownikom kłopoty (niektóre pliki same z siebie zmieniały nazwy, co stwarzało niezbyt przyjemne wrażenie, że zostały skasowane). Uważaj, gdyż Slackware 2.2 ma wersję jądra 1.2.1, czyli że ten błąd jeszcze się w nim znajduje.

1.2 Dostępność

Umsdos jest dostępny jako łata dla jądra 1.0.x. W jądro 1.2 jest już wbudowany. Może być wkompilowany na stałe bądź jako moduł. Pamiętaj, że jeśli zamierzasz ładować Umsdos jako moduł, tak samo jako moduł musisz też ładować obsługę systemu plików MS-DOS. Bierze się to z ograniczeń w systemie modułów (niektóre symbole mogą być wyeksportowane wyłącznie wtedy, gdy sterowniki są zainstalowane jako moduły).

1.3 Dystrybucje, które go obsługują

Jak na razie tylko Slackware obsługuje Umsdos. Tak mi się wydaje. Na pewno się mylę, więc proszę o przesłanie mi informacji, żebym mógł to poprawić.

1.4 Strona domowa

Stroną domową dla Umsdos jest sunsite.unc.edu. Sprawdź w katalogu /pub/Linux/system/filesystems/umsdos.

1.5 Dokumentacja techniczna

Istnieje dość sporo dokumentacji na temat budowy i działania Umsdos. Jest ona dostępna w formatach HTML i txt pod tym samym adresem, co użytki.

O ile wiem, wersja HTML nie jest dostępna dla bezpośredniego czytania na żadnej stronie w sieci. Musisz ją ściągnąć, "odtarować" i czytać lokalnie.

1.6 Kto napisał to HOWTO

Jacques Gelinas jacques@solucorp.qc.ca

2. Umsdos jako twoja partycja root

2.1 Tryb pseudoroot.

Dzięki Umsdos, Linuksa można zainstalować na zwykłej partycji DOS. Linux jest wtedy instalowany jako drugi (lub trzeci) system operacyjny na partycji. Aby uniknąć problemów z nazwami (na dysku C: może znajdować się już katalog bin lub tmp) Umsdos stosuje pewną sprytną sztuczkę: pseudoroot.

Wszystkie pliki Linuksa instalowane są w podkatalogu DOSa o nazwie linux. Z reguły jest to C:\LINUX. Umieszczana tam jest typowa struktura plików Linuksa/Uniksa. Tak więc otrzymujesz:

Kiedy ładujesz Umsdos, sprawdza on dysk w poszukiwaniu katalogu linux, a następnie /linux/etc. Jeśli je znajdzie, uruchamia tryb pseudoroot.

Przede wszystkim tryb pseudoroot przełącza główny katalog partycji do C:\LINUX, co daje w efekcie standardowy układ plików Uniksa

Do tej listy Umsdos dodaje nowy katalog o nazwie DOS. Jest to katalog wirtualny.

2.2 Co trzeba wiedzieć o trybie pseudoroot

3. Różne tematy dotyczące działania Umsdos

3.1 Opcje montowania

Możesz używać tych samych opcji montowania, co dla systemu plików MS-DOS. W systemie Umsdos można mieć zastrzeżenia co do opcji conv=. Sugeruję, żeby jej nie stosować. Większość opcji, których być może będziesz używał, to:

Pamiętaj tylko, że Umsdos obsługuje niepromowane katalogi tak samo, jak system MS-DOS. Powyższe opcje będą stosowane globalnie dla wszystkich niepromowanych katalogów. uid ustawia domyślnego właściciela, gid ustawia domyślną grupę, zaś umask ustawia domyślne prawa dostępu.

3.2 Jak skonfigurować ustawienia domyślne dla katalogu głównego

Aby umożliwić w czasie rzeczywistym ustawienie domyślnego właściciela katalogu głównego, utworzono umssetup. Dla innych partycji Umsdos można użyć albo polecenia mount, albo umssetup. Dla nich najlepiej zapisać opcje montowania w /etc/fstab Oto przykład. Dopisz go do /etc/rc.d/rc.S:

                /sbin/umssetup -u jack -g group -m 0755 /
        

3.3 "Wymieniać albo nie wymieniać, oto jest pytanie"

Plik wymiany jest generalnie wolniejszy w działaniu, niż partycja wymiany, ale taka opcja daje więcej możliwości. Można ustawić plik wymiany na partycji Umsdos tak samo, jak dla każdego innego linuksowego systemu plików. Przykładowo, aby ustawić 8-megabajtowy plik wymiany w katalogu głównym:

                dd if=/dev/zero bs=1024k count=8 of=/swap
                mkswap /swap 8192
                sync
                swapon /swap
        

Następnie dopisz następujący wiersz do pliku /etc/fstab:

                /swap   swap    swap    default         
        

Plik wymiany będzie wówczas aktywowany przy każdym uruchomieniu systemu. Z reguły w pliku /etc/rc.d/rc.S jest już wiersz "swapon -a".

4. Jak załadować Umsdos

4.1 Loadlin

Pakiet loadlin15.tgz jest dostępny pod adresem sunsite.icm.edu w katalogu /pub/linux/system/bootutils. Narzędzie to zostało przystosowane do bootowania systemu na Umsdos. Właściwie wszystko, co musisz zrobić, to:

        Uruchom DOS
        C:>loadlinx zImage root=D:
        

gdzie zImage to zwykły obraz jądra (skompresowany), skopiowany po prostu gdzieś na dysk DOS. C: to dysk DOSowy, na którym zainstalowałeś Linuksa.

4.2 Z dyskietki

Ładowanie systemu na Umsdos z dyskietki nie różni się od ładowania systemu na Ext2. Plik jądra zImage musi zostać poprawnie skonfigurowany, aby zlokalizować twoją główną partycję systemu na Umsdos. Z reguły można to osiągnąć przy pomocy polecenia rdev. Następująca sekwencja poleceń skonfiguruje zImage i zapisze go na dyskietce.

        rdev zImage /dev/hda1
        rdev -R zImage 0
        dd if=zImage bs=8192 of=/dev/fd0
        

Jeśli nic z tego nie rozumiesz, po prostu sformatuj startową dyskietkę DOS i zapisz na niej następujące składniki:

i w pliku autoexec.bat dopisz:

        loadlinx zImage rw root=C:
        

4.3 LILO

Do ładowania systemu na Umsdos można też wykorzystać menedżer startowy Linuksa - LILO. Niestety nie mam z tym doświadczenia. Powino działać od wersji 1.1.60. Wyślij mi e-maila, jeśli coś o tym wiesz.

4.4 Jak zdefragmentować partycję Umsdos

Można to zrobić przy pomocy jakiegokolwiek narzędzia DOS. Pliki utworzone przez Umsdos nie wyróżniają się niczym szczególnym. Ponadto Umsdos nie wymaga niczego nadzwyczajnego (układu katalogów, sekwencji nazw katalogów itd...) od swojego systemu plików.

O ile wiem, nie ma żadnego narzędzia do defragmentacji dla Linuksa.

4.5 Zaawansowane sztuczki

Umsdos do działania potrzebuje pliku --linux-.---, który z kolei potrzebuje katalogu DOS. Dla użytkowników lubiących eksperymentować jest program udosctl, część pakietu umsdos_progs (zawierającego umssync i umssetup) umożliwia podstawowe operacje na katalogach (wyświetlanie zawartości, kasowanie) niezależnie od pliku --linux-.--- i katalogu DOS.

5. Podstawowe zasady działania

5.1 Wprowadzenie

Umsdos przemapowuje pliki Linuksa bezpośrednio do plików MS-DOS. Jest to translacja jeden do jednego. Zawartość pliku w ogóle nie jest zmieniana. Umsdos funkcjonuje tylko na nazwach. Pliki specjalne (na przykład dowiązania i urządzenia) zarządzane są w sposób specjalny.

W każdym katalogu znajduje się plik o nazwie --linux-.---.

5.2 Umsdos może zastąpić system plików MS-DOS.

O Umsdos można myśleć jako o uniwersalnej specjalnej konfiguracji linuksowego systemu plików MS-DOS. W praktyce ta cecha i możliwość dostosowania wprowadzają zamieszanie w Umsdos. Oto dlaczego. Spróbuj zamontować nowo sformatowaną dyskietkę DOS tak, jak tutaj:

        mount -t umsdos /dev/fd0 /mnt
        

Następnie wykonaj:

        ls / >/mnt/LONGFILENAME
        ls -l /mnt
        

Otrzymasz następujący rezultat:

        -rwxr-xr-x   1 root     root          302 Apr 14 23:25 longfile
        

Jak na razie wygląda na to, że system plików Umsdos nie robi o wiele więcej (w praktyce zupełnie nic nie robi), niż zwykły system plików MS-DOS z Linuksem.

???

5.3 Promowanie katalogów

Jak na razie nic nadzwyczajnego. Oto cała sztuczka. Jeśli katalog DOS nie jest promowany, to będzie zarządzany tak samo w Umsdos, jak i w MS-DOS. Umsdos stosuje specjalny plik w każdym podkatalogu, do uzyskania translacji rozszerzonych właściwości atrybutów plików (długa nazwa, właściciel itd...) systemu Umsdos i ograniczeń DOSa. Ten plik jest niewidoczny dla użytkowników Umsdos, ale widać go, gdy ładujesz DOS. Żeby uniknąć niepotrzebnego zagracania partycji DOS tymi plikami (--linux-.---), są one opcjonalne. Jeśli ich nie ma, Umsdos zachowuje się tak, jak MS-DOS.

Kiedy katalog jest promowany, wszelkie kolejne operacje będą wykonywane z pełną składnią zwykle dostępną dla użytkowników Linuksa i Uniksa. W dodatku wszystkie później utworzone katalogi będą domyślnie promowane.

Ta właściwość pozwala Ci na logiczny podział swojej partycji DOS na materiał linuksowy i dosowy. Trzeba też zdać sobie sprawę z tego, że pliki --linux-.--- zajmują miejsce (mniej więcej 2k na katalog). DOS używa z reguły dużych klastrów (16k dla partycji 500MB), tak że unikanie tworzenia takiego pliku wszędzie, gdzie się da, może zaoszczędzić wiele miejsca.

5.4 Jak promować: /sbin/umssync

Promować katalog możesz kiedy chcesz, dzięki /sbin/umssync. Można go zastosować w każdym momencie. Żeby wypromować katalog, wykonaj następujące operacje:

/sbin/umssync zarządza istniejącym plikiem --linux-.---. Nie tworzy go jednak za każdym razem od początku. Po prostu dodaje do niego brakujące pozycje (pliki utworzone podczas sesji DOS). Usuwa również z niego pozycje plików, które zostały usunięte z katalogu DOS. Nazwa umssync bierze się właśnie stąd, że synchronizuje zawartość pliku --linux-.--- z odpowiednim katalogiem DOS.

5.5 Używanie /sbin/umssync podczas uruchamiania komputera

Dobrze jest umieścić wiersz uruchamiający /sbin/umssync na końcu pliku /etc/rc.d/rc.S, jeśli go tam nie ma. Następujące polecenie jest poprawne dla większości systemów:

        /sbin/umssync -r99 -c -i+ /
        

Opcja -c uniemożliwia umssync promowanie katalogów. Uaktualni on jedynie istniejące pliki --linux-.---.

To polecenie przydaje się, jeśli potrzebujesz dostępu do katalogu linux podczas sesji DOSa. Linux nie potrafi poinformować, że katalog został zmodyfikowany przez DOS, tak więc Umsdos nie może wykonać operacji umssync jak należy.

5.6 Jak ODpromować

Skasuj plik --linux-.--- z poziomu DOSa. Będziesz tego żałował.

5.7 A co z plikami utworzonymi podczas sesji DOS?

Jeśli nie używasz umssync w katalogu, w którym pliki zostały dodane lub skasowane przez DOS, zauważysz kilka problemów:

6. Instalowanie/ODinstalowywanie i kilka sztuczek

Instalacja Umsdos nie różni się wiele od instalacji zwykłego Linuksa (opartego na Ext2). Są tu dwie zasadnicze różnice.

6.1 Pseudoroot /mnt/linux

Normalne etapy instalacji to:

  1. Ustawienie partycji przy pomocy fdiska i sformatowanie jej.
  2. Zamontowanie jej jako /mnt odpowiednio do tego, gdzie jest główny system plików.
  3. Skopiowanie wszystkich pakietów do /mnt.

W przypadku Umsdos krok pierwszy nie jest potrzebny (czy brak potrzeby ponownego formatowania nie był właśnie celem Umsdos?).

Można zainstalować system Umsdos po prostu kopiując wszystkie pakiety do /mnt. To oczywiście będzie działać. Ale utworzy to całą kupę podkatalogów w twoim głównym katalogu DOS (C:), a to ci się nie spodoba. Właśnie dlatego wszystkie instalacje Umsdos stosują pseudoroot. I to jest najważniejsza różnica między zwykłą instalacją Ext2 a instalacją Umsdos: wszystki pliki kopiowane są do /mnt/linux.

6.2 Przygotowanie /mnt/linux

/mnt/linux to nie zwykły katalog. Musi on być promowany, aby poprawnie obsługiwać linuksowe długie nazwy plików i pliki specjalne (dowiązania, urządzenia). Kroki potrzebne do utworzenia /mnt/linux to:

  1. mkdir /mnt/linux
  2. umssync /mnt/linux

I już!

6.3 Upewnij się, że /mnt/linux jest poprawnieskonfigurowany

Jeśli nawet skonfigurowanie /mnt/linux to łatwizna, jest wiele pakietów instalacyjnych, które powodują, że coś źle działa. Dlaczego?

Najpoważniejszy problem podczas instalacji bierze się z niekompatybilności umssync. W wersji Linuksa 1.1.88 (nie pamiętam dokładnie) uaktualniono Umsdos i wykryto błąd w umssync. Aby uniknąć bałaganu wśród społeczności linuksowej, zdecydowano zwiększyć kompatybilność wszystkich narzędzi Umsdos. Stare wersje narzędzi po prostu odrzucono.

Wygląda na to, że wiele dystrybucji nie uaktualniło swojego programu umssync na dysku instalacyjnym.

Jest jeszcze wiele podobnych dystrybucji. Efekt tego jest po prostu taki, że katalog /mnt/linux w ogóle nie jest promowany i w rezultacie "obetnie" wszystkie długie nazwy plików i odrzuci wszystkie pliki specjalne.

Można bardzo wcześnie, jeszcze podczas instalacji, wykonać test, aby dowiedzieć się, czy coś poszło nie tak. Dzięki mechanizmowi konsoli wirtualnych Linuksa możesz to zrobić bez opuszczania programu instalacyjnego. Wykonaj następujące kroki:

  1. Wciśnij Alt-F2 (klawisz Alt w tym samym momencie, co klawisz F2).
  2. Zaloguj się jako root.
  3. cd /mnt/linux Jeśli to nie działa, próbujesz za wcześnie. Najlepiej przeprowadzić te kroki pod koniec selekcji pakietów.
  4. >TOTO
  5. ls -l Powinieneś zobaczyć pusty plik TOTO pisany wielkimi literami. Jeśli jest napisany małymi literami, to coś poszło nie tak. Spróbuj ponownie wykonać umssync. Można go używać raz po raz ( :-) ) bez problemu. umssync Jeśli nie ma komunikatu o błędzie, spróbuj znowu wykonać test TOTO. Jeśli TOTO wygląda jak trzeba, to wszystko jest w porządku. Jest w tej instalacji coś dziwnego, ale po prostu ją zapisz i kontynuuj.
  6. Wciśnij Alt-F1, aby powrócić do ekranu instalacyjnego.

Jeśli test się nie powiódł, najprościej to naprawić poprzez zaopatrzenie się w nowszą dyskietkę instalacyjną root. Można z reguły taką dyskietkę naprawić poprzez instalację nowszej wersji umssync. Nie jest to trudne, ale potrzebny jest do tego komputer z działającym Linuksem. Musisz po prostu zamontować dyskietkę root i wymienić źle działający umssync na nowy.

6.4 Oops releasing pseudo root ...

Większość instalacji Umsdos, w których coś się nie udaje, wypisuje na ekranie taką dziwną wiadomość. Nie jest to błąd w Umsdos, chociaż wygląda to osobliwie. Oto znane powody:

Niestety pierwsze dwa problemy (te z instalacją) w rezultacie powodują, że instalacja jest kompletnie do niczego. Odinstaluj Umsdos (zobacz w następnym podpunkcie) i zainstaluj jeszcze raz.

6.5 Jak ODinstalować system Umsdos

Jedną fajną rzeczą w Umsdos i mechanizmie pseudoroot jest to, że można go bez kłopotu ODinstalować. Po prostu uruchamiasz DOSa i kasujesz katalog linux. To wszystko. Umsdos nie potrzebuje żadnych specjalnych sterowników w config.sys, nie tworzy też nic specjalnego poza katalogiem linux.

6.6 Przenoszenie systemu Umsdos na inny napęd z DOSem

Można to zrobić albo z poziomu Linuksa, albo spod DOSa. Wystarczy tylko skopiować cały katalog linux z jednego dysku na drugi. Potem trzeba dostosować mechanizm ładowania (z reguły polecenie loadlin) i plik /etc/fstab.

Umsdos może istnieć na jakimkolwiek dysku DOSowym. Nie trzeba instalować go na dysku C:, ani w ogóle na pierwszym dysku twardym. Nie ma to żadnego znaczenia.

W rzeczywistości jeśli chcesz, to możesz mieć kilka instalacji Umsdos na różnych dyskach tylko po to, żeby poeksperymentować.

6.7 A gdyby tak zainstalować 50 systemów Umsdos

A co, gdyby chcieć zainstalować wiele Linuksów w krótkim czasie?

Systemy Umsdos istnieją w świecie DOS. Możesz to wykorzystać, jeśli chcesz łatwo zainstalować Linuksa.

Możesz zainstalować i skonfigurować Umsdos na swojej stronie internetowej. Kiedy będziesz zadowolony z wyników konfiguracji i pakietów, które wybrałeś, możesz załadować DOSa i skopiować cały katalog linux do swojego dosowego serwera plików. Można następnie uruchomić inną stację z DOSem i po prostu skopiować pliki z sieciowego systemu plików na dysk lokalny. I to wszystko. Trzeba tylko dostosować skrypt ładujący (loadlinx) i gotowe.

Przy minimalnej zmianie ustawień (nazwa hosta, numer IP) każdy będzie mógł zainstalować Linuksa w kilka chwil.

Dla zainteresowanych: instalacja systemów linuksowych poprzez kopiowanie włączonych systemów działa również dla innych Linuksów, w tym tych opartych na Ext2.

Piękne w Linuksie jest to, że nie ma tam żadnych ukrytych plików, które trzeba instalować przy pomocy magicznych programów instalacyjnych.

7. Ustawianie sekcji Linux na partycji DOS

Umsdos nadaje się nawet dla użytkowników Ext2 (rodzinny system plików Linuksa). Często ma miejsce taka sytuacja:

Tu właśnie może pomóc Umsdos. Możesz stworzyć katalog Linux na partycji DOS i bez ograniczeń korzystać z niego spod Linuksa. Dla przykładu, chcesz utworzyć nowy katalog o nazwie "extra" na swoim dysku C:. Chcesz też, aby działał on podobnie, jak normalny katalog linuksowy. Zrób tak (zakładając, że C: to /dev/hda1):

        mkdir /c
        /sbin/mount -t umsdos /dev/hda1 /c
        mkdir /c/extra
        umssync /c/extra
        

Musisz do tego mieć uprawnienia roota.

Jeśli ustawisz /etc/fstab w odpowiedni sposób, zawsze będziesz miał dostęp do katalogu /c/extra.

8. PO CO UMSDOS

Nie wystarczy wyjaśnić, jak zainstalować i posługiwać się systemem Umsdos. Większość ludzi chce się dowiedzieć, czy warto używać Umsdos, czy nie.

8.1 Jaki jest cel instalacji Umsdos

Celem tym było ułatwienie instalacji Linuksa. Innym celem było ułatwienie jego ODinstalowania. Ideą była promocja Linuksa. Instalacja nowego systemu operacyjnego zawsze sprawia kłopoty. Na przykład OS/2 zaśmieci twój główny dysk C: całym mnóstwem nowych katalogów. Jeśli jesteś tak sprytny, jak ja, skasuje on również twoje pliki config.sys i autoexec.bat :-(

Tryb pseudoroot systemu Umsdos pozwala na uniknięcie tej niechcianej ingerencji. Można odinstalować Linuksa bez skutków ubocznych.

8.2 Kto tego potrzebuje

Jeśli masz mały dysk, Umsdos da ci możliwość dzielenia przestrzeni na dysku między DOSem a Linuksem Dysk poniżej 300 MB to według mnie mały dysk. Opieram swoją opinię na rozmiarach dostępnych pakietów. Pewien popularny procesor teksu może zająć 70 MB, jeśli wybierze się wszystkie opcje.

Jeśli masz większy dysk, możesz rozważyć posiadanie wydzielonej partycji linuksowej z systemem plików Ext2. Ext2używa mniejszych klastrów niż DOS (faktycznie jest to 1k), więc kiedy tworzysz wiele małych plików, zajmie to mniej miejsca, niż na partycji Umsdos.

8.3 Wydajność

Poniższe punkty dotyczą porównania Umsdos z Ext2.

9. Od tłumacza

Tłumaczenie to jest chronione prawami autorskimi © Leszka Pietryki. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Nie zmieniłem zasadniczej treści dokumentu. Dodałem tylko odnośniki do stron z polskimi wersjami tłumaczeń dokumentów HOWTO oraz pozmieniałem kilka znaczników w celach estetyki.

Jeśli znajdziesz tu jakieś poważne błędy, literówki itp., wyślij mi, proszę, e-maila, żebym mógł je poprawić.

Nie ponoszę żadnej odpowiedzialności za ewentualne efekty stosowania się do rad zawartych w tym dokumencie.

#

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:23