Adatcsere Linux és Windows között - 1. részSzerző: razoli
Mit tehet az ember, ha több operációs rendszert használ egy gépen és ugyanazokat az állományokat szeretné elérni? Cikkünkben egy kis elméleti áttekintés után megvizsgáljuk a gyakorlati lehetőségeket.Az alaphelyzet
Ha már ismerkedtünk kicsit a rendszerekkel, akkor már nyilvánvalóvá válhatott számunkra: a Windows nem ismeri fel a Linuxos partíciókat, így onnan szinte minden láthatatlannak tűnik, a másik oldalról viszont a Linux látja, és be is fűzi valahova (pld: /mnt/windows_c) a Windows partíció(ka)t, ám írni csak FAT32-re tud... Történeti áttekintés
Az általunk ismert és fontosnak tartott legöregebb filerendszer a FAT (File Allocation Table). Többféle változata is volt: a DOS használta a FAT12-t, FAT16-ot, majd a Windows95 alá VFAT került (mely támogatja a hosszú fileneveket és symlinkeket), végül a nagy partíciókat is támogató FAT32. Híresen lassú és megbízhatatlan társaihoz képest. Manapság már csak főleg "kis" adathordozókon fordul elő (memóriakártyák, pendrive-ok, floppy-k).
A Windowsok történetében nagy előrelépésnek számított az NTFS filerendszer bevezetése, mely többek között támogatja a 4GB méret feletti állományokat, kezeli a jogosultságokat és naplózza az eseményeket. Eredetileg a Microsoft által NT kódnéven fejlesztett operációs rendszerhez készült. Az NT korábban N-10 (azaz N-Ten) kódnevet jelentette, később kapta a New Technology értelmet, majd még később lett belőle WindowsNT. Az NTFS sok tekintetben rokona a HPFS-nek (High Performance File System - ami az OS/2 filerendszere volt és amit a Microsoft és az IBM közösen kezdett el fejleszteni). Várhatóan a 2007-es év végén új filerendszer kerül bevezetésre WinFS néven, de ezt még a hamarosan megjelendő Longhorn kódnéven fejlesztett Windows Vista nem fogja tartalmazni (illetve várhatóan csak Service Pack formában). Linux oldalról az első nagykörben elterjedt filerendszer az Ext2 volt (Extended filesystem második verziója), ám manapság szinte teljesen felváltott a harmadik verzió, az Ext3. Az Ext3 már naplózó filerendszer, nagymennyiségű alkönyvtár gyors kezelésére képes. Másik széleskörben használt filerendszer a Hans Reiser főfejlesztő nevéhez fűződő reiserFS (3.x széria), illetve a teljesen újraírt reiser4 (4.x). Az Ext-tel szemben gyorsabb, ha sok kicsi illetve néhány nagy fájlról van szó, ám a gyorsaság nagyobb CPU felhasználást is eredményez. A reiser4 sajátos algoritmusának köszönhetően a fejlesztők szerint 2,5x gyorsabb, mint elődje a reiserFS. (Benchmark) Érdemes még megemlíteni az XFS fájlrendszert, amit az SGI fejlesztett ki (64 bites, naplózó fájlrendszer), jelenleg IRIX (az SGI saját UNIX klónja) és Linux rendszerek támogatják. Lehetőségek
A legegyszerűbb módszer arra az esetre, ha bizonyos fájlokat mindkét rendszerből el akarunk érni, hogy létrehozunk egy rendszerfüggetlen FAT32 fájlrendszerű "raktár" partíciót(*). Azért hangsúlyozom a rendszerfüggetlent, mert nem egészséges, ha a másik oprendszer állományait is elérjük (elég egy rossz törlés és máris indíthatatlan a rendszer). Előnye ennek a módszernek, hogy nem kell telepíteni egyik rendszerre sem semmit (ellenben Linux alatt a /etc/fstab állományba fel kell venni az új partíciót és meg kell adni az elérési jogokat). Hátránya, hogy ez a fájlrendszer nem kezeli a 4GB feletti állományokat, a jogosultságokat, valamint híresen instabil (főleg egy bizonyos partícióméret felett). Ezt a megoldást ha lehet inkább hanyagoljuk.
Második lehetőség, hogy létrehozunk egy raktárpartíciót(*) NTFS fájlrendszerrel és megpróbáljuk Linux alól írni. Erre több módszer is létezik, ám többnyire kísérleti stádiumban vannak (mivel a fejlesztőknek nem áll rendelkezésre az NTFS specifikációja, így nehezebb úton valahogy vissza kell fejteni az eljárást és úgy alkalmazni). Maga a megoldás egyszerű: beizzítjuk a drivert/modult és írható módban csatoljuk az NTFS rendszerű meghajtókat, és boldogok vagyunk, mert működik. Captive
Egy szabad projekt, ami az eredeti ntfs.sys felhasználásával valamint wine által emulált környezettel teszi lehetővé az NTFS írását. A fejlesztők szerint ez a módszer példanélküli és a legbiztonságosabb, mivel az eredeti meghajtót használja fel, szemben más projektekkel, melyek megpróbálják visszafejteni az eljárást. Csendben illik azért megjegyezni, hogy a biztonság a sebesség rovására megy, ugyanis emulált környezetről van szó. Gyakorlatban ellátogatunk a projekt oldalára, és letöltjük onnan a számunkra megfelelő állományt (csomagot vagy forrást).
Telepítést követően először a captive-install-acquire parancsot kell futtatni az elérhető driver verziók ellenőrzéséhet. Utána már csatolhatjuk az NTFS partíciókat az alábbi módon: létrehozunk egy csatolási pontot /mnt/windows_c néven, majd kiadjuk a mount -t captive-ntfs /dev/hda1 /mnt/windows_c parancsot és működik. Paragon
Érdemes megemlíteni őket is, mint kereskedelmi projektet. Jelenleg 19.95 €-ért juthatunk hozzá a szoftverhez, mellyel írhatjuk az NTFS-t. Bővebb információ a honlapjukon található.
Windows oldalról kicsit több lehetőségünk van (lévén a filerendszerek nyíltak, így bárki fejleszthet drivert), ezekről jövő heti cikkünkben olvashattok. * célszerű különválasztani magát a rendszert és állományait, valamint a személyes dokumentumokat, állományokat - elég csak azt figyelembe venni, hogy egy esetleges rendszerhalál esetén is megmaradnak a dokumentumaink és nem kell azzal vesződni, hogy kimentsük őket valahova. |