DOS alapú fájlok és lemezek kezelése

Mindennapos igényként merül fel a gyakorlatban, hogy UNIX felhasználóként is képesek legyünk DOS formátumú adatállományok feldolgozására. Két viszonylag egyszerű mód kínálkozik megoldásként. Az egyik, hogy a DOS formátumú hajlékonylemezt becsatoljuk (mountoljuk) a UNIX állományrendszerébe, ezáltal az teljes jogú részévé válik a fájlrendszernek, a továbbiakban gond nélkül használhatóak a szokásos UNIX alatti parancsok a DOS fájlokon is. Előfeltétele ennek a megoldásnak, hogy UNIX-os rendszerünk ismerje a DOS fájlrendszer formátumot - ez, hacsak nem valami ilyen régi UNIX verzióval dolgozunk, általában nem szokott gondot okozni. A probléma ezzel a megközelítéssel az, hogy a becsatolást csak privilégizált felhasználó hajthatja végre. A probléma megkerülésére több megoldás létezik. Az egyik, hogy egy C nyelvű programot kell írni, ami becsatolja, illetve lecsatolja a DOS-os fájlrendszert, e programot lefordítás után root tulajdonúvá kell tenni és be a set-user-id jogokat engedélyezni kell. Ennek hatására akárki hívja meg e programot, root-ként hajthatja végre a DOS állományrendszer be-, illetve lecsatolását. E gyorstalpaló megoldásnak léteznek szebb változtai is, szabadon hozzáférhető, úgynevezett public domain programok formájában, amik megbízható módon gondoskodnak a floppy (és CD-ROM!) hozzáférés kezeléséről. Ilyen programok installálása a rendszergazda feladata.

A másik megoldás, amit például a SunOS 5.x (SVR4 kompatibilis) változata kínál, hogy a fenti problémát felismerve átalakítják az operációs rendszert a cserélhető adathordozók használatának speciális igényeit figyelembe véve: e rendszerben a kernel automatikusan detektálja egy floppy vagy CD-ROM behelyezését és automatikusan becsatolja az adathordozót az állományrendszerbe.

DOS konverziós segédprogramok

Számos UNIX rendszer, kivált az IBM PC alapúak, a DOS formátumú fájlok kezelésére külön parancsokat is kínál. E parancsok neve és szintaktikája erősen eltérő lehet, általában a "dos" szócska szerepel a nevükben, például dosdir, doscopy, dosdel, stb. Éppen a lehetséges változatok nagy száma miatt ezekkel nem foglalkozunk részletesebben, csak azért sem, mert minden szempontból az előző megoldás az előnyösebb, a DOS fájlrendszer becsatolása a UNIX alá.

Egy parancsról azonban mindenképp meg kell itt emlékeznünk, s ez a dos2unix (illetve párja, a unix2dos), amely a DOS-UNIX fájkonverziót hajtja végre. A két fájlformátum között alapvetően két különbség van: a DOS alatt a sorvégét a CR-LF karakterpáros jelzi, míg UNIX alatt csak az LF karakter; a másik pedig a DOS alatt a fájlvég jelzésére szolgáló CTRL-Z karakter, aminek a UNIX alatt nincsen megfelelője. A dos2unix, illetve a unix2dos parancs szűrőként működik és a megfelelő irányú fájlkonverziót hajtja végre.

 

Tartalomjegyzék