Souborový systém FAT a Linux - FAT filesystem and Linux

Linux má několik souborových systémů ovladače pro File Allocation Table formátu souborového systému (FAT). Ty jsou běžně známé pod jmény používanými v mountpříkazu k vyvolání konkrétních ovladačů v jádře: msdos , vfat a umsdos .

Historie a podpora

Většina hlavních distribucí Linuxu, včetně RedHat, SuSE a Debian, nepoužívá umsdos k povolení instalace Linuxu na svazek disku FAT. Několik distribucí to však dělá. Patří mezi ně distribuce, jako je Phat Linux, který se nainstaluje C:\PHATna DOS rozbalením souboru ZIP a zavádí se spuštěním skriptu COMMAND.COM s názvem LINUX.BATa ZipSlack .

Projekt UMSDOS zahájil v roce 1992 Jacques Gelinas a síti byl zpřístupněn v lednu 1994 jako oprava. Byl zahrnut do standardní distribuce počínaje jádrem 1.1.36. UMSDOS byl odstraněn z jádra Linux 2.6.11 pro nedostatek údržby. UVFAT, rozšíření systému UMSDOS k použití datových struktur Windows pro dlouhé názvy souborů místo jeho vlastních, bylo před vydáním ukončeno. Měli by pracovat v jádrech 2.4.x.

Dřívější distribuce Linuxu, které používaly UMSDOS , jsou MuLinux , Monkey Linux a Winlinux 2000.

Porovnání funkcí

Všechny ovladače systému souborů Linux podporují všechny tři typy FAT, jmenovitě FAT12 , FAT16 a FAT32 . Liší se v poskytnutí podpory dlouhých názvů souborů , nad rámec struktury souborů 8,3 původního formátu souborového systému FAT a v poskytnutí sémantiky souborového systému Unix, která ve formátu souborového systému FAT jako standard neexistuje, například oprávnění k souborům . Ovladače souborového systému se vzájemně vylučují. K připojení libovolného daného svazku disku lze kdykoli použít pouze jeden. Volba mezi nimi tedy závisí na tom, jaké dlouhé názvy souborů a sémantiku Unixu podporují a jaké využití chce jeden z diskových svazků.

msdos

Ovladač souborového systému msdos neposkytuje žádnou další sémantiku unixových souborů a žádnou podporu dlouhého názvu souboru. Pokud je pomocí tohoto ovladače připojen diskový souborový systém FAT, budou viditelné pouze názvy souborů 8.3, nebudou přístupné žádné dlouhé názvy souborů ani nebudou zachovány žádné datové struktury jakéhokoli druhu na svazku disku. Ovladač souborového systému vfat poskytuje podporu dlouhého názvu souboru se stejnými datovými strukturami disku, které Microsoft Windows používá pro podporu dlouhého názvu souboru VFAT na svazcích formátu FAT, ale nepodporuje žádnou další sémantiku souborů Unix. Ovladač souborového systému umsdos poskytuje dlouhou podporu názvů souborů a extra sémantiku souborů Unix. Činí tak však pomocí datových struktur na disku, které nerozpoznávají žádné ovladače souborového systému pro jiné operační systémy než Linux.

umsdos

Klíčovou výhodou umsdos ze tří je to, že poskytuje plnou sémantiku souborů Unixu. Proto jej lze použít v situacích, kdy je žádoucí instalovat Linux a spouštět jej ze svazku disku FAT, což vyžaduje dostupnost takové sémantiky. Linux nainstalovaný na takovém svazku disku a běžící z něj je však pomalejší než Linux nainstalovaný na svazku disku spuštěného a běžícího z něj, například ve formátu souborového systému ext2 . Dále, pokud není obslužný program pravidelně spuštěn pokaždé, když přepnete ze systému Windows na systém Linux, určité změny provedené v souborech a adresářích na disku systémem Windows způsobí chybové zprávy o nepřístupných souborech v systému Linux.

vfat

vfat , i když postrádá plnou sémantiku souborů Unixu a nemá schopnost instalovat Linux na a provozovat jej ze svazku disku FAT, nemá výše uvedené nevýhody umsdos, pokud jde o jednoduché sdílení dat na svazku disku FAT mezi Linuxem a jinými operačními systémy jako Windows. Jeho datové struktury jsou stejné jako ty, které používá Windows pro dlouhé názvy souborů VFAT, a nevyžaduje spuštění synchronizačního nástroje, aby se zabránilo nesouvislosti datových struktur Windows a Linux. Z tohoto důvodu je ve většině situací nejvhodnější použít linuxové ovladače souborového systému FAT.

FS-Driver Dlouhé názvy souborů Unixová sémantika souborů Komentář
msdos Ne Ne 8.3 pouze názvy souborů
vfat Ano Ne Používá stejné datové struktury, které používá Windows
umsdos Ano Ano Může hostovat Linux; může vyžadovat údržbu při přepínání OS

Commonalities

Jak již bylo zmíněno dříve, všechny ovladače systému souborů Linux podporují všechny tři velikosti tabulky přidělení souborů, 12bitovou, 16bitovou a 32bitovou. Mezi další běžné funkce, které všichni podporují, patří různé možnosti připojení Linuxu (zadané pomocí -omožnosti mountpříkazu):

uid a gid
Tyto dvě možnosti říkají ovladači souborového systému, aby nastavil (výchozí, v případě umsdos ) ID uživatele vlastníka a ID skupiny na jednu specifikovanou hodnotu pro všechny soubory na svazku. Oba ID jsou zadány jako číselné hodnoty (najdete v /etc/passwdsouboru). Například pro určení ovladače souborového systému vfat, že všechny soubory a adresáře mají mít ID vlastníka 745 a ID skupiny 15, mountby byl příkaz vyvolán jako . Ovladače souborového systému Linux v současnosti nezahrnují podporu hesel k souborům / adresářům na svazcích FAT12 / FAT16 / FAT32 a přístupová oprávnění pro více uživatelů / skupin / vlastníků pro práva pro čtení / zápis / mazání / provádění na svazcích FAT12 / FAT16, jak je implementována v různých operační systémy rodiny Digital Research, včetně DR-DOS , PalmDOS , Novell DOS , OpenDOS , FlexOS , Concurrent DOS , Multiuser DOS , System Manager a REAL / 32 .mount -t vfat -o uid=745,gid=15
umask
Tato možnost nastaví umask tak, aby se globálně aplikoval na všechny soubory na svazku. Chcete-li například určit ovladači souborového systému vfat, že nemá být povolen žádný přístup „skupiny“ nebo „jiného“, mountpříkaz by byl vyvolán jako .mount -t vfat -o umask=077
conv
Tato možnost určuje sémantiku převodu obsahu souboru . Ovladače souborového systému je možné převádět konvence nového řádku v souborech, mezi ukončením LF a ukončením CRLF, za běhu, když jsou soubory čteny a zapisovány. Ve výchozím nastavení je tento převod zcela zakázán. Ovladače souborového systému mohou u některých souborů provádět převod a pokoušet se o automatickou detekci souborů, které se mají převést, na základě příponové části názvu souboru nebo globálně pro všechny soubory. Tyto tři úrovně převodu jsou specifikovány jako conv=b(pro „binární“), conv=a(pro „automatickou detekci“) a conv=t(pro „text“). Poslední dvě možnosti nesou inherentní riziko poškození dat netextového souboru. Výchozí je vůbec žádná konverze.

umsdos

Datová struktura

Ovladač souborového systému FAT umsdos ukládá všechny další informace týkající se sémantiky souborového systému Unix do toho, co se jinému ovladači souborového systému FAT jeví jako normální soubor v každém pojmenovaném adresáři a podadresáři --LINUX-.---.

Při absenci tohoto souboru v daném adresáři, a tedy ve výchozím nastavení, poskytuje ovladač souborového systému umsdos stejnou sémantiku jako ovladač souborového systému msdos pro adresář: pouze 8,3 souborů a žádná další sémantika souborů Unix. Chcete-li povolit další schopnosti ovladače umsdos , je nutné vytvořit tento soubor v adresáři a synchronizovat jeho interní data s normálními daty FAT pro všechny existující položky již v adresáři. To se provádí pomocí nástroje s názvem umssync.

Toto je obslužný program, který se spouští ve všech adresářích na svazku disku pokaždé, když se přepne ze systému Windows na systém Linux, aby ovladač souborového systému umsdos mohl začlenit všechny změny provedené v souborech a adresářích systému Windows do svých soukromých datové struktury v jeho --LINUX-.---souboru. Ve výchozím nastavení umssyncnástroj vytváří --LINUX-.---soubory v adresářích, pokud ještě neexistují, což má za následek takový soubor v každém adresáři na svazku disku. Při přepínání mezi systémy Windows a Linux není toto chování často považováno za žádoucí. Normálním provozním režimem při vyvolání umssyncpo přepnutí ze systému Windows na systém Linux (který se obvykle provádí spuštěním nástroje v době spuštění systému Linux ze spouštěcího skriptu) je tedy použití -cmožnosti příkazu, která zabrání vytvoření všech nových --LINUX-.---souborů v adresářích, které je ještě nemají.

Instalace Linuxu na FAT

Jak již bylo zmíněno, umsdos umožňuje instalaci systému Linux na svazek disku ve formátu FAT a jeho následné spuštění a spuštění. Výhodou je, že umožňuje použití Linuxu v počítači, kde je již nainstalován DOS , aniž by bylo nutné dělení pevného disku na další oddíly . V takovém scénáři není systém Linux bootován přímo ze záznamu spouštění svazku . Místo toho se nejprve zavádí systém DOS a pro zavádění systému Linux ze systému DOS se používá loadlin nebo linld.

Konvence takové instalace spočívá v tom, že kořenový adresář Linuxu je podadresářem kořenového adresáře spouštěcího svazku systému DOS , např C:\LINUX. Různé linuxové adresáře nejvyšší úrovně jsou tedy pro DOS adresáře jako C:\LINUX\ETC(for /etc), C:\LINUX\BIN(for /bin), C:\LINUX\LIB(for /lib) atd. Ovladač souborového systému umsdos automaticky předřadí C:\LINUX\všechny názvy cest. Umístění kořenového adresáře Linuxu je nejprve zadáno do ovladače souborového systému umsdos prostřednictvím volby loadlinpříkazu. Například loadlinby byl vyvolán příkazovým řádkem, jako je loadlin c:\linux\boot\vmlinuz rw root=c:\linux.

Instalace Linuxu do takového adresáře na prvním místě jednoduše zahrnuje rozbalení souborů z archivu do tohoto adresáře a jeho podadresářů. Taková instalace také obecně vyžaduje použití odkládacího souboru namísto odkládacího oddílu pro Linux, ale to souvisí s touhou nerozdělit pevný disk na jiný a nesouvisí s ovladačem souborového systému umsdos jako takovým .

Přístup ke svazkům formátovaným FAT bez podpory jádra

Přestože ovladače souborového systému v jádře umožňují běžný přístup k souborům a adresářům na svazcích formátovaných pomocí FAT, je to možné také bez podpory ovladačů jádra pomocí obslužných programů, které tvoří sadu nástrojů mtools . Stejně jako ovladač souborového systému vfat FAT poskytuje mountlo podporu dlouhých názvů souborů se stejnými datovými strukturami disku, jaké používá Microsoft Windows.

Alternativně lze použít jeden z ovladačů souborového systému FUSE - FatFuse, FuseFat nebo mountlo.

Překryvný souborový systém POSIX

Novodobým ekvivalentem UMSDOS je POSIX Overlay Filesystem (posixovl). Funguje to ve FUSE.

Viz také

Reference

Další čtení