UMSDOS HOW-TO <author>Jacques Gelinas, <tt/jacques@solucorp.qc.ca/ <date>v1.1, 13 november 1995 <abstract> <em/Umsdos/ is een linux bestandssysteem. Het voorziet in een alternatief voor het <em/EXT2/ bestandssysteem. Mijn doel is een eenvoudiger coëxistentie te bereiken met <em>Ms-DOS</em> gegevens door het delen van dezelfde partitie. In dit document wordt eerst uitgelegd hoe Umsdos in verschillende configuraties te gebruiken en later wordt de werking ervan uitgelegd en getracht in wat informatie te voorzien of je te helpen beslissen of het een goede keuze voor je is (zie UMSDOS Waarom aan het einde van dit document). </abstract> <toc> <sect>UMSDOS: Waar komt het vandaan? <p> <sect1>Historie <p> Het <em/Umsdos/ project werd in 1992 gestart en via het net als een patch beschikbaar gesteld in januari 1994. In juli werd het opgenomen in de standaardkernel, te beginnen met kernel 1.1.36. <em/Umsdos/ werd eerder opgenomen in de <em/Slackware/ distributie zelfs nog voor het officieel in de officiële kernel werd opgenomen. <em/Umsdos/ werd beginnend met kernel 1.1.60 verbeterd. De performance werd vooral voor schrijfacties dramatisch verbeterd. Sinds 1.1.70 <!-- (around this) -->, is het weer stabiel. In <em>Linux</em> 1.2.2 werd een belangrijke bug opgelost. Deze bug zorgde sinds het begin bij gebruikers voor nogal wat ongerief (een aantal bestanden werden in stilte hernoemd, waarbij de droeve indruk werd gewekt dat ze waren verwijderd). <em/Slackware/ 2.2 wordt nog steeds geleverd met kernelrelease 1.2.1 waarin deze bug nog zit. <sect1>Beschikbaarheid <p> Het is als een patch beschikbaar voor kernel 1.0.x. Vanaf kernel 1.2 is het ingebouwd. Het kan in de kernel worden gecompileerd of als een module worden geladen. Als je <em>umsdos</em> als een module wilt laden, denk er dan om dat je ook het Ms-DOS fs als een module moet laden. Dit komt door een beperking in het modulesysteem (een aantal symbolen wordt alleen geëxporteerd als de drivers als een module zijn geïnstalleerd). <sect1>Distributie die het ondersteunt <p> Ik dacht dat alleen <em/Slackware/ het tot dusverre ondersteunt. Ik heb het vast en zeker verkeerd, dus stuur me alsjeblieft info om dit te kunnen corrigeren. <sect1>Home site <p> De home site voor <em/Umsdos/ is sunsite.unc.edu. Kijk in de directory <tt>/pub/Linux/system/Filesystems/umsdos</tt>. <sect1>Technische documentatie <p> Er is een heleboel technische documentatie over de interne werking van <em/Umsdos/. Het is zowel beschikbaar in <tt/HTML/- als in tekstformaat op dezelfde lokatie als de utility's. Zover ik weet, is de <tt/HTML/ versie niet online op enige website beschikbaar. Je moet het downloaden en "uitpakken" en het lokaal lezen. <sect1>Wie schreef het <p> Jacques Gelinas jacques@solucorp.qc.ca <sect>Umsdos als je rootpartitie <p> <sect1>Het pseudo-root concept <p> Met <em/Umsdos/ kan <em/Linux/ op een standaard DOS-partitie worden geïnstalleerd. <em>Linux</em> wordt dan geïnstalleerd als een tweede (of derde) OS op die partitie. Om aanvaringen met namen te voorkomen (er is wellicht reeds een bin of tmp directory op drive C:), gebruik je <em>Umsdos</em>. Een slimme truuk: De pseudo-root. Alle <em/Linux/ bestanden worden geïnstalleerd in een DOS-subdirectory genaamd <tt/linux/, in het algemeen is dit <tt/C: LINUX/. De normale <em>Linux/Unix</em> directorystructuur vind je hier. Dus je krijgt: <itemize> <item> <verb/C:\LINUX\BIN/ <item> <verb/C:\LINUX\ETC/ <item> <verb/C:\LINUX\LIB/ <item> <verb/C:\LINUX\ROOT/ <item> <verb/C:\LINUX\SBIN/ <item> <verb/C:\LINUX\TMP/ <item> <verb/C:\LINUX\USR/ <item> <verb/C:\LINUX\VAR/ </itemize> Wanneer <em/Umsdos/ boot, zoekt het naar de directory <tt/linux/ en vervolgens <tt>/linux/etc</tt>. Als het voorkomt, activeert het de pseudo-root modus. Meestal schakelt de pseudo-root modus de root van de partitie over naar <tt/C:\\LINUX/ wat de conventionele <em/Unix/ directory layout oplevert. <itemize> <item><verb>/bin</verb> <item><verb>/etc</verb> <item><verb>/lib</verb> <item><verb>/root</verb> <item><verb>/sbin</verb> <item><verb>/tmp</verb> <item><verb>/usr</verb> <item><verb>/var</verb> </itemize> Aan deze lijst, voegt het een nieuwe toe, genaamd <tt/DOS/. Dit is een virtuele directory. <sect1>Wat je moet weten over de pseudo-root <p> <itemize> <item> Deze modus kan alleen tijdens de systeemstart teweeg worden gebracht. Er is geen methode om dit door een mount opdracht te activeren. <item> Dit mechanisme is zuiver een andere kijk op een gewoon <em/Umsdos/ bestandssysteem. Dit betekent dat een partitie die normaal geproken als een root-partitie in gebruik is, normaal kan worden gemount. Er zal geen pseudo-root effect optreden. Als je linux bijvoorbeeld boot met een onderhoudsdiskette en je gewone rootpartitie in <tt>/mnt/</tt> mount, zal je de linux-directory's allen aantreffen in <tt>/mnt/linux/bin, /mnt/linux/etc</tt> enzovoort. </itemize> <sect>Verschillende onderwerpen over de werking van <em/Umsdos/ <p> <sect1>Mount optie <p> Je kunt dezelfde mountopties gebruiken als voor het Ms-DOS bestandssysteem. De optie conv= is twijfelachtig op een <em/Umsdos/ systeem. Ik raad je aan het te vermijden. De opties waar je wellicht voornamelijk naar wilt kijken zijn: <itemize> <item>uid= <item>gid= <item>umask= </itemize> Denk eraan dat <em/Umsdos/ een niet gepromote directory beheert op dezelfde wijze als het <em/Ms-DOS/ bestandssysteem. De opties hierboven zullen globaal van toepassing zijn op alle niet gepromote directory's. Met <em/uid/ wordt de standaardeigenaar ingesteld, met <em/gid/ de standaardgroep en met <em/umask/ de standaardpermissies. <sect1>Hoe standaards voor de root in te stellen <p> umssetup werd gecreërd om voor de root-partitie te voorzien in een standaardeigenaar tijdens de uitvoering. De mount optie of umssetup kan voor andere <em/Umsdos/ partities worden gebruikt. De voorkeur gaat er naar uit de mount opties voor de partities anders dan root in /etc/fstab op te slaan. Hier is een voorbeeld. Plaats die in /etc/rc.d/rc.S. <tscreen><verb> /sbin/umssetup -u jack -g group -m 0755 / </verb></tscreen> <sect1>Wel of geen swap <p> Gebruik van een swapbestand is in het algemeen langzamer dan een swappartitie. Het is echter veel flexibeler. Je kunt een swapbestand in een <em>Umsdos</em> partitie instellen op dezelfde wijze als je dat zou doen voor ieder ander <em>Linux</em> bestandssysteem. Voor het instellen van een swapbestand in de rootdirectory van 8 megabyte bijvoorbeeld, geef je de volgende opdrachten: <tscreen><verb> dd if=/dev/zero bs=1024k count=8 of=/swap mkswap /swap 8192 sync swapon /swap </verb></tscreen> Zodra je hiermee klaar bent, kun de je volgende regel in /etc/fstab plaatsen: <tscreen><verb> /swap swap swap default </verb></tscreen> En vervolgens zal het swapbestand bij iedere boot worden geactiveerd (gewoonlijk staat in <tt>/etc/rc.d/rc.S</tt> een opdracht "swapon -a" ). <sect>Hoe een Umsdos systeem te booten <p> <sect1>Loadlin <p> Het package lodlin15.tgz is beschikbaar vanaf sunsite.unc.edu in <tt>/pub/Linux/system/Bootutils</tt>. Dit utility is in het bijzonder geschikt voor het booten van een <em/Umsdos/ systeem. Over het algemeen hoef je alleen op te geven <tscreen><verb> Boot DOS C:>loadlinx zimage root=D: </verb></tscreen> waar zimage een gewoon kernel-image voorstelt (gecomprimeerd) simpel ergens op de DOS drive naartoe gekopieerd. <tt/D:/ is de DOS drive waarop je <em>Linux</em> hebt geïnstalleerd. <sect1>Vanaf een diskette <p> Het booten van een <em/Umsdos/ systeem vanaf een diskette is niet anders dan het booten van een <em/Ext2/ systeem. Je hebt een juist geïnitialiseerd zImage bestand nodig dat zich in je root <em/Umsdos/ partitie moet bevinden. Dit wordt gewoonlijk bereikt door gebruik van de opdracht <tt/rdev/. De volgende reeks zal een zImage initialiseren en het op een diskette plaatsen. <tscreen><verb> rdev zImage /dev/hda1 rdev -R zImage 0 dd if=zImage bs=8192 of=/dev/fd0 </verb></tscreen> Als dit er verwarrend uitziet, formatteer dan gewoon een opstartbare DOS-diskette en plaats hier de volgende componenten op: <itemize> <item>loadlin.exe <item>loadlinx.exe <item>zimage </itemize> en stel het autoexec.bat als volgt in <tscreen><verb> loadlinx zimage rw root=C: </verb></tscreen> <sect1>LILO <p> LILO, de officiële <em/Linux/ bootloader kan ook worden gebruikt voor het booten van een <em/Umsdos/ systeem. Ik heb hier echter geen ervaring mee. Het zou vanaf versie 1.1.60 moeten werken. Mail me alsjeblieft als je hier iets over weet. <sect1>Hoe een <em/Umsdos/ partitie te defragmenteren <p> Dit kan worden gedaan met ieder populair DOS hulpmiddel. Er is niet speciaals aan een bestand dat door <em>Umsdos</em> wordt geproduceerd. En <em>Umsdos</em> verwacht niet speciaals (zoals een speciale directory layout, reeks directory-ingangen, enz...) van het onderliggende bestandssysteem. Zover ik weet, bestaat hier geen <em/Linux/ tool voor. <sect1>Geavanceerde truuks <p> <em/Umsdos/ rekent op de <tt/--linux-.---/ welke afgaat op de <em/DOS/ directory. Een aantal gebruikers willen er wellicht wat mee experimenteren. Het utility <tt/udosctl/ als onderdeel van het umsdos_progs package (met <tt/umssync/ en <tt/umssetup/) maakt basisbewerkingen op directory's mogelijk (weergeven, verwijdering) onafhankelijk van de <tt/--linux-.---/ en de <em/DOS/ directory. <sect>Basisprincipe <p> <sect1>Introductie <p> <em/Umsdos/ deelt <em/Linux/ bestanden direct in naar <em/Ms-DOS/ bestanden. Dit is een één op één omzetting. De bestandsinhoud wordt in het geheel niet gemanipuleerd. <em/Umsdos/ werkt alleen op namen. Voor speciale bestanden (zoals bijvoorbeeld links en devices) introduceert het speciaal beheer. Voor iedere directory is een bestand genaamd <tt/--linux-.---/. <sect1><em/Umsdos/ kan het <em/Ms-DOS/ bestandssysteem vervangen. <p> Aan <em/Umsdos/ kan worden gedacht als een voor een algemeen doel bestemde superset van het <em/Ms-DOS/ bestandssysteem van linux. In feite verschaft deze capaciteit of flexibiliteit veel verwarring over <em/Umsdos/. Hier krijg je te zien waarom. Probeer als volgt een nieuw geformatteerde <em/DOS/ diskette te mouten: <tscreen><verb> mount -t umsdos /dev/fd0 /mnt </verb></tscreen> En geef dan de volgende opdrachten: <tscreen><verb> ls / >/mnt/LANGEBESTANDSNAAM ls -l /mnt </verb></tscreen> Je krijgt het volgende resultaat <tscreen><verb> -rwxr-xr-x 1 root root 302 Apr 14 23:25 langebestandsnaam </verb></tscreen> Tot zover lijkt het erop dat het <em/Umsdos/ bestandssysteem niet meer doet (in feite zelfs helemaal niets) dan het gewone <em/Ms-DOS/ bestandssysteem van <em/Linux/. <em/???/ <sect1>Directory promotie <p> Niet bepaald indrukwekkend tot dusverre. Dit is de truuk. Tenzij gepromoot zal een <em/DOS/ directory met <em>Umsdos</em> op dezelfde wijze worden beheerd als het <em/Ms-DOS/ bestandssysteem. <em/Umsdos/ maakt gebruik van een speciaal bestand in iedere subdirectory om de omzetting tussen de uitgebreide mogelijkheden (lange naam, eigenaarschap, enz) van <em/Umsdos/ en de beperking van het <em/DOS/ bestandssysteem te bereiken. Dit bestand is voor <em/Umsdos/ gebruikers onzichtbaar, maar zichtbaar wanneer je <em>DOS</em> boot. Om de <em>DOS</em>-partitie niet al te rommelig te maken met deze nutteloze (<tt/--linux-.---/), is dit bestand nu optioneel. Als het afwezig is, gedraagt <em/Umsdos/ zich net als <em/Ms-DOS/. Wanneer een directory wordt gepromoot, zullen daaropvolgende bewerkingen worden uitgevoerd met de volledige semantiek normaal beschikbaar voor <em/Unix/ en <em/Linux/ gebruikers. En alle subdirectory's die daarna zullen worden aangemaakt zullen in stilte worden gepromoot. Deze faciliteit maakt het je mogelijk je <em>DOS</em> partitie logisch te organiseren in <em>DOS</em> zaken en <em>Linux</em> zaken. Het is van belang te begrijpen dat die <tt/--linux-.---/ bestanden wat ruimte innemen (gewoonlijk 2k per directory). <em/DOS/ maakt in het algemeen gebruik van grote clusters (zo groot als 16k voor een 500meg partitie), dus het voorkomen dat overal <tt/--linux-.---/ wordt geplaatst, kan je dag goed maken. <sect1>Hoe te promoten: <tt>/sbin/umssync</tt> <p> Een directory kan ten alle tijden worden gepromoot met <tt>/sbin/umssync</tt>. Het kan ten alle tijden worden gebruikt. Doe voor het promoten van een directory het volgende: <itemize> <item>Maak een <tt/--linux-.---/ aan. <item>Breng een één op één relatie tot stand tussen de <tt/--linux-.---/ en de huidige inhoud van de directory. </itemize> <tt>/sbin/umssync</tt> onderhoudt een bestaand <tt/--linux-.---/ bestand. Het maakt het niet iedere keer opnieuw aan. Het voegt er gewoonweg ontbrekende regels aan toe (bestanden die zijn aangemaakt tijdens een <em/DOS/ sessie). Het zal ook de bestanden die niet meer voorkomen in de <em/DOS/ directory uit de <em/--linux-.---/ verwijderen. Daar komt de naam <tt/umssync/ vandaan. Het synchroniseert <em/--linux-.---/ met de onderliggende <em/DOS/ directory. <sect1><tt>/sbin/umssync</tt> tijdens de systeemstart gebruiken <p> Het is een goed idee een aanroep naar <tt>/sbin/umssync</tt> aan het einde van /etc/rc.d/rc.S te plaatsen, als het er nog niet instaat. De volgende opdracht is hier voor de meeste systemen goed voor: <tscreen><verb> /sbin/umssync -r99 -c -i+ / </verb></tscreen> De <tt/-c/ optie voorkomt dat <tt/umssync/ directory's promoot. Het zal alleen bestaande <tt/--linux-.---/ bijwerken. Deze opdracht is handig als je <em/Linux/ directory's tijdens een <em/DOS/ sessie wilt benaderen. <em/Linux/ heeft geen efficiënte manier om aan te geven dat een directory is gewijzigd door <em/DOS/ en dus kan <em/Umsdos/ <em/umssync/ niet de benodigde bewerking laten uitvoeren. <sect1>Hoe te DE-promoten <p> Verwijder het <tt/--linux-.---/ bestand met <em/DOS/. Je zult hier spijt van krijgen. <sect1>Hoe zit het met bestanden aangemaakt tijdens een <em/DOS/ sessie ? <p> Tenzij je <tt/umssync/ toepast op een directory waaronder de bestanden zijn toegevoegd of uit zijn verwijderd door <em/DOS/, zal je een aantal problemen bemerken: <itemize> <item>Het zal het systeem niet doen vastlopen en het zorgt ook niet voor belangrijke problemen, alleen ergernis :-) <item>Bestanden aangemaakt door <em/DOS/. <itemize> <item>Ze zullen onder <em/Linux/ niet zichtbaar zijn. <item>Wanneer je een bestand met dezelfde naam probeert aan te maken, krijg je een foutmelding waarin staat dat het bestand reeds voorkomt. <item>Dit zorgt eerder voor verwarring dan dat het een echt probleem is. Het kan geen kwaad voor het bestandssysteem. </itemize> <item>Bestanden verwijderd door <em/DOS/ veroorzaken geen problemen. <em/Umsdos/ merkt de afwezigheid de eerste keer op. Er zal een melding worden weergegeven naar standaarduitvoer (en deze wordt gewoonlijk weggeschreven naar <tt>/var/adm/syslog</tt>). </itemize> <sect>Installatie/DE-installatie en een aantal truuks <p> De installatie van <em/Umsdos/ is niet veel anders als de installatie van een doodgewoon <em>Linux</em> systeem (gebaseerd op <em>Ext2</em>). Er zijn twee belangrijke verschillen. <sect1>De pseudo-root <tt>/mnt/linux</tt> <p> De normale stappen voor een installatie bestaan uit: <enum> <item>Het instellen van een partitie met fdisk en het formatteren ervan. <item>Het mounten als /mnt relatief aan je installatie rootdisk. <item>Het kopiëren van alle packages naar <tt>/mnt</tt>. </enum> Met <em/Umsdos/, is stap 1 niet vereist (was het doen van <em/Umsdos/ niet een herformattering uit te voeren ?). Het is mogelijk een <em>Umsdos</em> systeem te installeren door gewoon alle packages naar <tt>/mnt</tt> te kopiëren. Dit zal zeker werken. Maar er zullen een boel subdirectory's op je <em>DOS</em> rootdirectory (C:) worden aangemaakt wat je vast niet prettig vindt. Dit is de reden dat alle <em>Umsdos</em> installaties gebruik maken van de pseudo-root. En dit is het belangrijkste verschil tussen een gewone <em>Ext2</em> installatie en een <em>Umsdos</em> installatie: alle bestanden worden gekopieerd naar <tt>/mnt/linux</tt>. <sect1>Prepareren van <tt>/mnt/linux</tt> <p> <tt>/mnt/linux</tt> is geen gewone directory. Het moet zijn gepromoot zodat het correct de lange bestandsnamen en speciale bestanden (links, device) van <em/Linux/ af zal handelen. De stappen die nodig zijn om <tt>/mnt/linux</tt> in te stellen zijn: <enum> <item><tt>mkdir /mnt/linux</tt> <item><tt>umssync /mnt/linux</tt> </enum> Dat was het! <sect1>Verzeker je ervan dat <tt>/mnt/linux</tt> correct is ingesteld <p> Zelfs al is de setup van <tt>/mnt/linux</tt> tamelijk simpel, toch zijn er nog veel installatiepackages waarbij het fout gaat. Hoe kan dit? <!-- <quote> --> Het grootste installatieprobleem is afkomstig van een incompatibel <tt/umssync/ programma. <em/Umsdos/ is in linux 1.1.88 bijgewerkt (kan het me niet precies herinneren) en in <tt>umssync</tt> bleef een fout onontdekt. Om in de <em>Linux</em> gemeenschap verwarring te voorkomen, werd besloten het compatibiliteiten niveau vereist voor alle <em>Umsdos</em> tools te verhogen. Oude versies van de tools werden eenvoudigweg verworpen. Het lijkt erop dat veel distributies de <tt>umssync</tt> utility op de installatiedisk niet bijwerkte. <!-- </quote> --> Er zijn nog steeds veel van dergelijke distributies in omloop. Het uiteindelijke resultaat is dat de directory <tt>/mnt/linux</tt> helemaal niet is gepromoot en alle lange bestandsnamen af zal kappen en alle speciale bestanden zal verwerpen. Het is mogelijk in een zeer vroeg beginstadium van de installatie een test uit te voeren om erachter te komen of er iets fout ging. Dankzij het pseudo console mechanisme van <em/Linux/, kun je dat doen zonder het installatieprogramma te verlaten. Voer de volgende stapppen uit: <enum> <item>Druk op <tt>Alt-F2</tt> (<tt/Alt/ toets tegelijkertijd indrukken met de <tt/F2/ toets). <item>login als root. <item><tt>cd /mnt/linux</tt> Als dit niet lukt, probeer je het te vroeg. Een goed moment is dit aan het einde van de packages selectie te doen. <item><tt>>TOTO</tt> <item><tt>ls -l</tt> Je zou een leeg bestand <tt/TOTO/ in hoofdletters te zien moeten krijgen. Als je het in kleine letters ziet, dan is er iets mis. Probeer nogmaals de <tt/umssync/ stap. <tt/umssync/ kan zonder probleem meerdere malen worden gebruikt. <tt>umssync .</tt> Probeer nogmaals de <tt>TOTO</tt> test, als er geen foutmelding verschijnt. Als <tt/TOTO/ prima lijkt, dan is alles OK. Als er iets niet goed is aan de installatie, sla je het op. en gaat verder <item>Druk op <tt>Alt-F1</tt> om terug naar het installatiescherm te gaan. </enum> <!-- <code> --> Als de test mislukt, dan bestaat de beste correctie hieruit een nieuwere installatie rootdisk op te halen. Je kunt deze rootdisk over het algemeen corrigeren door een nieuwere versie van <tt>umssync</tt> te installeren. Dit is niet moeilijk maar het vereist een werkend <em/Linux/ systeem. Je hoeft slechts de rootdisk diskette te mounten en het geleverde <tt>umssync</tt> door een nieuwe te vervangen. <!-- </quote> --> <sect1>Oops releasing pseudo root ... <p> De meeste <em/Umsdos/ installaties die niet lukken, drukken deze vreemde melding af. Dit is geen bug in <em/Umsdos/ ook al ziet de melding er wat vreemd uit. Hier zijn de bekende oorzaken: <itemize> <item>De meest gebruikelijke <p> De <em/Slackware/ installatie probeert in het beginstadium van de installatie een swapbestand in te stellen. Dit doet het door je te vragen een partitie te selecteren (dos drive), deze dan te mounten en het swapbestand in te stellen. Bij het installeren van een <em/Slackware/ systeem, moet je voor het installeren een doelpartitie instellen. Dit zorgt er normaal gesproken voor dat de <em>DOS</em> partitie op <tt>/mnt</tt> wordt gemount, de <tt>/mnt/linux</tt> directory wordt aangemaakt en <tt/umssync/ erop toepast. Hier komen de meeste problemen vandaan. De meeste gebruikers vergeten gewoon de stap "setup target partition" en gaan direct naar de rest van de installatie. Aangezien <tt>/mnt</tt> reeds is gemount, wordt deze fout niet opgemerkt. Dit betekent dat <tt>/mnt/linux</tt> niet goed werd aangemaakt (niet gepromoot). Alle speciale bestanden en links en lange namen kunnen niet op de juiste wijze worden aangemaakt. <item>Invalid umssync utility <p> <tt>/mnt/linux</tt> werd niet juist ingesteld. In het algemeen veroorzaakt door een onjuist <tt>umssync</tt> utility op de installatie rootdisk. <item>Oude bug in umsdos <p> Voor <em>Linux 1.2.2</em> zat er in <em/Umsdos/ een bug. De pseudo-root modus werd niet goed geactiveerd als het bestand <tt>/etc/init</tt> ontbrak. <tt/init/ is nu te vinden in <tt>/sbin</tt>. Je kunt het corrigeren door een nieuwere kernel op te halen. Dit is aan te bevelen omdat een andere bug niet aan de oppervlakte was gekomen en deze dus in 1.2.2 niet werd gecorrigeerd. Als je niet kunt upgraden, doe je het volgende: <enum> <item>Boot vanaf je installatie-disk. <item>Login als root. <item><tt>mount -t umsdos /dev/hdXX /mnt</tt> <tt>/dev/hdXX</tt> is hier je <em/DOS/ partitie. <item><tt>cd /mnt/linux/etc</tt> <item><tt>ln -s ../sbin/init init</tt> <item><tt>cd /</tt> <item><tt>Ctrl-Alt-Del</tt> <item>Boot je <em/Umsdos/ zoals gewoonlijk </enum> </itemize> Helaas produceren de eerste twee (installatieproblemen) een compleet onbruikbare installatie. De-installeer het (Zie de volgende sectie) en installeer het opnieuw. <sect1>Hoe een <em>Umsdos</em> te de-installeren <p> Het aardige van <em/Umsdos/ en zijn pseudo-root mechanisme is dat je het zonder moeite kunt DE-installeren. Je boot gewoon <em/DOS/ en verwijdert de <tt/linux/ directory met de daaronderliggende directory's. Dat is alles. Voor <em/Umsdos/ zijn geen speciale drivers in config.sys nodig, noch maakt het iets speciaals aan buiten de <tt/linux/ directory. <sect1>Een <em/Umsdos/ systeem naar een andere <em/DOS/ drive verplaatsen <p> Dit kan worden gedaan vanuit <em/Linux/ of vanuit <em/DOS/. Je hoeft hiervoor alleen de <tt/linux/ directory van de ene drive naar de andere recursief te kopiëren. Daarna zul je het bootmechanisme aan moeten passen (gewoonlijk de loadlin opdracht) en het bestand <tt>/etc/fstab</tt>. <em/Umsdos/ kan bestaan op iedere <em/DOS/ drive. Het is niet nodig het op de <tt/C:/ drive te installeren, noch is het belangrijk dat op de eerste harddrive te hebben. Het doet er in het geheel niet toe. In feite kun je besluiten verscheidene <em/Umsdos/ installaties te hebben op verschillende drives om er bijvoorbeeld mee te experimenteren. <sect1>Over het installeren van 50 <em/Umsdos/ systemen. <p> Hoe zit het met het installeren van een boel <em/Linux/ systemen in zo min mogelijk tijd? <em/Umsdos/ systemen leven in een <em/DOS/ wereld. Je kunt hier voordeel uit behalen als je <em>Linux</em> op eenvoudige wijze wilt installeren. Je kunt een <em>Umsdos</em> systeem op je site installeren en configureren. Wanneer je tevreden bent met de configuratie en de verschillende packages die je hebt geïnstalleerd, kun je in <em>DOS</em> booten en de complete <tt>linux</tt> directory naar de <em>DOS</em> file server kopiëren. Dan ga je naar een ander <em/DOS/ station en kopieert eenvoudigweg de bestanden vanaf de netwerkdrive naar de lokale drive. Dat is alles. Pas slechts het bootscript (<em/Loadlinx/) aan. Met minimale aanpassingen (hostnaam, ip-nummer) is iedereen in staat in een kwestie van minuten een <em>Linux</em> systeem te installeren. Geïnteresseerde lezers merken wellicht op dat het installeren van <em>Linux</em> systemen door het kopiëren van het draaiende systeem ook werkt voor ieder ander <em>Linux</em> systeem, waaronder die gebaseerd op <em/Ext2/. Het mooie van <em/Linux/ is dat er geem verborgen bestanden zijn die moeten worden geïnstalleerd door het magische installatieprogramma. <sect>Instellen van een <em/Linux/ sectie op een <em/DOS/ partitie <p> <em/Umsdos/ heeft zelfs nut voor <em/Ext2/ (het bij <em/Linux/ behorende bestandssysteem) gebruikers. Een gebruikelijk scenario is het volgende: <itemize> <item><em/Linux/ als keuze van je <em/OS/, begint de <em/Linux/ partitie al voller, voller en voller te geraken. <item>Je <em/DOS/ partitie wordt wat stoffig, en is half leeg. <item>Je komt plotseling ruimte te kort op je <em/Ext2/ partitie. <item>Je bent er nog steeds niet zeker van of je van <em/DOS/ af wilt. </itemize> <em/Umsdos/ kan hier je dag goedmaken. Je kunt een <em/Linux/ directory in de <em/DOS/ partitie aanmaken en dit zonder beperkingen gebruiken voor <em/Linux/. Stel bijvoorbeeld dat je een nieuwe directory genaamd <tt/"extra"/ op de <tt/C:/ drive wilt. En je wilt dat deze directory zich gedraagt als een gewone <em/Linux/ directory. Doe dan dit (in de veronderstelling dat C: /dev/hda1 is). <tscreen><verb> mkdir /c /sbin/mount -t umsdos /dev/hda1 /c mkdir /c/extra umssync /c/extra </verb></tscreen> Je moet hier root voor zijn. Door <tt>/etc/fstab</tt> zo in te stellen, zul je altijd toegang hebben tot de <tt>/c/extra</tt> directory. <sect>UMSDOS Waarom <p> Uitleggen hoe een <em>Umsdos</em> te installeren of ermee om te gaan is niet voldoende. De meeste mensen zijn op zoek naar advies of ze <em>Umsdos</em> wel of niet zullen gebruiken. <sect1>Het doel van <em/Umsdos/ <p> Het doel van <em/Umsdos/ was de installatie van <em>Linux</em> te vereenvoudigen. Een ander doel was de de-installatie ervan makkelijker te maken. De gedachte erachter was het verspreiden van <em>Linux</em> te promoten. Het installeren van een nieuw OS op een systeem is altijd lastig. <em>OS/2</em> bijvoorbeeld zal met veel plezier je <tt>C:</tt> root met een boel nieuwe directory's vervuilen. Als je net zo slim bent als ik, zal het je config.sys en autoexec.bat bestanden ook verwijderen. :-( De pseudo-root faciliteit van <em/Umsdos/ voorkomt deze ongewenste handeling. <em/Linux/ kan zonder neveneffect worden gedeïnstalleerd. <sect1>Wie heeft het nodig <p> Als je een kleine harddrive hebt, zal <em/Umsdos/ het je mogelijk maken diskruimte tussen <em/DOS/ en <em/Linux/ te delen. Een disk onder de 300 megs in naar mijn mening een kleine disk. Deze mening is gebaseerd op de grootte van de tegenwoordig beschikbare packages. Een populaire tekstverwerker kan wel 70 megabytes aan ruimte innemen als je alle mogelijkheden selecteert. Als je een grotere drive hebt, kun je een <em>Linux</em> partitie met het <em>Ext2</em> in overweging nemen. <em/Ext2/ maakt gebruik van een kleinere clustergrootte dan <em/DOS/ (1k) dus het installeren van veel kleine bestanden vraagt om minder ruimte dan op een <em/Umsdos/ partitie. <sect1>Performance <p> Het volgende geldt voor <em/Umsdos/ in vergelijking met <em/Ext2/. <itemize> <item>Directorybeheer is sneller op <em/Ext2/. Dit komt door de overhead van de dubbele directorystructuur van <em/Umsdos/. <item>Bestandstoegang (lezen en schrijven) is waarschijnlijk sneller op <em/Umsdos/ dan <em/Ext2/. Dit komt door de eenvoud van het <em/FAT/ bestandssysteem dat door <em/DOS/ in gebruik is. Deze eenvoud heeft een prijs: <itemize> <item>Een maximum van ongeveer 65,000 bestanden of clusters per partitie. Dit betekent ook dat een partitie van 500 megabyte clustergroottes van 16K gebruikt. Met andere woorden, een bestand met een enkele byte zal gebruik maken van 16k aan diskruimte. <item>Alles wordt beheerd door de <tt/FAT/, te vinden aan het begin van de harddrive. Het <em/DOS/ bestandssysteem is hierom waarschijnlijk kwetsbaarder. <item>Er is geen voorziening getroffen om fragmentatie van bestanden te voorkomen. Een <em/Umsdos/ systeem zal gewoonlijk worden gebruikt als een werkstation voor een enkele gebruiker. In dit geval maakt het niet veel uit. Als een multi-user engine, zullen bestanden over heel de drive worden verspreid, wat de performance van de bestandstoegang verlaagt. </itemize> <item>Symbolische links worden in een gewoon bestand opgeslagen. Als je van plan bent hier veel gebruik van te maken, zul je bemerken dat <em>Umsdos</em> in vergelijking met <em>Ext2</em> hier nogal veel diskruimte voor gebruikt. </itemize> </article>