Posts

Bash skripte 1 — prva skripta

Skripta je tekstualni fajl u koji upišeš komande koje bi inače kucao u terminal. Umesto da svaki put ponavljaš isti niz koraka, pokreneš jednu komandu i sve se odradi samo. Ovo je prvi od četiri teksta o bash skriptovanju. U ovom delu pravimo skriptu koja radi; u narednima dodajemo promenljive, uslove i petlje, pa na kraju sklapamo upotrebljivu backup skriptu. Sve što ti treba je terminal i tekstualni editor . Zašto uopšte skripte Zamisli da svakog jutra proveravaš server: koliko je diska ostalo, da li Apache radi, ima li grešaka u logu. To je tri komande koje kucaš ručno. Skripta je te tri komande u jednom fajlu. Otkucaš jednu reč i dobiješ sve. A kad to jednom postoji, može i da se zakaže da radi samo, preko cron-a . Skriptovanje nije programiranje u klasičnom smislu — to je automatizacija onoga što ionako već radiš. Prva skripta Napravi fajl: $ vi zdravo.sh Upiši: #!/bin/bash echo "Zdravo, svete!" Sačuvaj i izađi. To je cela skripta. Shebang Pr...

less i more — pregled velikih fajlova

Kad otvoriš fajl sa cat , ceo sadržaj se prospe kroz terminal i ostaje ti samo poslednji ekran. Za konfiguraciju od petsto linija ili log od pedeset hiljada to je neupotrebljivo. Pager je program koji prikazuje sadržaj ekran po ekran i dozvoljava da se krećeš gore-dole i pretražuješ. Na Linuxu ih ima dva: more i less . Kratko: koristi less more je stariji i primitivniji — kreće se samo unapred i izlazi na kraju fajla. less je napisan kao njegova bolja zamena, odakle i ime: šala na račun izreke da je manje ponekad više. Nauči less , a more zapamti samo zato što ga ponekad zatekneš na starim ili vrlo minimalnim sistemima. Pokretanje $ less /etc/ssh/sshd_config Fajl se otvara u punom ekranu, sa : na dnu. Izlaz je taster q . less ne učitava ceo fajl u memoriju, nego čita onoliko koliko treba. Zato otvara fajl od nekoliko gigabajta trenutno, dok bi ga editor učitavao dugo ili se ugušio. Kretanje Taster Radnja Space ili f ekran napred b ekran nazad ↓...

cron — zakazivanje poslova na Linuxu

cron je servis koji pokreće komande po rasporedu — svakog minuta, svake noći u tri, svakog prvog u mesecu. Sve što bi inače morao da radiš ručno svakog dana može da radi sam: backup baze, brisanje starih fajlova, provera da li servis radi, slanje izveštaja. Posao koji cron pokreće zove se cron job , a raspored se upisuje u tabelu koja se zove crontab . Uređivanje sopstvenog crontab-a $ crontab -e Otvara tvoj lični crontab u podrazumevanom editoru . Ako te dočeka vi a ti to ne želiš: $ export EDITOR=nano $ crontab -e Pregled bez uređivanja: $ crontab -l Brisanje celog crontab-a — bez pitanja, bez povratka: $ crontab -r Tastature -r i -e su jedna do druge. Naviknuti se na crontab -l pre svega ostalog je jeftina navika koja te jednog dana spasi. Tuđi crontab, kao administrator: # crontab -u nginx -l Sintaksa Svaki red ima pet vremenskih polja i komandu: * * * * * komanda │ │ │ │ │ │ │ │ │ └─ dan u nedelji (0-7, gde su 0 i 7 nedelja) │ ...

journalctl — čitanje sistemskih logova

Kad servis ne startuje, kad sistem puca bez objašnjenja ili kad hoćeš da vidiš šta se dešavalo u tri ujutru — odgovor je u logovima. Na modernim Linux sistemima njima upravlja systemd-journald , a čitaju se komandom journalctl . Za razliku od starih tekstualnih logova, journal je binarni format sa indeksima. To znači da ne možeš da ga otvoriš običnim cat -om, ali zauzvrat dobijaš filtriranje koje sa grep -om ne bi ni pokušao. Prvi pogled # journalctl Ispisuje ceo journal od najstarijeg zapisa, u pageru. Na sistemu koji radi mesecima to su stotine hiljada linija, pa je ovako praktički neupotrebljivo — ali je dobar način da vidiš kako zapis izgleda: Aug 19 11:04:23 web01 systemd[1]: Starting The Apache HTTP Server... Aug 19 11:04:23 web01 httpd[1382]: Server configured, listening on: port 80 Aug 19 11:04:23 web01 systemd[1]: Started The Apache HTTP Server. Svaki red ima vreme, ime računara, ime procesa sa PID-om i poruku. Bez sudo videćeš samo deo zapisa — one koje je proi...

dnf i yum — upravljanje paketima na RHEL sistemima

Menadžer paketa je alat kojim instaliraš, ažuriraš i uklanjaš softver na Linuxu. Umesto da preuzimaš instalacije sa sajtova, sve ide iz repozitorijuma — proverenih skladišta paketa koje održava distribucija. Menadžer sam rešava i zavisnosti : ako paket koji instaliraš zahteva još pet biblioteka, on će ih povući bez pitanja. dnf ili yum? Na RHEL-u, Rocky Linuxu, AlmaLinuxu i CentOS-u koristi se dnf . Stariji sistemi (RHEL 7 i CentOS 7) koriste yum . Na modernim sistemima yum i dalje radi — ali je samo preusmerenje na dnf . Možeš i sam da proveriš: $ which yum /usr/bin/yum $ ls -l /usr/bin/yum lrwxrwxrwx. 1 root root 5 Apr 12 09:31 /usr/bin/yum -> dnf-3 Zato u tekstu koristim dnf . Ako radiš na starijem sistemu, svuda umesto toga otkucaj yum — sintaksa je gotovo identična. Skoro sve komande ispod zahtevaju administratorska prava, pa idu uz sudo . Pronalaženje paketa Pretraga po imenu i opisu $ dnf search htop ========== Name Exactly Matched: htop ========== hto...

Master Node

  Master Node (ili Control Plane) je ključna komponenta u Kubernetes klasteru. On je mozak klastera i upravlja svim operacijama, kao što su raspoređivanje resursa, skaliranje aplikacija, praćenje stanja, i druge administrativne funkcije. 🧠 Šta Master Node radi? Master Node je odgovoran za centralizovano upravljanje celokupnim Kubernetes klasterom. Sastoji se od nekoliko ključnih komponenti koje omogućavaju funkcionisanje i koordinaciju: 1. API Server (kube-apiserver) : API server je glavna tačka interakcije sa Kubernetes klasterom. Svi zahtevi (kao što su komande kubectl ili automatske interakcije sa klasterom) idu kroz API server. API server obrađuje ove zahteve, usmerava ih prema odgovarajućim Kubernetes komponentama, i vraća rezultate korisnicima. 2. Controller Manager (kube-controller-manager) : Kontroler menadžer upravlja kontrolerima koji prate stanje klastera i prate promene u sistemu. Na primer, kada se desi nešto neočekivano, kao što je nestanak...

Šta je Node u Kubernetesu?

  Node je fizički ili virtuelni računar na kojem se pokreću Podovi u Kubernetes klasteru. Node-ovi predstavljaju radnu jedinicu klastera i svaki Node u klasteru pokreće Kubernetes komponente koje omogućavaju pokretanje i upravljanje aplikacijama. Ukratko: Node = računar koji pokreće Podove u klasteru. 🔧 Šta Node radi? Svaki Node ima nekoliko ključnih komponenti: Kubelet – Agent koji pokreće na svakom Node-u i brine se da su Podovi pokrenuti prema specifikacijama. Kube Proxy – Odgovoran za mrežno rutiranje unutar klastera. Container Runtime – Softver koji omogućava pokretanje kontejnera (npr. Docker, containerd). 🧠 Ključne karakteristike Node-a: Svaki Node može da pokreće više Podova . Node-ovi mogu biti "master" ili "worker" : Master Node (ili Control Plane) upravlja celokupnim klasterom, raspoređuje resurse, prati stanje. Worker Node (obično više) pokreće Podove koji čine aplikacije. 📋 Prikaz Node-a: Možeš da prover...