- IT Blog – Linux & Windows - https://it.naxoblog.hu -

GNU/Linux rendszerek könyvtárszerkezete 1. (/)

Windows rendszereken az a hozzáállás alakult ki, hogy egy felpartíciózott merevlemez minden szeletéhez külön betűjel tartozzék, így a felhasználó szeparálva tarthatja adatait. A GNU/Linux rendszer felépítése, ha nem is gyökeresen, de jelentősen eltér. Csak egyetlen egy gyökér könyvtár létezik és ebből “ered” az összes könyvtár, alkönyvtár és fájl. A feldarabolt merevlemezünk egyes részei nem kapnak betűjelet, hanem hozzárendelhetjük (felcsatolhatjuk) a rendszer egy könyvtárához. E művelet után a partíció tartalma abban a könyvtárban érhető el. Persze le is csatolhatjuk bármikor a rendszerből, feltéve, hogy egyetlen egy program sem dolgozik azon partíció valamelyik könyvtárával, fájljával, valamint nem tartózkodunk egyik könyvtárában sem.

Érdemes tudni mielőtt még tanulmányoznánk a könyvtárstruktúrát, meg kell említenünk két speciális könyvtárnevet (hivatkozást, mutatót), ami az összes könyvtárban jelen van. Az egyik a “.” (pont) hivatkozás, ami mindig az aktuális könyvtárra mutat és hivatkozhatunk is vele rá. Sőt, sokszor nélkülözhetetlen a használata. A másik pedig a “..” (pont-pont) mutató, ami a szülőkönyvtárra mutat, ahonnan származik az aktuális könyvtár.

A gyökér (“/”) alkönyvtárai

Elsőként ismerkedjünk meg a már említett gyökér könyvtárral, illetve a gyökér könyvtárban elhelyezkedő könyvtárakkal. Melyik könyvtárat mire használják, és egyáltalán kik férhetnek hosszá, kik használhatják a tartalmukat.

Következőképpen néz ki egy átlagos gyökér könyvtár tartalma:

bash$ tree / -d -L 1
/
|-- bin
|-- boot
|-- dev
|-- etc
|-- home
|-- initrd
|-- lib
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- sbin
|-- sys
|-- tmp
|-- usr
`-- var

18 directories
bash$

A gyökér (“/”) alkönyvtárai (folytatás)

/bin

Itt helyezkednek el az alapvető programok, amelyeknek még akkor is elérhetőknek kell lenniük, ha valamiért a /usr könyvtár elérhetetlen. Ellentétben a /sbin könyvtárral, amelyben csak a rendszer betöltéséhez és az adminisztrációs feladatok elvégzéséhez szükséges programok foglalnak helyet, a /bin könyvtárban lévő programokat a rendszer minden felhasználója használhatja.

/boot

Ebben a könyvtárban helyezkedik el a kernel, a Linux Loader (LILO) map fájlja, ami tartalmazza a régi Master Boot Record (LILO előtti) állapotot. Azonban mára mondhatni a LILO leváltására létrehozott GRUB átvette az uralmat. E program egy saját könyvtárat kapott (/boot/grub), és ebben lakoznak az egyéb beállító és használati fájlok. A /boot/grub/menu.lst tartalmazza az indítandó operációs rendszerek listáját.

/dev

Ahogy a neve is jelzi, itt helyezkednek el az eszközkezelők (device). Pontosabban minden eszközhöz hozzá van rendelve egy fájl, amin keresztül elérhető az eszköz, legyen az akár videókártya, hangkártya, tv-kártya, egér, háttértároló, stb.

/etc

A legtöbb program itt tárolja az alap konfigurációs fájlját. A fájlrendszerre vonatkozó szabványok megalkotása előtt több rendszerprogramnak és démonnak adott otthont, mint például az init és update. Azonban évekkel ezelőtt ezek a programok átkerültek a /sbin vagy a /usr/sbin könyvtárba. E könyvtárral illetve fájljaival részletesebben foglalkozunk majd egy későbbi bejegyzésben.

/home

A root kivételével az összes felhasználó saját (home) könyvtára itt helyezkedik el, amelyek többek között az egyénre jellemző beállító fájlokat is tartalmazzák. Például a jonci felhasználó home könyvtára a /home/jonci. A jonci felhasználó a saját könyvtárára a ~ (tilde, hullámvonal) karakterrel is hivatkozhat. A többi felhasználónak a ~jonci formát kell használnia. Alapesetben minden felhasználó csak a saját könyvtárába dologhoz meg a /tmp könyvtárba. Érdemes ezt a könyvtárat külön partícióra helyezni.

/lib

A megosztott könyvtárakat tartalmazza, amelyeket szinte mindegyik dinamikusan linkelt program használja, valamint a könyvtáron belül elhelyezkedő modules alkönyvtár tartalmazza az összes kernel modulját.

/lost+found

A jelenleg létező Ext2 és Ext3 fájlrendszer használata esetén jön létre. Az fsck és egyéb segédprogramok használják.

/media

Ez a könyvtár lett az (általában automatikus csatolású) cserélhető médiák “új otthona”. Ilyen eszköz lehet például egy floppy, egy usb-s külső hdd vagy egy pendrive, stb. Jellemzőjük, hogy nem kell alkalmaznunk kézi vagy fstab-os csatolást, hanem csak csatlakoztatjuk és a rendszer érzékeli, majd automatikusan elérhetővé teszi a tartalmát a felhasználónak.

/mnt

A nem a rendszer részét képező eszközök (floppy, cdrom, háttértár egyéb partíciói, NFS, stb.) csatolásait ebbe a könyvtárban elhelyezett alkönyvtárakba ajánlott mount-olni. Például: FAT32-es tárhely: /mnt/vfat, Windows partíciót: /mnt/windows, stb. Ezeket a felcsatolásokat kiadhatjuk kézzel (mount parancs), vagy megkönnyíthetjük és automatizálhatjuk  is a /etc/fstab fájl segítségével.

A floppy és cdrom eszközöknek régebben létrehoztak a gyökérben (/) egy /floppy és egy /cdrom könyvtárat a rendszeres használat megkönnyítése érdekében, de mára ezek átkerültek a /media könyvtárba.

/opt

A rendszerhez hozzáadott statikus program(csomag)ok elhelyezési helye.

/proc

A kernel a memóriában tárol a rendszerről és processzekről különböző információkat. E belső információs táblázatból egy virtuális fájlrendszeren keresztül (procfs) egy könyvtárrendszert szimulál és a /proc könyvtárba csatolja, így a rendszerről és a futó processzekről könnyen kaphatunk információt. Rendszerinformációkat megjelenítő programok innen is dolgoznak.

/root

A rendszeradminisztrátor saját (home) könyvtára, de még sem a /home könyvtárban helyezkedik el. Célszerű ugyanis a rendszer gyökérkönyvtárát tartalmazó rendszerpartíción létrehozni. Ha valami oknál fogva az egyéb partíciók csatolása nem lehetséges, abban az esetben is be tudjon jelentkezni a root felhasználó.

/sbin

A rendszer betöltéséhez és az adminisztrációs feladatok elvégzéséhez szükséges programok foglalnak helyet itt, csak a root felhasználó számára érhetőek el az itt elhelyezkedő programok.

/sys

A procfs-hez hasonló sysfs felcsatolásának célkönyvtára. A 2.6.x-es kernel megjelenésével a /proc már nagyon zsúfolttá vált, így megalkották az új “rendszer fájlrendszer”, amiben megtalálhatóak a rendszerinformációk elhagyva a processz-információkat, így egy szellősebb, könnyebben áttekinthető könyvtárstruktúrát kaptunk.

/tmp

A legtöbb program itt tárolja az ideiglenes fájljait, valamint a rendszer felhasználói is ide dolgozhatnak. A könyvtáron belül bárki írhat/olvashat fájlokat/könyvtárakat, de csak a saját fájlját és könyvtárát törölheti. Általában rendszerindulásakor a /tmp könyvtár tartalma törlődik, de nem mindegyik disztribúció tarja fontosnak ezt. A Debian üríti a /var/lock és a /var/run könyvtár tartalmával egyetemben.

/usr

A rendszer működéséhez közvetlenül nem szükséges programok és állományok helyezkednek el itt.

/var

A rendszer során változó fájloknak otthont adó könyvtár.

És itt még nem ér véget, de a könnyebb emészthetőség miatt több részre vágtam. A folytatásban részletesebben meglessük a /dev, a /usr és a /var könyvtárak tartalmát.