Nov 3, 2023

Pregled diskova i particija

 Evo nekoliko korisnih komandi za pregled particija na Linux sistemu, zajedno s primerima:

  1. fdisk: Koristi se za pregled i upravljanje particijama na disku.

    Primer: Pregled svih particija na disku /dev/sda

    sudo fdisk -l /dev/sda
  2. parted: Alternativa za fdisk, koja takođe omogućava manipulaciju particijama.

    Primer: Prikaz particija na disku /dev/sdb

    sudo parted /dev/sdb print
  3. lsblk: Prikazuje informacije o blokovima (uključujući particije i diske).

    Primer: Prikazivanje svih blokova (diskova) i njihovih particija

    lsblk
  4. df: Prikazuje informacije o slobodnom prostoru na particijama.

    Primer: Prikazivanje slobodnog prostora na svim montiranim particijama

    df -h
  5. du: Prikazuje ukupnu upotrebu prostora unutar direktorijuma.

    Primer: Prikazivanje ukupne veličine direktorijuma /var/log

    du -sh /var/log
  6. mount: Prikazuje trenutno montirane particije.

    Primer: Prikazivanje montiranih particija

    mount
  7. blkid: Prikazuje UUID i druge informacije o blokovima (diskovima i particijama).

    Primer: Prikazivanje informacija o /dev/sdb1

    sudo blkid /dev/sdb1
  8. gdisk: GPT particioniranje programa (za GPT particije).

    Primer: Pregled GPT particija na disku /dev/sdc

    sudo gdisk /dev/sdc

Ove komande vam omogućavaju da pregledate i upravljate particijama na Linux sistemu, a primeri vam pomažu da bolje razumete kako ih koristiti.

Upravljanje SWAP memorijom

Šta je SWAP?

 SWAP predstavlja zamenski prostor ili virtuelnu memoriju koju operativni sistem koristi kako bi upravljao nedostatkom fizičke RAM memorije. SWAP omogućava Linux sistemu da efikasno rukuje velikim količinama podataka i aplikacija čak i kada fizička RAM memorija postane iscrpljena. Evo nekoliko ključnih informacija o SWAP-u na Linuxu:

  1. Šta je SWAP?: SWAP je particija ili datoteka na disku koju Linux koristi za smeštanje podataka koji trenutno nisu u upotrebi. Ovi podaci mogu biti premešteni iz fizičke RAM memorije u SWAP kako bi oslobodili mesto za trenutno aktivne zadatke.

  2. Tipovi SWAP-a: SWAP može biti konfigurisan na dva načina:

    • SWAP particija: To je posebna particija na disku rezervisana za SWAP prostor. Ovo je uobičajeniji pristup i obično se konfiguriše tokom instalacije Linux sistema.
    • SWAP datoteka: SWAP datoteka je obična datoteka na fizičkom disku koja se koristi kao SWAP prostor. Može se kreirati i konfigurisati kasnije ako je potrebno.
  3. Veličina SWAP prostora: Veličina SWAP prostora zavisi od potreba sistema. U prošlosti se preporučivalo da veličina SWAP-a bude dva puta veća od fizičke RAM memorije, ali to pravilo više nije strogo primenjivano. Obično je dovoljno da SWAP bude jednako veličini RAM-a, a za sisteme sa velikom količinom RAM-a može biti manja.

  4. Podešavanje SWAP-a: Podešavanje SWAP prostora može se obaviti tokom instalacije Linux sistema ili naknadno. SWAP particija se može kreirati i formatirati kao SWAP prostor, dok SWAP datoteka može biti kreirana pomoću alatke kao što je dd ili fallocate.

  5. Aktiviranje SWAP-a: SWAP particija se obično automatski aktivira tokom pokretanja sistema. SWAP datoteka mora biti ručno aktivirana, na primer, koristeći komandu swapon.

  6. Provera SWAP-a: Možete proveriti SWAP prostor koristeći komandu swapon -s ili free -h. Ovo će vam dati informacije o trenutnom SWAP prostoru.

  7. Hibernacija: SWAP je takođe neophodan za funkciju hibernacije na Linuxu. Prilikom hibernacije, trenutno stanje sistema se čuva u SWAP prostoru kako bi se kasnije obnovilo.

Korišćenje SWAP-a na Linuxu može poboljšati performanse sistema i omogućiti mu da efikasno rukuje sa velikim količinama podataka. Ipak, optimalno je imati dovoljno fizičke RAM memorije kako bi se izbeglo korišćenje SWAP prostora, jer je pristup diskovima obično sporiji od pristupa RAM-u.


Kreiranje SWAP particije i datoteke

Kreiranje SWAP particije ili SWAP datoteke na Linuxu može se obaviti na nekoliko načina, zavisno o vašim potrebama. Evo koraka za oba pristupa:

  1. Kreiranje SWAP particije:

    Ako želite kreirati posebnu SWAP particiju, sledite ove korake:

    a. Otvorite terminal na vašem Linux sistemu.

    b. Prvo, možete proveriti postojeće particije na disku komandom fdisk -l ili lsblk. Pronađite particiju na kojoj želite kreirati SWAP.

    c. Nakon što odaberete particiju, koristite fdisk ili parted da biste kreirali novu particiju i postavili njen tip na "Linux swap." Na primer:

    sudo fdisk /dev/sdX

    Gde /dev/sdX označava vašu odabranu particiju.

    d. Kreirajte SWAP sistem na novoj particiji komandom mkswap:

    sudo mkswap /dev/sdX1

    e. Aktivirajte SWAP particiju komandom:

    sudo swapon /dev/sdX1

    f. Dodajte SWAP particiju u /etc/fstab kako bi se automatski aktivirala pri svakom pokretanju sistema. Otvorite /etc/fstab u tekstualnom uređivaču i dodajte liniju:

    /dev/sdX1 none swap sw 0 0
  2. Kreiranje SWAP datoteke:

    Ako želite kreirati SWAP datoteku, sledite ove korake:

    a. Otvorite terminal.

    b. Kreirajte praznu datoteku komandom fallocate ili dd. Na primer, za kreiranje SWAP datoteke veličine 2 GB koristite:

    sudo fallocate -l 2G /swapfile

    c. Formatirajte datoteku kao SWAP:

    sudo mkswap /swapfile

    d. Aktivirajte SWAP datoteku:

    sudo swapon /swapfile

    e. Dodajte SWAP datoteku u /etc/fstab kako bi se automatski aktivirala pri svakom pokretanju sistema. Otvorite /etc/fstab i dodajte liniju:

    /swapfile none swap sw 0 0

Nakon što završite ove korake, SWAP prostor će biti kreiran i aktivan na vašem Linux sistemu. SWAP pomaže da se bolje upravlja memorijom, posebno u slučaju kada je fizička RAM memorija iscrpljena.

Prioriteti

Swap prioriteti su korisna svojstva koja vam omogućavaju da kontrolišete redosled korišćenja različitih swap particija ili datoteka. Ovo vam omogućava da odredite koja će swap particija biti korišćena pre nego druge ako imate više swap resursa na raspolaganju. Prioriteti vam omogućavaju da optimizujete performanse sistema i upravljate resursima SWAP-a.

Evo kako možete postaviti prioritete za swap particije ili datoteke:

  1. Prikazivanje trenutnih swap particija i njihovih prioriteta:

    Možete upotrebiti komandu swapon -s da biste videli trenutne swap particije i njihove prioritete.

    swapon -s
  2. Postavljanje prioriteta:

    Swap particijama i datotekama možete dodeliti prioritete prilikom njihovog aktiviranja. Na primer, ako želite postaviti prioritet swap particije na 10, možete koristiti komandu:

    sudo swapon -p 10 /dev/sdX1

    Gde /dev/sdX1 označava vašu swap particiju.

    Što je niži broj, to je viši prioritet. Prioriteti su obično u opsegu od -1 do 32767, sa negativnim brojevima dajući viši prioritet.

  3. Provera prioriteta:

    Da biste proverili da li je prioritet postavljen, možete ponovo koristiti komandu swapon -s. Prioritet će biti vidljiv pored svake swap particije.

  4. Ažuriranje prioriteta pri pokretanju sistema (opciono):

    Da biste postavili prioritet pri svakom pokretanju sistema, možete ažurirati /etc/fstab datoteku sa odgovarajućim prioritetom. Dodajte pri opciju u fstab unos za swap particiju. Na primer:

    /dev/sdX1 none swap sw,pri=10 0 0

Ovo će postaviti prioritet na 10 za tu swap particiju prilikom svakog pokretanja sistema. Opet, obratite pažnju na tačne putanje i nazive particija na vašem sistemu.

Swap prioriteti su korisni za optimizaciju performansi sistema i upravljanje resursima SWAP-a, posebno ako koristite više swap resursa na jednom sistemu.

Uključivanje i isključivanje swap-a

Uključivanje i isključivanje swap particija na Linux sistemu možete postići korišćenjem nekoliko komandi. Evo kako to možete učiniti:

  1. Uključivanje SWAP-a:

    Da biste uključili swap particiju, koristite komandu swapon:

    sudo swapon /dev/sdX1

    Gde /dev/sdX1 označava putanju do vaše swap particije. Ova komanda će momentalno omogućiti swap particiju.

  2. Isključivanje SWAP-a:

    Da biste isključili swap particiju, koristite komandu swapoff:

    sudo swapoff /dev/sdX1

    Ova komanda će onemogućiti swap particiju.

  3. Provera statusa SWAP-a:

    Možete proveriti trenutni status swap particija koristeći komandu swapon:

    swapon -s

    Ova komanda će vam prikazati listu trenutno aktiviranih swap particija.

Nakon što ste uključili ili isključili swap particiju, možete koristiti komandu free ili swapon -s da biste proverili kako se promenio ukupni dostupni swap prostor.

Napomena: Promene u vezi SWAP particija će biti privremene i važiće samo tokom trenutne sesije. Ako želite da trajno konfigurišete SWAP particije, trebalo bi da ažurirate /etc/fstab datoteku sa odgovarajućim unosima za swap particije kako bi se aktivirale prilikom svakog pokretanja sistema.

SWAP file ili SWAP particija

Swap datoteka (swap file) i swap particija (swap partition) su dva različita pristupa za upravljanje SWAP memorijom na Linux sistemu. Svaka ima svoje prednosti i mane, a izbor između njih zavisi od vaših specifičnih potreba. Evo kratkog pregleda oba pristupa:

  1. Swap Particija:

    • Swap particija je rezervisani deo vašeg hard diska koji se koristi za SWAP memoriju.
    • Prednosti:
      • Brža performansa: Swap particija može ponuditi brži pristup SWAP memoriji jer je direktno vezana za fizički disk.
      • Pouzdanost: Oštećenje swap particije neće uticati na druge delove sistema.
    • Mane:
      • Fiksna veličina: Swap particija zahteva da unapred odredite veličinu prilikom kreiranja i ne može se lako proširiti bez prepravke particije.
  2. Swap Datoteka:

    • Swap datoteka je posebna datoteka na disku koja se koristi za SWAP memoriju.
    • Prednosti:
      • Fleksibilnost: Možete dinamički kreirati i promeniti veličinu swap datoteke bez potrebe za izmenama particija.
      • Jednostavnost: Ne zahteva posebnu particiju i može se lako kreirati na već postojećem disku.
    • Mane:
      • Potencijalno sporija performansa: Pristup SWAP memoriji putem datoteke može biti sporiji u poređenju sa swap particijom jer se datoteka nalazi unutar fajl sistema.

Izbor između swap datoteke i swap particije zavisi od vaših potreba. Ako imate dovoljno prostora na disku i želite optimalne performanse, swap particija može biti dobar izbor. Ako vam je potrebna fleksibilnost i ne želite menjati particije, swap datoteka je praktičnija opcija. Možete čak koristiti i kombinaciju oba pristupa na istom sistemu.

mkfs

 Komande mkfs (Make File System) se koriste za kreiranje fajl sistema na diskovima i particijama. Ovde su neki od najčešće korišćenih fajl sistema i odgovarajuće komande mkfs, zajedno sa primerima:

  1. Kreiranje ext4 fajl sistema:

    mkfs.ext4 /dev/sdX

    Gde /dev/sdX predstavlja uređaj (na primer, /dev/sda1).

    Primer:

    mkfs.ext4 /dev/sdb1
  2. Kreiranje XFS fajl sistema:

    mkfs.xfs /dev/sdX

    Primer:

    mkfs.xfs /dev/sdc1
  3. Kreiranje NTFS fajl sistema (za upotrebu sa Windows sistemima):

    Koristite mkfs.ntfs da biste formatirali particiju kao NTFS fajl sistem. Ovo se obično radi pomoću alata kao što je mkntfs.

  4. Kreiranje FAT32 fajl sistema:

    FAT32 fajl sistem se takođe može kreirati pomoću alata kao što su mkdosfs ili mkfs.fat.

    mkdosfs -F 32 /dev/sdX

    Primer:

    mkdosfs -F 32 /dev/sdd1
  5. Kreiranje Btrfs fajl sistema:

    Btrfs je noviji fajl sistem koji se koristi za Linux distribucije. Da biste kreirali Btrfs fajl sistem, koristite mkfs.btrfs komandu.

    mkfs.btrfs /dev/sdX

    Primer:

    mkfs.btrfs /dev/sde1

Napomena: Pre nego što izvršite komande mkfs, budite sigurni da ste pažljivo izabrali uređaj ili particiju, jer će ova operacija izbrisati sve podatke na njima. Veoma je važno da budete oprezni prilikom korišćenja ovih komandi.

Takođe, napomena je da neki od ovih fajl sistema zahtevaju instalaciju dodatnih paketa i alata, tako da biste želeli da se pobrinite da imate odgovarajuće alate instalirane na svom sistemu pre nego što pokušate da kreirate odgovarajući fajl sistem.

fstab

 Da biste automatski montirali fajl sistem prilikom pokretanja sistema (na startup), trebate dodati odgovarajući unos u konfiguracione fajlove sistema. Evo kako to možete postići na Linux sistemu, koristeći fajl /etc/fstab:

  1. Otvorite terminal na vašem Linux sistemu.

  2. Editujte fajl /etc/fstab. Ovo se obično radi kao superkorisnik (root) korisnik. Na primer:

    sudo nano /etc/fstab

    Možete koristiti bilo koji tekstualni uređivač po vašem izboru umesto nano, kao što su vi, vim, gedit, itd.

  3. Dodajte unos za montiranje vašeg fajl sistema. Unos bi trebalo da izgleda otprilike ovako:

    /putanja/do/uredjaja /mnt/tačka/montiranja tip_fajl_sistema opcije 0 0
    • /putanja/do/uredjaja: Ovo je putanja do uređaja (na primer, /dev/sdb1) ili particije koju želite montirati.

    • /mnt/tačka/montiranja: Ovo je putanja do direktorijuma gde želite da montirate uređaj.

    • tip_fajl_sistema: Ovde navedite tip fajl sistema na uređaju (na primer, ext4, ntfs, xfs, itd).

    • opcije: Definišite opcije montiranja fajl sistema. Na primer, ako želite omogućiti pisanje, koristite rw. Ako želite da zabranite izvršavanje, koristite noexec. Postavke zavise od vaših potreba.

    • Prva 0: Ovo označava redni broj za sistemske dump operacije. Obično se postavlja na 0 ako ne koristite sistemske kopije.

    • Druga 0: Ovo označava redni broj za proveru fajl sistema. Obično se postavlja na 0 jer se provera fajl sistema može izvesti na zahtev.

  4. Sačuvajte izmene i zatvorite fajl.

  5. Da biste testirali unos bez ponovnog pokretanja sistema, možete koristiti komandu sudo mount -a. Ako se sve konfiguracije fajlova u /etc/fstab pravilno postave, uređaj će biti montiran bez problema.

  6. Ponovo pokrenite sistem kako biste bili sigurni da se uređaj automatski montira pri svakom pokretanju sistema.

Nakon ovih koraka, vaš fajl sistem će biti montiran prilikom svakog pokretanja sistema. Ovo je korisno za automatsko montiranje particija, spoljnih uređaja ili mrežnih deljenih foldera.

Karakteristike file sistema

 Svaki fajl sistem ima svoje prednosti i mane, i izbor određenog fajl sistema zavisi od specifičnih potreba i zahteva. Evo pregleda prednosti i mana nekoliko čestih fajl sistema:

FAT (File Allocation Table)

  • Prednosti:

    • Jednostavan za implementaciju i podržava se na različitim platformama.
    • Kompatibilan sa mnogim uređajima, uključujući USB uređaje i memorijske kartice.
    • Nema složenih dozvola pristupa.
  • Mane:

    • Ne podržava metapodatke kao što su vlasništvo, dozvole i atribute.
    • Ograničen u veličini particije i maksimalnoj veličini fajla.
    • Nema podršku za enkripciju i kompresiju.

NTFS (New Technology File System)

  • Prednosti:

    • Napredne funkcionalnosti za prava pristupa i sigurnost, uključujući enkripciju i atribute fajlova.
    • Mogućnost rada sa velikim fajlovima i particijama.
    • Poboljšana otpornost na greške i oporavak podataka.
  • Mane:

    • Manje kompatibilan sa ne-Windows operativnim sistemima.
    • Potrebno je više resursa za rad u odnosu na neke druge fajl sisteme.
    • Zatvoren izvor i ograničenja u određenim implementacijama.

ext4 (Fourth Extended File System)

  • Prednosti:

    • Brz i efikasan za rad sa malim i srednjim fajlovima.
    • Stabilan i dobro podržan na Linux sistemima.
    • Podržava journaling za oporavak od neočekivanih prekida.
  • Mane:

    • Ne podržava enkripciju i kompresiju.
    • Može biti manje efikasan za velike fajlove i particije.

XFS

  • Prednosti:

    • Odličan za rad sa velikim fajlovima i particijama.
    • Brz i skalabilan za zahtevne zadatke.
    • Journaling i otpornost na greške.
  • Mane:

    • Manje podržan na nekim operativnim sistemima osim Linuxa.
    • Nema podršku za enkripciju.

HFS+ (Hierarchical File System Plus)

  • Prednosti:

    • Razvijen za Mac operativne sisteme, odlična kompatibilnost sa Mac uređajima.
    • Podrška za metapodatke i atribute fajlova.
    • Enkripcija i kompresija podržani.
  • Mane:

    • Ograničenja u interoperabilnosti sa ne-Mac sistemima.
    • Ograničen u veličini particije i fajla.

ZFS (Zettabyte File System)

  • Prednosti:

    • Ekstremna skalabilnost i podrška za velike količine podataka.
    • Integrisan snapshot i podrška za replikaciju.
    • Efikasan sistem za upravljanje prostorom.
  • Mane:

    • Zahteva više resursa u poređenju sa drugim fajl sistemima.
    • Nije podržan na svim operativnim sistemima.
    • Složen za konfiguraciju.

Izbor fajl sistema zavisi od vaših potreba i specifičnih zahteva. Na primer, ako radite na Linux serveru, ext4 ili XFS mogu biti odličan izbor. Ako koristite Mac uređaje, HFS+ će biti najkompatibilniji. Važno je pažljivo razmotriti prednosti i mane svakog fajl sistema pre nego što donesete odluku o korišćenju.

Kreiranje XFS fajl sistema

 Da biste kreirali i montirali XFS fajl sistem na Linuxu, pratite sledeće korake:

Napomena: Pre nego što nastavite, budite sigurni da znate koju particiju ili uređaj želite da koristite za fajl sistem i da nema bitnih podataka na njemu, jer će se postojeći podaci trajno izgubiti.

  1. Otvorite terminal.

  2. Ako se ne nalazite kao superkorisnik (root), koristite sudo komandu za dobijanje administrativnih privilegija:

    sudo -i
  3. Kreirajte XFS fajl sistem na odabranoj particiji ili uređaju koristeći mkfs.xfs. Na primer, da biste kreirali XFS fajl sistem na /dev/sdX1, koristite sledeću komandu:

    mkfs.xfs /dev/sdX1

    Zamijenite /dev/sdX1 sa odgovarajućim uređajem koji želite da formatirate.

  4. Nakon što ste kreirali XFS fajl sistem, možete ga montirati. Prvo ćete morati da izaberete direktorijum u koji ćete montirati particiju. Na primer, kreirajte novi direktorijum u /mnt:

    mkdir /mnt/moj_disk
  5. Montirajte XFS fajl sistem na odabrani direktorijum pomoću mount komande. Na primer:

    mount /dev/sdX1 /mnt/moj_disk

    Opet zamijenite /dev/sdX1 sa odgovarajućim uređajem.

  6. Sada je vaš XFS fajl sistem montiran na /mnt/moj_disk. Možete početi da koristite ovu particiju za skladištenje podataka.

  7. Kada završite, možete demontirati particiju koristeći umount komandu:

    umount /mnt/moj_disk

    Ovo će osloboditi particiju.

Ovo su osnovni koraci za kreiranje i montiranje XFS fajl sistema na Linuxu. Možete koristiti različite direktorijume za montiranje, a takođe možete dodati odgovarajuće unos u /etc/fstab datoteku da biste automatski montirali particiju prilikom pokretanja sistema.

Kreiranje EXT4 file sistema

 Kako biste kreirali i montirali ext4 fajl sistem na Linuxu, pratite sledeće korake:

Napomena: Pre nego što nastavite, budite sigurni da znate koju particiju ili uređaj želite da koristite za fajl sistem i da nema bitnih podataka na njemu, jer će se postojeći podaci trajno izgubiti.

  1. Otvorite terminal.

  2. Ako se ne nalazite kao superkorisnik (root), koristite sudo komandu za dobijanje administrativnih privilegija:

    sudo -i
  3. Kreirajte ext4 fajl sistem na odabranoj particiji ili uređaju koristeći mkfs.ext4. Na primer, da biste kreirali ext4 fajl sistem na /dev/sdX1, koristite sledeću komandu:

    mkfs.ext4 /dev/sdX1

    Zamijenite /dev/sdX1 sa odgovarajućim uređajem koji želite da formatirate.

  4. Nakon što ste kreirali ext4 fajl sistem, možete ga montirati. Prvo ćete morati da izaberete direktorijum u koji ćete montirati particiju. Na primer, kreirajte novi direktorijum u /mnt:

    mkdir /mnt/moj_disk
  5. Montirajte ext4 fajl sistem na odabrani direktorijum pomoću mount komande. Na primer:

    mount /dev/sdX1 /mnt/moj_disk

    Opet zamijenite /dev/sdX1 sa odgovarajućim uređajem.

  6. Sada je vaš ext4 fajl sistem montiran na /mnt/moj_disk. Možete početi da koristite ovu particiju za skladištenje podataka.

  7. Kada završite, možete demontirati particiju koristeći umount komandu:

    umount /mnt/moj_disk

    Ovo će osloboditi particiju.

Ovo su osnovni koraci za kreiranje i montiranje ext4 fajl sistema na Linuxu. Možete koristiti različite direktorijume za montiranje, a takođe možete dodati odgovarajuće unos u /etc/fstab datoteku da biste automatski montirali particiju prilikom pokretanja sistema.

Tipovi file sistema

 Linux podržava različite tipove fajl sistema koji omogućavaju organizaciju i čuvanje podataka na disku. Evo nekoliko najčešće korišćenih fajl sistema na Linuxu:

  1. ext4 (Fourth Extended Filesystem): ext4 je jedan od najpopularnijih fajl sistema na Linuxu i često se koristi za sistemsku particiju. On podržava velike fajl sisteme i ima dobar odnos između performansi i pouzdanosti.

  2. XFS (X File System): XFS je visoko performantan fajl sistem koji je dobar za rad sa velikim fajlovima i particijama. Koristi se često za servere i skladištenje podataka.

  3. Btrfs (B-tree File System): Btrfs je moderan fajl sistem koji podržava napredne funkcije poput "snapshot"-a, kompresije i detekcije grešaka. Može se koristiti za sve vrste fajlova i particija.

  4. ZFS (Zettabyte File System): ZFS je izuzetno moćan fajl sistem koji nudi napredne mogućnosti za upravljanje podacima, uključujući podršku za RAID, kompresiju i "snapshot"-e. Ipak, nije uključen u jezgro Linux kernela po podrazumevanim podešavanjima.

  5. NTFS (New Technology File System): NTFS je Microsoftov fajl sistem, ali Linux ima podršku za čitanje i pisanje NTFS particija. Ovo je korisno ako trebate pristupiti Windows particijama sa Linuxa.

  6. FAT32 (File Allocation Table 32): FAT32 je jednostavan fajl sistem koji je podržan na svim platformama. Koristi se često za USB fleš drajvove i memorijske kartice.

  7. exFAT (Extended File Allocation Table): exFAT je fajl sistem optimizovan za velike fajlove i fleš drajvove. Koristi se često za prenosive uređaje.

Ovo su samo neki od fajl sistema koji su podržani na Linuxu. Izbor fajl sistema zavisi od vaših specifičnih potreba i zahteva. Na Linuxu možete formatirati particije u skoro svakom od ovih fajl sistema, u zavisnosti od vaše upotrebe.

lsblk

 lsblk je komanda koja se koristi za prikazivanje informacija o blokovima skladišta (diskovima i particijama) na Linux sistemu. Ova komanda vam omogućava da vidite kako su diskovi i particije povezani i kako su montirani u direktorijume.

Evo osnovnog oblika komande lsblk:

lsblk

Ovo će prikazati tabelu koja sadrži informacije o svim blokovima skladišta na sistemu, uključujući fizičke i logičke diskove, particije i ostale uređaje. Evo primera izlaza komande lsblk:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk
├─sda1   8:1    0   500M  0 part /boot
├─sda2   8:2    0    20G  0 part /
└─sda3   8:3    0  79.5G  0 part /home
sdb      8:16   0   500G  0 disk
├─sdb1   8:17   0  100G  0 part /mnt/data
├─sdb2   8:18   0   50G  0 part /mnt/backups
└─sdb3   8:19   0  350G  0 part

Ovde su neke od važnih kolona:

  • NAME: Ime bloka skladišta.
  • MAJ:MIN: Major i minor brojevi uređaja.
  • RM: "Removeable" - 0 ako uređaj nije izmenjiv, 1 ako jeste.
  • SIZE: Veličina uređaja ili particije.
  • RO: "Read-Only" - 0 ako uređaj/particija nije samo za čitanje, 1 ako jeste.
  • TYPE: Tip uređaja (disk, particija, itd.).
  • MOUNTPOINT: Putanja do mesta na kojem je uređaj ili particija montirana (ako je montirana).

U primeru izlaza komande, možete videti da postoje dva diska (sda i sdb) i kako su povezane particije na svakom disku. Takođe možete videti da li su particije montirane i na kojim putanjama.

Komanda lsblk je korisna za brzo pregledavanje skladišnog prostora na sistemu i identifikaciju uređaja i particija.

Podešavanje prava pristupa

 Da biste podesili prava pristupa (permissions) na Linux sistemu, koristite komandu chmod. Prava pristupa određuju ko može da čita, piše ili izvršava određeni fajl ili direktorijum. Evo kako koristiti komandu chmod:

  1. Sintaksa komande chmod:

    chmod [opcije] prava fajl_ili_direktorijum

    Gde su:

    • opcije: Opcioni argumenti komande, kao što su -R za rekurzivno menjanje prava za direktorijume i fajlove unutar datog direktorijuma.
    • prava: Specifikacija prava u obliku brojeva ili simbola. Koristi se za definisanje prava za vlasnika (owner), grupu (group) i ostale (others).
    • fajl_ili_direktorijum: Putanja do fajla ili direktorijuma za koje želite da promenite prava.
  2. Korišćenje brojeva za prava:

    Prava se obično definišu brojevima. Svaka kombinacija prava ima svoju numeričku vrednost:

    • 4: Dozvola za čitanje (read).
    • 2: Dozvola za pisanje (write).
    • 1: Dozvola za izvršavanje (execute).
    • 0: Bez dozvole.

    Prava za vlasnika, grupu i ostale se obično definišu kao trocifreni brojevi. Prva cifra predstavlja prava vlasnika, druga cifra prava grupe, a treća cifra prava ostalih. Na primer, chmod 755 fajl.txt postavlja prava tako da vlasnik može da čita, piše i izvršava fajl, dok grupa i ostali mogu samo da čitaju i izvršavaju fajl.

  3. Korišćenje simbola za prava:

    Prava se takođe mogu definisati korišćenjem simbola. Osnovni simboli za prava uključuju:

    • +: Dodaj prava.
    • -: Ukloni prava.
    • =: Postavi prava na tačno navedene vrednosti.

    Na primer, chmod u+rwx,g+rx,o+r fajl.txt dodaje vlasniku prava za čitanje, pisanje i izvršavanje, grupi prava za čitanje i izvršavanje, a ostalima pravo za čitanje fajla.

  4. Primeri:

    • Postavljanje prava tako da samo vlasnik može da izvršava skriptu:

      chmod 700 skripta.sh
    • Dodeljivanje prava za čitanje i pisanje vlasniku i grupi:

      chmod u+rw,g+rw fajl.txt
    • Uklanjanje prava za izvršavanje od svih korisnika osim vlasnika:

      chmod go-x fajl.txt
    • Rekurzivna promena prava za sve fajlove i direktorijume u određenom direktorijumu:

      chmod -R 755 /putanja/do/direktorijuma

Podesite prava pažljivo, jer nepravilno postavljena prava mogu dovesti do bezbednosnih problema ili problema sa funkcionalnošću. Preporučuje se da pravilno razumete i primenjujete prava pristupa na vašem Linux sistemu.

Komande setfacl i getfacl

setfacl i getfacl su Linux komande koje se koriste za upravljanje i pregled kontrolnih listi pristupa (ACL) na datotekama i direktorijumima. ACL omogućava detaljniju kontrolu pristupa nego osnovni sistem prava pristupa.

Evo kako se koriste:

setfacl:

  • setfacl -m permissions /path/to/file: Dodaje ACL na datoteku ili direktorijum. Na primer: setfacl -m u:jane:rwx /path/to/file dodeljuje korisnici "jane" prava za čitanje, pisanje i izvršavanje na datoteci.

  • setfacl -x permissions /path/to/file: Uklanja ACL sa datoteke ili direktorijuma. Na primer: setfacl -x u:jane /path/to/file uklanja sve pristupe korisniku "jane" sa datoteke.

  • setfacl -b /path/to/file: Uklanja sve ACL sa datoteke ili direktorijuma.

getfacl:

  • getfacl /path/to/file: Prikazuje trenutne ACL na datoteci ili direktorijumu. Na primer:
# file: /path/to/file
# owner: user1
# group: group1
user::rw-
user:jane:r-x
group::r--
mask::r-x
other::---

Ovde se prikazuju prava pristupa za vlasnika ("user1"), korisnika "jane", grupu "group1" i ostale korisnike.

Ove komande su korisne kada želite da detaljno upravljate pristupima na datotekama i direktorijumima, posebno u višekorisničkim okruženjima gde osnovna prava pristupa nisu dovoljna.


Primer za uklanjanje prava ostalim korisnicima

Da biste uklonili prava za sve ostale korisnike (all others) sa određene datoteke ili direktorijuma, koristite komandu setfacl. Evo kako to možete učiniti:

setfacl -m o::--- /putanja/do/datoteke-ili-direktorijuma

Ovde -m označava da želimo da izmenimo ACL (Access Control List), o::--- postavlja prava za "all others" na "---" što znači da se sva prava uklanjaju. /putanja/do/datoteke-ili-direktorijuma je putanja do datoteke ili direktorijuma na koji želite primeniti ove promene.

Na primer, ako želite da uklonite sva prava za sve ostale korisnike sa datoteke "file.txt", koristite sledeću komandu:

setfacl -m o::--- /putanja/do/file.txt

Ovo će ukloniti sva prava za sve ostale korisnike sa datoteke "file.txt".


Podešavanje default prava

Opcija -d se koristi za postavljanje podrazumevanih ACL prava za direktorijum.

Evo primera kako biste mogli koristiti setfacl -d za postavljanje podrazumevanih ACL prava na direktorijum:

setfacl -d -m u:jane:r-x /path/to/directory

Ova komanda postavlja podrazumevane ACL prava za korisnika "jane" na direktorijum "directory". Prava su postavljena na r-x, što znači da korisnik "jane" ima dozvolu za čitanje i izvršavanje, ali ne i pisanje.

Kada se postave podrazumevana ACL prava na direktorijum, ta prava će se primenjivati na sve nove datoteke i direktorijume koji se kreiraju unutar tog direktorijuma. To omogućava preciznu kontrolu nad pravima korisnika za datoteke koje se kreiraju unutar tog direktorijuma.

Napomena: ACL prava omogućavaju detaljniju kontrolu nad pravima za korisnike i grupe, tako da možete precizno odrediti pristup datotekama i direktorijumima u sistemu.



Pregled prava pristupa

 Da biste pregledali prava pristupa (permissions) za fajl ili direktorijum na Linux sistemu, koristite komandu ls zajedno sa opcijom -l za detaljni prikaz. Evo kako možete pregledati prava pristupa:

  1. Sintaksa komande ls za pregled prava pristupa:

    ls -l putanja/do/fajla_ili_direktorijuma

    Gde je putanja/do/fajla_ili_direktorijuma putanja do fajla ili direktorijuma za koje želite da pregledate prava pristupa.

  2. Prikaz detaljnih informacija:

    Korišćenjem opcije -l, komanda ls će prikazati detaljne informacije o fajlu ili direktorijumu, uključujući prava pristupa. Rezultati će izgledati otprilike ovako:

    -rwxr-xr-x 1 korisnik grupa 12345 datum_vreme fajl.txt

    Gde:

    • Prvi karakter (npr. -) označava tip fajla (običan fajl, direktorijum, simbolička veza itd.).
    • Naredna tri karaktera (npr. rwx) predstavljaju prava vlasnika (owner) fajla.
    • Sledeća tri karaktera (npr. r-x) predstavljaju prava grupe (group).
    • Poslednja tri karaktera (npr. r-x) predstavljaju prava ostalih korisnika (others).
    • Broj "1" označava broj linkova ka fajlu ili direktorijumu.
    • "korisnik" označava vlasnika fajla.
    • "grupa" označava grupu kojoj fajl pripada.
    • "12345" označava veličinu fajla u bajtovima.
    • "datum_vreme" označava datum i vreme poslednje izmene fajla.
    • "fajl.txt" je ime fajla ili direktorijuma.
  3. Pojašnjenje karaktera za prava:

    • r: Dozvola za čitanje (read).
    • w: Dozvola za pisanje (write).
    • x: Dozvola za izvršavanje (execute).
    • -: Bez dozvole.

Na primer, u rezultatu -rwxr-xr-x, vlasnik ima dozvole za čitanje, pisanje i izvršavanje, dok grupa i ostali imaju dozvole samo za čitanje i izvršavanje fajla.

Pregled prava pristupa pomaže vam da razumete ko može da pristupi fajlu ili direktorijumu i šta može da radi s njim.

Implementacija politika lozinke

 Implementacija politika lozinke na Linux sistemu obično se vrši pomoću alatki kao što su PAM (Pluggable Authentication Module) i passwd. Evo kako možete implementirati politike lozinke na Linux sistemu:

  1. Kreirajte ili izmenite fajl /etc/security/pwquality.conf (opcionalno): Ovaj korak je opcionalan i zavisi od vaše Linux distribucije. Fajl /etc/security/pwquality.conf se koristi za konfigurisanje kvaliteta lozinke, kao što su minimalna dužina lozinke, upotreba različitih karaktera, itd. U ovom fajlu možete definisati politike za lozinke.

  2. Izmenite PAM konfiguraciju za lozinke: Konfiguracija PAM nalazi se u fajlu /etc/security/pwquality.conf. Ovde možete definisati politike za lozinke, kao što su minimalna dužina lozinke, upotreba različitih karaktera, maksimalni broj dana do isteka, itd. Ovo možete postići dodavanjem ili izmenom redova u odgovarajućim PAM datotekama, kao što su /etc/security/password-auth ili /etc/security/common-password.

  3. Izmenite politike lozinke pomoću komande passwd: Korisnici takođe mogu menjati svoje lozinke pomoću komande passwd. Administratori sistema mogu koristiti passwd za postavljanje određenih politika lozinke, kao što je postavljanje maksimalnog broja dana do isteka lozinke (-x opcija) ili postavljanje minimalne dužine lozinke (-n opcija). Na primer:

    passwd -x 90 username
    passwd -n 8 username

    Ovo postavlja maksimalni broj dana do isteka lozinke na 90 dana i minimalnu dužinu lozinke na 8 karaktera za korisnika "username".

  4. Kreirajte skripte i zadatke planera za praćenje politika lozinke: Da biste obezbedili da se politike lozinke prate i primenjuju redovno, možete kreirati skripte i koristiti zadatke planera (npr. cron) za automatsko izvršavanje ovih skripti. Na primer, možete kreirati skriptu koja će periodično proveravati starost lozinke korisnika i obaveštavati ih ili ih primoravati da promene lozinke kada isteknu politike.

Ovi koraci variraju u zavisnosti od Linux distribucije koju koristite i politika koje želite primeniti. Preporučuje se da se konsultujete sa dokumentacijom vaše distribucije i PAM konfiguracijom kako biste pravilno implementirali politike lozinke na vašem sistemu.

Login script-e

 Skripte za prijavu (login scripts) u Linux sistemima se izvršavaju svaki put kada se korisnik prijavi na sistem, i koriste se za podešavanje korisničkog okruženja, varijabli okoline i drugih postavki koje se primenjuju tokom sesije. U Linuxu, obično se koriste bash skripte kao login skripte.

Postoji nekoliko različitih vrsta login skripti, uključujući:

  1. /etc/profile: Ova skripta se izvršava za svakog korisnika pri prijavi. Ona postavlja globalne varijable okoline, kao što su PATH i LANG, i može pokretati globalne login skripte.

  2. ~/.bash_profile ili ~/.bash_login ili ~/.profile: Ove skripte se izvršavaju za svakog pojedinačnog korisnika pri prijavi. Korisnik može koristiti jednu od ovih skripti (u tom redosledu), u svom matičnom direktorijumu, kako bi postavio svoje personalne varijable okoline.

  3. ~/.bashrc: Ova skripta se izvršava svaki put kada se pokrene interaktivna instanca ljuske (shell). To znači da se izvršava svaki put kada otvorite terminal ili novu sesiju. Obično se koristi za postavljanje personalnih varijabli okoline, ali neke distribucije Linuxa ga ne koriste za login skripte.

  4. /etc/bash.bashrc: Ova skripta je ekvivalentna ~/.bashrc, ali se izvršava za svakog korisnika pri pokretanju interaktivne instance ljuske.

  5. ~/.bash_logout: Ova skripta se izvršava pri odjavi korisnika. Koristi se za čišćenje ili izvršavanje završnih radnji pre nego što se korisnik odjavi.

Primer login skripte ~/.bash_profile:

# Postavljanje PATH varijable
export PATH=$PATH:/opt/myapp/bin

# Postavljanje varijable okoline
export MY_VARIABLE=my_value

# Izvršavanje dodatnih skripti ako postoje
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

Primer ~/.bashrc:

# Postavljanje personalnih varijabli okoline export MY_PERSONAL_VARIABLE=my_personal_value

Primer /etc/bash.bashrc:

# Postavljanje globalnih varijabli okoline export GLOBAL_VARIABLE=global_value

Ovo su samo osnovni primeri, i login skripte mogu biti prilagođene prema potrebama korisnika ili sistema. Važno je znati da se izmene login skripti obično ne primenjuju dok se korisnik ne odjavi i ponovo prijavi.

Kreiranje korisnika i grupa

 Da biste kreirali korisnike i grupe na Linux sistemu, koristite naredbe useradd, adduser, groupadd i addgroup, u zavisnosti od distribucije Linuxa koju koristite. Evo osnovnih koraka za kreiranje korisnika i grupa:

Kreiranje grupe:

Koristite groupadd ili addgroup naredbu za kreiranje nove grupe. Na primer:

sudo groupadd moja_grupa

Ili:

sudo addgroup moja_grupa

Kreiranje korisnika:

Koristite useradd ili adduser naredbu za kreiranje novog korisnika. Na primer:

sudo useradd -m -g moja_grupa moj_korisnik

Ovde smo koristili opciju -m da bismo automatski kreirali korisnikov matični direktorijum (obično /home/ime_korisnika) i opciju -g da bismo dodali korisnika u određenu grupu.

Alternativno, možete koristiti adduser koji je interaktivniji i pruža više opcija prilikom kreiranja korisnika:

sudo adduser moj_korisnik

Sledite upute da biste postavili lozinku i dodali korisnika u grupe.

Promena lozinke korisnika:

Da biste promenili lozinku korisnika, koristite passwd naredbu:

sudo passwd moj_korisnik

Sledite upute za postavljanje nove lozinke.

Brisanje korisnika:

Da biste obrisali korisnika, koristite userdel naredbu:

sudo userdel moj_korisnik

Brisanje grupe:

Da biste obrisali grupu, koristite groupdel naredbu:

sudo groupdel moja_grupa

Ovo su osnovni koraci za kreiranje i upravljanje korisnicima i grupama na Linux sistemu. Obratite pažnju da može biti razlika u sintaksi naredbi između različitih distribucija Linuxa, pa se pozivajući na dokumentaciju za vašu specifičnu distribuciju može biti korisno.

Podešavanja mrežnih parametara

CentOS

Konfiguracija mrežnih parametara na CentOS operativnom sistemu se obično vrši putem teksta, a najvažnija konfiguraciona datoteka za mrežne parametre je /etc/sysconfig/network-scripts/ifcfg-eth0 (ili slično, u zavisnosti od naziva vaše mrežne kartice). Evo koraka za konfiguraciju mrežnih parametara:

1. Otvorite konfiguracionu datoteku mrežne kartice:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

Ovde, eth0 je ime vaše mrežne kartice. Može se razlikovati, pa je važno da koristite tačno ime koje odgovara vašem sistemu.

2. Uredite konfiguracionu datoteku kako želite. Na primer:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
  • DEVICE: Ime mrežne kartice.
  • BOOTPROTO: Tip konfiguracije, možete koristiti static za statičku IP adresu.
  • ONBOOT: Postavite na yes kako biste omogućili mrežnu karticu pri pokretanju sistema.
  • IPADDR: Statička IP adresa.
  • NETMASK: Mrežna maska.
  • GATEWAY: Podrazumevana gateway adresa.
  • DNS1 i DNS2: Adrese DNS servera.

3. Sačuvajte promene i izađite iz uređivača.

4. Restartujte mrežnu uslugu kako biste primenili promene:

sudo systemctl restart network

Nakon ovih koraka, mrežni parametri će biti konfigurisani prema vašim specifikacijama. Ovo je samo osnovna konfiguracija i možete prilagoditi parametre kako vam odgovara u zavisnosti od vaših mrežnih zahteva.

Ubuntu

Konfiguracija mrežnih parametara na Ubuntu se obično vrši putem terminala i tekstualnih datoteka. Evo osnovnih koraka za konfiguraciju mrežnih parametara na Ubuntu:

1. Otvorite konfiguracionu datoteku mrežne kartice:

Prva datoteka koju ćete morati urediti je /etc/netplan/01-netcfg.yaml. Ova datoteka koristi YAML format za konfiguraciju mreže. Otvorite je u omiljenom uređivaču teksta. Na primer:

sudo nano /etc/netplan/01-netcfg.yaml

2. Uredite konfiguracionu datoteku prema svojim potrebama:

Ovde je primer konfiguracione datoteke za statičku IP adresu:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:  # Zamijenite sa imenom vaše mrežne kartice
      addresses: [192.168.1.10/24]  # Statička IP adresa i mrežna maska
      gateway4: 192.168.1.1  # Podrazumevani gateway
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]  # Adrese DNS servera
Zamenite ens33 sa odgovarajućim imenom mrežne kartice za vaš sistem. Podesite addresses, gateway4 i nameservers prema vašim mrežnim postavkama.

3. Sačuvajte promene i zatvorite datoteku.

4. Primenite promene na mrežne postavke pomoću komande:

sudo netplan apply

Ovo će primeniti nove mrežne parametre.

5. Restartujte mrežnu uslugu da biste primenili promene:

sudo systemctl restart systemd-networkd

Nakon ovih koraka, mrežni parametri će biti konfigurisani prema vašim specifikacijama. Ovo je samo osnovna konfiguracija, a postoji više načina za podešavanje mrežnih parametara na Ubuntu, uključujući NetworkManager i druge alate, u zavisnosti od verzije i konfiguracije vašeg sistema.

Rad sa fajlovima i direktorijumima

 Rad sa fajlovima i direktorijumima iz komandne linije je osnovna veština koju treba da naučite kada koristite Linux. Evo nekoliko osnovnih komandi za rad sa fajlovima i direktorijumima:

  1. Prikazivanje Sadržaja Direktorijuma:

    • ls: Listaj sadržaj trenutnog direktorijuma.
    • ls <direktorijum>: Listaj sadržaj određenog direktorijuma.
  2. Promena Trenutnog Direktorijuma:

    • cd <direktorijum>: Promeni trenutni direktorijum.
  3. Kreiranje Direktorijuma i Datoteka:

    • mkdir <ime_direktorijuma>: Kreiraj novi direktorijum.
    • touch <ime_datoteke>: Kreiraj novu praznu datoteku.
  4. Premeštanje i Kopiranje Fajlova:

    • mv <izvor> <destinacija>: Premeštanje ili promena imena fajla/direktorijuma.
    • cp <izvor> <destinacija>: Kopiranje fajla/direktorijuma.
  5. Brisanje Fajlova i Direktorijuma:

    • rm <fajl>: Obriši fajl.
    • rm -r <direktorijum>: Rekurzivno obriši direktorijum i njegov sadržaj.
  6. Prikaz Putanje Trenutnog Direktorijuma:

    • pwd: Prikazuje trenutnu putanju direktorijuma.
  7. Prikaz Detalja o Fajlovima i Direktorijumima:

    • ls -l: Prikazuje detaljne informacije o fajlovima i direktorijumima.
    • ls -a: Prikazuje skrivene fajlove/direktorijume (oni koji počinju sa .).
  8. Pronalaženje Fajlova:

    • find <direktorijum> -name <ime_fajla>: Pronađi fajl po imenu u određenom direktorijumu.
  9. Pajpovanje (Piping):

    • |: Koristi se za preusmeravanje izlaza jedne komande kao ulaz za drugu. Na primer, ls -l | grep .txt će prikazati sve .txt datoteke u trenutnom direktorijumu.
  10. Preimenovanje Fajlova:

    • mv <staro_ime> <novo_ime>: Promeni ime fajla ili direktorijuma.

Ovo su osnovne komande koje će vam pomoći da obavljate osnovne zadatke sa fajlovima i direktorijumima. Za svaku od ovih komandi možete koristiti man komandu kako biste pristupili uputstvima i saznali više o opcijama i parametrima koje pružaju.

Rad iz komandne linije

 Rad iz komandne linije, često nazivan rad u terminalu ili rad u shell-u, podrazumeva interakciju sa računarom putem tekstualnih komandi umesto grafičkog korisničkog interfejsa (GUI). Evo nekoliko osnovnih komandi i akcija koje možete izvršavati iz komandne linije:

  1. Navigacija po direktorijumima:

    • ls: Prikazuje sadržaj trenutnog direktorijuma.
    • cd: Menja trenutni direktorijum.
    • pwd: Prikazuje trenutnu putanju.
  2. Kreiranje i brisanje direktorijuma i datoteka:

    • mkdir: Kreira novi direktorijum.
    • touch: Kreira novu praznu datoteku.
    • rm: Briše datoteke ili direktorijume.
  3. Prikaz sadržaja datoteka:

    • cat: Prikazuje sadržaj datoteke.
    • less ili more: Omogućavaju pregled dužih datoteka po stranicama.
    • head i tail: Prikazuju početak i kraj datoteke.
  4. Manipulacija datotekama i tekstom:

    • cp: Kopira datoteke.
    • mv: Pomeranje (preimenovanje) datoteka ili direktorijuma.
    • grep: Pretražuje tekst unutar datoteka.
    • sed: Izvršava tekstualnu zamenu unutar datoteke.
  5. Administrativni zadaci:

    • sudo: Izvršava komande sa administratorskim privilegijama.
    • apt (Debian/Ubuntu) ili yum (Fedora/CentOS): Upravlja paketima.
  6. Mrežni alati:

    • ping: Proverava konekciju sa drugim računarima ili serverima.
    • ssh: Omogućava udaljeni pristup drugim računarima putem Secure Shell-a.
    • curl i wget: Preuzimaju datoteke sa Interneta.
  7. Rad sa korisnicima i dozvolama:

    • useradd i adduser: Kreiraju nove korisnike.
    • passwd: Menja lozinku korisnika.
    • chmod: Menja dozvole datoteka i direktorijuma.
  8. Procesi i resursi:

    • ps: Prikazuje trenutne procese.
    • top ili htop: Prikazuju trenutno korišćenje resursa.
  9. Arhiviranje i kompresija:

    • tar: Arhivira i raspakuje datoteke.
    • zip i unzip: Arhiviraju i raspakuju ZIP datoteke.
  10. Sistemski informatori:

    • uname: Prikazuje informacije o sistemu.
    • df i du: Prikazuju informacije o diskovima i upotrebi prostora.

Ovo su samo osnovne komande i radnje koje možete izvršavati iz Linux komandne linije. Možete prilagoditi komande i opcije prema vašim potrebama i sistemu na kojem radite. Za više informacija o svakoj komandi, možete koristiti man komandu, npr. man ls će vam prikazati dokumentaciju za komandu ls.a

Udaljeni pristup Linux sistemu

 Udaljeni pristup Linux serveru omogućava vam da upravljate i radite sa serverom sa udaljenog računara ili uređaja, bilo da se nalazite na drugom mestu u lokalnoj mreži ili na internetu. Da biste ostvarili udaljeni pristup, obično se koristi SSH (Secure Shell) protokol koji omogućava siguran i šifrovan pristup serveru.

Evo osnovnih koraka za ostvarivanje udaljenog pristupa Linux serveru putem SSH:

  1. Instalacija SSH servera: Prvo morate instalirati SSH server na Linux serveru, ako već nije instaliran. Na većini Linux distribucija, SSH server se može instalirati pomoću paket menadžera, kao što su apt (za Debian i Ubuntu) ili yum (za CentOS i Fedora). Na primer, za instalaciju na Debian distribuciji, koristite sledeću komandu:

    sudo apt-get install openssh-server
  2. Provera statusa SSH servera: Nakon instalacije, SSH server će obično biti automatski pokrenut. Da biste proverili status SSH servera, koristite sledeću komandu:

    sudo systemctl status ssh
  3. Konfiguracija SSH servera (opciono): Ako želite da prilagodite konfiguraciju SSH servera, možete urediti konfiguracioni fajl /etc/ssh/sshd_config. Na primer, možete promeniti port na kojem SSH server sluša ili omogućiti ili onemogućiti određene opcije za bezbednost.

  4. Pristup serveru sa udaljenog računara: Da biste se povezali sa Linux serverom sa udaljenog računara, koristite SSH klijent aplikaciju. Na primer, na Linux računarima ili macOS računarima možete koristiti ugrađeni SSH klijent tako što ćete otvoriti Terminal i koristiti sledeću komandu:

    ssh korisnik@ip_adresa

    Gde korisnik predstavlja korisničko ime na Linux serveru, a ip_adresa je IP adresa servera.

  5. Unos lozinke (opciono): Ako ste prvi put povezali sa serverom, SSH klijent će vas pitati da unesete lozinku za korisnika na serveru. Nakon što unesete ispravnu lozinku, bićete povezani sa serverom.

  6. Korišćenje SSH ključeva (preporučeno): Umesto unosom lozinke svaki put kada se povezujete sa serverom, preporučljivo je kreirati SSH ključeve i postaviti ih na server. To će omogućiti automatski i bezbedan pristup serveru. Da biste kreirali SSH ključeve, koristite komandu ssh-keygen na vašem lokalnom računaru. Zatim postavite javni ključ na server koristeći komandu ssh-copy-id


Pristup sa Windows radne stanice


Da biste se konektovali na Linux server sa Windows radne stanice, možete koristiti različite metode, a jedna od najčešće korišćenih je korišćenje SSH (Secure Shell) klijenta. Sledite ove korake da biste uspešno ostvarili udaljeni pristup:

  1. Instalacija SSH klijenta na Windows:

    Pre nego što se povežete sa Linux serverom, morate instalirati SSH klijent aplikaciju na Windows radnoj stanici. Jedan od popularnih SSH klijenata za Windows je PuTTY. Preuzmite i instalirajte PuTTY sa zvanične web stranice.

  2. Otvorite PuTTY:

    Nakon instalacije, pokrenite PuTTY aplikaciju.

  3. Unesite informacije za povezivanje:

    U PuTTY aplikaciji, unesite sledeće informacije:

    • Host Name (or IP address): Unesite IP adresu ili DNS ime Linux servera na koji želite da se povežete.
    • Port: Ovo je port na kojem SSH server na Linux serveru sluša. Podrazumevani SSH port je 22, ali može se promeniti prema potrebama.
    • Connection Type: Ostavite izabrano "SSH".
  4. Sačuvajte sesiju:

    Da biste sprečili ponovno unošenje informacija svaki put kada se povezujete, možete sačuvati sesiju. Unesite neko ime u polje "Saved Sessions" i kliknite na dugme "Save".

  5. Pokrenite konekciju:

    Kliknite na dugme "Open" da biste pokrenuli SSH konekciju. Aplikacija će vas pitati da prihvatite ključ servera, što je normalan korak prilikom prvog povezivanja.

  6. Unesite korisničko ime:

    Nakon uspešnog povezivanja sa serverom, biće vam traženo da unesete korisničko ime i lozinku. Unesite korisničko ime za Linux server na koje želite da se povežete.

  7. Unesite lozinku:

    Nakon što unesete korisničko ime, bićete pitani da unesete lozinku. Unesite ispravnu lozinku za odabrano korisničko ime na serveru.

  8. Udaljeni pristup:

    Nakon uspešnog unosa korisničkog imena i lozinke, bićete povezani sa Linux serverom. Sada možete izvršavati komande i upravljati serverom putem SSH sesije.


Fajl sistem hijerarhija

 Fajlsistem hijerarhija u Linux operativnom sistemu predstavlja organizaciju direktorijuma i fajlova na sistemu. Ova hijerarhija se koristi za uređivanje i čuvanje svih fajlova i direktorijuma na Linux računaru. Evo osnovnih direktorijuma i njihovih svrha u Linux fajlsistem hijerarhiji:

  1. / (Koren): Ovaj direktorijum predstavlja najviši nivo u fajlsistem hijerarhiji i sve ostale direktorijume sadrži. Ovde se smeštaju osnovni fajlovi i direktorijumi potrebni za osnovno funkcionisanje sistema.

  2. /bin (Binarni fajlovi): Ovde se nalaze osnovni izvršni fajlovi (komande) koji su potrebni za osnovno podizanje sistema i održavanje, kao što su ls, cp, mv, rm, itd.

  3. /boot (Podizanje): Sadrži fajlove i konfiguracije potrebne za podizanje sistema. Tu se obično nalazi bootloader i jezgarni fajlovi.

  4. /dev (Uređaji): Ovde se nalaze specijalni uređaji (device files) koji predstavljaju fizičke i virtuelne uređaje na sistemu, kao što su drajveri za hardver.

  5. /etc (Konfiguracije): Sadrži konfiguracione fajlove za različite programe i sistem. Konfiguracija mreže, servisa i drugih opcija smeštena je ovde.

  6. /home (Korisnički direktorijumi): Svaki korisnik na sistemu ima svoj sopstveni direktorijum ovde, gde smešta svoje fajlove i podešava svoje postavke.

  7. /lib (Biblioteke): Ovde se nalaze sistemski bibliotekni fajlovi potrebni za izvršavanje programa na sistemu.

  8. /media (Medijum): Koristi se za montiranje privremenih medijuma kao što su CD/DVD uređaji, USB fleš drajvovi i druge spoljne uređaje.

  9. /mnt (Montiranje): Ovde se mogu ručno montirati privremeni fajl sistemi i druge particije.

  10. /opt (Opciono): Koristi se za instalaciju dodatnog softvera i aplikacija koje nisu deo osnovne instalacije sistema.

  11. /proc (Procesi): Sadrži virtuelne fajlove i direktorijume koji prikazuju informacije o trenutno pokrenutim procesima i resursima sistema.

  12. /root (Korenski korisnik): Korenski korisnik (superuser) ima svoj korisnički direktorijum ovde.

  13. /run (Pokretanje): Sadrži privremene fajlove koji se koriste tokom pokretanja sistema.

  14. /sbin (Sistemski binarni fajlovi): Slično kao /bin, ali sadrži izvršne fajlove koji se koriste za administrativne zadatke.

  15. /srv (Servis): Ovde se smeštaju fajlovi povezani sa servisima koji se izvršavaju na sistemu.

  16. /sys (Sistem): Pruža interfejs za promenljive i podešavanja kernela.

  17. /tmp (Privremeno): Sadrži privremene fajlove i direktorijume koji se koriste tokom rada sistema.

  18. /usr (Sistemski resursi): Sadrži većinu sistema i korisničkih programa, kao i dodatnih biblioteka i fajlova.

  19. /var (Varijabilno): Sadrži varijabilne podatke kao što su log fajlovi, e-pošta i privremeni fajlovi aplikacija.

Instalacija Linux-a

 

  1. Odabir distribucije: Prvo treba da odaberete distribuciju Linuxa koja odgovara vašim potrebama. Na primer, možete izabrati Ubuntu, Fedora, Debian, CentOS, openSUSE i druge, u zavisnosti od vaših potreba i preferencija.

  2. Preuzimanje instalacionog medija: Nakon što ste odabrali distribuciju, preuzmite odgovarajući instalacioni ISO fajl sa zvanične web stranice distribucije. Ovo može biti ISO fajl koji će biti narezan na DVD ili USB fleš drajv.

  3. Podešavanje BIOS/UEFI opcija: Pre nego što pokrenete računar sa instalacionim medijem, uđite u BIOS ili UEFI postavke računara. Tamo podesite prioritet podizanja tako da računar prvo učita instalacioni medij (DVD ili USB).

  4. Pokretanje instalacije: Ubacite instalacioni DVD ili priključite USB fleš sa instalacionim medijem i restartujte računar. Računar će se podići sa instalacionog medija.

  5. Izbor jezika i tastature: Prilikom podizanja instalacije, bićete pozvani da odaberete jezik i tastaturnu postavku. Ovo će uticati na jezik korisničkog interfejsa tokom instalacije.

  6. Izbor particija: Tokom instalacije, bićete upitani da izaberete kako želite da podelite svoj hard disk ili SSD. Možete izabrati automatsko particionisanje ili ručno kreirati particije.

  7. Kreiranje korisničkog naloga: Postavite korisničko ime i lozinku za pristup sistemu. Ovo će biti vaš korisnički nalog na Linux sistemu.

  8. Izbor softvera: Većina distribucija vam omogućava da izaberete dodatne programe i pakete koje želite instalirati tokom instalacije. Možete izabrati osnovne pakete, grafičko okruženje, server softver i druge aplikacije.

  9. Pokretanje instalacije: Nakon što postavite sve opcije, pokrenite instalaciju. Ovaj proces može potrajati neko vreme, jer zavisi od brzine računara i broja paketa koje instalirate.

  10. Završetak instalacije: Nakon završetka instalacije, računar će vas obavestiti da uklonite instalacioni medij i ponovo pokrenete računar.

  11. Konfiguracija sistema: Po ponovnom pokretanju računara, sledite upute za konfiguraciju sistema, kao što su postavljanje vremenske zone, mrežnih postavki, ažuriranja sistema itd.

  12. Korišćenje Linuxa: Nakon završetka instalacije i konfiguracije, vaš Linux operativni sistem je spreman za upotrebu. Prijavite se koristeći svoj korisnički nalog i počnite istraživati i koristiti Linux.

Šta je Open Source Softver?

  Open source softver (otvorenog koda) je vrsta softvera čiji izvorni kod (source code) je dostupan javno i slobodno za pregled, kopiranje, prilagođavanje i redistribuciju. Ovo je suprotno od propiranog softvera, koji ima zatvoren izvorni kod i obično zahteva licencu ili plaćanje da bi se koristio. Open source softver često dolazi sa određenim tipom open source licence koja definiše uslove pod kojima se softver može koristiti, distribuirati i modifikovati.

Osnovne karakteristike open source softvera uključuju:

  1. Slobodan pristup izvornom kodu: Svako može pristupiti izvornom kodu softvera, što omogućava transparentnost i omogućava korisnicima da razumeju kako softver radi.

  2. Pravo da se menja i prilagodi: Korisnici mogu menjati i prilagoditi softver kako bi zadovoljili svoje potrebe. Ovo se obično radi putem forkovanja projekta ili dodavanjem doprinosa postojećem projektu.

  3. Sloboda redistribucije: Korisnici mogu distribuirati open source softver drugima bez ograničenja. Ovo je osnovno pravo koje open source licence garantuju.

  4. Kolektivni razvoj: Open source projekti obično privlače doprinose od različitih programera i zajednica, što može ubrzati razvoj i poboljšati kvalitet softvera.

  5. Zajednica korisnika i podrška: Open source projekti često imaju aktivne zajednice korisnika i razvojnih programera koji pružaju podršku, razmenu iskustava i rešenja problema.

  6. Različite licence: Postoji mnogo različitih open source licenci, svaka sa svojim uslovima i ograničenjima. Najpoznatije open source licence uključuju GNU General Public License (GPL), Apache License, MIT License, BSD License, i mnoge druge.

Open source softver može se koristiti u različitim kontekstima, uključujući operativne sisteme (kao što je Linux), razvoj softvera, baze podataka, veb servere, alate za programiranje i mnoge druge aplikacije. Ovaj model omogućava inovacije, zajednički rad i pomaže da se softver održava i poboljšava tokom vremena

Proces butovanja Linuxa

 Proces butovanja (boot proces) je osnovni postupak kojim računar ili uređaj učitava operativni sistem i postaje spreman za upotrebu. Evo osnovnog objašnjenja tog procesa:

  1. Napajanje i BIOS/UEFI: Kada uključite računar ili uređaj, napajanje se isporučuje komponentama. Računar prvo prolazi kroz postupak Power-On Self-Test (POST), a zatim se BIOS (Basic Input/Output System) ili UEFI (Unified Extensible Firmware Interface) pokreće. Ovi sistemi firmware-a su odgovorni za inicijalizaciju hardverskih komponenti, uključujući CPU, RAM, hard diskove i druge uređaje.

  2. Boot Loader: Nakon inicijalizacije hardvera, BIOS/UEFI pronalazi i pokreće boot loader (npr. GRUB na Linux sistemima). Boot loader je mali program koji se nalazi na disku i odgovoran je za pronalaženje i pokretanje operativnog sistema. Boot loader može prikazati opcije za izbor operativnog sistema, ako je više njih instalirano na računaru.

  3. Učitavanje jezgra (Kernel): Nakon što se izabere operativni sistem, boot loader učitava jezgro (kernel) operativnog sistema u RAM. Jezgro je srž operativnog sistema i odgovorno je za upravljanje hardverom i izvršavanje sistemskih zadataka.

  4. Inicijalizacija sistema: Jezgro operativnog sistema inicijalizuje sistem, uključujući postavke sistema, upravljanje uređajima, mrežnom vezom i mnoge druge komponente.

  5. Učitavanje servisa i aplikacija: Nakon inicijalizacije sistema, operativni sistem počinje učitavati različite servise, drajvere i aplikacije. Ovo uključuje procese kao što su upravljanje datotekama, grafički interfejs, mrežni servisi i druge komponente koje su potrebne za normalan rad računara.

  6. Prikaz grafičkog korisničkog interfejsa (opciono): Ako koristite računar sa grafičkim korisničkim interfejsom (GUI), operativni sistem će na kraju pokazati grafičko okruženje na ekranu, omogućavajući vam da interagirate sa računarom.


Nakon završetka ovog procesa butovanja, operativni sistem je spreman za upotrebu, i korisnik može započeti sa radom na računaru. Važno je napomenuti da ovaj proces može varirati u zavisnosti od uređaja i operativnog sistema, ali su osnovni koraci slični.

Šta je BIOS?

BIOS (Basic Input/Output System) je firmware računara, odnosno nepromenjiv softver smešten u čip na matičnoj ploči ili uređaju sličnog tipa. BIOS igra ključnu ulogu u inicijalizaciji računara prilikom uključivanja i služi kao most između hardvera i operativnog sistema.

Glavne funkcije BIOS-a obuhvataju:

  1. Provjera hardvera (POST - Power-On Self-Test): BIOS vrši automatsku provjeru i dijagnostiku osnovnog hardvera, uključujući procesor, RAM, grafičku karticu, tastaturu i ostale komponente. Ako se tokom POST-a otkrije hardverski problem, BIOS će obavijestiti korisnika putem zvučnih signala ili poruka na ekranu.

  2. Učitavanje bootloader-a: Nakon POST-a, BIOS traži i učitava bootloader (npr. GRUB, LILO) sa određenog uređaja, obično sa tvrdog diska. Bootloader je odgovoran za pokretanje operativnog sistema.

  3. Konfiguracija računara: BIOS omogućava korisnicima da prilagode osnovne postavke računara, kao što su datum i vrijeme, redosled pokretanja uređaja (boot sequence), i postavke sigurnosti. Ove postavke se obično čuvaju u CMOS memoriji koja se napaja malom baterijom na matičnoj ploči.

  4. Rezervacija resursa: BIOS se takođe koristi za rezervisanje i upravljanje resursima kao što su IRQ (Interrupt Requests) i I/O portovi. Ovo pomaže operativnom sistemu da efikasno komunicira sa hardverom.

  5. Rukovanje uređajima: BIOS podržava osnovnu interakciju sa uređajima, kao što su tastatura, miš i monitor. Omogućava osnovne operacije, kao što je pokretanje računara sa USB uređaja.

Važno je napomenuti da BIOS postaje sve manje prisutan na modernim računarima, jer je zamenjen modernijim UEFI (Unified Extensible Firmware Interface). UEFI ima naprednije funkcije i omogućava više mogućnosti konfiguracije i bezbednosti.

Šta je Boot Loader?

Bootloader je računarski program ili firmware koji se izvršava prilikom uključivanja računara i odgovoran je za pokretanje operativnog sistema. Njegova osnovna funkcija je da učita operativni sistem iz memorije ili diska i preda kontrolu operativnom sistemu kako bi se nastavila normalna funkcija računara. Bootloader obavlja nekoliko ključnih zadataka:

  1. Inicijalizacija hardvera: Bootloader pruža rutine za inicijalizaciju osnovnih komponenti računara, kao što su procesor, RAM, grafička kartica i tastatura. Ovo je važno kako bi se osiguralo da hardver bude u odgovarajućem stanju pre nego što se operativni sistem učita.

  2. Izbor operativnog sistema: Ako na računaru postoji više operativnih sistema (npr. Windows i Linux), bootloader omogućava korisniku da izabere koji operativni sistem želi da pokrene. Ovo se obično postiže prikazivanjem menija sa opcijama pri pokretanju računara.

  3. Učitavanje jezgra operativnog sistema: Nakon što je odabran operativni sistem, bootloader učitava jezgro (kernel) operativnog sistema iz odgovarajućeg diska ili memorijskog uređaja. Jezgro jezgra (kernel) je srce operativnog sistema i odgovorno je za upravljanje svim ostalim procesima i resursima računara.

  4. Konfiguracija i parametri pokretanja: Bootloader omogućava konfiguraciju različitih parametara prilikom pokretanja operativnog sistema. Ovo uključuje postavke kao što su rezolucija ekrana, vremenska zona, jezik tastature i druge opcije specifične za operativni sistem.

Neki od najpoznatijih bootloadera u svetu računarstva uključuju:

  • GRUB (GNU GRand Unified Bootloader): Popularan bootloader koji se često koristi na Linux sistemima. Omogućava izbor između različitih Linux distribucija i drugih operativnih sistema.
  • LILO (LInux LOader): Stariji bootloader za Linux koji se koristi na nekim starijim sistemima.
  • Windows Boot Manager: Bootloader koji se koristi za pokretanje različitih verzija Windows operativnih sistema.

Bootloader je kritična komponenta za pravilno funkcionisanje računara, jer obezbeđuje da se operativni sistem učita i pokrene na odgovarajući način.

Šta je kernel?

Kernel (jezgro) operativnog sistema je centralna komponenta softvera koja ima ključnu ulogu u upravljanju resursima i izvršavanju osnovnih operacija na računaru. Kernel predstavlja most između hardverskih komponenti računara i aplikacija koje korisnici pokreću. Osnovna funkcija kernela je da obezbedi apstrakciju i upravljanje hardverom, omogući multitasking i multitasking, kao i osigura sigurnost i stabilnost operativnog sistema.

Evo nekoliko ključnih zadataka koje kernel obavlja:

  1. Upravljanje hardverom: Kernel komunicira sa hardverskim komponentama računara, kao što su procesor, memorija, diskovi, grafičke kartice, mrežne kartice i mnoge druge. On kontroliše pristup i upotrebu resursa, omogućava komunikaciju između softvera i hardvera, i obezbeđuje efikasno iskorišćenje resursa.

  2. Upravljanje procesima: Kernel omogućava pokretanje, zaustavljanje i upravljanje procesima na računaru. To uključuje raspoređivanje vremena procesora (CPU scheduling), pristup memoriji i kontrolu pristupa resursima.

  3. Komunikacija između procesa: Kernel omogućava komunikaciju između različitih procesa koji se izvršavaju na računaru. To može uključivati deljenje podataka, sinhronizaciju između procesa i komunikaciju putem interprocesnih komunikacionih mehanizama (IPC).

  4. Upravljanje memorijom: Kernel upravlja fizičkom i virtuelnom memorijom računara. To uključuje alociranje i dealociranje memorije za procese, upravljanje stranicama, i obezbeđivanje sigurnosti memorije.

  5. Upravljanje datotekama i sistemskim pozivima: Kernel obezbeđuje interfejs za rad sa datotekama i izvršava sistemski pozive koje aplikacije koriste za pristup hardveru i resursima.

  6. Sigurnost i zaštita: Kernel implementira mehanizme zaštite kako bi sprečio neovlašćen pristup resursima i obezbedio sigurnost sistema. Ovo uključuje mehanizme kao što su korisnički režimi, kontrola pristupa i enkripcija podataka.

  7. Mrežno upravljanje: U kernelu se nalazi i mrežni stek koji omogućava komunikaciju preko mreže, uključujući protokole poput TCP/IP.

  8. Podrška za drajvere: Kernel podržava drajvere (drivers) koji omogućavaju komunikaciju sa različitim hardverskim komponentama. Drajveri su mali programi koji omogućavaju kernelu da komunicira sa uređajima kao što su štampači, tastature, grafičke kartice i drugi uređaji.

Kernel je srce operativnog sistema i radi u pozadini, pružajući osnovnu funkcionalnost i resurse potrebne za rad aplikacija. Različite vrste operativnih sistema, kao što su Linux, Windows, macOS i mnogi drugi, imaju svoje sopstvene kernele sa različitim karakteristikama i dizajnom.

Šta je systemd?

Systemd je sistemski i servisni menadžer koji je dizajniran za modernu Linux distribuciju. To je softverska komponenta koja se brine za pokretanje, upravljanje i održavanje sistema i servisa na Linux računarima. Systemd je postao popularan u mnogim Linux distribucijama kao zamena za tradicionalne init sisteme i druga rešenja za upravljanje servisima. Ovde su neki ključni aspekti systemd-a:

  1. Brže pokretanje sistema: Systemd je optimizovan za brže pokretanje Linux sistema. Uspostavlja različite procese paralelno kako bi ubrzao proces podizanja sistema.

  2. Servis orijentisan pristup: Umesto da koristi složene skripte za pokretanje i zaustavljanje servisa, systemd koristi "unit" fajlove za opisivanje i upravljanje servisima. Ovi unit fajlovi omogućavaju precizno definisanje zavisnosti između servisa, kao i različite vrste jedinica, uključujući servise, uređaje, prezentacije i druge.

  3. Raznovrsne karakteristike: Systemd uključuje različite karakteristike kao što su automatski restart servisa u slučaju pada, praćenje servisa, kontrole i izveštaji o statusu, integracija sa journald sistemom za vođenje evidencije događaja i logova, kao i podršku za aktivaciju servisa na zahtev (socket i D-Bus aktivacija).

  4. Unificirani menadžment servisima: Systemd objedinjuje upravljanje servisima i sistema sa zajedničkim okvirom i komandama. To olakšava administraciju sistema i učini je doslednijom između različitih Linux distribucija.

  5. Aktivacija servisa na zahtev: Systemd omogućava da servisi budu pokrenuti samo kada su zaista potrebni, što može da smanji resurse i ubrza pokretanje sistema.

  6. Različite načine rada: Systemd se može koristiti u različitim načinima rada, uključujući "system mode" i "user mode". Svaki modus ima svoju namenu i karakteristike.

  7. Drajveri i uređaji: Systemd takođe može da rukuje hardverskim uređajima i drajverima, omogućavajući kontrolu nad uređajima poput USB priključaka, mrežnih kartica i drugih.

Iako je systemd postao standard u mnogim Linux distribucijama, vredno je napomenuti da je izazvao dosta diskusija i debata u Linux zajednici. Neki korisnici i administratori vole systemd zbog njegovih prednosti u brzini i funkcionalnosti, dok drugi preferiraju tradicionalne init sisteme. Važno je razumeti da izbor init sistema može značajno varirati između različitih distribucija, a odluka o tome koji sistem koristiti često zavisi od specifičnih potreba i preferencija korisnika.

Šta je MBR?

MBR, što je skraćenica od "Master Boot Record", je specijalni sektor na početku hard diska koji igra ključnu ulogu u procesu podizanja (bootanja) računara. MBR sadrži informacije i kod koji su potrebni da bi se operativni sistem učitao sa diska. Evo nekoliko ključnih stvari koje treba znati o MBR:

  1. Boot Loader: MBR sadrži bootloader, koji je mali program koji se izvršava pri pokretanju računara i ima zadatak da učita operativni sistem u memoriju. Bootloader obično omogućava korisnicima da izaberu koji operativni sistem žele da pokrenu ako na računaru postoji više operativnih sistema.

  2. Particijske informacije: MBR takođe sadrži informacije o particijama na disku, kao što su njihovi početni sektori i veličine. Ovo pomaže operativnom sistemu da zna gde se nalazi svaka particija na disku.

  3. Master Boot Code: MBR sadrži i master boot code (glavni boot kod), koji je odgovoran za učitavanje bootloader-a i, posredstvom njega, operativni sistem. Ovaj mali program je od suštinskog značaja za proces podizanja sistema.

  4. Samo prvi sektor: MBR se nalazi samo u prvom sektoru diska (takođe poznatom kao "sektor 0"). Ovaj sektor je prvi koji se učitava kada se računar pokreće. Zbog ograničenog prostora na ovom sektoru, MBR ima vrlo mali kapacitet za skladištenje informacija.

  5. Ograničenje na broj particija: Tradicionalni MBR sistem ima ograničenje na broj particija koje se mogu registrovati. Obično je podržano samo četiri primarne particije. Da bi se prevazišlo to ograničenje, neka rešenja koriste proširene particije koje sadrže logičke particije, ali GPT (GUID Partition Table) format za particionisanje, koji je modernija alternativa MBR-u, omogućava mnogo veći broj particija i podržava diskove veće od 2 TB.

  6. Rizik od oštećenja: MBR je kritičan za proces podizanja sistema i njegovo oštećenje može dovesti do nemogućnosti pokretanja operativnog sistema. Iz tog razloga, važno je pažljivo rukovati alatima za particionisanje diska i MBR-om.

Važno je napomenuti da se sa modernijim računarima i UEFI (Unified Extensible Firmware Interface) sistemom za pokretanje, GPT je postao sve češće korišćen kao zamena za MBR. GPT pruža veću fleksibilnost i podršku za velike diskove, a omogućava i sigurnije upravljanje particijama.

Kako konfigurisati butloder?

Konfiguracija bootloadera na Linux sistemu može značiti različite stvari, u zavisnosti od bootloadera koji koristite. Najčešće korišćen bootloader na Linux sistemima je GRUB (Grand Unified Bootloader). Evo osnovnih koraka za konfiguraciju GRUB bootloadera:

  1. Pristup konfiguraciji: Pristupite konfiguraciji GRUB bootloadera tako što ćete uređivati odgovarajuću konfiguracionu datoteku. U većini Linux distribucija, ova datoteka se obično nalazi u /etc/default/grub.

  2. Izmena konfiguracione datoteke: Otvorite konfiguracionu datoteku sa odgovarajućim tekstualnim uređivačem, kao što su nano, vim ili gedit. Na primer:

    sudo nano /etc/default/grub
  3. Izmena opcija: U ovoj datoteci možete konfigurisati različite opcije GRUB bootloadera. Neke od čestih opcija uključuju:

    • GRUB_TIMEOUT: Vreme (u sekundama) koliko GRUB čeka pre automatskog pokretanja zadnjeg izabranog operativnog sistema.
    • GRUB_DEFAULT: Odabir podrazumevanog operativnog sistema koji će se pokrenuti.
    • GRUB_CMDLINE_LINUX: Ovde možete dodati kernel parametre za Linux kernel.
  4. Sačuvajte promene: Nakon što izmenite konfiguracionu datoteku, sačuvajte promene.

  5. Ažuriranje GRUB konfiguracije: Da biste primenili izmene, trebate ažurirati konfiguraciju GRUB bootloadera. Koristite sledeću komandu:

    sudo update-grub

    U nekim distribucijama umesto update-grub možete koristiti grub-mkconfig -o /boot/grub/grub.cfg ili drugu ekvivalentnu komandu.

  6. Ponovno pokretanje računara: Da biste primenili izmene, ponovo pokrenite računar.

Nakon ovih koraka, GRUB bootloader će koristiti konfiguraciju koju ste postavili. Obratite pažnju da se konfiguracija bootloadera može razlikovati između različitih Linux distribucija. Ako koristite neki drugi bootloader kao LILO ili Syslinux, koraci će biti slični, ali komande i konfiguracione datoteke mogu biti drugačije.

Kako grub zna gde je kernel?

GRUB zna gde se kernel nalazi putem informacija koje su navedene u njegovoj konfiguracionoj datoteci. Konfiguraciona datoteka GRUB-a obično se naziva grub.cfg i nalazi se u direktorijumu /boot/grub/ ili sličnom mestu na vašem Linux sistemu. Evo kako GRUB zna gde se kernel nalazi u konfiguracionoj datoteci:

U grub.cfg datoteci, obično ćete pronaći linije koje izgledaju otprilike ovako:


linux /vmlinuz-5.4.0-88-generic root=/dev/sda1 
initrd /initrd.img-5.4.0-88-generic

Ove linije govore GRUB-u gde da pronađe kernel i initrd slike za određenu verziju kernela. Evo šta svaka od ovih linija radi:

  • linux /vmlinuz-5.4.0-88-generic: Ova linija definiše putanju do kernel slike (vmlinuz) i specificira verziju kernela koju treba koristiti. Putanja može biti apsolutna ili relativna u odnosu na GRUB-ovu lokaciju.

  • initrd /initrd.img-5.4.0-88-generic: Ova linija definiše putanju do initrd (initial ramdisk) slike (initrd.img) koja se koristi zajedno sa kernelom. Takođe specificira verziju initrd slike.

Uz ove linije, u grub.cfg datoteci možete pronaći i druge parametre, kao što su opcije za butovanje, odabir korisničkog interfejsa i druge konfiguracijske informacije.

Kada GRUB butuje sistem, koristi te informacije iz grub.cfg datoteke da bi pronašao i učitao odgovarajući kernel i initrd slike. Ove linije se automatski generišu prilikom ažuriranja GRUB konfiguracije, na primer nakon instalacije nove verzije kernela.

Važno je napomenuti da konkretni putovi i verzije kernela mogu varirati na različitim sistemima, pa je važno pravilno konfigurisati grub.cfg datoteku kako biste omogućili ispravno butovanje sistema.

Sta je initrd?

initrd (Initial RAM Disk) je mala, privremena fajl slika koja se koristi prilikom procesa butovanja Linux sistema. Glavna svrha initrd-a je da omogući osnovne funkcionalnosti za početno butovanje sistema pre nego što se glavni korenski fajl sistem montira. Evo nekoliko ključnih uloga initrd-a:

  1. Učitavanje drajvera: initrd sadrži drajvere za osnovne komponente hardvera, poput diskova, mreže i sistema fajl sistema. Ovo je važno kako bi sistem mogao da komunicira sa hardverom i da pravilno učita korenski fajl sistem.

  2. Montiranje korenskog fajl sistema: Nakon učitavanja potrebnih drajvera, initrd ima zadatak da montira glavni korenski fajl sistem (koji može biti na različitim particijama ili uređajima) kako bi omogućio dalji proces butovanja.

  3. Izvršavanje skripti i alatki: initrd takođe može sadržati skripte i alatke koje se izvršavaju tokom inicijalnog butovanja. Ove skripte mogu izvršavati zadatke kao što su provera i popravka fajl sistema, montiranje posebnih particija i konfigurisanje mrežnih parametara.

  4. Omogućavanje hitnih popravki: initrd može poslužiti kao alatka za hitne popravke sistema. Ako se sistem ne butuje ispravno, možete koristiti initrd kao "recovery" sredstvo kako biste pristupili sistemu i rešili probleme.

initrd se koristi samo tokom inicijalnog butovanja i nakon što se korenski fajl sistem uspešno montira, njegova uloga završava. Glavni kernel se potom pokreće i preuzima kontrolu nad sistemom.

Važno je napomenuti da neki Linux sistemi, posebno oni sa novim verzijama kernela i modernim inicijalnim sistemima (npr. systemd), sve više prelaze na korišćenje initramfs (Initial RAM File System) umesto initrd. initramfs je slična ideja, ali se razlikuje po tome što omogućava veću fleksibilnost u uključivanju komponenti i podržava kompresiju fajl sistema.

Šta je bootloader recovery?

Bootloader recovery (oporavak bootloadera) je postupak vraćanja ili popravljanja bootloadera na računaru ili uređaju nakon što je oštećen ili izgubljen. Bootloader je odgovoran za učitavanje operativnog sistema sa diska i omogućava vam da odaberete koji operativni sistem želite pokrenuti ako ih imate više instaliranih.

Situacije u kojima je bootloader oštećen ili izgubljen mogu se javiti iz različitih razloga, kao što su greške prilikom instalacije operativnog sistema, problemi sa particionisanjem diska ili nepravilno uklanjanje operativnog sistema.

Bootloader recovery može uključivati ​​različite korake, uključujući:

  1. Korišćenje instalacionog medija: Često se koristi instalacioni medij za operativni sistem (npr. USB bootable flash drajv ili DVD) kako biste pristupili režimu oporavka ili alatima za popravku bootloadera.

  2. Korišćenje bootloader komandi: U režimu oporavka, možete koristiti bootloader komande za ponovno konfigurisanje bootloadera ili vraćanje bootloadera na prethodno funkcionalno stanje. 

  3. Popravka particija: Ponekad oštećen bootloader može biti rezultat oštećenja particija na disku. Popravka particija može biti deo postupka oporavka bootloadera.

  4. Korišćenje alata za oporavak treće strane: Postoje i alati za oporavak bootloadera treće strane koji mogu olakšati proces oporavka i rekonfiguracije bootloadera.

Cilj bootloader recovery postupka je vratiti funkcionalni bootloader kako biste ponovno mogli pokrenuti operativni sistem na vašem računaru ili uređaju. Oporavak bootloadera obično zahteva naprednije tehničko znanje i pažljivo rukovanje, pa se preporučuje da se obratite stručnjaku ako niste sigurni kako to da uradite.

Komande za rad u bootloader recovery konzoli

Evo 20 komandi koje se često koriste u bootloader recovery konzoli (najčešće GRUB konzoli) za dijagnostiku i oporavak sistema:

  1. ls: Prikazuje listu dostupnih diskova i particija.

  2. set: Prikazuje ili postavlja promenljive okoline, uključujući root za korensku particiju.

  3. ls (hdX,Y): Prikazuje sadržaj određene particije, gde X predstavlja broj diska, a Y broj particije.

  4. ls /: Prikazuje sadržaj korenske particije.

  5. cat (hdX,Y)/path/to/file: Prikazuje sadržaj određenog fajla na particiji.

  6. insmod module_name: Učitava određeni GRUB modul.

  7. rmmod module_name: Uklanja GRUB modul.

  8. linux /path/to/kernel: Postavlja putanju do kernela za butovanje.

  9. initrd /path/to/initrd.img: Postavlja putanju do initrd slike.

  10. boot: Butuje sistem sa konfiguracijom koja je postavljena u GRUB konzoli.

  11. set root=(hdX,Y): Postavlja korensku particiju.

  12. root (hdX,Y): Podešava korensku particiju.

  13. chainloader (hdX,Y)+1: Pokušava butovanje druge particije.

  14. bootmgr /bootmgr: Butuje Windows Boot Manager.

  15. bootrec /fixmbr: Popravlja Master Boot Record (MBR) na Windows sistemima.

  16. bootrec /fixboot: Popravlja but sektor na Windows sistemima.

  17. bootrec /scanos: Skenira sisteme za Windows operativnim sistemima.

  18. bootrec /rebuildbcd: Rekonstruiše BCD (Boot Configuration Data) za Windows.

  19. efibootmgr -v: Prikazuje EFI boot menadžer konfiguraciju na UEFI sistemima.

  20. exit: Izlazi iz GRUB konzole i nastavlja butovanje sistema.


Šta su kernel moduli?

Kernel moduli su dinamički učitane programske komponente u Linux jezgru koje omogućavaju dodatnu funkcionalnost i podršku za različite uređaje i sistemske funkcije. Ovi moduli omogućavaju jezgru da se proširi bez potrebe za ponovnim kompajliranjem i ponovnim pokretanjem celog jezgra. Ovaj pristup omogućava veću fleksibilnost i efikasnost upravljanja hardverom i softverom u sistemu.

Evo nekoliko ključnih karakteristika kernel modula:

  1. Dinamičko učitavanje: Kernel moduli se dinamički učitavaju i istovremeno uklanjaju iz jezgra tokom rada sistema. Ovo omogućava dodavanje i uklanjanje podrške za različite uređaje i funkcije bez potrebe za ponovnim pokretanjem sistema.

  2. Podrška za različite uređaje: Kernel moduli omogućavaju podršku za različite hardverske uređaje kao što su grafičke kartice, mrežne kartice, USB uređaji, zvučne kartice i mnogi drugi. Svaki uređaj može imati odgovarajući kernel modul koji mu omogućava komunikaciju sa jezgrom.

  3. Funkcionalnost sistema: Pored podrške za uređaje, kernel moduli omogućavaju dodatne sistemske funkcije kao što su datotečni sistemi, mrežni protokoli, sigurnosni mehanizmi i mnoge druge. Ovo proširuje mogućnosti jezgra i omogućava prilagođavanje sistema specifičnim potrebama.

  4. Efikasnost i resursi: Kernel moduli zauzimaju minimalan prostor u memoriji dok nisu učitani i koriste resurse sistema samo kada su aktivni. Ovo doprinosi efikasnosti i resursima sistema.

Kernel moduli su važan deo Linux operativnog sistema i omogućavaju mu da podrži raznovrsne uređaje i funkcije. Korisnici i administratori sistema mogu upravljati ovim modulima pomoću alatki kao što su modprobe i lsmod, omogućavajući im da prilagode funkcionalnost jezgra prema potrebama svog sistema.

30 komandi za rad sa kernel modulima

Evo 30 komandi za rad sa kernel modulima u Linux sistemu:

  1. lsmod: Prikazuje listu trenutno učitanih kernel modula.

  2. modprobe modul_ime: Učitava određeni kernel modul.

  3. modprobe -r modul_ime: Uklanja određeni kernel modul.

  4. modprobe -l: Prikazuje sve dostupne kernel module.

  5. insmod putanja/do/modula.ko: Ručno učitava kernel modul.

  6. rmmod modul_ime: Uklanja učitani kernel modul.

  7. ls /lib/modules/uname -r/kernel/: Prikazuje putanju do direktorijuma sa kernel modulima.

  8. ls /lib/modules/uname -r/kernel/drivers/: Prikazuje putanju do direktorijuma sa drajverima.

  9. lsmod | grep ime_modula: Prikazuje informacije o određenom kernel modulu.

  10. dmesg | grep modul_ime: Prikazuje kernel log poruke povezane sa određenim modulom.

  11. lsmod | awk '{print $1}': Prikazuje samo imena učitanih modula.

  12. ls /sys/module: Prikazuje sve module u /sys direktorijumu.

  13. modinfo modul_ime: Prikazuje informacije o određenom kernel modulu.

  14. lsmod | sort: Prikazuje listu učitanih modula sortiranih po abecedi.

  15. ls /lib/modules/uname -r/build/: Prikazuje putanju do direktorijuma sa kernel izvornim kodom.

  16. depmod -a: Rekonstruiše zavisnosti između modula.

  17. lsmod | grep -v modul_ime: Prikazuje listu učitanih modula bez određenog modula.

  18. lsmod | awk '{print $3}': Prikazuje veličinu kernel modula.

  19. ls /lib/modules/uname -r/kernel/drivers/char: Prikazuje drajvere za karakteristične uređaje.

  20. modprobe -v modul_ime: Učitava kernel modul sa verbose (razgovetnim) izlazom.

  21. find /lib/modules/uname -r/ -iname '*.ko': Pronalazi sve kernel module za trenutnu verziju jezgra.

  22. modinfo -p modul_ime: Prikazuje parametre koje podržava određeni kernel modul.

  23. modinfo -d modul_ime: Prikazuje opis određenog kernel modula.

  24. modinfo -n modul_ime: Prikazuje ime fajla koji sadrži određeni kernel modul.

  25. lsmod | wc -l: Broji koliko modula je trenutno učitano.

  26. modprobe -n modul_ime: Prikazuje šta bi se desilo kada bi se učitao određeni kernel modul, ali ga ne učitava.

  27. modprobe -r -v modul_ime: Uklanja kernel modul sa verbose izlazom.

  28. modinfo -F depends modul_ime: Prikazuje zavisne module određenog kernel modula.

  29. ls /lib/modules/uname -r/build/include/linux/: Prikazuje putanju do kernel izvornih kodova.

  30. modprobe -l | grep ključna_reč: Pretražuje dostupne module po ključnoj reči.

Napomena: Da biste izvršavali mnoge od ovih komandi, potrebna su vam administratorska (root) prava ili da budete član grupe sa odgovarajućim pravima.

Systemd arhitektura 

Systemd je inicijalni sistem i sistema za upravljanje servisima za Linux operativne sisteme. Njegova arhitektura je dizajnirana da omogući bolje upravljanje sistemom i servisima tokom butovanja i tokom rada sistema. Evo pregleda systemd arhitekture:

  1. systemd PID 1:

    • Systemd zauzima mesto inicijalnog procesa (PID 1) tokom butovanja. To znači da je systemd prva stvar koja se pokreće prilikom butovanja sistema.
  2. systemd servis fajlovi:

    • Servisi se konfigurišu putem systemd servis fajlova (.service datoteke) koje se obično nalaze u direktorijumu /etc/systemd/system/. Ove datoteke sadrže informacije o servisu, uključujući putanju do izvršnog fajla, zavisnosti, opcije i druge parametre.
  3. systemd servis menadžer:

    • Systemd ima svoj servis menadžer koji je odgovoran za upravljanje servisima tokom rada sistema. On može pokretati, zaustavljati, ponovno pokretati i pratiti servise u stvarnom vremenu.
  4. Systemd targeti:

    • Systemd uvodi koncept "targeta", koji su grupisanja servisa i jedinica. Targeti definišu različite stanja sistema, poput "multi-user.target" za normalan multi-user režim ili "rescue.target" za režim oporavka. Svaki target ima svoje zavisnosti prema drugim servisima.
  5. systemd logovanje:

    • Systemd uključuje systemd Journal, napredni sistem za logovanje događaja i praćenje rada sistema. Ovaj journal omogućava efikasno prikupljanje i analizu logova.
  6. systemd-udevd:

    • Systemd uključuje systemd-udevd, koji je odgovoran za upravljanje uređajima, njihovo prepoznavanje i kreiranje odgovarajućih uređajskih fajlova.
  7. systemd-nspawn:

    • Systemd nudi systemd-nspawn, koji omogućava izolaciju procesa i kreiranje chroot okoline za testiranje ili razvoj.
  8. systemd-timedated:

    • Systemd takođe uključuje systemd-timedated, koji se bavi upravljanjem vremenom i datumom na sistemu.
  9. systemd-resolved:

    • Systemd sadrži systemd-resolved za upravljanje DNS (Domain Name System) konfiguracijom.
  10. systemd-networkd:

    • Za upravljanje mrežnim konfiguracijama tu je systemd-networkd, koji omogućava konfiguraciju mrežnih interfejsa.

Ova arhitektura systemd-a omogućava napredno upravljanje sistemom i servisima, a systemd se koristi na mnogim Linux distribucijama kao zamenjena za stariji SysV init sistem. Ovo omogućava brže butovanje, bolje upravljanje servisima i napredne mogućnosti praćenja i logovanja događaja na sistemu.

Sta su systemd targeti?

Systemd targeti su grupisanja servisa i jedinica (unit) u okviru systemd inicijalnog sistema i sistema za upravljanje servisima na Linux operativnim sistemima. Svaki target predstavlja određeno stanje sistema koje definiše skup servisa i resursa potrebnih za postizanje tog stanja. Ovi targeti omogućavaju systemd-u da efikasno upravlja butovanjem i radom sistema. Evo nekoliko ključnih pojmova vezanih za systemd targete:

  1. Targeti kao ciljevi sistema: Targeti se koriste za definisanje ciljeva sistema, tj. specifičnih stanja u kojima treba da se nalazi sistem. Na primer, "multi-user.target" je cilj za normalan multi-user režim, dok "graphical.target" predstavlja cilj za butovanje u grafičkom okruženju.

  2. Zavisnosti: Svaki target može imati svoje zavisnosti prema drugim servisima i targetima. Ove zavisnosti definišu redosled pokretanja i zaustavljanja servisa i targeta tokom butovanja i rada sistema. Systemd automatski rešava zavisnosti i osigurava da se servisi i targeti pokreću u odgovarajućem redosledu.

  3. Default target: Na svakom sistemu postoji "default.target" koji određuje koji će target biti aktiviran prilikom butovanja. Ovo može biti "multi-user.target" za serverske sisteme ili "graphical.target" za sisteme sa grafičkim okruženjem.

  4. Aktivacija targeta: Možete koristiti komandu systemctl isolate target da trenutno aktivirate određeni target bez potrebe za restartovanjem sistema. Na primer, systemctl isolate graphical.target će prebaciti sistem u grafički režim.

  5. Prikazivanje i upravljanje targetima: Da biste videli listu dostupnih targeta i njihovih trenutnih stanja, koristite systemctl list-units --type=target komandu. Za upravljanje targetima, možete koristiti komande kao što su systemctl enable, systemctl disable, systemctl start i systemctl stop.

Systemd targeti omogućavaju efikasno upravljanje sistemom i servisima tako što omogućavaju precizno definisanje i kontrolu stanja sistema tokom butovanja i rada. Ovo je posebno korisno za sisteme sa različitim zahtevima, kao što su serverski i desktop sistemi.

20 komandi za upravljanje targetima

Evo 20 komandi za upravljanje systemd targetima na Linux sistemu koristeći systemctl komandu:

  1. Prikazivanje svih targeta:

    systemctl list-units --type=target
  2. Prikazivanje informacija o određenom targetu:

    systemctl status target_name
  3. Prikazivanje aktivnog (trenutnog) targeta:

    systemctl list-units --type=target --state=active
  4. Aktivacija određenog targeta:

    systemctl isolate target_name
  5. Prikazivanje zavisnosti targeta:

    systemctl list-dependencies target_name
  6. Prikazivanje ciljnog (default) targeta:

    systemctl get-default
  7. Postavljanje ciljnog (default) targeta:

    sudo systemctl set-default target_name
  8. Aktivacija grafičkog targeta (GUI režim):

    systemctl isolate graphical.target
  9. Aktivacija režima za samo oporavak:

    systemctl isolate rescue.target
  10. Aktivacija multi-user targeta (bez grafičkog okruženja):

    systemctl isolate multi-user.target
  11. Aktivacija network targeta (samo mreža):

    systemctl isolate network.target
  12. Aktivacija emergency targeta (sistem u minimalnom režimu):

    systemctl isolate emergency.target
  13. Prikazivanje stanja grafičkog targeta:

    systemctl is-active graphical.target
  14. Prikazivanje stanja multi-user targeta:

    systemctl is-active multi-user.target
  15. Aktivacija targeta za sistemsku analizu i profilisanje:

    systemctl isolate sysinit.target
  16. Aktivacija poweroff targeta (za isključivanje sistema):

    systemctl isolate poweroff.target
  17. Aktivacija reboot targeta (za ponovno pokretanje sistema):

    systemctl isolate reboot.target
  18. Prikazivanje svih targeta i njihovih stanja:

    systemctl list-units --type=target --all
  19. Prikazivanje detalja o targetu (putanja do konfiguracione datoteke):

    systemctl cat target_name
  20. Prikazivanje loga događaja targeta (journalctl):

    journalctl -u target_name

Napomena: Zamijenite target_name sa stvarnim imenom targeta koji želite da aktivirate, prikažete ili konfigurišete. Ove komande vam omogućavaju kontrolu nad systemd targetima na vašem Linux sistemu.

Kako se konfiguriše SYSTEMD?

Konfiguracija systemd-a se obavlja putem različitih konfiguracionih datoteka i alatki koje se koriste za postavljanje parametara i opcija ovog inicijalnog sistema i sistema za upravljanje servisima. Evo osnovnih koraka za konfiguraciju systemd-a:
  1. Konfiguracione datoteke:

    • Osnovna konfiguracija systemd-a obično se nalazi u direktorijumu /etc/systemd/.
    • Najvažnija konfiguraciona datoteka je /etc/systemd/system.conf, koja sadrži globalne opcije za systemd. Možete je uređivati kao superkorisnik (root).
  2. Kreiranje i uređivanje servisa:

    • Servisi se konfigurišu putem systemd servis fajlova, koji se obično nalaze u direktorijumu /etc/systemd/system/. Svaki servis ima svoju konfiguracionu datoteku sa ekstenzijom .service.
    • Za kreiranje ili uređivanje servisa možete koristiti uređivače teksta kao što su nano ili vim. Primer:
      sudo nano /etc/systemd/system/moj_servis.service
  3. Aktivacija i deaktivacija servisa:

    • Da biste omogućili servis da se pokrene prilikom butovanja, koristite systemctl enable komandu.
    • Da biste onemogućili servis da se pokrene prilikom butovanja, koristite systemctl disable komandu.
    • Primer:
      sudo systemctl enable moj_servis
  4. Startovanje i zaustavljanje servisa:

    • Da biste odmah pokrenuli servis, koristite systemctl start komandu.
    • Da biste zaustavili servis, koristite systemctl stop komandu.
    • Primer:
      sudo systemctl start moj_servis
  5. Pregled statusa servisa:

    • Da biste videli status servisa, koristite systemctl status komandu.
    • Primer:
      systemctl status moj_servis
  6. Ponovno pokretanje i osvežavanje konfiguracije:

    • Da biste ponovo pokrenuli servis, koristite systemctl restart komandu.
    • Da biste osvežili konfiguraciju systemd-a, koristite systemctl daemon-reload komandu.
    • Primer:
      sudo systemctl restart moj_servis
  7. Konfigurisanje boot opcija:

    • Opcije butovanja i ostale globalne konfiguracije mogu se postaviti u /etc/default/grub datoteci za sisteme koji koriste GRUB bootloader. Nakon uređivanja ove datoteke, ažurirajte GRUB konfiguraciju komandom sudo update-grub.

Napomena: Konkretni koraci za konfiguraciju servisa i sistema zavise od vaših potreba i distribucije koju koristite. Pravilno dokumentovanje i poznavanje servisa i njihovih konfiguracija je od suštinskog značaja kako biste uspešno konfigurisali systemd. Preporučljivo je konzultovati dokumentaciju vaše distribucije ili systemd dokumentaciju za detaljnije informacije.

systemd servis fajl

Evo primera systemd servis fajla koji definiše jednostavan servis. Ovo je osnovna datoteka koja se koristi za konfiguraciju servisa pod systemd-om:
[Unit]
Description=My Sample Service
After=network.target

[Service]
ExecStart=/usr/bin/my_service
Type=simple
User=myuser
Group=mygroup
Restart=on-failure

[Install]
WantedBy=multi-user.target

U ovom primeru:

  • [Unit] sekcija sadrži informacije o servisu, uključujući opis servisa (Description) i listu zavisnosti (After).

  • [Service] sekcija definiše kako će servis biti izvršen. Ključne opcije uključuju:

    • ExecStart: Putanja do izvršnog fajla servisa koji treba pokrenuti.
    • Type: Vrsta servisa (u ovom slučaju "simple" što znači da se servis pokreće u glavnom procesu).
    • User i Group: Korisnik i grupa pod kojima će servis raditi.
    • Restart: Definiše kada će se servis restartovati (u ovom slučaju, nakon neuspešnog završetka).
  • [Install] sekcija specificira gde i kada se servis treba pokrenuti, koristeći opciju WantedBy. U ovom slučaju, servis će biti pokrenut kada je dostignut "multi-user.target".

Napomena: Pravi servis fajl će zavisiti od konkretnih potreba vašeg servisa i putanja do izvršnog fajla. Prilagodite ovaj primer prema vašim potrebama i kopirajte datoteku u odgovarajući direktorijum za systemd servis fajlove (često je /etc/systemd/system/). Nakon toga, možete koristiti systemctl komande za upravljanje ovim servisom, kao što su systemctl start myservice, systemctl enable myservice, i slično.

Evo primera systemd servis fajla za SSH (sshd) servis. Ovaj fajl se obično nalazi u direktorijumu /lib/systemd/system/ ili /etc/systemd/system/, zavisno o distribuciji Linux-a. Možete ga koristiti kao primer za konfiguraciju SSH servisa pod systemd-om:

[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.target
Wants=sshd-keygen.target


[Service]
EnvironmentFile=-/etc/default/ssh
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify
RuntimeDirectory=sshd
RuntimeDirectoryMode=0755


[Install]
WantedBy=multi-user.target
Alias=sshd.service

Pregled logova servisa

Da biste pregledali logove sa systemd servisa na Linux sistemu, koristite journalctl komandu. Ova komanda omogućava pregled i filtriranje systemd logova. Evo nekoliko osnovnih komandi za pregled logova servisa:

  1. Pregled svih logova systemd servisa:

    journalctl
  2. Pregled logova za određeni servis:

    journalctl -u service_name

    Zamijenite service_name sa imenom servisa za koji želite pregledati logove. Na primer, journalctl -u ssh za pregled logova SSH servisa.

  3. Prikazivanje logova u stvarnom vremenu (live):

    journalctl -f

    Ova komanda će prikazivati nove logove kako stižu.

  4. Prikazivanje logova sa određenim prioritetom (severity):

    journalctl -p priority

    Zamijenite priority sa željenim prioritetom (npr. emerg, alert, crit, err, warning, notice, info, debug).

  5. Prikazivanje logova sa vremenskim rasponom:

    journalctl --since "2023-01-01 00:00:00" --until "2023-01-02 00:00:00"

    Ova komanda prikazuje logove u navedenom vremenskom intervalu. Prilagodite datum i vreme prema vašim potrebama.

  6. Prikazivanje logova sa određenim brojem linija:

    journalctl -n 100

    Ova komanda prikazuje poslednjih 100 linija logova. Možete promeniti broj prema vašim potrebama.

  7. Prikazivanje logova u posebnom formatu:

    journalctl -o json-pretty

    Ova komanda će prikazati logove u JSON formatu za lakšu analizu.

  8. Pregled logova sa straničenjem:

    journalctl | less

    Ova komanda omogućava pregled logova sa straničenjem koristeći less alat.

  9. Pregled logova samo za određeni korisnik:

    journalctl _UID=1000

    Zamijenite 1000 sa UID korisnika za kojeg želite pregledati logove.

  10. Prikazivanje logova sa dodatnim detaljima:

    journalctl -xe

    Ova komanda prikazuje logove sa dodatnim informacijama o problemima ili greškama.

Napomena: Kako bi koristili journalctl, obično morate imati administratorske privilegije, pa je često potrebno koristiti sudo pre komande. Prilagodite komande i opcije prema svojim potrebama i specifičnostima sistema.