Upravljati serverom znači upoznati se i upravljati operativnim sistemom koji se na serveru nalazi. Hajde da vidimo kako izgleda server nakon čiste instalacije CentOS operativnog sistema i čemu služe linuks direktorijumi koji se tu nalaze. Ovde je sve još uvek prilično prosto. Na serveru je instaliran operativni sistem koji ima svoje direktorijume (foldere).

Cent OS je besplatni operativni sistem i možete ga dobiti slanjem tiketa vašem provajderu ili reinstalacijom iz kontrolne table – ukoliko vaš paket podržava ovu opciju. Za tekst je korišćen VPS server, ali vi za neko prvo testiranje i učenje možete slobodno koristiti Virtualbox.

Pokrenuti komandu za prikaz direktorijuma

Ako želite da vidite  šta imate na serveru sada kada više nije potpuno prazan, uradite ovo što je zapisano ispod. Usput ćemo naučiti kako da vidimo u kojem se direktorijumu nalazimo, kako da skočimo u određeni direktorijum i kako da izlistamo fajlove uz pomoć tri slične komande:

  1. Pristupite serveru preko SSH povezivanja. (Kako da se povežem na server preko SSH?)
  2. Proverite gde se nalazite kucanjem pwd komande (print working directory)
  3. Uđite u koren (engl. root) tako što ćete ukucati cd / i stisnuti Enter
  4. Ukucajte ls komandu i stisnite Enter da vidite listu svih direktorijuma u /
  5. Ili ukucajte ll ili ls -l i stisnite Enter

Evo kako to izgleda kada se radi u konzoli koja je preko SSH već povezana na server:

Šta se nalazi u Linuksovim direktorijumima

/ direktorijum, koji se označava kao kosa crta je koren svih direktorijuma, odnosno direktorijum koji sadrži sve ostale. Svi ostali direktorijumi se označavaju kao /bin, /dev, /boot zato što se nalaze unutar / direktorijuma. Iako se zovu isto ovaj koreni direktorijum (koren – root) ne treba mešati sa /root direktorijumom.

/bin direktorijum sadrži binarne izvršne fajlove, niz esencijalnih (ključnih, osnovnih, važnih) komandi koje koriste administratori sistema ali i neprivilegovani korisnici. Najčešće korišćene komande su  cp, mv, rm, cat, ls ali sadrži i šelove (engl. shell, shells) kao što su bash i csh. Ovde su i chgrp, chmod, chown za upravljanje privilegijama i pripadnošću. Takođe, ovde se nalazi i hostname koji ćete koristiti kada prvi put podešavate server, ali i kill što ćete često koristiti.

/boot direktorijum sadrži sve bitne fajlove koji su potrebni za proces pokretanja sistema – za butovanje (engl. boot). Ovde se ne nalaze konfiguracioni fajlovi koji nisu potrebni za proces butovanja. U ovom direktorijumu nalaze se fajlovi koji su potrebni sistemu pre nego što kernel započne izvršavanje user-mode programa. U praznoj instalaciji CentOS-a ovde je samo /boot/grub direktorijum.

/dev je lokacija za fajlove uređaja. Na Linuksu (CentOS je Linuks) je sve ili fajl ili folder. Na primer, ako imate linuks na računaru ovde možete videti sda , sdb i ovo su hard-diskovi, sda1, sda2 i ovu su particije na hard-disku ili /dev/cdrom što je čitač diskova.

/etc sadrži sistemske konfiguracione fajlove koji su raspoređeni u ovom direktorijumu ili njegovim poddirektorijumima. Konfiguracioni fajl kontroliše operaciju programa i mora da bude statički, ne može da bude u izvršnom binarnom obliku.

/home direktorijum služi za korisničke fajlove. S obzirom na to da je Linuks višekorisnički, svakom korisniku se dodeljuje direktorijum dostupan određenom korisniku ili administratoru. Kada se napravi novi korisnik /home dobija poddirektorijum po modelu /home/$USER (/home/ivan ili /home/voja, dakle /home/korisnik). Ovde možete da se igrate. U stvarnom životu ovde držite filmove i muziku.

/lib i /lib64 , ovde su kernelski moduli i deljene biblioteke koje su potrebne za pokretanje sistema i izvršavanje komandi u korenom datotečnom sistemu, kao što su one komande koje se nalaze u /bin i /sbin direktorijumima (pogledati /bin i /sbin).

/lost+found Ukoliko dođe do pada sistema bilo zbog greške u samom sistemu ili pada napona (nestanak struje), pri sledećem pokretanju sistema radi se automatski “filesystem check” preko fsck (engl. file system consistency check). Fsck će proći kroz sistem i pokušati da popravi sve korumpirane fajlove. Rezultat te popravke biće smešten u ovaj direktorijum.

/media direktorijum sadrži sve priključne tačke (engl. mount point) za uklonjive medija uređaje. /media za razliku od /mnt vrši automatsko priključivanje. Na primer, kada ubodete USB drive, on se pojavi u listi dostupnih uređaja.

/mnt je generička tačka priključka (engl. mount point) za sve uređaje i datotečne sisteme. Priključivanje (engl. Mounting) je omogućavanje da neki uređaj/datotečni sistem postane dostupan sistemu na koji se priključuje. Nakon što se priključi, datotečni sistem tog uređaja biva dostupan i može da mu se pristupi preko tačke priključka.

/opt direktorijum je rezervisan za sve dodatne pakete koji ne dolaze sa instalacijom. Slično je onome gde Windows instalira programe C:\Windows\Progam Files\”Ime programa”

/proc direktorijum je poseban zato što je virtuelni datotečni sistem. Ne sadrži “prave” fajlove već runtime sistemske informacije (sistemska memorija, prikačeni (mauntovani) uređaji, hardverska konfiguracija…). Zbog toga može biti smatran kao informativni centar za potrebe kernela. Na primer,  /proc/{pid} sadrži informacije o procesu sa određenim-navedenim pid-om (engl. process identification number).

/root direktorijum je /home direktorijum za administratora sistema. Nemojte mešati “/” i “/root” iako se zovu isto. / je koren svih direktorijuma, na engleskom root, dok je /root direktorijum korenog korisnika.

/sbin direktorijum sadrži osnovne binarne fajlove koji su važni za pokretanje (butovanje), obnavljanje fajlova (engl. restore) i oporavak sistema kao dodatak na binardne oblike u /bin.

/selinux – Security-Enhanced Linux (SELinux) je sigurnosno unapređenje Linuksa. Omogućava kontrolu permisija svih korisnika, odnosno kontrolu nad procesima radi efikasnije zaštite. Obavezno pročitati https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-selinux.html

/srv je direktorijum koji sadrži podatke koji će biti servirani za protokole kao što su ftp, rsync, www, cvs.

/sys sadrži informacije o uređajima, drajverima i nekim mogućnostima kernela, sve zajedno – “plug and play” konfiguracija.

/tmp je skladišni direktorijum za privremeno skladištenje fajlova. Kada neki program radi, koristi i određene privremene fajlove za svoj rad. Takvi fajlovi smeštaju se ovde. Restartom sistema/servera, ovi fajlovi se brišu. Upravo to može biti nezgodno kod servera koji moraju da rade bez prekida. U tom slučaju, /tmp se čisti ručno. Fajlove odavde uklanjati samo ukoliko znate šta tačno radite.

/usr direktorijum sadrži sve binarne fajlove, dokumenta, biblioteke za sve korisničke aplikacije. Najveći deo korisničkih binarnih fajlova instaliraju se ovde.

/var direktorijum okuplja sve fajlove koji variraju u zasnosti od rada sistema. Log fajlovi (beleške o radu sistema), mejlovi, bekapi, keš i slično. Naziv je skrećeno od “variable”.

Korisne komande za upoznavanje sa hirejarhijom direktorijuma u Linuksu

Ukucajte man hier da u konzoli direktno vidite sve opise direktorijuma. Inače man komanda služi za izlistavanje “man stranica” – man (engl. man) je skraćen on manual (prev. uputstvo).

Takođe, da vidite direktorijume u vidu grana instalirajte tree. Potrebno je da budete u konzoli koja je povezana sa serverom preko ssh i da ukucate yum install tree:

Nakon instalacije možete ukucati tree /ime-direktorijuma da vam izlista sadržaj direktorijuma u grananju. Ukoliko ukucate tree /etc videćete nešto slično kao u primeru ispod:

[root@server ~]# tree /etc
/etc
|-- DIR_COLORS
|-- DIR_COLORS.256color
|-- DIR_COLORS.lightbgcolor
|-- NetworkManager
|   `-- dispatcher.d
|       |-- 00-netreport
|       |-- 05-netfs
|       |-- 10-dhclient
|       |-- 10-sendmail
|       `-- 13-named
|-- X11
|   |-- applnk
|   |-- fontpath.d
|   `-- prefdm
|-- adjtime
|-- aliases
|-- aliases.db
|-- alternatives

Tree ne vidi skrivene fajlove (one koje imaju tačku ispred naziva) podrazumevano, pa ukucajte tree -a /neki-direktorijum da izlista sve fajlove, skrivene i one koji nisu skriveni.

Da izlista samo direktorijume pokrenite:

tree -d /neki-direktorijum

Da izlista i oboji to što prikaže u podrazumevanim bojama pokrenite:

tree -C /neki-direktorijum

Da vidite sve opcije i uputstvo ukucajte:

man tree

Kome je potreban ovaj tekst?

Svakome ko hoće da vidi da šta se nalazi u CentOS Linuksu, onome na početku blistave karijere Linuks administratora ili onome kome treba podsetnik “šta beše ide u …”. Teško da će vam bilo šta od gore napisanog rešiti neki problem u toku rada, ali će vam pomoći da stvorite sliku o tome kako sve to izgleda kada se rasporedi po serverskom disku.

Početnik se možda neće setiti šta da ukuca da bi pronašao ovaj tekst, ali ako ste čitali ovaj tekst, bacite mu adresu.