Razlika između inačica stranice Hijerarhija datotečnog sustava

Izvor: HrOpenWiki
Skoči na: orijentacija, traži
m (Što ako se nešto nađe na krivom mjestu?)
m (Pregled osnovnih direktorija)
Redak 29: Redak 29:
 
Deblo u ovom slučaju je tzv. korijenski (eng. ''root'') direktorij (oznaka /). On je prvi i ne nalazi se ni u jednom drugom direktoriju. Svi ostali direktoriji i sadržaji se nalaze unutar njega (grane tog drveta).
 
Deblo u ovom slučaju je tzv. korijenski (eng. ''root'') direktorij (oznaka /). On je prvi i ne nalazi se ni u jednom drugom direktoriju. Svi ostali direktoriji i sadržaji se nalaze unutar njega (grane tog drveta).
  
Izgled i značenja pojedinih direktorija u stablu predočena su u ovoj tabeli:
+
Izgled i značenja pojedinih direktorija u stablu predočena su u ovoj tabeli (neki su pod-direktoriji navedeni samo kao primjer, iako za korisnika nemaju veliku važnost):
  
 
{| class="wikitable" style="vertical-align: top; width: 100%" summary="Opis hijerarhije prema FHS-u."
 
{| class="wikitable" style="vertical-align: top; width: 100%" summary="Opis hijerarhije prema FHS-u."
Redak 37: Redak 37:
 
|-
 
|-
 
|<span style="color: #039">/</span>
 
|<span style="color: #039">/</span>
|<span style="color: #06F">''Primarna hijerarhija''</span> root direktorij od cijelokupne hijerarhije sistema.
+
|<span style="color: #06F">''Primarna hijerarhija''</span> root direktorij od cijelokupne hijerarhije sistema, početak.
 
|-
 
|-
 
|<span style="color: #06F">/bin/</span>
 
|<span style="color: #06F">/bin/</span>
|Datoeke bitnih naredbi na nivou ''Single user moda'', za sve korisnike (npr. cat, ls, cp).
+
|Izvršne datoteke bitnih naredbi na nivou tzv. ''Single user moda'', naredbe za sve korisnike (npr. [[cat]], [[ls]], [[cp]]).
 
|-
 
|-
 
|/boot/
 
|/boot/
|[[Boot loader]] datoteke (npr. kernel, GRUB datoteke).Često na posebnoj particiji.
+
|Datoteke potrebne za pokretanje sustava (npr. kernel, GRUB datoteke). Često i na zasebnoj particiji.
 
|-
 
|-
 
|/dev/
 
|/dev/
|Specijalne datoteke uređaja).
+
|Datoteke koje predstavljaju same fizičke ili virtualne uređaje (npr. diskovi, USB i drugi portovi).
 
|-
 
|-
 
|/etc/
 
|/etc/
|Konfiguracijske datoteke sistema
+
|Konfiguracijske datoteke sustava koje vrijede za cijeli sustav (ali ne i za korisničke programe i postavke koje su spremljene u korisničkom direktoriju ''/home/ime/'')
 
|-
 
|-
 
|
 
|
 
:/etc/opt/
 
:/etc/opt/
|Konfiguracijske datoteke za /opt/.
+
|Konfiguracijske datoteke za programe koji se nalaze u direktoriju /opt/.
 
|-
 
|-
 
|
 
|
 
:/etc/X11/
 
:/etc/X11/
|Konfiguracijske datoteke za [[X Window System]].
+
|Konfiguracijske datoteke za [[X Window System]], tzv. grafički podsustav u kojem se izvršavaju grafička okruženja kao [[KDE]] ili [[Gnome]].
 
|-
 
|-
 
|
 
|
Redak 68: Redak 68:
 
|-
 
|-
 
|/home/
 
|/home/
|Korisnički [[home direktorij|home direktoriji]] - sadrže korisničke privatne podatke i podešenja. Često na posebnoj particiji.
+
|Korisnički [[home direktorij|home direktoriji]] (još i ''Osobna mapa'') - sadrže korisničke privatne podatke i postavke. Često (i preporučeno) na posebnoj particiji, odvojenoj od sustava.
 
|-
 
|-
 
|<span style="color: #06F">/lib/</span>
 
|<span style="color: #06F">/lib/</span>
|Bitne biblioteke za programe iz /bin/ i /sbin/.
+
|Bitne biblioteke za programe iz direktorija ''/bin/'' i ''/sbin/''.
 
|-
 
|-
 
|/media/
 
|/media/
|Točke montiranja za izmjenjljive medije kao npr. CD-ROM (od  FHS-2.3).
+
|Mjesto/točka za [[Mount|montiranje]] za izmjenjivih medija kao npr. CD-ROM ili USB memorija (od  FHS-2.3).
 
|-
 
|-
 
|/mnt/
 
|/mnt/
|Privremeno [[Mount|montirani]] [[Datotečni sustav|datotečni sustavi]].
+
|Privremeno [[Mount|montirani]] [[Datotečni sustav|datotečni sustavi]]. Nisu nužni za funkcioniranje sustava.
 
|-
 
|-
 
|/opt/
 
|/opt/
|Neobavezni aplikacijski paketi.
+
|Neobavezni, dodatni aplikacijski paketi i programi.
 
|-
 
|-
 
|/proc/
 
|/proc/
|Virtualni datotečni sustav za prikaz rada kernela i procesa u obliku tekstualnih datoteka
+
|Virtualni datotečni sustav za prikaz rada kernela i procesa u obliku tekstualnih i sličnih datoteka.
 
|-
 
|-
 
|/root/
 
|/root/
|[[Home direktorij]] od root korisnika.
+
|[[Home direktorij]] od root korisnika. U pravilu se nalazi na istoj particiji gdje i cijeli sustav (sadržaj root direktorija).
 
|-
 
|-
 
|<span style="color: #06F">/sbin/</span>
 
|<span style="color: #06F">/sbin/</span>
|Bitni sistemski programi (npr., init, route, ifconfig...).
+
|Bitni sistemski programi (npr., init, route, ifconfig, ...).
 
|-
 
|-
 
|/srv/
 
|/srv/
|Specifični podaci posluženi od strane sistema..
+
|Specifični podaci posluženi od strane sistema...
 
|-
 
|-
 
|/tmp/
 
|/tmp/
|Privremeni podaci, koji obično ne opstaju nakon reboota računala.
+
|Privremeni podaci, koji se obično ne čuvaju nakon ponovnog pokretanja računala.
 
|-
 
|-
 
|<span style="color: #090">/usr/</span>
 
|<span style="color: #090">/usr/</span>
Redak 103: Redak 103:
 
|
 
|
 
:<span style="color: #090">/usr/bin/</span>
 
:<span style="color: #090">/usr/bin/</span>
|Manje bitne naredbe (nepotrebne u ''Single user modu''); za sve korisnike.
+
|Manje bitne izvršne datoteke programa i naredbe (nepotrebne u tzv. ''Single user modu''); namijenjeno za sve korisnike.
 
|-
 
|-
 
|
 
|
 
:<span style="color: #090">/usr/include/</span>
 
:<span style="color: #090">/usr/include/</span>
|Standardne ''include'' datoteke .
+
|Standardne ''include'' datoteke.
 
|-
 
|-
 
|
 
|
 
:<span style="color: #090">/usr/lib/</span>
 
:<span style="color: #090">/usr/lib/</span>
|Biblioteke od programa u /usr/bin/ i /usr/sbin/.  
+
|Biblioteke od programa u ''/usr/bin/'' i ''/usr/sbin/''.  
 
|-
 
|-
 
|
 
|
 
:<span style="color: #090">/usr/sbin/</span>
 
:<span style="color: #090">/usr/sbin/</span>
|Manje bitne sistemske datoteke (npr. [[Daemon|daemoni]]za različite servise.
+
|Manje bitne sistemske datoteke (npr. [[Daemon|daemoni]] za različite servise).
 
|-
 
|-
 
|
 
|
 
:<span style="color: #090">/usr/share/</span>
 
:<span style="color: #090">/usr/share/</span>
|Arhitekturno-neovisne (dijeljene) datoteke.
+
|Datoteke koje su neovisne o arhitekturi (dijeljene datoteke), npr. slike/ikone ili dokumentacija.
 
|-
 
|-
 
|
 
|

Inačica od 09:14, 25. studenoga 2010.

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.

Kako rasporediti alat?

Razlikujemo dva logička pristupa rasporedu podataka:

  1. samodostatna 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 direktorija 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 servis kosilice u jednoj ladici i isti takav ključ i čekić za servisiranje motorne pile 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), ali stvari tada treba 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.

Pregled osnovnih direktorija

Deblo u ovom slučaju je tzv. korijenski (eng. root) direktorij (oznaka /). On je prvi i ne nalazi se ni u jednom drugom direktoriju. Svi ostali direktoriji i sadržaji se nalaze unutar njega (grane tog drveta).

Izgled i značenja pojedinih direktorija u stablu predočena su u ovoj tabeli (neki su pod-direktoriji navedeni samo kao primjer, iako za korisnika nemaju veliku važnost):

Direktorij Opis
/ Primarna hijerarhija root direktorij od cijelokupne hijerarhije sistema, početak.
/bin/ Izvršne datoteke bitnih naredbi na nivou tzv. Single user moda, naredbe za sve korisnike (npr. cat, ls, cp).
/boot/ Datoteke potrebne za pokretanje sustava (npr. kernel, GRUB datoteke). Često i na zasebnoj particiji.
/dev/ Datoteke koje predstavljaju same fizičke ili virtualne uređaje (npr. diskovi, USB i drugi portovi).
/etc/ Konfiguracijske datoteke sustava koje vrijede za cijeli sustav (ali ne i za korisničke programe i postavke koje su spremljene u korisničkom direktoriju /home/ime/)
/etc/opt/
Konfiguracijske datoteke za programe koji se nalaze u direktoriju /opt/.
/etc/X11/
Konfiguracijske datoteke za X Window System, tzv. grafički podsustav u kojem se izvršavaju grafička okruženja kao KDE ili Gnome.
/etc/sgml/
Konfiguracijske datoteke za SGML.
/etc/xml/
Konfiguracijske datoteke za XML.
/home/ Korisnički home direktoriji (još i Osobna mapa) - sadrže korisničke privatne podatke i postavke. Često (i preporučeno) na posebnoj particiji, odvojenoj od sustava.
/lib/ Bitne biblioteke za programe iz direktorija /bin/ i /sbin/.
/media/ Mjesto/točka za montiranje za izmjenjivih medija kao npr. CD-ROM ili USB memorija (od FHS-2.3).
/mnt/ Privremeno montirani datotečni sustavi. Nisu nužni za funkcioniranje sustava.
/opt/ Neobavezni, dodatni aplikacijski paketi i programi.
/proc/ Virtualni datotečni sustav za prikaz rada kernela i procesa u obliku tekstualnih i sličnih datoteka.
/root/ Home direktorij od root korisnika. U pravilu se nalazi na istoj particiji gdje i cijeli sustav (sadržaj root direktorija).
/sbin/ Bitni sistemski programi (npr., init, route, ifconfig, ...).
/srv/ Specifični podaci posluženi od strane sistema...
/tmp/ Privremeni podaci, koji se obično ne čuvaju nakon ponovnog pokretanja računala.
/usr/ Sekundarna hijerarhija za korisničke podatke; sadrži glavninu više korisničkih alata i aplikacija.
/usr/bin/
Manje bitne izvršne datoteke programa i naredbe (nepotrebne u tzv. Single user modu); namijenjeno za sve korisnike.
/usr/include/
Standardne include datoteke.
/usr/lib/
Biblioteke od programa u /usr/bin/ i /usr/sbin/.
/usr/sbin/
Manje bitne sistemske datoteke (npr. daemoni za različite servise).
/usr/share/
Datoteke koje su neovisne o arhitekturi (dijeljene datoteke), npr. slike/ikone ili dokumentacija.
/usr/src/
Datoteke izvornog koda (npr. kernelov izvorni kod).
/usr/X11R6/
X Window System, Verzija 11, izdanje 6.
/usr/local/
Tercijalna hijerarhija za lokalne podatke. Strogo prema standardu, /usr/local/ služi za podatke koji moraju biti pohranjeni na lokalnom računalu (suprotno od /usr/, koji mogu biti montirani preko mreže.
/var/ Promjenjljive datoteke kao što su log-ovi, spool-ovi isl.
/var/lib/
Podaci koji se mijenjaju pripadajućim programima (npr. baze podataka).
/var/lock/
Zaključane datoteke. Datoteke koje drže tragove o programima koji se izvršavaju.
/var/log/
Log datoteke.
/var/mail/
Korisnički e-mail sandučići.
/var/run/
Informacije o sistemu od zadnjeg pokretanja.
/var/spool/
Spool za zadatke koji trebaju tek biti učinjeni.
/var/tmp/
Privremene datoteke koje trebaju preživjeti reboot računala.

Dodatni (nestandardni) direktoriji

Neke preporuke

Š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 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.

Zaključak

Ako neki program nudi određenu funkcionalnost i to radi dobro, onda ga je logično iskoristiti u svom programu, a ne razvijati vlastito rješenje. Međutim, ako ne mogu svi korisnici imati pristup tom pomoćnom programu ili ako postoji mogućnost da se taj pomoćni program prestane razvijati onda ga i nije logično koristiti. No Linux je projekt iz domene slobodnog softvera i kao takav ti nedostaci nestaju (u jednoj mjeri): svi programi su pod slobodnim licencama i može ih koristiti svako (čak su mogući automatski sustavi koji dobavljaju te programe iz zajedničkih repozitorija, pogledaj upravitelji paketima) te je moguće preuzeti izvorni kod i nastaviti razvijati program za svoje potrebe ukoliko originalni projekt stane s razvojem ili krene drugim pravcem (tako ne postoji negativna strana ovisnosti o drugima). Kad su stvari tako posložene, onda je jasno zašto je Linux sustav u kojem više programa radi zajedno da bi izvršilo neki zadatak. Shodno tome, Linuxu više odgovara pristup razvrstavanja datoteka po tipu, nego u samodostatne cjeline pa takav pristup (hijerarhiju) i koristi.

Linuxova hijerarhija datotečnog sustava vjerojatno nije jednostavna ni intuitivna početnicima, ali za sad dobro radi. Vjerojatno ima načina da se ta struktura poboljša (npr. da se koriste duža imena), ali bi se tada pokidala kompatibilnost s Unixom, što se za sada ne planira, iako ima distribucija koje su krenule tim putem, npr. GoboLinux. No onome tko se želi malo bolje upoznati s Linux sustavom upoznavanje ove hijerarhije ne bi trebao predstavljati problem, a omogućit će mu bolje snalaženje unutar samog sustava i otkriti da iza te strukture stoje zapravo dobri razlozi.

Poveznice i reference