LAKI PINGVINI<>
072017<><>

Filesystem Hierarchy Standard

Gde se dede My Documents?

Sa pojavljivanjem minijaturnih i jeftinih računara klase Raspberry Pi, došlo je i naglog porasta broja korisnika Linuxa koji se nikada ranije nisu susreli sa njim. Iako je u pitanju kvalitetan i moćan operativni sistem, mnogi početnici imaju strah od njegovog korišćenja, pošto je u njihovim očima Linux dosta komplikovaniji za rad od Windowsa. Jedan od tipičnih problema sa kojima se sreću novi korisnici vezan je za strukturu fajl-sistema (sistema datoteka) i potrebno je da prođe dosta vremena dok se ne nauči gde se nalaze folderi (u žargonu, komandne linije – direktorijumi) koji su ekvivalenti foldera Users, Documents, Desktop, AppData, Program Files ili nekog drugog direktorijuma na koji smo navikli u Windowsu. Ovaj tekst je nastao s namerom da se neiskusnim korisnicima Linuxa olakša snalaženje u novom okruženju.

Mi ćemo za potrebe demonstracije koristiti Linux distribuciju Raspbian za računare Raspberry Pi, koja je bazirana na Debianu 8 (Jessie), što ne znači da napisano neće biti od koristi za korisnike drugih distribucija na drugim hardverskim platformama. Naprotiv, reč je o standardu koji se primenjuje na svim Linux sistemima, tako da je tekst univerzalnog karaktera.

/ je koren svega

Korenski (root) direktorijum kod UNIX-olikih sistema predstavlja apsolutni početak svega što se nalazi u okviru fajl-sistema. Za razliku od Windowsa, gde istovremeno može prisustvovati više diskova sa svojim fajl-sistemima, ovde ne postoji mogućnost označavanja diskova slovima, što je jedna od stvari koja na početku dosta zbunjuje korisnike Windowsa. Grubo govoreći, root direktorijum bismo, uslovno, mogli da nazovemo Linuxovim C diskom.

Pošto je svojevremeno bilo uobičajeno da razne distribucije imaju vlastite, specifične varijante fajl-sistema, došlo je do raslojavanja i nekompatibilnosti, pa je dogovoren i usvojen Filesystem Hierarchy Standard, kojim se regulišu nazivi datoteka. Po trenutno važećem FHS 3.0, korenski direktorijum poseduje sledeće poddirektorijume: bin, boot, dev, etc, home, lib, media, mnt, opt, proc, root, run, sbin, srv, sys, tmp, usr i var.

/bin

Naziv direktorijuma dolazi od reči binaries, a namenjen je čuvanju izvršnih fajlova dostupnih svim korisnicima sistema. Tu su mahom smeštene komande koje koristimo iz komandne linije, recimo, ls, cd, grep, mkdir, ping. Ekvivalent u Windowsu bi mogao da bude folder \Window\System32. Sličan njemu je direktorijum /sbin, koji obavlja isti posao, ali sadrži alate dostupne samo administratorima. Da bi korisnik koji nije administrator mogao da pristupi programima smeštenim ovde, potrebno je da koristi poznatu komandu sudo. Inače, naziv sbin dolazi od system binaries ili, po nekima, od super user binaries i sadrži programe kao što su komandni interpreter Bash, fdisk, ifconfig i reboot. Stvar ćemo još malo zakomplikovati uvođenjem direktorijuma /usr/bin i /usr/sbin, koje možemo posmatrati kao svojevrsni produžetak pomenutih lokacija.

/boot

Ovo je važan direktorijum koji sadrži datoteke neophodne za pokretanje operativnog sistema. U prvom redu, tu je kernel, a za Raspbian distribuciju je karakteristično da istovremeno postoje dva kernela, od kojih je jedan (kernel.img) namenjen računarima sa jednim jezgrom, a drugi (kernel7.img) za modele Raspberry Pi 2 i 3. Važi generalno pravilo da nije mudro dirati fajlove koji se nalaze u ovom direktorijumu, osim onih sa ekstenzijom .txt, od kojih je posebno zanimljiv config.txt, pošto sadrži mnoštvo opcija za podešavanje sistema. Ekvivalent je C:\Windows.

/dev

Naziv dolazi od reči devices i predstavlja mesto gde se nalazi spisak priključenih hardverskih uređaja, što se ne odnosi samo na spoljašnje, već i na unutrašnje i virtuelne komponente. Preko podataka smeštenih u ovom direktorijumu ostvaruje se veza sa kernelom. Zanimljiv je zbog toga što je u pitanju virtuelni tip direktorijuma koji praktično ne postoji u okviru fajl-sistema.

Svi uređaji se u Linuxu dele u dve grupe: na one koji šalju ili primaju nizove karaktera i one koji imaju mogućnost pristupa proizvoljnim podacima. U prvu grupu spadaju direktorijumi kao što su: /dev/autofs, /dev/console, /dev/crash, /dev/lp0, /dev/null, /dev/ppp, /dev/random i /dev/tty. Oni operišu sa podacima koji predstavljaju niz karaktera, kao što su podaci koje dobijamo preko tekst konzole, tastature, serijskog interfejsa ili modema. Sa druge strane, imamo direktorijume pod nazivima /dev/sda, /dev/sdb, /dev/dvd i /dev/dvd-rw, koji služe kao pristupna tačka hard-diskovima, optičkim i sličnim uređajima.

/etc

Ovo je mesto za čuvanje podešavanja koja su zajednička za sve korisnike sistema. Direktorijum ima funkciju sličnu onoj koju kod Windowsa ima lokacija Control Panel, preko koje se vrši podešavanje parametara sistema, samo što su umesto grafičkog interfejsa ovde u pitanju datoteke tekstualnog tipa.

Naziv je dobijen od reči etcetera (ostale stvari) i starije verzije Linuxa su ovde čuvale mnoštvo raznih fajlova. Međutim, usvajanjem FHS standarda, ovaj direktorijum je jasno određen za čuvanje konfiguracionih fajlova statičkog tipa, ali se u okviru njega nalaze i bash skripte koje imaju veliki broj namena. Postoji zaista mnogo važnih direktorijuma i fajlova u okviru ove stavke, tako da bi za njihov opis trebalo dosta prostora. Pomenućemo samo neke od njih. Direktorijum /etc/init.d/ sadrži skripte za kontrolu sistema, /etc/X11/ podešavanja vezana za grafički sistem X Windows, /etc/hostname precizira IP adrese hosta, /etc/modules sadrži spisak kernel modula koji se učitavaju za vreme podizanja sistema, a /etc/passwd čuva informacije o šiframa.

/home

Ovde se smeštaju podaci vezani za svakog pojedinačnog korisnika sistema. Ti podaci se uglavnom dele na dve glavne grupe. U prvoj su podaci vezani za prilagođavanje operativnog sistema i programa koji se koriste na sistemu. Drugu grupu čine raznorazni fajlovi koje ti korisnici upotrebljavaju u svom radu. To mogu biti tekstualni dokumenti, fotografije, video ili bilo šta drugo. Jedino korisnici sa ispravnom lozinkom imaju pristup tim fajlovima. Ekvivalent ovog direktorijuma za operativne sisteme Windows Vista i novije je c:\Users\ime_korisnika\.

/lib

Iz naziva se lako može zaključiti da je reč o direktorijumu za smeštanje programskih biblioteka. Još preciznije, ovde se nalaze fajlovi dinamičkih programskih biblioteka potrebnih za rad programa smeštenih u direktorijumima /bin i /sbin, kao i delovi kernela. Analogno ovome, biblioteke potrebne za funkcionisanje programa iz direktorijuma /usr/bin nalaze se na lokaciji /usr/lib. Delimični ekvivalent je C:\Windows i C:\Windows\System32.

/man

Ovo je direktorijum koji sadrži uputstvo (manual) za korišćenje naredbe GPIO, koja služi za rad sa istoimenim portom na računarima klase Raspberry Pi. Specifičan je za Raspbian i ne nalazi se u FHS.

/media

Ovde se prikazuju podaci o priključenim uređajima koji spadaju u „removable” kategoriju, kao što su flopi, fleš ili DVD optički drajvovi. Ukoliko, recimo, na računar priključimo DVD uređaj, ovde možemo videti njegov sadržaj.

/mnt

Mesto namenjeno priključivanju (mounting) privremenih diskova i fajl-sistema.

/opt

Skraćenica je od reči Optional. Najčešće ga koriste programi koji ne poštuju FHS standard i umesto na lokacije predviđene za određenu vrstu fajlova, podatke čuvaju unutar ovog direktorijuma. Analog C:\Users\Admin\Application Data.

/proc

Još jedan virtuelni direktorijum koji ne postoji u stvarnosti u okviru fajl-sistema, već biva kreiran od strane kernela u operativnoj memoriji. Glavna namena mu je da čuva informacije o sistemskim procesima. Brojevi u nazivima direktorijuma predstavljaju identifikacione brojeve procesa. Osim procesa, ovde možemo pronaći mnoštvo informacija o našem sistemu. U fajlu cpuinfo nalaze se svi najvažniji podaci o prisutnom mikroprocesoru. U fajlu pod nazivom devices je spisak svih aktivnih uređaja koje je kernel prepoznao i razvrstao u block i character kategorije. Verzija kernela i C kompajlera korišćenog za njegovo kreiranje zapisana je u fajlu version. Cmdline sadrži parametre komandne linije, net podatke o mrežnom podsistemu, a meminfo nam govori o zauzetosti memorijskih resursa.

/root

Za razliku od „običnih” korisnika koji svoje podatke čuvaju u okviru direktorijuma /home, administrator sistema pod nazivom root koristi ovaj folder u te svrhe. Ne treba ga mešati sa pojmom „/„ korenskog direktorijuma. Ekvivalent je C:\Users\Administrator.

/run

Ovo je relativno mlada stavka u spisku Linux direktorijuma, koja je uvedena u praksu pre pet ili šest godina, da bi služila kao skladište za privremene fajlove koji nastaju u toku rada sistema. Tu se nalaze stvari koje su se ranije mogle naći u okviru direktorijuma kao što su /var/run, /dev/.udev, /dev/.systemd ili /dev/.mount. Uvođenje ovog direktorijuma uticalo je na standardizaciju mesta čuvanja podataka korišćenih u ranoj fazi podizanja sistema, kao i pojednostavljivanje sintakse i lakše snalaženje korisnika i programera. On je delimični ekvivalent Windows foldera Startup.

/sbin

Pogledati objašnjenje za direktorijum /bin.

/srv

Skraćenica potiče od Server (neki kažu od Services), a ovaj direktorijum služi kao mesto za čuvanje podataka koji se upotrebljavaju za opsluživanje serverskih funkcija. Tipična primena se odnosi na smeštanje podataka koji će stajati na raspolaganju veb, FTP ili VCS serveru, ili pak čuvati fajlove deljene u okviru sistema Samba. Delimični ekvivalent je C:\Windows\System32 ili C:\Inetpub\Wwwroot

/sys

Nije teško pogoditi da sys dolazi od reči System, a namena direktorijuma je da čuva podatke o drajverima, hardverskim uređajima, kao i delove kernela. Možemo ga posmatrati kao svojevrsni interfejs prema kernelu. Pruža nam podatke o stanju hardvera. Funkcija mu je dosta slična direktorijumu /proc, a i ovde je reč o virtuelnom direktorijumu.

/tmp

I ovde nije teško pogoditi da je reč o direktorijumu za smeštanje privremenih (temporary) fajlova. Jedan od tipičnih primera upotrebe je raspakivanje arhiva ili smeštanje privremenih fajlova operativnog sistema. Istu stvar radi i dobar deo aplikacija, pa nije preporučljivo uklanjanje sadržaja za vreme njihovog rada. U slučaju Raspbiana, sadržaj direktorijuma se briše prilikom restarta, dok neke druge distribucije to čine nakon određenog vremenskog intervala. Postoji još jedan direktorijum slične namene, u pitanju je /var/tmp/ i karakterističan je po tome što se njegov sadržaj najčešće ne briše tokom restarta. Ekvivalent je C:/Windows/Temp.

/usr

Generalno, ovo je jedan od najvažnijih direktorijuma u okviru sistema i mesto na kojem je najveći deo zauzeća memorijskog prostora na disku. Naziv predstavlja skraćeni oblik reči User, mada postoji dosta onih koji tvrde da je u pitanju skraćenica od Unix System Resources. Funkcija mu je da čuva korisničke binarne fajlove, fajlove sa izvornim kodom, zaglavlja i dokumentaciju koja ide uz programe. Direktorijum je podeljen na više poddirektorijuma, a kada smo govorili o lokaciji /bin, pomenuli smo /usr/bin i /usr/sbin, koji sadrže programe za „obične” korisnike i administratore. Tu su još /usr/lib, koji sadrži programske biblioteke (slično .dll fajlovima), zatim /usr/include sa fajlovima zaglavlja (.h) i /usr/src sa programskim kodom. Direktorijum /usr/share služi za smeštanje fajlova koji su nezavisni od sistema (fontovi, dokumenti, grafički fajlovi), dok se /usr/local najčešće koristi za instaliranje kompajliranih programa, korišćenjem komandi make ili ./configure. Dokumentacija se čuva u okviru /usr/share/doc, a ukoliko postoji direktorijum /usr/doc, on služi kao link do te lokacije. Tu su još i folderi /usr/games (korišćen za mrežne igre) i /usr/man (za priručnike), koji se u poslednje vreme retko koriste.

/var

Ovo je mesto namenjeno smeštanju „promenjivih” podataka koji se formiraju u toku rada sistema, a naziv je dobilo od reči variable (files). U ovu kategoriju možemo svrstati svakojake log datoteke, podatke vezane za elektronsku poštu, bafer štampača, baze podataka ili veb-sajtove (recimo, poznati CMS Wordpress koristi lokaciju /var/www/html). U direktorijumu /var/cache se nalaze keš aplikacije koje su instalirane na sistemu. /var/lib sadrži podatke vezane za dinamičke biblioteke, /var/tmp čuva privremene fajlove koji se ne brišu nakon restarta, /var/opt čuva podatke za opt, dok je /var/log najznačajnije mesto za čuvanje sistemskih logova. U /var direktorijumu se nalazi i swap fajl, koji ima ulogu virtuelne memorije.

• • •

 
Da biste se iz komandne linije jednostavnije kretali kroz strukturu direktorijuma, toplo preporučujemo program Midnight Commander, koji predstavlja Linux varijantu nekada izuzetno popularnog Norton Commandera za DOS. Na raspolaganju nam je i komanda tree, koja prikazuje stablo direktorijuma ili njegov određeni deo. Linuxov fajl-sistem je složeniji od Windowsovog, ali njegovo savladavanje ne bi trebalo da predstavlja veći problem.

Igor S. RUŽIĆ

 
WebTorrent 0.18 (BETA)
Zint Barcode Studio 2.5.1
Filesystem Hierarchy Standard
Šta mislite o ovom tekstu?
Arduino: LED segmenti i matrice
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2015. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 2.54
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera