|
Ez a fejezet a `Linux Fájlrendszer Standard' (FSSTND) 1.2-es
változatán (lásd a [Qui95] irodalmat) alapul, amely
megkísérli egy szabványos Linuxos fájlrendszerstruktúra
felállítását. Egy ilyen standard felépítésnek meg van az az előnye,
hogy könnyebb lesz írni vagy áthozni programokat Linux alá, illetve
adminisztrálni egy Linuxos gépet, ha minden a szokásos helyén
található. Ezen standard mögött nem áll hatalom, amely mindenkit
kényszerítene ennek betartására, de ezt támogatja a legtöbb (ha ugyan
nem minden) Linux terjesztés. Nem túl jó ötlet eltérni az FSSTND-tól
nagyon alapos indok nélkül. Az FSSTND megpróbálja a UNIX szokásokat és
az aktuális tendenciákat követni, ezáltal a Linux rendszer ismerős lesz a
más Unix rendszereken gyakorlatot szerzettek számára is.
Ez a fejezet nem olyan részletes, mint az FSSTND. A
rendszeradminisztrátoroknak célszerű elolvasni az FSSTND-t is a teljes
megértés kedvéért.
Ez a fejezet nem magyaráz minden fájlt részletesen. A cél nem minden
fájl részletes leírása, hanem a rendszer áttekintése a fájlrendszer
oldaláról. A fájlokról további információkat találhatunk a
kézikönyvben, illetve az elektronikus kézikönyv-lapokban (man pages).
A teljes könytárfa struktúra úgy lett tervezve, hogy kisebb részekre
lehessen bontani, melyek külön lemezpartíción helyezkednek el, hogy a
korlátos lemezméreteket összegyűjthessük és könnyebb legyen a
biztonsági mentés valamint az egyéb rendszeradminisztráció. A legfontosabb
részek: a gyökér (root), /usr , /var , és /home
fájlrendszerek (lásd 3.1. ábra). Mindegyik résznek
különböző a feladata. A könyvtárfa úgy lett tervezve, hogy jól
működjön hálózatba kötött Linuxos gépek esetében is, amikor egyes
részek csak olvasható módon kerülnek megosztásra, pl. CD-ROM-ról vagy
NFS-en keresztül.
3.1. ábra:
A Unix könyvtárfa részei. A szaggatott vonalak
particiókorlátokat jelölnek.
|
Az egyes részek szerepeinek leírását az alábbiakban adjuk meg.
- A gyökér fájlrendszer minden gépnél egyedi kell hogy legyen, és
tartalmaznia kell mindazt, ami a boot-oláshoz kell addig a pillanatig,
amikor már a többi fájlrendszer is beilleszthető (mount-olható). Ez a
fájlrendszer általában helyi lemezen helyezkedik el, habár lehet
ramdiszken vagy hálózaton is. Ezért a gyökér fájlrendszer tartalma
csak az egyfelhasználós (single user) üzemmódhoz elegendő. Ez a
rendszer tartalmaz továbbá az elromlott rendszer javításához és az
elveszett fájlok biztonsági mentésből való visszaállításához szükséges
eszközöket is.
- A /usr fájlrendszer tartalmazza a parancsokat, könyvtárakat,
kézikönyv lapokat, és egyéb, a normális üzem alatt nem változó
fájlokat. A /usr -beli fájlok nem specifikusak egyetlen gépre
vonatkozóan sem. Ezek miatt lehetőség van a fájlok hálózaton
keresztüli megosztására, ami nagyon takarékos, hisz sok lemezterület
megtakarítható így. (Könnyen lehet több száz megabájtnyi a /usr
tartalma.) További előny, hogy könnyebb lesz a rendszer karbantartása,
mert csak a központi /usr partíción kell az alkalmazásokat
frissíteni, nem minden gépen külön-külön. De még helyi lemez esetén is
megtehetjük, hogy a /usr -t csak olvasható módon csatlakoztatjuk,
ami csökkenti a fájlrendszer sérülésének veszélyét egy
rendszerösszeomlás esetén.
- A /var fájlrendszer változó fájlokat tartalmaz, mint pl. a spool
könyvtárak (a levelezéshez, hírekhez, nyomtatáshoz), naplófájlokat
(log file), formázott kézikönyvlapokat és ideiglenes fájlokat. A
hagyományok szerint minden, ami a /var -ban van, kerülhetne akár
valahova a /usr -be is, de akkor nem lehetne a /usr -t csak
olvasható módban csatlakoztatni.
- A /home fájlrendszer tartalmazza a felhasználók home-könyvtárait,
azaz minden igazi adatot a rendszerben. A home-könyvtárak külön
fájlrendszerbe való elkülönítése könnyebbé teszi a biztonsági
mentéseket; a többi részt általában nem, vagy csak ritkábban kell
elmenteni, mivel ritkábban változnak. Egy nagy /home
fájlrendszert esetleg érdemes néhány fájlrendszerre szétszedni, ami
egy plusz elnevezési szint bevezetését követeli meg a /home
alatt, mint pl. /home/students és /home/staff .
Habár a különböző részeket fájrendszereknek neveztük az előbb, nem
feltétlenül szükséges, hogy valóban külön fájlrendszereken
legyenek. Egy kicsi, egyfelhasználós rendszeren akár egyetlen
fájlrendszeren is tárolhatók, ami egyszerűbbé teszi a dolgokat. A
könyvtárfa esetleg máshogy is felsztható fájlrendszerekre annak
függvényében, hogy mekkora lemezeink vannak és hogy hogyan foglaljuk a
helyet különféle célokra. A fontos az, hogy minden standard
név működjön, pl. ha a /var és a /usr egy partíción
van, a /usr/lib/libc.a és /var/adm/messages neveknek
működniük kell, mondjuk úgy, hogy a /var alatti fájlokat az
/usr/var -ba másoljuk és a /var csak egy szimbolikus kötés a
/usr/var -ra.
A Unix fájlrendszer szerkezete a fájlokat cél szerint csoportosítja,
azaz pl. a parancsok egy helyen vannak, az adatfájlok máshol, a
dokumentáció egy harmadik helyen, és így tovább. Egy alternatíva
lehetne a fájlok csoportosítására, hogy melyik programhoz tartoznak,
pl. minden Emacs-hoz tartozó fájl egy könyvtárban lenne, a
TEX-hez tartozók egy másikban, és így tovább. Az utóbbi
megközelítéssel az a baj, hogy nehézzé tenné a fájlmegosztásokat (a
programkönyvtárak gyakran tartalmaznak statikus, megosztható, változó
és nem megosztható fájlokat egyaránt), és néha még a fájlok (mondjuk a
kézikönyvlapok) megtalálása is nagyon bonyolult lenne.
|