Početak u Linuxu — šta je i zašto se uči

Ovo je prva lekcija na blogu. Ne uči se nijedna komanda — cilj je da razumeš gde ideš i zašto, pre nego što otvoriš terminal.

Linux koristiš i sada

Verovatno misliš da nikada nisi radio na Linuxu. Zapravo si u kontaktu sa njim ceo dan:

  • Sajtovi koje otvaraš — najveći deo interneta vrti se na Linux serverima
  • Android telefon — ispod svega je Linux kernel
  • Netflix, Facebook, Google, banke — sve na Linuxu
  • Superračunari — svih pet stotina najbržih na svetu
  • Ruteri, televizori, automobili, bankomati
  • Cloud — AWS, Azure i Google Cloud u ogromnoj većini pokreću Linux instance

Praktično svugde osim na desktopu. To je i razlog zašto se Linux uči: ne zato što je bolji od Windowsa za svakodnevni rad, nego zato što je operativni sistem infrastrukture.

Šta Linux zapravo jeste

Linux je kernel — sloj koji upravlja hardverom, memorijom i procesima. Sam po sebi ne radi ništa vidljivo.

Ono što instaliraš zove se distribucija: kernel plus sve ostalo — komande, servisi, menadžer paketa. Ubuntu, Debian, Rocky Linux i Fedora su distribucije. Detaljno u lekciji Linux distribucije, a zašto je sve to besplatno u lekciji Šta je open source softver.

Zašto terminal, a ne miš

Ovo je pitanje koje svako postavi na početku. Grafičko okruženje na Linuxu postoji i radi dobro — ali se ozbiljan posao obavlja iz komandne linije, iz četiri razloga.

1. Servera nema ko da gleda

Server u data centru nema monitor. Povezuješ se preko mreže, kroz tekstualnu sesiju. Grafičko okruženje bi trošilo memoriju i procesor na nešto što niko ne vidi, pa se na serverima ni ne instalira.

2. Ponovljivost

Ovo je najvažniji razlog, a najmanje očigledan.

Zamisli da treba da napraviš pedeset korisničkih naloga. Mišem je to pedeset puta isti niz klikova. U terminalu je to jedan red:

$ for ime in $(cat spisak.txt); do useradd "$ime"; done

I što je bitnije — to možeš sačuvati, poslati kolegi, staviti u dokumentaciju i pokrenuti ponovo za godinu dana sa istim rezultatom. Klikovi se ne mogu ni sačuvati ni ponoviti.

3. Sve se može spojiti sa svime

Linux komande su male i rade jednu stvar, ali se povezuju u lanac. Recimo, deset IP adresa koje su najviše puta pokušale prijavu na server:

$ grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -rn | head

Ne moraš sad ovo da razumeš. Poenta je da za ovakav zadatak ne postoji program — sklopio si ga od pet sitnih alata, u trenutku kad ti je zatrebao. To je ideja koju grafički interfejs po prirodi ne može da ponudi.

4. Brzina

Kad savladaš osnove, terminal je jednostavno brži. Bez traženja podešavanja po menijima, bez čekanja da se prozor otvori.

Kako to izgleda u praksi

Konkretan zadatak: pronaći sve fajlove veće od 100 MB u /var, izmenjene u poslednjih sedam dana.

Mišem — otvaraš pretragu, postavljaš filtere, čekaš, prelistavaš rezultate.

U terminalu:

$ find /var -size +100M -mtime -7

Rezultat je trenutan, komanda se može zapamtiti, sačuvati u skriptu i zakazati da se izvršava svakog jutra.

Šta ćeš umeti kad prođeš blog

  • Snalaziti se u terminalu bez razmišljanja
  • Podići i održavati server — veb, mejl, bazu, DNS
  • Naći uzrok problema kroz logove umesto da pogađaš
  • Automatizovati posao skriptama
  • Pakovati aplikacije u kontejnere i pokretati ih u Kubernetesu

To je, otprilike, opis posla sistem administratora ili DevOps inženjera.

O poslu, iskreno

Linux znanje je traženo i dobro plaćeno, ali nije prečica. Za prvi posao u ovoj oblasti treba ti nekoliko meseci ozbiljnog rada, i mnogo više vežbanja nego čitanja.

Dobra vest je da je ulazna barijera niska: sve je besplatno, sve možeš da vrtiš na svom računaru, i ništa ne moraš da tražiš ni od koga. Loša je da ti niko ne može preneti iskustvo — ono se stiče tako što nešto pokvariš pa popraviš.

Ako želiš papir uz znanje, dva najpoznatija sertifikata su LPIC-1 (nezavisan od distribucije) i RHCSA (Red Hat). Oba podrazumevaju praktičan rad, ne teoriju.

Četiri zablude

„Moraš biti programer"

Ne moraš. Administracija sistema i programiranje su različiti poslovi. Skripte ćeš pisati, ali to je bliže pisanju uputstva nego razvoju softvera — i naučićeš ih usput.

„Sve se radi kucanjem, ništa se ne vidi"

Na desktopu Linux ima potpuno normalno grafičko okruženje, sa pregledačem, kancelarijskim paketom i svim ostalim. Terminal koristiš zato što je bolji alat za određene poslove, ne zato što nemaš izbora.

„Linux je za stare računare"

Lakše distribucije zaista oživljavaju stari hardver, ali to je sporedna priča. Isti sistem vrti i najveće svetske infrastrukture.

„Previše je teško"

Nije teško — drugačije je. Windows si učio godinama i to ti sada deluje prirodno. Linux traži da naučiš nekoliko novih ideja: da je sve fajl, da su alati mali i spojivi, i da sistem pretpostavlja da znaš šta radiš.

Ta poslednja stavka je i najveća razlika. Linux te neće pitati „jesi li siguran". Uradiće tačno ono što si tražio. To u početku plaši, a kasnije postane razlog zbog kog ga voliš.

Šta ti treba da počneš

  • Računar koji već imaš — Windows, Mac, svejedno
  • VirtualBox i jedna virtuelna mašina, po lekciji Instalacija Linuxa
  • Sat vremena dnevno, ali redovno
  • Spremnost da nešto pokvariš — zato i radiš u virtuelnoj mašini

Ne treba ti: poseban hardver, drugi računar, nikakvo predznanje programiranja, niti da brišeš Windows.

Kako da učiš

Kucaj, ne čitaj. Ovo je jedini savet koji stvarno menja ishod. Komanda koju si pročitao nestaje za dan; komanda koju si otkucao i video šta vraća ostaje.

Kvari namerno. Obriši konfiguraciju, pa je vrati. Zaustavi servis, pa ga pokreni. Popuni disk, pa ga oslobodi. Snapshot u VirtualBoxu ti je mreža za pad.

Ne uči komande napamet. Nauči da čitaš dokumentaciju i da razumeš šta se dešava. Komande će ti same ući u prste od upotrebe.

Reši nešto svoje. Podigni sajt, napravi mali fajl server, sredi backup fotografija. Znanje se veže za problem koji si stvarno imao, ne za vežbu iz tutorijala.

Kako je blog organizovan

Pet celina, u meniju na vrhu:

Ako tražiš konkretnu komandu, brže je kroz pretragu u vrhu stranice.

Prvi zadatak

Zatvori ovaj tekst i uradi tri stvari:

  1. Instaliraj VirtualBox
  2. Preuzmi ISO — Ubuntu Server ako želiš lakši start, Rocky Linux ako ciljaš posao
  3. Podigni mašinu i prijavi se

Kad ti se ukaže prompt i kursor zatreperi, prošao si najveću prepreku. Sve ostalo je vežbanje.


Sledeći korak → Šta je open source softver

Povezano: Šta je open source softver · Linux distribucije · Instalacija Linuxa · Počni odavde

Comments

Popular posts from this blog

Konverzija tipova podataka u Pythonu

groupadd