|
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.
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).
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ć.
Stroną domową dla Umsdos jest
sunsite.unc.edu. Sprawdź w katalogu
/pub/Linux/system/filesystems/umsdos
.
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.
Jacques Gelinas jacques@solucorp.qc.ca
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:
C:\LINUX\BIN
C:\LINUX\ETC
C:\LINUX\LIB
C:\LINUX\ROOT
C:\LINUX\SBIN
C:\LINUX\TMP
C:\LINUX\USR
C:\LINUX\VAR
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
/bin
/etc
/lib
/root
/sbin
/tmp
/usr
/var
Do tej listy Umsdos dodaje nowy katalog o nazwie DOS
. Jest
to katalog wirtualny.
/mnt
, wszystkie twoje linuksowe katalogi
będą w /mnt/linux/bin
, /mnt/linux/etc
i tak dalej.
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.
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 /
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".
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.
Ł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:
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.
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.
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.
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-.---
.
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.
???
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.
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:
--linux-.---
./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.
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.
Skasuj plik --linux-.---
z poziomu DOSa. Będziesz tego
żałował.
Jeśli nie używasz umssync
w katalogu, w którym pliki zostały dodane
lub skasowane przez DOS, zauważysz kilka problemów:
/var/adm/syslog
).
Instalacja Umsdos nie różni się wiele od instalacji zwykłego Linuksa (opartego na Ext2). Są tu dwie zasadnicze różnice.
/mnt/linux
Normalne etapy instalacji to:
/mnt
odpowiednio do tego, gdzie
jest główny system plików./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
.
/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:
mkdir /mnt/linux
umssync /mnt/linux
I już!
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:
Alt-F2
(klawisz Alt
w tym samym momencie, co
klawisz F2
).cd /mnt/linux
Jeśli to nie działa, próbujesz za wcześnie. Najlepiej przeprowadzić te kroki
pod koniec selekcji pakietów.>TOTO
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.
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.
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:
Instalacja Slackware próbuje ustawić plik wymiany już na początku instalacji. Aby to zrobić, najpierw proszony jesteś o wybranie partycji (napędu DOS), następnie zamontowanie jej i ustawienie pliku wymiany.
Podczas instalacji systemu Slackware musisz ustawić docelową
partycję jeszcze przed instalacją. Z reguły system montuje partycję
DOS w /mnt
, tworzy katalog /mnt/linux
i wykonuje w
nim umssync
.
To właśnie stąd bierze się najwięcej problemów. Większość użytkowników po
prostu zapomina "ustawić partycję docelową" i bezpośrednio przechodzi do
reszty instalacji. Ponieważ /mnt
jest już zamontowany, ta pomyłka
uchodzi niezauważona. To znaczy, że /mnt/linux
nie został
utworzony poprawnie (nie wypromowany). Nie można poprawnie utworzyć
wszystkich plików specjalnych, dowiązań i długich nazw.
/mnt/linux
został źle ustawiony. Najczęściej spowodowane jest to
niewłaściwą wersją programu umssync
na dysku instalacyjnym.
W wersji Umsdos przed Linuksem 1.2.2 był błąd. Tryb
pseudoroot nie aktywował się poprawnie, gdy brakowało pliku
/etc/init
. init
znajduje się teraz w /sbin
. Możesz
to naprawić, zaopatrzywszy się w nowszą wersję jądra. Jest to zalecane, w
wersji 1.2.2 wykryto i poprawiono jeszcze inny błąd.
Jeśli nie masz możliwości aktualizacji, zrób coś takiego:
mount -t umsdos /dev/hdXX /mnt
gdzie /dev/hdXX
to
twoja partycja DOS.cd /mnt/linux/etc
ln -s ../sbin/init init
cd /
Ctrl-Alt-Del
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.
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
.
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ć.
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.
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
.
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.
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.
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.
Poniższe punkty dotyczą porównania Umsdos z Ext2.
FAT
(file allocation
table - tablica alokacji plików) umieszczoną na początku dysku twardego.
System plików DOS jest z tego powodu prawdopodobnie bardziej
podatny na uszkodzenia.
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