11 June 2013

Automatski shutdown virtuelnih mašina na ESXi hostu, po nestanku struje

Zadatak

Nedavno smo kolega i ja imali zadatak da napravimo sistem za automatski shutdown virtuelnih mašina na ESXi serveru, a na kraju i samog hosta, po nestanku struje. Ovo je rješenje problema sa nekontrolisanim gašenjima virtuelnih mašina, što posebno zna biti nezgodno ako se na serveru nalazi baza koja lako može da pukne ukoliko u momentu gašenja bude u toku neka transakcija. Odmah nam je pao na pamet PowerChute Business, softver koji dolazi na CD-u za UPS, ali nismo znali kako da on pokrene shutdown virtuelnih mašina. U pitanju su bili server Fujitsu Primergy TX200 S6 i UPS APC SMT1000I

Fujitsu Primergy TX200 S6

APC SMT1000I


















Negdje na Internetu smo našli da će ESXi sam prepoznati signal za shutdown koji šalje PowerChute, te da će sam odraditi shutdown po redoslijedu kako je podešeno u Virtual Machine Startup/Shutdown odjeljku u podešavanjima u vSphere Clientu, međutim to nama nije radilo sa softverom koji je došao na CD-u. Njega smo instalirali na CentOS i softver nikako nije mogao detektovati UPS koji je bio priključen preko kabla. Kabl na jednoj strani ima RJ-45 priključak (strana koja ide u UPS), a na drugoj RS-232 (onoj koja ide u računar). Rješenje je bilo u appliance-u za vmware - vSphere Management Assistant (vMA) 5.1, sistemu koji ima instalirane alate za menadžment Vmware hostova.

Instalacija i podešavanje softvera

Na server je instaliran ESXi 5.1 i dodate tri virtuelne mašine koje imaju svoje zadatke. Mi ćemo za potrebe našeg sistema za shutdown napraviti još jednu virtuelnu mašinu - vSphere Management Assistant (vMA) 5.1, proizvod Vmware-a. Moguće ga je besplatno downloadovati sa lokacije https://my.vmware.com/group/vmware/get-download?downloadGroup=VSP510-VMA-510 .

Poslije deploymenta OVF-a, dobija se virtuelna mašina sa diskom od 3,5GB (provisioned size) i 600MB RAM memorije. Appliance je napravljen na SuSe Linuxu Enterprise 11 x64. Prije prvog paljenja je na virtuelnu mašinu potrebno dodati serijski port i tom prilikom označiti opciju "Use physical serial port on the host". Do kraja ostaviti sve po podrazumijevanim podešavanjima (kod nas je oznaka porta bila /dev/char/serial/uart0). Upaliti mašinu. 

Po prvom paljenju se pokreće wizard u vidu konfiguracionog menija

Ovdje su osnovna podešavanja: IP adresa, DNS, Hostname, Gateway. Setovati ih u skladu sa mrežnim okruženjem i izabrati 1 - Exit this program.

Sljedeće što će trebati je da se setuje password za korisnika vi-user. Ovo je account sa root ovlaštenjima i password mora da zadovoljava complexity requirements (8 znakova, velika i mala slova, brojevi i specijalni znakovi). Ako sve ovo nije ispoštovano, neće htjeti da kreira password :( Sigurno je da se i to može podešavati, ali se nismo bavili ovom banalnom problematikom.

Sljedeće što bi se trebalo vidjeti na ekranu je ovo (naravno sa Vašom adresom):


Sada treba skinuti novu verziju softvera. Probali smo sa softverom koji dođe na CD-u, međutim nikako nije uspijevao da detektuje priključeni UPS, ili je u nekim modovima pokazivao da je UPS na bateriji umjesto da je online. Na stranici APC-a postoji novija verzija softvera. Skinuti verziju za ESXi:


Downloadovani fajl pcbe910_linux.tar.gz otvoriti WinRarom i iz njega (iz foldera RPM) ekstraktovati fajl pbeagent-9.1.0-614.i386.rpm. Ovaj fajl WinSCP-om (ili nekako drugačije) prebaciti na naš vMA. Spojiti se na vMA preko SSH, i instalirati paket komandom rpm (bitno je da se bude u folderu gdje se nalazi navedeni paket)
# sudo rpm -i pbeagent-9.1.0-614.i386.rpm
Softver pokrenuti komandom
# sudo sh /opt/APC/PowerChuteBusinessEdition/Agent/config.sh
Pokreće se konfiguraciona skripta. Prvo se setuju korisničko ime i šifra za pristup aplikaciji (mi smo za testiranje stavili admin i za username i za password), zatim se izabere port na koji je priključen UPS (to je kod nas bio /dev/ttyS0), zatim se unese Yes za potvrdu konfiguracije, a onda IP adresa ESXi hosta. Ovdje je moguće da prijavi grešku "Error: No targets have been defined for this vMA.", ali ako se ovo desi, potrebno je ručno dodati ESXi host kasnije. Poslije ovoga, vMA pita za kredencijale od ESXi-a, i na kraju pita da li želite da startuje PowerChute. Vi kažete Yes. To izgleda ovako:


Da bi se provjerio status servera (tj. da li je managed, unese se komanda)
# vifp listservers
Ako je server managed, trebao bi da bude izlistan. Ako nije, tada ga je potrebno dodati komandom
# vifp  addserver <server>
Na mjesto oznake  <server> ide IP adresa ili DNS ime ESXi servera. Bitno je da imena servera (i vMA i ESXi) budu dodati na lokalni DNS server u vidu A recorda, ili da se host name ESXi-a doda u fajl /etc/hosts na vMA serveru.


Glavna ideja je da na ESXi host smjestimo skriptu koja će preko Vmware CLI-a ugasiti virtuelne mašine jednu po jednu, a na kraju i samog hosta. Na vMA ćemo smjestiti drugu, mini skriptu koja će pozivati skriptu na ESXi-u, a softver PowerChute će znati kada će se to desiti. Ovdje su se pojavila dva problema: Da bi se uradio shutdown hosta, on mora prvo otići u maintenance mode, pokrenuti shutdown i što prije izaći iz maintenance mode-a, da bi se prilikom sljedećeg startovanja normalno pokrenule virtuelne mašine. Skripta koja odrađuje sve navedeno se može naći na adresi https://github.com/sixdimensionalarray/esxidown/blob/master/esxidown.sh . Drugi problem je bio daljinsko pokretanje komande na hostu. Za to je inače dobar program sshpass, neinteraktivni SSH klijent, ali njega nije bilo instaliranog na vMA Linuxu. Kopanjem po netu smo naišli na odgovarajući rpm koji smo instalirali komandom
# yast2 -i sshpass-1.04-4.2.x86_64.rpm

Instalacija i podešavanje skripti

Sljedeće što smo uradili: omogućili smo SSH pristup Vmware hostu - u vSphere clientu na Security Profile-u uključili servis SSH, a port 22 je na njegovom Firewallu već bio propušten. Obavezno treba napraviti bar jednu SSH konekciju npr. iz Putty-ja sa vMA na ESXi host da bi došlo do razmjene ključeva između SSH servera i klijenta. Bilo bi nezgodno ako bi prvu konekciju ostvario sshpass jer je on neinteraktivan alat i ne bismo mogli da otkucamo "yes" da bi prihvatili novi ključ.

Skripta esxidown.sh ima tri bitne promjenjive: SERVERIDS (id za svaku virtuelnu mašinu, razdvajaju se razmacima), WAIT_TRYS (broj pokušaja za uspješan shutdown - ako se mašina ni tada ne ugasi, tada ide poweroff, kod nas setovano na 2) i WAIT_TIME (vrijeme u sekundama za shutdown virtuelne mašine, u našem primjeru 20). Vrijednosti svih promjenjivih je potrebno prilagoditi okruženju. Za dobijanje ID-eva virtuelnih mašina se SSH klijentom spojimo na ESXi host i izvršimo komandu

# vim-cmd vmsvc/getallvms
koja će izlistati sve virtuelne mašine sa njihovim ID-evima. Ove ID-eve prepisati u skriptu esxidown.sh onim redoslijedom kojim želimo da se gase virtuelne mašine, kao vrijednosti promjenjive SERVERIDS. ID-evi se razdvajaju razmacima. Kada se setuju željene vrijednosti, skriptu iskopirati na ESXi. Lokacija skripte mora biti na datastore-u jer se ne može permanentno snimiti ni na jedno drugo mjesto. U našem slučaju lokacija je bila /vmfs/volumes/51aef5c3-d5e5d538-117c-001999c95462/Install/eshidown.sh. Obavezno komandom
# chmod +x esxidown.sh
dodati execute permisiju za skriptu da bi se mogla pokrenuti.

Druga skripta se zove gasiesxi.sh i nju treba kreirati na lokaciji /opt/APC/PowerChuteBusinessEdition/Agent/cmdfiles/. Ova skripta je samo "okidač" za skriptu esxidown.sh i sadrži samo jednu komandu:
sshpass -p P@$$w0rd ssh root@xxx.xxx.xxx.xxx 'sh /vmfs/volumes/datastore1/Install/esxidown.sh'
Naravno, P@$$w0rd predstavlja password za root account na ESXi hostu sa adresom xxx.xxx.xxx.xxx. I njoj treba dodati pravo izvršavanja komandom chmod, kao što smo to uradili i za prethodnu skriptu. Poslije ovoga restartovati vMA virtuelnu mašinu.

Još je ostalo da kažemo kada će se izvršiti skripta gasiesxi.sh. Otići na URL https://<ipservera>:6547. Dobija se sljedeći login screen:

Ovdje unesemo kredencijale koje smo setovali u konfiguraciji softvera (u mom slučaju admin admin) i kada se ulogujemo, pokreće se Initial Setup wizard za osnovna podešavanja. Klikom na Next, otvaraju se podešavanja za Outlete. Izabrali smo Outlet 1 grupu zato što u tu grupu pripada naša utičnica za server sa zadnje strane UPS-a. Klikom na Next se otvaraju podešavanja za shutdown, za nas najbitnija podešavanja. Ovdje smo setovali Power Failure Configuration na 600 sekundi za opciju When power fails, begin a shutdown procedure After the UPS has been on battery for. Setovali smo 300 sekundi za opciju Time for operating system to shut down. U dropdown meniju Choose command file izabrati gasiesxi.sh, stavku koja bi se trebala pojaviti tu poslije kopiranja skripte na navedenu lokaciju.


Kada se klikne na Finish, web interface se prebacuje na status page gdje bi u gornjem lijevom uglu trebao pisati model UPS-a (u našem slučaju Smart-UPS 1000) a pod stavkom Device status treba pisati On line (Green Mode).



Ako nestane struje, status se mijenja na On battery i kada prođe 600 sekundi, pokreće se skripta gasiesxi.sh, koja "okida" skriptu esxidown.sh na hostu koja zadatim redoslijedom gasi virtuelne mašine, a na kraju i samog hosta. U BIOS-u servera uključiti opciju za automatsko paljenje servera prilikom dolaska struje, a na Vmware-u takođe treba podesiti startup virtuelnih mašina.

Korištene informacije i ideje sa bloga No Joke IT

17 April 2013

Smartphone LG L9 Optimus P760: Nadogradnja na Android 4.1.2 (JB)


Nedavno sam postao ponosni vlasnik telefona LG L9 Optimus P760 kojim sam vrlo zadovoljan. Jedina zamjerka ide na račun potrošnje baterije - vrlo teško može izdržati 24h bez punjenja, uz prosječno korištenje. Najviše baterije troši 4,7" displej. Na sve načine pokušavam smanjiti potrošnju optimizovanjem aplikacija, a ima i zanimljivih custom ROM-ova na kojima je upravljanje potrošnjom baterije ovo znatno bolje riješeno nego na fabričkom firmware-u. O tome nekom drugom prilikom. U ovom postu ću se fokusirati na instalaciju LG-evog Jelly Bean Androida (4.1.2).

Telefon fabrički dolazi sa Androidom 4.0.4 (ICS) i korištenjem dole navedenog postupka na njega se može staviti originalni LG-ev softver 4.1.2. Za ovu operaciju nisu potrebne root privilegije.

Postupak instaliranja novog softvera (rađeno na Windows 7 Ultimate x64):

  1. U Settings -> Developer options uključiti USB Debugging
  2. U Settings -> Security uključiti Unknown sources
  3. Isključiti sve druge USB uređjaje sa računara da ne bi došlo do prekida konekcije usljed nedostatka struje tokom flešovanja softvera.
  4. U fajlu C:\Windows\System32\drivers\etc\hosts dodati linije:
    127.0.0.1 csmg.lgmobile.com
    127.0.0.1 csmgdl.lgmobile.com
    Poslije ovoga resetovati računar i provjeriti da li su linije snimljene kad se računar upali. Ovo je bitno zato što neki antivirus programi vraćaju ovaj fajl na podrazumijevane postavke.
  5. Na adresi http://tools.enetsite.com/linker/ ukucati IMEI telefona i naći link na kojem se može naći zadnja verzija softvera. Otići na taj link i skinuti softver negdje na računar. To je .kdz fajl od priblizno 600MB. Fajl koji sam skinuo za svoj LG L9 Optimus P760 se zvao V20B_00.kdz i bio je veličine 575 MB. Link je bio http://csmgdl.lgmobile.com/swdata/WDLSW/LGP760/AHUNBK/V20b_00/V20B_00.kdz. Vrlo je bitno da se ne mijenja naziv ovog fajla.
  6. Sa adrese http://forum.xda-developers.com/attachment.php?attachmentid=1621504&d=1357477098 skinuti shttps, mali web server i raspakovati ga u folder c:\shttps. Otvoriti properties fajla http.exe, na kartici Compatibility uključiti opcije "Run this program as an administrator" i setovati Compatibility mode na Windows XP SP3. Pokrenuti http.exe. U System Trayu se pojavljuje njegova ikonica. Ako je sve OK, klikom na link http://127.0.0.1:9002/ bi se trebala otvoriti stranica gdje cura drži u ruci LG L9 telefon.
  7. Skinuti fajl KDZ_FW_UPD_EN.zip i raspakovati ga negdje na računaru. Ući u folder KDZ_FW_UPD_EN i prvo instalirati MSXML 4.0 SP3 Parser klikom na msxml.msi. Ovo su biblioteke koje su neophodne za izvršavanje programa za flešovanje. U istom folderu naći fajl B2CAppSetup.exe, aplikaciju koja će instalirati LGMobile Support Tool. Ne instalirati nikakve drajvere.
  8. Sa linka http://www.multiupload.nl/XEY2YR3L0I skinuti LG Universal Android Driver v3.8.1 i instalirati ga. Vrlo je bitno da telefon ne bude priključen na USB.
  9. Ugasiti telefon i upaliti ga u Software Upgrade Mode-u: dok je telefon ugašen, drži se pritisnut VolumeUP i priključi se USB kabl. Dugme VolumeUP držati sve dok se na ekranu ne pojavi "S/W Upgrade Please wait while upgrading...". Poslije ovoga će Windows detektovati nekoliko novih uređaja. Sačekati dok ih sve instalira. Po završenoj instalaciji, u Device Manageru bi se trebali pojaviti novi uređaji kao na slici:

  10. U folderu KDZ_FW_UPD_EN pronaći fajl UpTestEX_mod2_marwin.exe i na isti način ga podesiti kao i izvršni fajl http.exe u koraku 6. Poslije ovoga ga pokrenuti. U polju "Select kdz file" izabrati .kdz fajl koji smo skinuli u koraku 5. U polju "Select type" izabrati 3GQCT. U polju "Phone mode" izabrati EMERGENCY. Sve ostale opcije ostaviti na podrazumijevanim vrijednostima. Kliknuti na "Normal web upgrade test". U prozoru koji se otvorio kliknuti "Upgrade start". Odmah poslije se otvara prozor "Select Country and Language". Ovdje za Country izabrati "Different country", a za Language "English" i kliknuti OK. Ovim počinje nadogradnja softvera. Ovo je proces koji se ne bi trebao prekidati i ne smije se isključivati USB kabl iz telefona. Samo treba sačekati da završi do kraja. Kod mene je to trajalo nepunih 8 minuta. Po završetku, telefon se sam restartuje i počinje inicijalizaciju aplikacija i novog operativnog sistema. Ako se ode na Settings -> About phone -> Software Information, vidimo da je verzija Androida 4.1.2, tj. Jelly Bean.
  11. Vratiti hosts fajl na Windowsu koji smo izmijenili u koraku 4, tj. izbrisati linije koje smo tada dodali.
 
Ovdje su korištene instrukcije sa foruma http://forum.xda-developers.com/, uz još neke izvore i uz svesrdnu pomoć mog drugara Maniše koji mi je dao veliku količinu korisnih informacija :) Koristim priliku da se zahvalim njemu, kao i cmahendri - članu foruma xda-developers.
 
 

21 March 2013

Instalacija Zabbixa 2 na Centosu 6.3 x64

Zabbix je jedan od najpoznatijih monitoring sistema, a uz to i besplatan, tj. pod GPL licencom. Ovo uputstvo je rađeno za Centos 6.3 x64 i podrazumijeva se da ga čitaoc ima instaliranog sa podešenom mrežom i izlazom na Internet. Uputstvo obuhvata kompajliranje source paketa. Na Zabbixovom sajtu se mogu naći i paketi za određene distribucije, kao i gotovi appliance-i za razne platforme. Zabbix se nalazi i u repozitorijima nekih poznatijih distribucija, te ga je moguće i tako instalirati, ali takav način instalacije daje znatno manju kontrolu od instaliranja iz source-a.

Instalacija


  1. Prvo se instaliraju komponente koje su neophodne za kompajliranje paketa za Zabbix (zajedno sa dependency-jima):
    # yum install gcc
    # yum install automake
    # yum install make
  2. Instalirati sljedeće pakete (takođe sa svim dendency-jima). Oni su uslov za normalno funkcionisanje Zabbixa: mysql-server, mysql-devel, curl-devel, net-snmp-devel, OpenIPMI-devel, libssh2-devel.
  3. Sa adrese http://www.zabbix.com/download.php skinuti Zabbix source pakete i raspakovati ih u neki folder, npr. zabbix-2.0.5. Zatim ove raspakovane pakete WinSCP-om prebaciti na naš Linux (nekome će jednostavnije biti raspakivati na samom Linuxu).
  4. Ući u taj folder i setovati execute permission za fajl configure:# cd /root/zabbix-2.0.5
    # chmod +x configure
  5. Izvršiti sljedeće komande za konfigurisanje instalacije i kompajliranje:
    # ./configure --enable-server --with-mysql --with-net-snmp --with-libcurl --with-openipmi --enable-agent

    Trebao bi da se dobije sljedeći output:
    Enable server: yes
    With database: MySQL
    WEB Monitoring via: cURL
    SNMP: net-snmp
    IPMI: openipmi
    Enable agent: yes

    Zatim se odradi:
   # make install
  1. Dodati korisnike za Linux:
    # groupadd zabbix
    # useradd -g zabbix zabbix
  2. U folderu /usr/local/etc/ postoje fajlovi zabbix_server.conf i zabbix_agentd.conf. U konfiguraciji servera će biti potrebno izmijeniti stavke DBName, DBUser i DBPassword. Za DBName ćemo ostaviti podrazumijevano podešavanje - baza će se zvati zabbix. Sa ostala dva parametra će biti potrebno skinuti komentar i takođe im setovati vrijednost na zabbix.  
  3. Podešavanje MySQL-a:
    # mysql_install_db
    - Inicijalizacija MySQL-a
    # /usr/bin/mysqladmin
    -u root password 'pa$$w0rd' - Setovanje passworda za korisnika root
    # chkconfig mysqld on
    - Podešavanje MySQL daemona da se pokreće automatski sa sistemom
    # mysql -u root -p
    - logovanje roota na MySQL server
    mysql> create database zabbix character set utf8;
    - Kreiranje baze zabbix
    mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix'; - Podešavanje permisija za korisnika zabbix. Koristi se isti password koji smo setovali u fajlu zabbix_server.conf. Sada je potrebno otići u sljedeći folder:
    # cd /root/zabbix-2.0.5/database/mysql
    Zatim izvršiti sljedeće komande kojima se importuju inicijalne baze Zabbixa:

    # mysql -u zabbix -p zabbix < schema.sql
    # mysql -u zabbix -p zabbix < images.sql
    # mysql -u zabbix -p zabbix < data.sql

    Poslije svake unesene komande mysql će pitati za password za korisnika
    zabbix, to je takođe zabbix. Bitan je redoslijed importovanja baza, moraju se importovati navedenim redoslijedom.
  4. Zabbix server i agent su sada spremni da se pokrenu. To se radi komandama
    # /usr/local/sbin/zabbix_server
    # /usr/local/sbin/zabbix_agentd
  5. Podešavanje automatskog pokretanja. Iz foldera /root/zabbix-2.0.5/misc/init.d/fedora/core5/ iskopirati skripte zabbix_agentd i zabbix_server u folder /etc/init.d/. Zatim se komandama
    # chmod +x /etc/init.d/zabbix_agentd

    # chmod +x /etc/init.d/zabbix_server
    ove skripte učine izvršnim (dodaju im se execute permisije). Onda se ove skripte dodaju u servise na sljedeći način:

    # chkconfig --add zabbix_agentd
    # chkconfig --add zabbix_server

    Takođe je potrebno setovati automatsko pokretanje ovih servisa:

    # chkconfig zabbix_agentd on
    # chkconfig zabbix_server on

    Kada se poslije ovoga izvrši komanda

    # chkconfig

    u listi servisa bi trebali biti i
    zabbix_agentd i zabbix_server i trebalo bi biti setovano "on" za runlevele 2, 3, 4 i 5.
    Ubuduće će se ovim servisima moći upravljati kao i sa svakim drugim servisom (npr.
    service zabbix_server restart).
  6. Instalacija web servera. Zabbix može raditi na bilo kojem web serveru koji podržava PHP. Slijedi instalacija Apache-a sa podrškom za PHP:
    # yum install httpd mod_ssl
    - Osnovna instalacija Apache-a.
    # service httpd start
    - Startovanje web servera.
    Normalno je da se prilikom prvog pokretanja pojavi poruka
    "Starting httpd: httpd: apr_sockaddr_info_get() failed for zabbix.racunari-bl.com httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName". Da bi se riješio ovaj problem, potrebno je otvoriti fajl:
    # nano /etc/httpd/conf/httpd.conf

    U njemu, pri kraju, postoji stavka
    #ServerName www.example.com:80. Ispod nje upisati (u novom redu)
    ServerName zabbix
    .
    Sačuvati izmjene i resetovati Apache komandom

    # service httpd restart
    .
    Potrebno je i otvoriti port za web saobraćaj na firewallu, npr.

    # iptables -A INPUT -p tcp -m state --state NEW, ESTABLISHED -m tcp --dport 80 -j ACCEPT

    # service iptables save - Ovim se trenutna Iptables pravila snimaju permanentno.
    # chkconfig httpd on
    - Uključivanje automatskog startovanja Apache-a
    # yum install php-mysql php-devel php-gd php-pecl-memcache php-pspell php-snmp php-xmlrpc php-xml php-bcmath
    - Instalacija PHP-a i njegovih dodataka.
    U fajlu
    /etc/php.ini treba setovati nekoliko parametara:
    date.timezone = Europe/Belgrade
    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    # service httpd restart
    - Prilikom sljedećeg startovanja Apache-a, trebali bi biti loadovani i moduli za PHP.
  7. Instaliranje Web interfejsa. Folder /root/zabbix-2.0.5/frontends/php iskopirati u /var/www/html i preimenovati ga u zabbix. Na nekom računaru koji je u istoj mreži u web browseru otići na adresu http://172.18.2.95/zabbix (pretpostavimo da je 172.18.2.95 adresa našeg Linuxa). Trebao bi da se pojavi prvi ekran Zabbix-ovog Setupa. Na ovom ekranu kliknuti Next.
    Otvara se ekran "Check of pre-requisites". Ovdje će Zabbix provjeriti da li su instalirani i podešeni svi moduli koji su mu potrebni. Trebalo bi da pored svih stavki bude zelenim slovima ispisano "OK".  Kliknuti Next.
    Na sljedećem ekranu se konfigurišu parametri za pristup bazi: Database type: MySQL, Database host: localhost, Database port: 0 (0 označava korištenje standardnog porta za MySQL - TCP 3306), Database name: zabbix, User: zabbix, Password: zabbix. Ispod ovih polja se nalazi dugme "Test connection" - poslije pritiska na njega bi se trebao pojaviti zeleni znak OK, ako je sve u redu. Kliknuti Next.
    Na ekranu "Zabbix server details" unijeti puno ime hosta računara na kojem se pokreće zabbix. U mom slučaju je to bilo zabbix.test.local. Bitno je da se ovo ime može razriješiti preko DNS-a ili preko hosts fajla. Moguće je navesti i IP adresu umjesto imena. Ostaviti podrazumijevani port 100051 i opciono unijeti ime Zabbix instalacije, to sam podesio na "Zabbix server". Kliknuti Next.
    Sljedeći ekran prikazuje ukratko sve parametre koje smo podešavali. Klikom na dugme Next počinje instalacija. Ako se pojavi poruka "Configuration file "/var/www/html/zabbix/conf/zabbix.conf.php" created: Fail", potrebno je na dnu ekrana kliknuti "Download configuration file". i ručno ga snimiti na navedenu lokaciju. Poslije ovoga kliknuti "Retry" i na kraju Finish.

To je sve, vezano za instalaciju Zabbixa. Sada se može otići na adresu http://172.18.2.95/zabbix. Korisničko ime je Admin, a password zabbix.


Reference


  1. Zabbix 1.8 Network Monitoring, PACKT Publishing, April 2010
  2. linux.about.com

11 March 2013

Linux komande podsjetnik

Ovaj članak treba da predstavlja podsjetnik Linux komandi koje sam koristio u radu i eksperimentisanju i biće mijenjan s vremena na vrijeme tako što će se non-stop unositi nove ili mijenjati postojeće definicije komandi. Komande su raspoređene po abecednom redu. Većina definicija je preuzeta sa sajta linux.about.com, kao i iz man stranica za datu komandu.

bg - Šalje navedeni proces u background. Ima isti efekt kao i kada se iza naredbe navede znak &. ID pokrenutih procesa se ​​može očitati komandom jobs. Primjer: bg1. Ako se navede bez ičega, bg će u pozadini startovati posljednji proces koji je bio pokrenut.

cat - Prikaz sadržaja fajla

cd - Change Directory. Kretanje kroz foldere u konzoli.
  1. cd .. - Vraćanje na nivo iznad.
  2. cd - - Vraćanje na prethodni folder (back)

chgrp - Mijenjanje grupe koja je asocirana za fajl/folder. Ovo isto se može uraditi i komandom chown. Sintaksa: chgrp [options] GroupName file/folder.

chkconfig - Alatka za upravljanje folderom /etc/rc[0-6].d, tj servisima koji se pokreću automatski sa sistemom. Ovo se radi preko simboličkih linkova u ovim folderima koji najčešće pokazuju na skripte koje se nalaze u folderu /etc/init.d/. Ova komanda može da doda/ukloni servise, izlista trenutnu startup konfiguraciju servisa, mijenja startup konfiguracije servisa, kao i da izlista ili promijeni trenutni status nekog servisa. Ako se koristi bez parametara, prikazaće konfiguraciju startovanaj svih servisa po runlevelima. Preko flagova on i off se setuje startup informacija za pojedinačni servis. Podrazumijevano, ovi flagovi setuju startup vrijednosti za runlevele 2, 3, 4 i 5, a ako postoji potreba za setovanjem samo na određenim runlevelima, koristi se opcija --level.
chkconfig mysql on - Primjer jednostavnog podešavanja servisa MySQL da se startuje prilikom dizanja sistema.
  1. --add name - Dodavanje novog servisa u chkconfig menadžment. Kada se doda novi servis, chkconfig provjerava sve foldere /etc/rc[0-6].d/ za simboličke linkove za taj servis i kreira ih ukoliko ne postoje. Primjer:# chkconfig --add zabbix_server - podrazumijeva se da u /etc/init.d/ folderu postoji skripta zabbix_server i da ima execute permission)
  2. --del name - Uklanja servis iz chkconfig menadžmenta i automatski briše sve simboličke linkove iz foldera /etc/rc[0-6].d/  za taj servis.
  3. --level levels - Označavanje na koje runlevele se odnosi uključivanje/isključivanje servisa u initu. Vrijednosti se zadaju kao string brojeva od 0 do 7. Na primjer, chkconfig --level 35 zabbix_server on će setovati vrijednost on za navedeni servis samo na runlevelima 3 i 5.
  4. --list - Izlistavanje svih servisa sa prikazom koji pokazuje da li se servisi startuju sa sistemom, u raznim runlevel mode-ovima. Takođe, moguće je ispitati i pokretanje pojedinačnih servisa. Primjer:
    #
    chkconfig postfix --list

chmod - Komanda za podešavanje prava pristupa fajlovima i folderima. Sintaksa je chmod permissions filename. Prava pristupa se mogu vidjeti kada se koristi naredba ls sa opcijom -l. Permisije mogu biti r (read), w (write) i x (execute) i kada izlistamo permisije, vidjećemo da za svaki fajl/folder postoji set rwx puta tri. Ako neko pravo nije setovano, na njegovom mjestu se nalazi znak -. Prvi set rwx se odnosi na vlasnika (owner), drugi na grupu kojoj korisnik pripada, a treći za sve ostale korisnike. Simbolička reprezentacija koja se koristi u komandi je sljedeća: u (user), g (group), o (others). Prvi znak u permisijama može biti d (directory), l (symbolic link), ili - u slučaju da se radi o fajlu. Za dodavanje permisije se koristi znak +, a za uklanjanje znak -. Primjeri:
  1. chmod u+x test.sh - Dodavanje execute dozvole za fajl test.sh, za korisnika.
  2. chmod u+r, g+x test.sh - Dodavanje više dozvola odjednom.
  3. chmod u-rx test.sh - Uklanjanje dozvola.
  4. chmod a+x test.sh - Dodavanje dozvole izvršavanja za sve (korisnika, grupu i ostale).
  5. chmod -R 755 test/ - Setovanje permisija za folder test rekurzivno, tj. za njega i sve njegove podfoldere.

chown - change ownership. Mijenjanje ownership-a i grupe za fajlove ili foldere. Opcija -R se koristi za rekurzivno primjenjivanje na sve podfoldere i fajlove unutar navedenog foldera.  
Sintaksa:
chown owner-user file
chown owner-user:owner-group file
chown owner-user:owner-group directory
chown options owner-user:owner-group file
Primjeri:
  1. chown jovan.malesevic test/ - Mijenja ownership foldera test - vlasnik foldera je sada korisnik jovan.malesevic.
  2. chown :jovan.malesevic test/ - Mijenja grupu kojoj fajl/folder pripada.

chroot  - Mijenjanje putanje root foldera.

clear - Brisanje sadržaja ekrana.

cp - Ekvivalent naredbe copy iz DOS-a. Primjer:
cp /etc/postfix/main.cf /mnt/image

date - Setovanje i prikazivanje datuma i vremena. Samo root može setuje vrijeme i datum. Sintaksa: date mmddHHmmyyyyPrimjer:date 111212402012

df - Informacija o slobodnom prostoru na fajlsistemu.
  1. -h - Human readable. Prikazuje informacije u KB, MB, GB umjesto u procentima, kako je podrazumijevano.
  2. -T - Prikazuje informaciju o vrsti fajlsistema. Na izlazu dodaje još jednu kolonu Type u kojoj je označen filesystem za svaki mount.
  3. --total - Na kraju prikaže zbirno slobodni prostor na fajlsistemu.

du - disk usage. Prikazuje zauzeće diska po folderima ili fajlovima, rekurzivno.

echo - Ispisuje poruku na ekranu ili u fajl. Moguće je korištenje escape sekvenci. Često se koristi u skriptama da bi se pojasnile određene faze izvršavanja i pravljenja interakcije s korisnikom. Primjeri:
  1. echo 'Welcome' - Ispisuje navedenu poruku na ekranu.
  2. echo 'Fajl je izbrisan' > /tmp/log.txt - U fajl /tmp/log.txt upisuje poruku 'Fajl je izbrisan'.
  3. echo 'Fajl je izbrisan' >> /tmp/log.txt - appenduje (dodaje) poruku 'Fajl je izbrisan' u fajl /tmp/log.txt.

fg - Vraća navedeni proces u foreground i setuje ga kao current job. Sintaksa: fg [jobspec]. jobspec je ID procesa. ID pokrenutih procesa se ​​može očitati komandom jobs.

free - Zauzeće RAM memorije na sistemu.

grep - Izlistava linije tekstualnog fajla koje sadrže određeni dio teksta ili izraz. Takođe filtrira rezultate bilo koje naredbe (izlistava sve stavke u kojima se pojavljuje navedeni string).
Primjer: grep relayhost /etc/postfix/main.cf
Izlistaće svaku liniju fajla
main.cf koja sadrži riječ relayhost.
  1. -i - Ignore case. Ignoriše velika/mala slova.

groupadd - Dodavanje korisničke grupe. Primjer: groupadd zabbix
 

gunzip - Raspakivanje .gz arhiva. Slično kao i god gzip-a, ako izvršimo gunzip test.txt.gz, dobićemo raspakovani fajl test.txt, a arhiva će se obrisati. Opcije:
  1. -r - rekurzivno raspakuje čitav folder sa podfolderima. Primjer: gunzip -r somedir.

gzip - Komanda za kompresiju - pravljenje .gz arhiva, koristi Lempel-Ziv coding (LZ77) algoritam. Važno je napomenuti da ovaj alat mijenja originalnu verziju kompresovanom. Ako izvršimo naredbu gzip test.txt, dobiće se fajl test.txt.gz, a originalni fajl će biti izbrisan. Nivo kompresije se podešava vrijednošću od 1 do 9, a podrazumijevan je 6. Nivo 1 nudi najbržu i najslabiju kompresiju, a 9 najsporiju i najbolju. Primjer: gzip -9 test.txt. Opcije:
  1. -r - Rekurzivno kompresuje čitav folder sa podfolderima. Primjer: gzip-r somedir.

history - Prikaz ranije korištenih naredbi.
  1. -c - Clear history - brisanje history-ja.

host - Pandan naredbi nslookup. Služi za uvid u vrijednosti DNS zapisa. Navođenjem naredbe uz samo ime domena će dati A DNS rekord za taj domen. Ima nekoliko opcija:
  1. -a - Pravi upit tipa ANY za navedeni domen. Izlistaće sve DNS zapise do kojih može doći.
  2. -C - Prikazuje SOA  DNS zapis (autoritativni nameserver).
  3. -t - Tip DNS upita. Vrijednosti mogu biti: A, AAAA, CNAME, MX, NS, SOA, SIG, KEY, AXFR itd.
    Primjer: host -t NS test.net

hwclock - Alat za podešavanje sata na računaru. Moguće je prikazati trenutno vrijeme, setovati hardverski sat sa sistemskog sata i setovati sistemsko vrijeme sa hardverskog sata. Naredba ima više opcija i nije moguće koristiti više opcija odjednom. Obavezno je biranje neke od opcija. Opcije su: (show, set, hctosys, systohc, adjust, getepoch, setepoch, version, date, epoch, utc, localtime, noadjfile, directisa, badyear, sram, arc, funky-toy, test, debug).
  1. --systohc - Setuje hardverski sat na trenutno vrijeme na sistemu.

ifconfig - Prikaz i mijenjanje mrežnih parametara. Sama naredba bez parametara prikazuje IP konfiguraciju.
  1. ifconfig eth0 down
    ifconfig eth0 up -
    Primjer disable-ovanja i ponovnog enable-ovanja mrežnog interfejsa eth0.
  2. ifconfig eth0 172.10.2.97 netmask 255.255.255.0 up - Osnovno setovanje interfejsa eth0

iptables -Podešavanje firewalla na Linuxu. Zbog obimnosti ove komande, u pripremi je howto koji se samo njom bavi.
Primjer: iptables -L | grep smtp - Ispitivanje firewalla, tj. status porta za
SMTP.

jobs - Alternativni način prikaza aktivnih procesa.

kill - Komanda za stopiranje procesa. Obvezno je navođenje PID-a (Process Identification Number-a). U naredbi je moguće navesti i više PID-ova ako ima potrebe da se stopira više procesa odjednom. Primjer:
kill 465

killall - Sestrinska naredba od naredbe kill. Umjesto PID-ova se navodi ime programa koji želimo zaustaviti i on "ubija" sve instance navedenog programa. Pojedinačni korisnik može zaustaviti sve svoje procese, a root može zaustaviti procese od bilo kojeg korisnika.
  1. -g - Zaustavlja kompletnu grupu procesa kojoj navedeni proces pripada.
  2. -i - Interactive. Pita za potvrdu prije ubijanja svakog procesa.

last - Iz fajla /var/log/wtmp iščitava koji korisnik se kada logovao na sistem, sa kojeg hosta, u koje vrijeme i koliko je trajala sesija i sve to prikazuje na izlazu. Takođe su prikazani i restarti sistema - kada su se desili i ko ih je inicirao. Postoji slična komanda, lastb - Ona loguje neuspješne pokušaje logovanja.

less - Slično naredbi more, navodi se iza neke naredbe koja ima tekstualni izlaz i pritom omogućuje navigaciju prema gore i prema dole u tekstu. Izlazi se na q.
Primjer: rpm -ql iptables | less

ln -Pravljenje linka ka nekom fajlu.
  1. -s - Pravljenje simboličkog linka na fajl ili folder.

ls - Izlistavanje sadržaja foldera. Ima nekoliko parametara:
  1. -a - prikaz skrivenih fajlova
  2. -h - human readable - Veličinu fajlova prikazuje u MB, GB...
  3. -l - prikaz detalja.
  4. -r - reverse. Rezultate sortira po obrnutom redoslijedu.
  5. -t - time. Rezultate sortira po vremenu modifikacije fajlova.

lspci - Prikaz informacija o PCI uređajima na računaru.

mail - Konzolni program za slanje/čitanje mailova. Primjer slanja maila:echo "Goodbye cruel world" | mail-s "Testni mail" jovan.malesevic Ova naredba će poslati mail na lokalno korisničko ime jovan.malesevic. Pod echo se nalazi tijelo poruke, dok opcija -s označava Subject. Na kraju se navodi adresa primaoca. U navedenom slučaju mail će biti isporučen lokalnom korisniku jovan.malesevic. Čitanje maila se vrši navođenjem same naredbe mail. Kada se pokrene, program će odmah izlistati sve poslane i primljene mailove. Da bi se vidio određeni mail, navede se samo broj ispred njega. Postoji čitav sistem slovnih komandi unutar ovog programa, a više informacija o ovome vidjeti na man mail.

man - Osnovni help sistem.

mkdir - Pravljenje novog foldera. Uz navođenje opcije -p, može se kreirati više foldera/podfoldera odjednom. Npr.: mkdir -p prvi/drugi/treci
Ukoliko ne postoje, ova naredba će kreirati navedene foldere.

mount -"Montiranje" nekog fajlsistema u određeni folder. Potrebno je da taj folder postoji. Suprotna naredbi unmount. Fajl /etc/fstab može sadržavati linije koje opisuju šta treba mountovati i gdje. Primjer: mount /media/cdrom /tmp. Ima nekoliko opcija:
  1. -a - Inicira mountovanje svih fajlsistema opisanih u fajlu /etc/fstab.

mysql - Podešavanje MySQL servera. Kada se navede naredba bez parametara, ulazi se u MySQL prompt. Primjeri:
  1. mysql -u root -p - Logovanje root korisnika na MySQL server.

nano - Vrlo jednostavan tekst editor.

nc - Jednostavan alat koji čita i piše podatke kroz mrežu koristeći TCP ili UDP protokol. Jedan je od osnovnih alata za dijagnostiku mreže jer može kreirati bilo koju vrstu konekcije.

netstat - Prikazuje mrežne konekcije, routing tabele, statistike interfejsa i masquerade konekcije.
  1. -a - Prikaz listening i non-listening socketa.
  2. -l - Prikaz listening socketa - koji program sluša na kojem portu.
  3. -n - Prikazuje brojčane vrijednosti, umjesto da ih pokušava prevesti u simboličke nazive portova, imena hostova ili korisničkih imena.
  4. -p - Prikazuje PID i ime programa za svaki socket, odnosno ime programa koji sluša na nekom portu.
  5. -r - Prikazuje ruting tabelu.
  6. -t - Filtrira stavke sa TCP portovima.
  7. -u - Filtrira stavke sa UDP portovima.

newaliases - Pokreće se poslije izmjene fajla /etc/aliases.

nice - Pokretanje naredbe s određenim prioritetom. Vrijednost prioriteta ide od -20 (najviši) do 19 (najniži). Sintaksa: nice -n [priority] COMMAND. Priority je brojčana oznaka prioriteta, a COMMAND je naredba na koju se odnosi. Ako se koristi bez parametra -n, podrazumijeva se da se prioritet izvršavanja poveća za 10. Primjer korištenja: nice -n -15 openvpn (startuje naredbu OpenVPN sa prioritetom -15).

ntpdate - Omogućuje da se sa NTP servera provjeri vrijeme i datum i sinhronizuje računar s njim. Naredba je pogodna za korištenje u skriptama ili u crone taskovima. Moguće je korištenje i više servera zbog veće preciznosti. Naredba koristi port UDP 123. Ukoliko je na računaru pokrenut lokalni NTP server, naredba može raditi samo u query mode-u, tj. može samo provjeriti vrijeme na nekom od servera, ali ne i da ga setuje na računaru. Primjeri:
  1. ntpdate -q time.nist.gov - Provjera datuma i vremena na navedenom poslužitelju.
  2. ntpdate clock.redhat.com - Jednokratno sinkronizacija vremena s navedenim serverom.

passwd - Mijenjanje korisničkog passworda.

pgrep - Provjerava je li navedeni proces pokrenut. Kao rezultat vraća PID tog procesa. Primjer:pgrep openvpn

pkill - "Ubija" procese po imenu i sve potprocese koji su za njega vezani (slično kao naredba killall). Procese podrazumijevano ubija signalom 15. Primjer: pkill openvpn

postconf - Alat za podešavanje Postfix mail servera. Navođenje naredbe bez parametara će izlistati kompletnu trenutnu konfiguraciju Postfixa. Ako se uz naredbu navede neki parametar, izlistaće trenutnu vrijednost samo tog parametra. Neke od opcija:
  1. -d - Prikazuje podrazumijevane vrijednosti parametara unutar fajla /etc/postfix/main.cf, umjesto trenutno aktivnih vrijednosti.
  2. -e - Editovanje fajla /etc/postfix/main.cf tako što se parametri specifikuju na komandnoj liniji. Primjer: postconf-e "relayhost =smtp.teol.net" -n
  3. -n - Prikazuje parametre unutar fajla /etc/postfix/main.cf koji nemaju svoju podrazumijevanu vrijednost, tj. razlike u odnosu na podrazumijevanu konfiguraciju.

 ps - Process Status. Prikazuje pokrenute procese.
  1. -a - Selektuje sve procese koji imaju tty, osim session leaders-a.
  2. -e - Selektuje sve procese.
  3. -f - Pravi full listing procesa.
  4. -u - Prikazuje procese koje je pokrenuo navedeni korisnik.
  5. -x - Bira procese bez kontrolisanja tty-a.
Primjeri:
  1. ps-ef
  2. ps-aux

pstree - Prikazuje pokrenute procese u obliku stabla.

pwd - Prikazivanje trenutnog foldera.

rdesktop - Alat za RDP na Linux- u.
  1. -a - Postavljanje rezolucije prikaza.
  2. -g - Postavljanje dubine boja.

realcrypt - Alat za enkriptovanje foldera. Prvo se kreira volume za kriptovanje (u njega treba stati folder koji se enkriptuje). Zatim se taj volume mountuje željeni folder.
  1. realcrypt -t -c - Kreiranje volume-a za enkripciju
  2. realcrypt cryptdata.tc /opt/openbd/tomcat/webapps/ROOT/projekat - Primjer enkriptovanja foldera projekat koristeći volume cryptdata.tc
  3. realcrypt -d cryptdata.tc - demountovanje enkriptovanog foldera sa volume-a cryptdata.tc.
  4. --non-interactive - Koristi se skriptovanje, a znači da se ne očekuje nikakav unos korisnika tokom izvršavanja, tj. ne pita ni za šta.
  5. -p [password] - Koristi se u neinteraktivnom modu, a služi za specifikovanje šifre za enkripciju.
  6. sshpass -p 'Pa$$w0rd' ssh root@10.11.51.9 'realcrypt -p 123Pa$$w0rd --non-interactive /root/cryptdata.tc/opt/openbd/tomcat/webapps/ROOT/projekat/'- Mountuje folder /opt/openbd/tomcat/webapps/ROOT/projekat u kriptovani folder /root/cryptdata.tc/. Naredba realcrypt se izvršava na udaljenoj mašini kojoj se pristupa preko SSH protokola. Naredba sshpass se koristi da bi se mogao navesti password u komandnoj liniji.
  7. sshpass -p 'Pa$$w0rd ssh root@10.11.51.9 'realcrypt -d' - Opcija za demountovanje svih kriptovanih foldera. Naredba realcrypt  se izvršava na udaljenoj mašini kojoj se pristupa preko SSH protokola. Naredba sshpass se koristi da bi se mogao navesti password u komandnoj liniji.

reboot - Restartovanje sistema.

rm - Najopasnija Linux komanda. Uklanja specifikovani folder, sve njegove podfoldere i fajlove. Ima nekoliko opcija:
  1. -r - Uklanja sve fajlove i foldere na specifikovanoj putanji. Ako ima read-only fajlova, pita za dozvolu.
  2. -f - Briše sve bez pitanja.

rmdir - Uklanjanje foldera, pod uslovom da je prazan.

route - Prikazuje i mijenja ruting tabelu. Navođenje naredbe bez opcija prikazuje ruting tabelu datog sistema, dok opcije add i del modifikuju ruting tabelu. Opcije:
  1. add - Dodavanje nove rute.
  2. del - Brisanje rute.
  3. dev - Navođenje interfejsa koji će biti korišten kao gateway.
  4. default gw - Dodavanje podrazumijevane rute - default gateway-a. Svi paketi za koje ne postoji eksplicitna ruta se šalju na ovaj gateway.
  5. gw - Rutiranje paketa kroz navedeni gateway. Gateway mora biti dostupan.
  6. host - target je pojedinačni host.
  7. metric - Setovanje metrike za navedenu rutu.
  8. -n - Daje prikaz u numeričkim vrijednostima, bez razrješavanja imena.
  9. -net - Ova opcija govori da je target mreža.
  10. netmask - Navođenje mrežne (subnet) maske.
  11. reject - Dodavanje rute koja blokira saobraćaj ka navedenom hostu/mreži.
  12. target - Odredišna mreža ili host.
Primjeri:
  1. route add default gw 172.10.6.1 - Postavljanje default gateway-a.
  2. route add -host 172.10.4.1 reject
    route add -net 172.10.4.0 netmask 255.255.255.0 reject
    - Zabrana pristupa hostu/mreži, samim tim i zabrana rutiranja preko tog hosta. Ako se poslije ove naredbe unese ping 172.10.4.1,dobija se poruka connect: Network is unreachable.
  3. route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.10 - Primjer dodavanja statičke rute na Linuxu - svi zahtjevi za mrežu 192.168.3.0 će se slati preko interfejsa na toj mašini s adresom 192.168.3.10.
  4. route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 metric 30 - Postavljanje rute kojoj je default gateway interfejs eth0 i kod koje je setovana metrika.
  5. route del -net 10.51.40.0 netmask 255.255.255.0 - Brisanje rute 10.51.40.0

rpm - Upravljanje samoraspakujućim paketima (na Red Hat-olikim distribucijama)
  1. -qa - Provjeravanje da li je neki softverski paket instaliran. Primjer:
    rpm -q sendmail
  2. -qi - Podaci o posebnom softverskom paketu.
  3. -ql - Query list -Izlistavanje svih fajlova asociranih sa navedenim package-om. Primjer:
  4. rpm -ql iptables
  5. -U - update-uje postojeći paket, s tim što poslije instalacije novog briše stari.
  6. -v - verbose mode - Prikazuje dodatna objašnjenja prilikom instalacije.

scp - Kopiranje datoteka između hostova preko mreže. Radi preko SSH protokola i koristi se na sličan način kao i komanda ssh. Primjer:
scp [-r] user@host1:file1 user@host2:file2
  1. -r - Omogućuje rekurzivno kopiranje čitavih foldera.

service - Pokretanje, stopiranje, restartovanje servisa. Primjer:
service postfix restart
service postfix start
service postfix stop

sestatus - Provjeravanje statusa SELinux-a. Ovo se može podešavati u fajlu /etc/SELinux/config. Na primjer, da bi se isključio treba setovati SELinux=disabled u navedenom fajlu.

sleep - Pravi pauzu (delay) od zadatog broja sekundi. Sintaksa: sleep NUMBER [suffix]. NUMBER označava broj sekundi koliko će delay trajati, a suffix može imati vrijednosti s (seconds), m (minutes), h (hours) i d (days). Podrazumijevana vrijednost je u sekundama. Primjer: sleep 1m - pravi delay od 1 minute.

ssh - Koristi se za logovanje na udaljenu mašinu i izvršavanje naredbi na njoj. Osnovna sintaksa glasi: ssh username@host.

sshpass -Omogućuje neinteraktivno unošenje šifre za SSH. Najviše se koristi u skriptama. Primjer:
sshpass -p '12345678' ssh root@172.10.2.95 ifconfig

start_udev - Udev je Device Manager za Linux, a start_udev je scan for new hardware.
su - - Ekvivalent za sudo root, tj. logovanje na root account. Poslije ovoga će odmah pitati za root password.

sudo - Navodi se ispred komande za čije izvršavanje treba administrativna dozvola.

sudo -i ili su - - Prebacivanje u administratorski mod da bi se odradila operacija za koju je potrebna administratorska dozvola.

system-config-authentication - GUI alat za podešavanje autentifikacije.

system-config-network - GUI alat za podešavanje mreže.

system-config-packages - GUI alat za podešavanje softverskih paketa (instalacija/deinstalacija).

system-config-securitylevel - GUI alat podešavanje firewall-a.

system-config-securitylevel-tui - Tekstualni alat za podešavanje firewall-a.

system-config-services - GUI alat za podešavanje servisa.

system-config-time - GUI alat za podešavanje vremena.

system-config- users - GUI alat za podešavanje korisnika.

system-switch-mail - Odabir podrazumijevanog MTA (Mail Transfer Agent-a). Otvori se tekstualni meni.

tail - Ispisuje zadnjih 10 linija nekog fajla, ukoliko nije drugačije navedeno. Koristi se uglavnom za praćenje logova.
  1. -n - Broj linija koje će naredba čitati iz fajla.
  2. -f - follow. Prati promjene fajla i odmah ispisuje nove linije na ekranu.
Primjer: tail -n 5 /var/log/messages - Ispisuje zadnjih 5 linija navedenog fajla.

tar - Alat za rukovanje arhivama. Opcije:
  1. -c - Kreiraj novu arhivu.
  2. -f - filename. Navođenje imena arhive
  3. -j - Filtrira arhivu kroz bzip2 filter (koristi se i za pravljenje i za raspakivanje).
  4. -r - Dodavanje fajla ili foldera postojećoj arhivi.
  5. -t - Izlistavanje sadržaja arhive.
  6. -v - Verbose. Po završetku će izlistati fajlove u arhivi.
  7. -z - Filtrira arhivu kroz filter gzip (koristi se i za pravljenje i za raspakivanje).
  8. -x - Extract
Primjeri:
  1. tar -cvf arhiva.tar /root/Downloads/test - Pakovanje kompletnog foldera test u arhivu arhiva.tar, bez kompresije.
  2. tar -czvf arhiva.tar.gz /root/Downloads/test - Radi slično kao i prethodna naredba, međutim, kompresuje podatke gzip kompresijom.
  3. tar -xvf arhiva.tar.gz /root/test - ekstraktuje fajl arhiva.tar.gz u folder /root/test
  4. tar -tvf arhiva.rar - Prikazuje sadržaj arhive. Ukoliko se koristi neka od kompresija, koristi se još i opcija za filter kompresije (z ili j).
  5. tar-RVF arhiva.tar novi.pdf - Dodaje fajl ili folder novi.pdf u arhivu arhiva.tar. Nije moguće dodavati nove fajlove u kompresovanu arhivu.

tcpdump - Tcpdump je packet sniffer program - jedan od osnovnih alata za dijagnostiku mreže. On "hvata" pakete koji prolaze kroz mašinu i može ih sačuvati u fajl.

top - Omogućuje pregled zauzeća procesora i memorije. Takođe prikazuje informaciju o uptime-u, broju povezanih korisnika, ukupnom broju pokrenutih taskova, ukupnoj opterećenosti servera. Prikaz se podrazumijevano osvježava svakih 5 sekundi, a to se može podešavati opcijom -d. -q opcija omogućava kontinuirano osvježavanje, bez pauze. Ima interaktivni interfejs za manipulaciju procesima i može ih sortirati po zauzeću memorije, procesora, swap fajla itd. Naredbe u interaktivnom modu:
  1. A - Sortira taskove po starosti. Prvo prikazuje novije.
  2. f ili F - Dodaje ili uklanja polja koja će se prikazati.
  3. h - help.
  4. i - Ignoriše idle i "zombi" procese.
  5. k - kill. Ubija proces. Potrebno je navesti PID i signal koji se šalje. Uobičajeno je da se šalje signal 15, ali ako on ne pomogne poslati signal 9.
  6. l - Uključuje/isključuje prikaz uptime i load average informacija.
  7. m - Uključuje/isključuje prikaz zauzeća memorije.
  8. M - Sortira taskove po zauzeću memorije.
  9. n - Broj procesa koje će prikazati. Podrazumijevano je 0, kada prikazuje onoliko procesa koliko može stati na ekran.
  10. N - Sortira prikaz po PID-u.
  11. o ili O - Mijenja redoslijed prikazanih polja.
  12. P - Sortira taskove po zauzeću procesora (ovo je podrazumijevani prikaz).
  13. q - quit
  14. space - Osvježavanje ekrana
  15. t - Uključuje/isključuje sumarni prikaz pokrenutih procesa i stanja procesora.
  16. W - Trenutnu konfiguraciju upisuje u fajl ~/.toprc. Ovo je preporučeni način podešavanja ovog fajla (može i ručno).

traceroute - Ispisuje kroz koje gateway-e paket prolazi na putu do hosta.

tree - "Grafički" prikaz fajlova i foldera unutar foldera koji je specifikovan.

uname - Ispisivanje informacija o sistemu.
  1. -a - all - Prikaz svih informacija (distribucija, verzija jezgra, datum, vrijeme, arhitektura...).

uptime - Daje informaciju o vremenu koliko je sistem pokrenut, prikazuje trenutno vrijeme, koliko vremena je korisnik logovan i opterećenje sistema u zadnjih 1, 5 i 15 minuta.

useradd - Dodavanje novog korisnika.
  1. -g - Specifikovanje imena ili broja korisnikove inicijalne grupe, tj. dodavanje korisnika u određenu grupu. Grupa prethodno mora biti kreirana.  Primjer:
    #
    useradd -g zabbix zabbix
    Ovim se novi korisnik prilikom kreiranja odmah dodaje u grupu zabbix.
     
  2. -m - Kreiranje home directory-ja za navedenog korisnika, ukoliko ne postoji. 
  3. -s - Navođenje shella koji će korisnik koristiti kada se uloguje. Primjer:
    # useradd -m -s /bin/bash zabbix
    - Kreira korisnika zabbix zajedno sa njegovim home folderom i setovanjem podrazumijevanog shella na bash.
 
userdel - Uklanjanje korisnika. Primjer: userdel zabbix

vi - Najpoznatiji tekst editor. Ima dva načina rada: command i edit. U edit mod se ulazi pritiskom na taster Insert, a u komandni mod unošenjem dvotačke.

vncserver - Server za VNC. On u pozadini izvršava Xvnc. Najbolje ga je podesiti da radi kao servis i da se pokreće sa sistemom, ali ga je moguće pokretati i po potrebi. Primjeri:
vncserver :1 -name testserver -depth 16 -geometry 1024x768 - Startuje jednokratnu sesiju br. 1. Na klijentu treba unijeti imeservera :1, npr. 172.10.1.99:1.
vncserver -kill :1 - Ubija sesiju 1
Primjer konfiguracije:
http://rbgeek.wordpress.com/2012/06/26/how-to-install-vnc-server-on-centos-6/

w - Prikazuje koji su korisnici trenutno logovani i njihove procese. Header prikazuje informacije redoslijedom: trenutno vrijeme, koliko dugo je sistem pokrenut, koliko korisnika je trenutno logovano i ukupna opterećenost sistema u zadnjih 1, 5 i 15 minuta. Sve ovo može prikazati i komanda uptime. Dalje se prikazuju informacije za svakog pojedinačnog korisnika: ime, tty, sa kojeg udaljenog hosta je korisnik ulogovan, vrijeme kada se logovao, koliko vremena je bio idle, JCPU, PCPU i koju je zadnju naredbu koristio.

watch - Periodično izvršavanje navedenog programa, prikazujući na ekranu prvi full screen (onoliko informacija koliko može stati na ekran). Ovo omogućava praćenje izvršavanja nekog programa. Podrazumijevano se izvršava svake 2 sekunde i izvršavaće se sve dok se manuelno ne zaustavi. Sintaksa:
watch [-dhv] [-n <seconds>] [--differences[=cumulative]] [--help] [--interval=<seconds>] [--version] <command>
  1. -n ili --interval - Interval osvježavanja izražen u sekundama.
  2. -d ili --differences - Označava razlike (update) između izvršavanja.
Primjer:
watch tail /var/log/firewall.log - Prikazuje promjene u fajlu /var/log/firewall.log
watch -d ls -l - Prikazuje promjene u folderu. Označiće nove fajlove ili foldere.

wget - neinteraktivni download fajlova s Interneta. Podržava protokole HTTP, HTTPS i FTP, kao i skidanje preko proxyja. Moguće je da radi u pozadini i kada korisnik nije prijavljen, što je vrlo pogodno za skripte. Ova komanda može da slijedi linkove na HTML stranama i da skida sve te strane kreirajući istu strukturu lokalno, a linkovi se mogu prevesti u lokalne adrese da bi se mogle pregledati offline. Ako ima potrebe da se skida više fajlova odjednom, wget može njihove linkove čitati iz fajla. Takođe, ova naredba može i ograničiti brzinu skidanja, kao i da skida sa sajtova koji zahtijevaju logovanje. Za ovo se koriste opcije - http-user i -http-password.
  1. -i - Navođenje fajla sa linkovima koje će wget koristiti. Linkovi trebaju biti u tekstualnom fajlu, jedan ispod drugog. Primjer: wget -i /tmp/download.txt
  2. --limit-rate - Ograničavanje brzine skidanja.

whereis - Jednostavno traženje fajlova u Linuxu. Primjer: whereis openvpn.

who - Prikazuje trenutno ulogovane korisnike, kao i informaciju kada su ulogovani i sa koje adrese.

whoami - Pokazuje ime trenutno ulogovanog korisnika.

yum - Instalacija/deinstalacija softvera. Prilikom instalacije automatski s Interneta skida najnoviju verziju programa te dodatnog softvera koji je potreban za normalan rad prvog softvera.
  1. check-update - Provjerava da li ima nadogradnja za neki od instaliranih softverskih paketa.
  2. groupinstall - Instalacija kompletne grupe programa. Popis raspoloživih grupa se dobija opcijom grouplist.
  3. grouplist - Izlistava raspoložive grupe iz svih yum repozitorija.
  4. groupremove - Uklanja kompletnu grupu programa.
  5. install  - Instalacija određenog programskog paketa i potrebnih komponenata. Primjer: yum install postfix
  6. list - Izlistavanje softverskih paketa na sistemu ili udaljenom repozitoriju
  7. yum list installed [ime paketa] - Izlistava instalirane programske pakete. Na navedeni način se može provjeriti je li određeni paket instaliran.
  8. localinstall - Instalacija .rpm paketa. Automatski će s Interneta skinuti dependencies koji mu trebaju. Primjer: yum localinstall MySQL-client-5.5.25-1.el6.x86_64.rpm.
  9. remove - Uklanjanje određenog programskog paketa i komponenata koje idu uz njega. Primjer: yum remove sendmail
  10. repolist - Prikazuje repozitorije koji su omogućeni na sistemu.
  11. update - Nadogradnja navedenog paketa. Primjer: yum update sogo