1. Osnove  |  2. Elementi DRS  |  3. DRS  |  4. Windows  |  5. Unix  |  6. Programiranje  |  7. Informatika u praksi  |  8. Rječnik  |  9. Prilozi  |  10. Literatura  |  11. Spone  |  12. Indeks

5.1.3. Struktura datotečnog sustava; root, boot, bin, lib, sbin, dev  NATRAG  DALJE  POČETAK


Datoteke, imenici i uređaji Linuks OS smješteni su u jedan JEDINSTVENI datotečni sustav (već je navedeno, sve je datoteka), što znači da je sve ukomponirano u jednu veliku hijerarhijsku strukturu u kojoj se uređaji kao takvi ne vide posebno, kao što je slučaj kod Windows OS. Na primjer Linux ima datoteku xorg.conf koja se u odnosu na vrh-korijen (root) stabla datotečne strukture označene s [ / ], nalazi u imeniku [etc] pridruženom vrhu strukture, u kojem je podimenik [X11], ili pojednostavljeno datoteka [/etc/X11/xorg.conf]. Nigdje se ne navodi nekakav disk kao što bi kod Windows XP operativnog sustava bilo na primjer [C:\WINDOWS\system32\oeminfo.ini] gdje se vidi pripadnost particiji [C:]. Dakle, za učinkovitu šetnju kroz krošnju Linux stabla treba ga poznavati. Stukturu Linux datotečnog sustava prikazuje naredna slika. Slika je mapirana i svaki pravokutnik je spojnica prema odgovarajućem opisu. Isto vrijedi i za pojedine pravokutnike pripadne opisima za povratak na ovu sliku.


 Stablo
Slika 5.1.8 Datotečna struktura Linux operativnog sustava

Većina Linux distribucija u načelu se drži prikazane strukture, koja je definirana neslužbenim standardom 'Linux File System Hierarchy Standard' (FSSTDN) koji definira imena i lokaciju mnoštva imenika i datoteka i nalazi se negdje na Internetu (Google?). Pojedini pravokutnici na slici ujedno su spojnice prema sadržajima koji ih opisuju. Prilikom kreiranja imenika dobro bi bilo da su [/bin], [/lib] i [/sbin] na istoj particiji, a preporuka je da su na toj particiji i [/root] i [/etc]. Kompletnu strukturu datotečnog sustava, odnosno popis imenika i datoteka i njihova lokacija u strukturi, čuva se u bazi podataka u imeniku [/var/cache/locate/], koja se osvježava komandom ' updatedb '. Osvježavanje ove baze dobro je napraviti nakon svake nadogradnje sustava, a glede redovitog praćenja zbivanja dobro je ovu komandu postaviti u konfiguraciju koja se brine o tome da se komande izvršavaju periodički prema postavljenim vremenskim kriterijima (cron jobs). Samo ROOT ima pravo uporabe ove komande.

Datotečni sustavi koje podržava Linux su 'jurnaling' tipa (FAT na primjer nije) što znači da imaju mogućnost samooporavka u slučaju naglog isključenja računala (nema UPS?), jer su sve datoteke indeksirane (popisane) u JURNALU, zapisi na posebnom dijelu diska u kojem se bilježe promjene prema potrebi, a potom se upisuje u datoteke čime se sprječava gubitak podataka i oštećenje samog datotečnog sustava. Otpornost na greške povećava i SUPERBLOCK, odnosno njegove kopije na više mjesta (redundantni blokovi) na disku. On sadrži podatke o datotečnom sustavu u cjelini, od njegove veličine pa do podatka gdje počinje svaki imenik pa nadalje (slično FAT tablici) za svaki datotečni sustav (particiju) posebno.

 root Na svim slikama 5.1.2 prikazano je što se po komandi ' ls -al ' vidi u korijenskom imeniku operativnog sustava i imenicima koji se trenutno pregledavaju. Kao što je već navedeno, particija diska kao element sustava neće se u datotečnoj strukturi prikazati. U samom vrhu svakog imenika vide se dvije specijalne datoteke ' . ' i ' .. ' (slično DOS operativnom sustavu) koje imaju zadaću:

Prava ovih dviju datoteka uvijek su ' drwxr-xr-x ', što znači da imaju osobitosti imenika i omogućavaju 'kretanje' kroz datotečni sustav kao nekakav putokaz.

 root Oznaka korijenskog imenika, odnosno vrha-ishodišta hijerarhijske strukture datotečnog sustava za koji se povezuju svi ostali imenici ili datoteke sustava bilo da pripadaju istoj particiji na kojoj je ishodište datotečnog sustava [ / ] (ili oznaka [ Linux / ] prema slici 5.1 i 5.1.7) ili nekoj drugoj koja je za ishodište zakačena (mount). Pošto je ovo mjesto koje jezgra prvo dohvaća u njemu gotovo da nema datoteka. Tu su uz imenike samo potrebne simboličke spojnice te sve zajedno ne tvori neku značajnu veličinu glede zauzeća prostora diska. Znak ' .. ' na ovom mjestu nema značaja, ali znak ' . ' ima, zato jer označava da je OVDJE na primjer moguće nešto kopirati. Izravan prelazak na nivo ishodišta s bilo kojeg mjesta vrši se komandom ' cd / '.

 root-dir Imenik koji nije ništa drugo do mjesto gdje se čuvaju konfiguracijske datoteke supervizora. Odnosno to je 'home' imenik supervizora, što se može prepoznati i iz elemenata od kojih je sastavljen PROMPT - voda:~#. Pošto ovaj imenik ne uzima mnogo podataka i mora biti stalno raspoloživ supervizoru, ne montira se na posebnoj particiji ili neko drugo mjesto već uz sam korijen stabla datotečne strukture. Pošto podaci supervizora ne zauzimaju mnogo mjesta [ Linux / ] particija ne zahtijeva mnogo prostora, svega nekoliko stotina MB. Ako će u ovom imeniku biti nekakav poštanski sandučić moguće će zatrebati malo više prostora. Uz moderne diskove 1GB za korijensku particiju je više nego dosta.

 boot Imenik koji nužno ne mora biti na zasebnoj particiji kao prema slici 5.1, ali je u ovom primjeru tako prikazano jer poneke distribucije Linuxa upravo takvu strukturu zahtijevaju. U ovom imeniku nalazi se BOOT_LOADER i njegove konfiguracijske datoteke, imenik GRUB ili LILO ovisno o tome koji se LOADER koristi s pripadnim im sadržajima te preslike jezgre (kernel images) s imenima datoteka koje započinju s prefiksom initrd*, a koje mogu imati i ekstenziju .img mada nije nužno. Tu se čuvaju i pripadne im konfiguracijske datoteke. Pošto preslike jezgre ne zauzimaju mnogo diskovnog prostora ova particija ne zahtijeva mnogo mjesta, svega nekoliko stotina MB. Uz moderne diskove 1GB je više nego dosta, te se može bez bojazni čuvati više verzija preslika jezgre operativnog sustava.

 bin Ovaj imenik sadrži binarne izvršive datoteke raspoložive SVIM korisnicima koji su prijavljeni na sustav. To znači da na sustavu moraju imati izrađen-otvoren KORISNIČKI_RAČUN (account). Komande su ključne riječi koje se koriste prema već navedenoj sintaksi i operativnom sustavu prenosi ih KOMANDNI INTERPRETER - LJUSKA (shell). Kod Debiana podrazumna ljuska je BASH i ona je također komanda prilično velikih mogućnosti. Ako je BASH komanda znači da se može pozvati na izvršavanje. Tada se u postojećoj ljusci otvara nova radna ljuska. Dok se radi u novoj ljusci inicijalna miruje. Tako se može ići iz ljuske u ljusku i ako su instalirani drugi tipovi ljuske mogu se na navedeni način uporabiti. Osim komandi u ovom imeniku je i mali broj simboličkih spojnica prema imeniku [/sbin] koji također sadrži velik broj komandi ali prvenstveno namijenjene za potrebe administratora. Sve datoteke u ovom imeniku imaju prava ' -rwxr-xr-x ', a simboličke spojnice imaju prava ' lrwxrwxrwx '. Dakle, samo administrator neku komandu može zamijeniti s nekom njenom novom verzijom ili joj promijeniti ime (opcija 'w'). Imenik sadrži stotinjak datoteka i u osnovi nema podčinjenih imenika. Tu se ne nalaze datoteke pojedinih servisa, već osnovno da korisnik može izraditi imenik, kopirati datoteku i slično.

voda:~> dir /bin
afio          cpio           kill            pdksh      tcsh
arch          csh            ksh             pidof      tempfile
bash          date           ln              ping       touch
bsd-csh       dd             loadkeys        ping6      true
bunzip2       df             login           ps         umount
bzcat         dir            ls              pwd        uname
bzcmp         dmesg          lsmod           rbash      uncompress
bzdiff        dnsdomainname  lsmod.modutils  readlink   vdir
bzegrep       echo           lspci           rm         which
bzexe         ed             mkdir           rmdir      zcat
bzfgrep       egrep          mknod           run-parts  zcmp
bzgrep        false          mktemp          rzsh       zdiff
bzip2         fgconsole      more            sed        zegrep
bzip2recover  fgrep          mount           setpci     zfgrep
bzless        fuser          mountpoint      setserial  zforce
bzmore        grep           mt              sh         zgrep
cat           gunzip         mt-gnu          sleep      zless
chgrp         gzexe          mv              stty       zmore
chmod         gzip           nc              su         znew
chown         hostname       netcat          sync       zsh
cp            kernelversion  netstat         tar        zsh4
voda:~> 
voda:~> ls -al | grep lrwx
lrwxrwxrwx  1 root root     21 Jun  6  2005 csh -> /etc/alternatives/csh
lrwxrwxrwx  1 root root     20 Jun  6  2005 lsmod.modutils -> /sbin/lsmod.modutils
lrwxrwxrwx  1 root root     14 May  8 01:54 lspci -> /usr/bin/lspci
     :
lrwxrwxrwx  1 root root      4 May  8 01:53 sh -> bash
     :
voda:~>

Komandna linija ' ls -al | grep lrwx ' primjer je ulančavanja komandi koji kaže da se iz cjelokupnog popisa izdvoje i prikažu samo spojnice. U ovom imeniku nema ni čestitog uređivača datoteka, već samo jedan rudimenti linijski tekstualno orijentirani editor 'ED'.

 lib Biblioteke su neizostavni dio svakog operativnog sustava. To je skup programskih rutina (objekata) koje služe prilikom kreiranja programske potpore ili ih programska potpora koristi u radu kako bi mogla izvršiti postavljenu joj zadaću. Ove rutine nalaze se u imeniku [/lib] u kojem su dodatni imenici s pripadnim im datotekama, a osobitost svih datoteka je što uglavnom počinju s prefiksom lib* u imenu i imaju ekstenziju .so ili .a. Dijele se na:

Kod Windows operativnih sustava .so datoteke imaju ekvivalent u .dll datotekama. U ovom imeniku su dinamički raspoložive datoteke .so tipa jer po svojoj funkciji više pripada potrebama 'običnog' korisnika te se zbog lakšeg dohvata od strane programske potpore imenik s ovim datotekama nalazi u korijenskom imeniku sustava u na istoj je particiji kao imenik [/bin].

 sbin U ovom imeniku nalaze se tipični alati (programska potpora) potrebni administratoru, koje običan korisnik ne može uporabiti. Na primjer komanda ' init ', s kojom je moguće promijeniti nivo uporabljivosti računala.

voda:~>
voda:/sbin> whoami
drago
voda:/sbin>
voda:~> cd /sbin
voda:/sbin>
voda:/sbin> ls -al | grep init
-rwxr-xr-x  1 root root  32652 Jan 30  2007 init
lrwxrwxrwx  1 root root      4 May  8 01:54 telinit -> init
voda:/sbin>

Simbolička veza ' telinit ' u primjeru vodi na ' init ' datoteku u istom imeniku izrađena je da bi se sačuvao već od prije uvriježen naziv ili na njega ide veza s nekog drugog mjesta koje ne zna za komandu ' init ' ali zna za komandu ' telinit ' koja mu teba. Prema primjeru moglo bi se zaključiti do običan korisnik, koji se utvrđuje izgledom PROMPT-a ili komandom ' whoami ' koja ispisuje njegovo ime, ima prava pozvati ove datoteke na izvršavanje (-rwxr-xr-x). Nema, jer korisniku ROOT nije pridružen niti jedan drugi korisnik u grupi a ono što smije ROOT ne smije nitko. Dakle, prava ne ovise samo zapisu u prvom stupcu. Osim navedenog i raspoloživi put prema imenicima je različit za korisnika i administratora.

path    (/bin /usr/bin /usr/local/bin /usr/bin/X11 /usr/games)

path    (/bin /sbin /usr/bin /usr/sbin /usr/bin/X11 /usr/local/bin /usr/local/sbin)

Dakle, običan korisnik može izvršiti samo pregled sadržaja ovog imenika i ništa drugo. Sadržaj mu je prema narednom primjeru pročitan od strane običnog korisnika.

voda:/sbin> dir
MAKEDEV          ifdown                 lilo.real           reboot
activate         ifup                   logsave             reiserfsck
badblocks        init                   losetup             reiserfstune
blkid            insmod                 lsmod               resize2fs
     :
voda:/sbin> 

Već je rečeno da na dio ovih datoteka idu izravne simboličke veze iz imenika [/bin] i samo njih može uporabiti običan korisnik. Običan korisnik ne može uporabiti komandu ' init 6 ' na primjer, koja bi inicirala zaustavljanje rada računala i njegovo ponovno pokretanje bez fizičkog gašenja.

 dev Ovdje su smještene specijalne datoteke koje predstavljaju sklopovlje računala na kojem je instaliran ovaj operativni sustav. Upisivanjem u ovu datoteku ili njenim čitanjem izravno se kontaktira odgovarajući sklop računala, te zbog toga potpuna prava na ove uređaje ostvaruje uglavnom administrator. U slučaju potrebe uređaj se može kreirati pomoću skripte MAKEDEV.

root@voda [/dev] >ls -alh | more
total 89K
drwxr-xr-x 13 root root         24K Jun  9 11:46 .
drwxr-xr-x 22 root root        1.0K Jun 20 12:26 ..
lrwxrwxrwx  1 root root          13 Jun  6  2005 MAKEDEV -> /sbin/MAKEDEV
     :
crw-------  1 root root     10,   4 Dec 13  2003 amigamouse
     :
crw-rw----  1 root audio    14,   4 Dec 13  2003 audio
     :
brw-rw----  1 root disk      3,   0 Dec 13  2003 hda
brw-rw----  1 root disk      3,   1 Dec 13  2003 hda1
     :
brw-rw----  1 root disk      3,  64 Dec 13  2003 hdb
brw-rw----  1 root disk      3,  65 Dec 13  2003 hdb1
     :
crw-rw-rw-  1 root root      1,   3 May  8 01:56 null
     :
brw-rw----  1 root disk      1,   0 May  8 01:56 ram0
brw-rw----  1 root disk      1,   1 May  8 01:56 ram1
     :
crw-------  1 root root     10,   8 Dec 13  2003 smouse
     :
crw-rw-rw-  1 root tty       5,   0 May  8 01:56 tty
crw-------  1 root tty       4,   0 May  8 01:56 tty0
crw-------  1 root root      4,   1 Jun  9 11:46 tty1
     :
drwxr-xr-x  2 root root        1.0K Dec 12  2003 usb
     :
root@voda [/dev] >

Prema prikazanom primjeru prvo slovo u pravima datoteke može imati slijedeće oznake.

Imenici u sebi sadrže uređaje koji pripadaju jednoj od navedenih grupa. Navedeni uređaji u sebi sadrže glavni i sporedni identifikacijski broj temeljem kojeg se dohvaća upravljački programa uređaja u jezgri. Dakle, sve u ovom imeniku je putokaz ka jezgri.


 NATRAG
 Tražila
 DALJE

root bin dev home mnt ROOT tmp var ostalo boot etc lib proc sbin usr lost u-bin u-lib u-sbin toc toc
 Početak
 KAZALO  Informatička abeceda