Hijerarhija datotečnog sustava

Izvor: HrOpenWiki
Inačica od 03:30, 17. veljače 2009. koju je unio/unijela 4ndY (razgovor | doprinosi)

Skoči na: orijentacija, traži

Linux je naslijedio hijerarhiju (strukturu) datotečnog sustava od Unixa iako ne potpuno dosljedno (ovisi od distribucije do distribucije).

Ideja sortiranja datoteka

Prije nego krenemo dobro je imati u glavi:

  • datoteka (eng. file) je neki podatak ili program, ukratko - nositelj sadržaja;
  • direktorij ili mapa (eng. folder) je ladica koja objedinjuje datoteke, ali samostalno ne predstavlja nikakav sadržaj.

I to je osnovna zamisao svega: imamo datoteke koje treba rasporediti po direktorijima radi lakšeg snalaženja, ali i efikasnijeg funkcioniranja sustava.

Razlikujemo dva logička pristupa rasporedu podataka:

  1. samo dostatna pakiranja u kojima na jedno mjesto stavljamo jedan program i sve njegove popratne datoteke, biblioteke i pomoćne programe;
  2. pakiranja datoteka po svrsi i tipu u kojima se jedan tip datoteka nalazi unutar jednog paketa makar ih koriste različiti programi (npr. biblioteke svih programa se nalaze unutar paketa biblioteke).

Prednost prvog pristupa je u tome da imamo funkcionalno sve na jednom mjestu (kao da držimo sve za popravljati kosilicu na jedno mjestu - odmah vidimo čime raspolažemo), no nedostatak je u tome što imamo puno duplikata (ključ 15 i čekić za popravljat kosilicu u jednoj ladici i isti takav ključ i čekić za popravljat motornu pilu u drugoj ladici). U računalu se taj nedostatak manifestira kao trošenje diskovnog prostora.

Prednost drugog pristupa je u tome da je puno efikasniji na prostoru (ako postoji negdje ključ 15, onda ćemo ga koristiti za koju god nam namjenu treba i on će uvijek stajati u ladici za ključeve), međutim stvari treba tada tražiti što je i glavni nedostatak. Međutim, računalo puno lakše traži nego mi... tako da drugi pristup računalu i ne predstavlja neki problem kao čovjeku.

Dakako, osim nabrojanih svaki pristup ima i drugih prednosti i nedostataka (no njih nećemo navoditi jer se to tiče direktno funkcioniranja računala). Kako uvijek u takvim situacijama biva, uglavnom se koristi miješani pristup koji uzima najbolje od oba, ali uz pokoju manu. Teško je reći koji je pristup generalno bolji, jer sve ovisi o situaciji i namjeni.

Windows platforma više naginje prvom pristupu: većina programa se standardno nalazi u svojim direktorijima unutar direktorija Program Files, a jedino se biblioteke stavljaju na zajedničkom mjesto (dll datoteke). Unix sustavi imaju drugačiju filozofiju. Unix se sastoji od puno malih alata koji rade zajedno da bi napravili određeni zadatak i tako se programi međusobno koriste, a da bi se lakše našli svi se nalaze na jednom ili samo par mjesta. Također biblioteke imaju svoje zajedničko mjesto, pa ako neki program treba neku biblioteku ide tražiti među biblioteke, a ne po cijelom sustavu.

Hijerarhija datoteka u Linuxu

Hijerarhija (raspored datoteka po direktorijima) na Linuxu je više-manje standardizirana i možemo je ilustrirati pomoću drveta koje se grana od debla prema krošnji.

Deblo u ovom slučaju je tzv. korijenski (eng. root) direktorij (oznaka /). On je prvi i ne nalazi se ni u jednom drugom direktoriju.


Što ako se nešto nađe na krivom mjestu?

Standard postoji da bi svi imali na kraju koristi od toga. Međutim, neki autori aplikacija misle da znaju bolje i izmišljaju toplu vodu ili se jednostavno ne drže standarda jer ga ne znaju ili su lijeni. To se često može vidjeti kod na Windows platformi: iako je Microsoft namijenio Program Files za sve korisničke programe, mnogi programi se instaliraju drugdje (ili daju korisniku da ih instalira na neko svoje mjesto), a biblioteke i poprate datoteke razbacaju još koje kuda po sustavu. To je dakako loše, jer ubrzo nastaje takav nered u sustavu da se više nitko ne može snaći. Microsoft je tu samo kriv što ne provodi strože ta pravila koja je propisao.

U Linuxu, ako se neka datoteka nalazi na krivom mjestu (tamo gdje ne bi trebala, tj. ne po pravilima te Linux distribucije) onda je greška (bug) i treba je prijaviti. Drugi Unix kompatibilni sustavi često kritiziraju Linux što se sam ne drži originalnog Unix standarda.

Poveznice i reference