Nästa Föregående Innehållsförteckning

5. Grundläggande principer

5.1 Inledning

Umsdos förvandlar (map) Linux-filer direkt till MS-DOS-filer. Detta är en envägsomvandling. Filernas innehåll påverkas inte alls. Umsdos bearbetar endast namnen. För speciella filer (t.ex. länkar och andra enheter) använder det speciella metoder.

För varje katalog finns det en fil som heter --linux-.---.

5.2 Umsdos kan ersätta MS-DOS-filsystemet.

Du kan tänka på Umsdos som ett generellt tillägg till Linux MS-DOS-filsystem. Denna förmåga och flexibilitet skapar mycket förvirring angående Umsdos. Varför? Testa ett montera en nyformatterad DOS-diskett på detta sätt:

mount -t umsdos /dev/fd0 /mnt

Och gör detta:

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

Du får följande resultat:

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

Så långt verkar det inte som om Umsdos-filsystemet gör mycket mer (eller inget alls mer) än det vanliga MS-DOS-filsystemet under Linux.

???

5.3 Katalogpromovering (directory promotion)

Inte speciellt imponerande hittills. Tricket är som följer. Om en DOS-katalog inte är promoverad kommer den av Umsdos behandlas på samma sätt som en i MS-DOS-filsystemet. Umsdos använder en speciellt fil i varje underkatalog för att åstadkomma översättningen mellan de utökade funktionerna (långa namn, ägarskap osv.) som Umsdos har gentemot DOS-filsystemet. Denna fil syns inte för Umsdos-användare, men är synlig när du bootar DOS. För att undvika att utan anledning fylla upp DOS-partitionen med dessa filer (--linux-.---) så är denna fil nu valfri. Om den inte finns där så beter sig Umsdos som MS-DOS.

När en katalog promoveras så kommer varje efterföljande åtgärd utföras med den fulla semantik som vanligtvis är tillgänglig för Unix- och Linux-användare. Alla underkataloger kommer även att promoveras i det tysta.

Denna funktioner låter dig dela upp din DOS-partition mellan DOS- och Linux-grejer på ett logiskt vis. Det är viktigt att förstå att de där --linux-.----filerna tar upp en del utrymme (vanligtvis runt 2k per katalog). DOS använder vanligtvis ganska stora kluster (så stora som 16k för en partition på 500 meg), så att undvika att stoppa in --linux-.--- överallt kan bespara dig en hel del problem.

5.4 Hur du promoverar: /sbin/umssync

En katalog kan promoveras när som helst med hjälp av /sbin/umssync. Det kan användas när som helst. För att upgradera en katalog, utför följande:

/sbin/umssync behåller eventuella redan existerande --linux-.----filer. Det skapar inte en ny varje gång. Det lägger bara till nya poster i dem (filer som skapats under en DOS-session). Det tar också bort filer som inte längre existerar från --linux-.---. umssync tar sitt namn från just denna funktion: det synkar --linux-.--- med den underliggande DOS-katalogen.

5.5 Att använda /sbin/umssync under bootningen

Det är en bra idé att lägga in ett anrop till /sbin/umssync på slutet av din /etc/rc.d/rc.S om det inte redan finns där. Följande kommando duger på de flesta system:

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

Argumentet -c förhindrar umssync från att att promovera kataloger. Det gör att det bara uppdaterar befingliga --linux-.---.

Detta kommando är användbart om du gör något med Linux-katalogen under en DOS-session. Linux har inget bra sätt att ta reda på om en katalog har modifierats av DOS, så Umsdos kan inte automatiskt köra umssync när det behövs.

5.6 Hur du nedgraderar

Ta bort --linux-.----filen från DOS. Du kommer ångra dig.

5.7 Men filer som skapats under en DOS-session då?

Om du inte kör umssync på en katalog där filer har lagts till eller tagits bort av DOS, så kommer du stöta på några problem:


Nästa Föregående Innehållsförteckning