| 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 |
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.
|
| 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.
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.
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 / '.
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.
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.
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'.
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].
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.
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.