Umsdos deelt Linux bestanden direct in naar Ms-DOS bestanden. Dit is een één op één omzetting. De bestandsinhoud wordt in het geheel niet gemanipuleerd. Umsdos werkt alleen op namen. Voor speciale bestanden (zoals bijvoorbeeld links en devices) introduceert het speciaal beheer.
Voor iedere directory is een bestand genaamd --linux-.---
.
Aan Umsdos kan worden gedacht als een voor een algemeen doel bestemde superset van het Ms-DOS bestandssysteem van linux. In feite verschaft deze capaciteit of flexibiliteit veel verwarring over Umsdos. Hier krijg je te zien waarom. Probeer als volgt een nieuw geformatteerde DOS diskette te mounten:
mount -t umsdos /dev/fd0 /mnt
En geef dan de volgende opdrachten:
ls / >/mnt/LANGEBESTANDSNAAM
ls -l /mnt
Je krijgt het volgende resultaat
-rwxr-xr-x 1 root root 302 Apr 14 23:25 langebestandsnaam
Tot zover lijkt het erop dat het Umsdos bestandssysteem niet meer doet (in feite zelfs helemaal niets) dan het gewone Ms-DOS bestandssysteem van Linux.
???
Niet bepaald indrukwekkend tot dusverre. Dit is de truuk. Tenzij
gepromoot zal een
DOS directory met Umsdos op dezelfde wijze worden beheerd
als het Ms-DOS bestandssysteem. Umsdos maakt gebruik van
een speciaal bestand in iedere subdirectory om de omzetting tussen
de uitgebreide mogelijkheden (lange naam, eigenaarschap, enz)
van Umsdos en de beperking van het DOS bestandssysteem
te bereiken.
Dit bestand is voor Umsdos gebruikers onzichtbaar, maar zichtbaar
wanneer je DOS boot.
Om de DOS-partitie niet al te rommelig te maken met deze
nutteloze (--linux-.---
), is dit bestand nu optioneel.
Als het afwezig is, gedraagt Umsdos zich net als Ms-DOS.
Wanneer een directory wordt gepromoot, zullen daaropvolgende bewerkingen worden uitgevoerd met de volledige semantiek normaal beschikbaar voor Unix en Linux gebruikers. En alle subdirectory's die daarna zullen worden aangemaakt zullen in stilte worden gepromoot.
Deze faciliteit maakt het je mogelijk je DOS partitie
logisch te organiseren in DOS zaken en Linux
zaken. Het is van belang te begrijpen
dat die --linux-.---
bestanden wat ruimte innemen
(gewoonlijk 2k per directory). DOS maakt in het algemeen gebruik
van grote clusters (zo groot als 16k voor een 500meg partitie),
dus het voorkomen dat overal --linux-.---
wordt geplaatst, kan
je dag goed maken.
/sbin/umssync
Een directory kan ten alle tijden worden gepromoot met /sbin/umssync
.
Het kan ten alle tijden worden gebruikt. Doe voor het promoten van een
directory het volgende:
--linux-.---
aan.--linux-.---
en de huidige inhoud van de
directory./sbin/umssync
onderhoudt een bestaand --linux-.---
bestand.
Het maakt het niet iedere keer opnieuw aan. Het voegt er gewoonweg
ontbrekende regels aan toe
(bestanden die zijn aangemaakt tijdens een DOS sessie).
Het zal ook de bestanden die niet meer voorkomen in de
DOS directory uit de --linux-.--- verwijderen.
Daar komt de naam umssync
vandaan.
Het synchroniseert --linux-.--- met de onderliggende
DOS directory.
/sbin/umssync
tijdens de systeemstart gebruiken
Het is een goed idee een aanroep naar /sbin/umssync
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:
/sbin/umssync -r99 -c -i+ /
De -c
optie voorkomt dat umssync
directory's promoot.
Het zal alleen bestaande --linux-.---
bijwerken.
Deze opdracht is handig als je Linux directory's tijdens een DOS sessie wilt benaderen. Linux heeft geen efficiënte manier om aan te geven dat een directory is gewijzigd door DOS en dus kan Umsdos umssync niet de benodigde bewerking laten uitvoeren.
Verwijder het --linux-.---
bestand met DOS. Je zult hier
spijt van krijgen.
Tenzij je umssync
toepast op een directory waaronder de
bestanden zijn toegevoegd of uit zijn verwijderd door
DOS, zal je een aantal problemen bemerken:
/var/adm/syslog
).