1.2 Lekcija 1
Sertifikat: |
Linux Essentials |
---|---|
Verzija: |
1.6 |
Tema: |
1 Linux zajednica i open sors karijera |
Cilj: |
1.2 Glavne open sors aplikacije |
Lekcija: |
1 od 1 |
Uvod
Aplikacija je računarski program čija namjera nije direktno povezana sa unutrašnjim radom računara, već zadatkom kojeg obavlja korisnik. Linux distribucije pružaju mnoge aplikacije koje obavljaju mnoštvo zadataka, kao što su ofis aplikacije (eng: office), web pretraživać, multimedia plajeri, te editori. U osnovi, postoji više aplikacija i alata koji mogu obaviti određen zadatak. Na korisniku je da odabere aplikaciju koja odgovara njegovim potrebama.
Sofver paketi
Skoro svaka Linux distribucija nudi set predinstaliranih aplikacija. Pored tih predinstaliranih aplikacija, distribucija ima i repozitorij paketa sa ogromnom kolekcijom aplikacija koje su dostupne za instalaciju kroz paket menadžer. Iako mnoge distribucije nude skoro iste aplikacije, postoji nekoliko različitih menadžera paketa za razne distribucije. Na primjer, Debian, Ubuntu i Linux Mint koriste 'dpkg', 'apt-get' i 'apt' alate za instalaciju softver paketa, koji se generalno nazivaju DEB paketi. Distribucije kao što je Red Hat, Fedora i CentOS koriste 'rpm', 'yum' i 'dnf' komande koje instaliraju RPM pakete. Kako je pakiranje aplikacija različito od distribucije do distribucije, veoma je važno da se instaliraju paketi iz odgovorajućih repozitorija koji su dizajnirani posebno za tu distribuciju. Krajnji korisnik, stoga, nema potrebe da brine o tim detaljima, obzirom da paket menadžer distribucije odabire odgovarajući paket, potrebne zavisnosti paketa, te ažuriranja. Zavisnosti su pomoćni paketi o kojima ovise programi. Na primjer, ukoliko biblioteka pruža funkciju za rad sa JPEG slikama, kojeg koristi više programa, ta biblioteka je vjerovatno pakirana u sopstveni paket, s kojim rade sve aplikacije ovisne o toj biblioteci.
Komande 'dpkg' i 'rpm' rade na zasebnim paketima. U praksi, skoro sve operacije upravljanja paketima se obavljaju uz pomoć komandi 'apt-get' ili 'apt', na sistemima koji koriste DEB pakete, ili 'yum' i 'dnf' na sistemima koji koriste RPM pakete. Te komande rade sa katalogom paketa, istima se mogu preuzeti novi paketi i njihove zavisnosti, te se mogu provjeriti nove verzije instaliranih paketa.
Instalacija paketa
Pretpostavimo da ste čuli za komandu po imenu 'figlet' koja u terminalu printa uvećan tekst, te istu želite probati. Međutim, nakon izvršavanja komande 'figlet' dobijate sljedeću poruku:
$ figlet -bash: figlet: command not found
To znači da paket nije instaliran na vaš sistem. Ako vaša distribucija radi sa DEB paketima, možete pretražiti njen repozitorij korištenjem 'apt-cache search naziv_paketa' ili 'apt search naziv_paketa'. Komanda 'apt-cache' se koristi za pretraživanje paketa, te prikaz informacija o dostupnim paketima. Sljedeća komanda traži dostupnost termina "'figlet'" među nazivom paketa i njihovom opisu:
$ apt-cache search figlet figlet - Make large character ASCII banners out of ordinary text
Pretraga identificira paket po imenu figlet koji odgovara nedostajućoj komandi. Instalacija i uklanjanje paketa zahtjeva specijalnu dozvolu koju ima jedino sistem administrator: korisnik po imenu 'root'. Na desktop sistemima, obični korisnici mogu instalirati ili ukloniti pakete dodatkom komande 'sudo' u komandama za uklanjanje i instalaciju. Takav proces zahtjeva unos lozinke za nastavak operacije. Za DEB pakete, instalacija se obavlja sa komandom 'apt-get install naziv_paketa' ili 'apt install naziv_paketa':
$ sudo apt-get install figlet Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: figlet 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
U ovom slučaju, paket će biti preuzet i instaliran na sistem. Sve zavisnosti koje paket treba, bit će također preuzete i instalirane:
Need to get 184 kB of archives. After this operation, 741 kB of additional disk space will be used. Get:1 http://archive.raspbian.org/raspbian stretch/main armhf figlet armhf 2.2.5-2 [184 kB] Fetched 184 kB in 0s (213 kB/s) Selecting previously unselected package figlet. (Reading database ... 115701 files and directories currently installed.) Preparing to unpack .../figlet_2.2.5-2_armhf.deb ... Unpacking figlet (2.2.5-2) ... Setting up figlet (2.2.5-2) ... update-alternatives: using /usr/bin/figlet-figlet to provide /usr/bin/figlet (figlet) in auto mode Processing triggers for man-db (2.7.6.1-2) ...
Nakon što se preuzimanje završi, svi podaci su kopirani u odgovorajuću lokaciju, sve dodatne konfiguracije će biti obavljene, te će komanda biti dostupna.
$ figlet Awesome! _ _ / \__ _____ ___ ___ _ __ ___ ___| | / _ \ \ /\ / / _ \/ __|/ _ \| '_ ` _ \ / _ \ | / ___ \ V V / __/\__ \ (_) | | | | | | __/_| /_/ \_\_/\_/ \___||___/\___/|_| |_| |_|\___(_)
U distribucijama koje koriste RPM pakete, pretrage se obavljaju upotrebom 'yum search naziv_paketa' ili 'dnf search naziv_paketa'. Recimo da želite prikazati tekst na neki drugi način, praćen prikazom nacrtane krave, ali niste sigurni da li paket može izvršiti taj zadatak. Kao sa DEB paketima, tako i RMP komande za pretragu prihvaćaju upotrebu opisnih termina:
$ yum search speaking cow Last metadata expiration check: 1:30:49 ago on Tue 23 Apr 2019 11:02:33 PM -03. ==================== Name & Summary Matched: speaking, cow ==================== cowsay.noarch : Configurable speaking/thinking cow
Nakon pronalaska odgovarajućeg paketa unutar repozitorija, može se isti instalirati korištenjem 'yum install naziv_paketa' ili 'dnf install naziv_paketa':
$ sudo yum install cowsay Last metadata expiration check: 2:41:02 ago on Tue 23 Apr 2019 11:02:33 PM -03. Dependencies resolved. ============================================================================== Package Arch Version Repository Size ============================================================================== Installing: cowsay noarch 3.04-10.fc28 fedora 46 k Transaction Summary ============================================================================== Install 1 Package Total download size: 46 k Installed size: 76 k Is this ok [y/N]: y
Još jednom, željeni paket i sve njegove zavisnosti će biti preuzete i instalirane:
Downloading Packages: cowsay-3.04-10.fc28.noarch.rpm 490 kB/s | 46 kB 00:00 ============================================================================== Total 53 kB/s | 46 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : cowsay-3.04-10.fc28.noarch 1/1 Running scriptlet: cowsay-3.04-10.fc28.noarch 1/1 Verifying : cowsay-3.04-10.fc28.noarch 1/1 Installed: cowsay.noarch 3.04-10.fc28 Complete!
Komanda 'cowsay' će uraditi tačno ono što njeno ime govori:
$ cowsay "Brought to you by yum" _______________________ < Brought to you by yum > ----------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
Iako komande 'figlet' i 'cowsay' djeluju beskorisno, one omogućavaju da se prikazom relevantnih informacija privuće pažnja korisnika.
Uklanjanje paketa
Iste komande korištene za instalaciju paketa, mogu se koristiti i za njihovo uklanjanje. Sve komande prihvataju riječ 'remove' za uklanjanje instaliranog paketa: 'apt-get remove naziv_paketa' ili 'apt remove naziv_paketa' za DEB pakete i 'yum remove naziv_paketa' ili 'dnf remove naziv_paketa' za RPM pakete. Komanda 'sudo' je potrebna za izvršavanje uklanjanja. Na primjer, da bi ste uklonili instaliran paket figlet iz Debian distribucije, možete koristiti sljedeću komandu:
$ sudo apt-get remove figlet Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: figlet 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 741 kB disk space will be freed. Do you want to continue? [Y/n] Y
Nakon što potvrdite uklanjanje, paket će biti uklonjen iz sistema:
(Reading database ... 115775 files and directories currently installed.) Removing figlet (2.2.5-2) ... Processing triggers for man-db (2.7.6.1-2) ...
Slična procedura važi na sistemima koji koriste RPM pakete. Na primjer, da bi ste uklonili instaliran paket cowsay iz distribucije sa RPM paketima, možete koristiti sljedeću komandu:
$ sudo yum remove cowsay Dependencies resolved. ================================================================================== Package Arch Version Repository Size ================================================================================== Removing: cowsay noarch 3.04-10.fc28 @fedora 76 k Transaction Summary ================================================================================== Remove 1 Package Freed space: 76 k Is this ok [y/N]: y
Nakon što potvrdite uklanjanje, paket će biti uklonjen iz sistema:
Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Erasing : cowsay-3.04-10.fc28.noarch 1/1 Running scriptlet: cowsay-3.04-10.fc28.noarch 1/1 Verifying : cowsay-3.04-10.fc28.noarch 1/1 Removed: cowsay.noarch 3.04-10.fc28 Complete!
Konfiguracijske datoteke uklonjenog paketa ostaju na sistemu, te se iste mogu koristiti ukoliko se paket instalira ponovo.
Ofis aplikacije
Ofis aplikacije se koriste za uređivanje teksta, izradu prezentacija, tabela i ostalih tipova podataka koji se koriste u uredskim okruženjima. Takve aplikacije su obično organizovane u kolekciju po imenu ofis alati.
Veoma često korišten ofis alat na Linux-u je bio OpenOffice.org. OpenOffice.org je open sors verzija StarOffice alata kojeg je razvio Sun Microsystems. Nekoliko godina kasnije Sun je kupila Oracle Korporacija, koja je projekat predala Apache Fondaciji i OpenOffice.org je preimenovan u Apache OpenOffice. U međuvremenu, pojavila se nova kolekcija uredskih alata bazirana na istom izvornom kodu od strane Document Fondacije, koja je svoj uredski alat imenovala LibreOffice. Oba projekta imaju iste karakteristike, te su kompatibilni sa dokument formatima Microsoft Office-a. Stim da je Open Document Format, u potpunosti standardiziran ISO format datoteke. Upotreba ODF fajla omogućava da se dokumenti mogu prebacivati između operativnih sistema i aplikacija različitih vendora, kao što je Microsoft Office. Glavne aplikacije koje nudi OpenOffice/Libre Office su:
- Writer
-
Urednik teksta
- Calc
-
Urednik tabela
- Impress
-
Urednik prezentacija
- Draw
-
Vektorsko crtanje
- Math
-
Izrada matematičkih formula
- Base
-
Baze podataka
LibreOffice i Apache OpenOffice su softveri otvorenog koda, samo što je LibreOffice licenciran pod LGPLv3 licencom, dok Apache OpenOffice koristi Apache licencu 2.0. Razlike u licenciranju omogućavaju LibreOffice integraciju poboljšanja koje izdaje Apache OpenOffice, dok se poboljšanja izdata od strane LibreOffice-a, ne mogu integrirati u Apache OpenOffice. Upravo zbog toga, te veće zajednice developera, sve više distribucija prihvaća LibreOffice kao njihov zadani uredski alat.
Web pretraživaći
Za većinu korisnika, glavna svrha računara je da pruži pristup internetu. U današnje vrijeme, web stranice se ponašaju kao aplikacije sa mnoštvom dodataka, kojima se također može pristupiti bilo gdje, bez potrebe instalacije dodatnog softvera. To za običnog korisnika, čini web pretraživać najvažnijom aplikacijom operativnog sistema.
Jedan od najboljih izvora za web development, je MDN Web Docs, dostupan na ovom linku https://developer.mozilla.org/. Isti održava Mozila, a stranica sadrži tutorijale za početnike, te referencne materijale o najmodernijim web tehnologijama koje su trenutno dostupne.
Glavni web pretraživaći unutar Linux okruženja su Google Chrome i Mozilla Firefox. Chrome je web pretraživać kojeg održava Google, te je isti baziran na open sors pretraživaću po imenu Chromium, koji se može instalirati upotrebom paket menadžera bilo koje distribucije, a isti je kompatibilan sa Chrome-om. Drugi pretraživać je Firefox kojeg održava neprofitna fondacija Mozilla, čije porijeklo leži u čuvenom Netspace-u, popularnom pretraživaću koji je među prvima prihvatio open sors model (eng: Open Source). Fondacija Mozilla, je predana razvoju otvorenih standarda za moderni web.
Mozilla također razvija i druge aplikacije, kao što je e-mail klijent Thunderbird. Mnogi korisnici koriste webmail umjesto posebnih email aplikacija, ali klijenti kao što je Thunderbird nude ekstra opcije, te se integrišu jako dobro sa drugim aplikacijama na desktop-u.
Multimedia
Shodno dostupnim web aplikacijama, desktop aplikacije su i dalje najbolji način kreiranja multimedia sadržaja. Multimedijske radnje kao što je renderovanje videa, obično troše jako puno sistemskih resursa, tako da su desktop aplikacije te namjere, najbolje rješenje. Neke od najpopularnijih multimedia aplikacija za Linux okruženje i njihova namjera, su navedeni dole ispod.
- Blender
-
3D render za kreiranje animacija. Blender se može koristiti i za eksport 3D objekata koji se žele printati na 3D printeru.
- GIMP
-
Slikovni editor bogat opcijama, koji je sličan AdobePhotoshop-u, ali ima sopstveni koncept i alate za rad sa slikama. GIMP se može upotrebiti za kreiranje, uređivanje, te spašavanje bitmap fajlova, kao što su JPEG, PNG, GIF, TIFF i mnogi drugi.
- Inkscape
-
Program za obradu vektorske grafike, sličan Corel Draw-u ili Adobe Ilustrator-u. Inkscape-ov zadani format datoteka je SVG, otvoreni standard za vektorsku grafiku. SVG fajlovi se mogu pokrenuti unutar web pretraživaća, a zahvaljujući tome što je u pitanju vektorska grafika, mogu se koristiti i na web stranicama.
- Audacity
-
Audacity je audio editor, kojim se mogu filtrirati i dodavati efekti, te obavljati konverzija između različitih audio formata, kao što su MP3, WAV, OGG, FLAC, itd.
- ImageMagick
-
ImageMagick je alat za konverziju i uređivanje većine slikovnih formata, direktno iz komandne linije. Također se može koristiti za izradu PDF dokumenata iz slikovnih fajlova, itd.
Postoje i razne druge aplikacije za multimediu. Jedna od najpopularnijih aplikacija za video produkciju je VLC, mada neki korisnici preferiraju alternative kao što je smplayer. Za produkciju lokalne muzike, tu su Audacious,Banshee i Amarok, kojima se mogu uređivati kolekcije lokalnih muzičkih datoteka.
Server programi
Kada web pretraživać učita stranicu sa određene web stranice, on se spaja na udaljeni računar (eng.remote computer) od kojeg traži određenu informaciju. U tom scenariju, računar na kojem se pokreće web pretraživać se naziva klijent dok se udaljeni računar naziva server.
Server računar može biti obični dekstop računar ili računar sa specijalnim hardverom, koji zahtjeva specifičan program za održavanje tipova informacija koje isti pruža. Bez obzira na web stranice, većina servera širom svijeta koristi programe otvorenog koda. Takav server program se naziva HTTP server (HTTP je skraćenica za Hiper Tekst Transfer Protokol), a neki od najpopularnijih su Apache,Nginx i lighttpd.
Čak i obična web stranica može tražiti više zahtjeva, koji mogu biti obični fajlovi — poznati kao statični sadržaj — ili sadržaj renderovan sa raznih izvora, koji se naziva dinamički sadržaj. Uloga HTTP servera je da sakupi i pošalje sve zatražene podatke natrag web pretraživaću, koji zatim prikazuje sadržaj u obliku HTML dokumenta (HTML je skraćenica za Hiper Tekst Markup Jezik) i drugih podržanih fajlova. Stoga, renderovanje web stranice uključuje operacije koje se izvode na strani servera i klijenta. Obje strane mogu koristiti prilagođene skripte kako bi se izveli određeni zadaci. Na HTTP server strani, obično se koristi PHP skriptni jezik, dok na klijent strani gdje se pokreće web pretraživać, u upotrebi je JavaScript.
Server programi mogu pružiti razne vrste informacija. Nije isključeno da server programi zahtjevaju informacije koje pružaju drugi server programi. Na primjer, kada HTTP server zahtjeva informacije od strane servera na kojem se nalazi baza podataka.
Na primjer, kada se traži dinamička stranica, onda HTTP server šalje upit bazi podataka, odakle prikuplja potrebne informacije, te ih šalje u obliku dinamičkog sadržaja, natrag klijentu. Na sličan način, kada korisnik registruje web stranicu, HTTP server prikuplja podatke poslane od strane klijenta, te iste skladišti u bazu podataka. Baza podataka je organizovan set informacija. Server s bazom podataka skladišti sadržaj u željenom formatu, čineći ga dostupnim za čitanje, pisanje, te povezuje ogromnu količinu podataka pouzdano pri velikoj brzini. Serveri open sors baza podataka se koriste u mnogim aplikacijama, ne samo na internetu. Čak i lokalne aplikacije mogu skladištiti podatke spajajući se na lokalni podatkovni server. Najčešće korišteni tipovi baza podataka su relacione baze podataka gdje se podaci organiziraju u unaprijed defenirane tabele. Najpopularnija open sors relaciona baza podataka je MariaDB (nastala iz termina MySQL) i PostgreSQL.
Dijeljenje podataka
U lokalnim mrežama, kao one koje se koriste u uredima i kući, poželjno je da računari, osim što se spajaju na internet, komuniciraju jedan s drugim. Ponekada se računar ponaša kao server, a ponekad kao klijent. To je neophodno kada neko želi pristupiti podacima na drugom računaru u mreži — na primjer, pristup podatku koji se nalazi na desktop računaru sa prenosivog uređaja — bez potrebe da se isti podaci kopiraju na USB uređaj, itd.
Za komunikaciju dvije Linux mašine, koristi se NFS(skraćenica za Network File System). NFS protokol je standardiziran način dijeljenja podataka između Unix/Linux mašina. Sa NFS-om, računar može podijeliti više direktorija sa specifičnim računarom na mreži, tako da oni mogu čitati fajlove unutar tih direktorija ili da pišu unutar istih. NFS se također može koristiti za dijeljenje kompletnog direktorija operativnog sistema, kojeg može iskoristiti klijent za butanje sa istog. Takvi računari se nazivaju manji klijenti, te se uglavnom koriste u velikim mrežama kako bi se izbjeglo održavanje operativnog sistema na svakoj mašini.
Ukoliko su drugi tipovi operativnih sistema spojeni na mrežu, preporučeno je u tom slučaju, koristiti protokol za dijeljenje podataka koji mogu svi razumjeti. Takav zahtjev ispunjava Samba. Samba, koja je prvobitno razvijena za Windows operativni sistem, implementira protokol za dijeljenje podataka preko mreže, te je sada kompatibilna sa svim operativnim sistemima. Sa Sambom, računari u lokalnoj mreži, osim dijeljenja podataka, mogu dijeliti i printere.
Na nekim lokalnim mrežama, autorizaciju prilikom logina na radnu stanicu, izdaje centralni server, koji se naziva domen kontroler, a koji nadgleda pristup raznim lokalnim i remote resursima. Domen kontroler je servis kojeg pruža Microsoftov Aktivni Direktorij. Linux radne stanice se mogu povezati sa domen kontrolerom, uz pomoć Sambe i autentikacijskog podsistema SSSD. Od izdanja verzije 4, Samba također može da radi kao domen kontroler na heterogenim mrežama.
Ukoliko se želi implementirati cloud rješenje koje ima za cilj da pruži razne metode dijeljenja podataka preko web-a, dvije alternative se trebaju uzeti u obzir: ownCloud i Nextcloud. Ova dva projekta su veoma slična jer Nextcloud je spin-of ownCloud-a, što i nije neobično za open sors projekte. Takav spin-of se naziva fork. Uglavnom, oba pružaju sve osnovne karakteristike: dijeljenje i sinkronizacija podataka, zajednički radni prostor, kalendar, kontakti i mail, mobilni i web interfejs. Nextcloud također pruža podršku za audio/video konferenciju, dok ownCloud se više fokusira na dijeljenje podataka i integraciju softvera treće strane. Mnoge druge karakteristike se mogu dodati koristeći dodatke (eng.plugins), a isti se mogu aktivirati po potrebi.
I ownCloud i Nextcloud pružaju plaćenu verziju sa ekstra karakteristikama i produženom podrškom. Ono što ih čini drugačijm u odnosu na druga komercijalna rješenja, jeste mogućnost instalacije Nextcloud-a ili ownCloud-a na privatni server, potpuno besplatno, izbjegavajući pritom skladištenje osjetljivih podataka na nepoznatom serveru. Kako svi servisi zavise o HTTP komunikaciji, te su isti pisani koristeći PHP, instalacija stoga mora biti izvedena na prethodno konfigurisanom web serveru, kao što je Apache. Ukoliko razmišljate o instalaciji ownCloud-a ili Nextcloud-a na sopstveni server, provjerite da je HTTPS aktivan kako bi ste enkriptovali sve nadolazeće konekcije ka vašem cloud-u.
Mrežna administracija
Komunikacija između računara je jedino moguća ukoliko mreža radi kako treba. Obično, konfiguracija mreže se izvodi upotrebom seta programa koji se pokreću na ruteru, a koji je odgovoran za postavljanje i provjeru dostupnosti mreže. Kako bi se to izvelo, koriste se dva osnovna mrežna servisa: DHCP (Dynamic Host Configuraction Protocol) ili u prijevodu konfiguracijski protokol dinamičkog hosta, te DNS(Domain Name System) ili u prijevodu sistem naziva domene.
DHCP dodjeljuje IP adresu hostu ili računaru, kada se mrežni kabal spoji ili kada se uređaj spoji na bežičnu mrežu. Prilikom spajanja na mrežu, DHCP server ISP provajdera, dodjeljuje IP adresu uređaju koji zahtjeva konekciju na mrežu. DHCP server je jako koristan u lokalnim mrežama, gdje se automatski dodjeljuje IP adresa svim uređajima na mreži. Ukoliko DHCP nije pravilno konfigurisan ili ne radi kako treba, potrebno je ručno izvesti konfiguraciju IP adrese za svaki uređaj spojen na mrežu. Ručna konfiguracija IP adrese na velikim i malim mrežama nije preporučena, pa se primjenjuju ruteri sa unaprijed konfigurisanim DHCP serverom.
IP adresa je potrebna za komunikaciju sa drugim IP uređajem na mreži, ali domena kao što je 'www.lpi.org' dosta je jednostavnija za upamtiti nego IP broj '203.0.113.165'. Sam naziv domene nije dovoljan da bi se uspostavila komunikacija na mreži. Zato se naziv domene prevodi u IP adresu, uz pomoć DNS servera. IP adresu DNS servera, pruža DHCP server ISP provajdera, te se isti koristi za sve spojene sisteme, za prevod naziva domena u IP adresu.
DHCP i DNS podešavanja se mogu modifikovati preko web interfejsa kojeg opslužuje ruter. Na primjer, moguće je ograničiti dodjelu IP adrese jedino poznatom uređaju ili dodijeliti fiksnu IP adresu određenoj mašini. Također je moguće promijeniti zadani DNS server kojeg izdaje ISP provajder. Ponekada DNS serveri treće strane, kao što je Google-ov ili OpenDNS, mogu pružiti brži odgovor, uz ekstra funkcije
Programski jezici
Svi računarski programi (klijent i server programi, desktop aplikacije i sam operativni sistem) su kreirani koristeći jedan ili više programskih jezika. Program može biti jedna datoteka ili kompleksan sistem sačinjen od stotine datoteka, koje operativni sistem tretira kao seriju funkcija, koje se interpretiraju od strane procesora i drugih uređaja.
Postoji bezbroj programskih jezika za razne namjene, a Linux sistemi pružaju velik broj istih. Kako softveri otvorenog koda dolaze uz njihov izvorni kod, Linux sistemi pružaju developerima odlično okruženje za razumijevanje, modifikaciju i razvoj softvera prema njihovim potrebama.
Svaki program počinje kao tekst datoteka, koja se naziva izvorni kod. Taj izvorni kod je napisan u jednom, ljudski razumljivom jeziku, koji opisuje šta taj program radi. Računarski procesor ne može direktno izvršiti taj kod. Stoga se izvorni kod, kroz kompajlirani jezik, pretvara u binarnu datoteku koju izvršava računar. Program po imenu kompajler je odgovoran za konverziju izvornog koda u izvršnu datoteku. Kako se kompajlirani binarni program može pokrenuti na jednoj vrsti procesora, možda ga je potrebno kasnije rekompajlirati za drugu vrstu procesora.
U interpretiranim jezicima, program se ne treba, prethodno kompajlirati. Umjesto toga, interpreter čita izvorni kod, te izvršava njegove instrukcije svaki put kada se program pokrene. To olakšava i ubrzava razvoj, ali takvi programi su dosta sporiji nego kompajlirani programi.
Evo nekih najpopularnijih programskih jezika:
- JavaScript
-
JavaScript je programski jezik, koji se uglavnom koristi za razvoj web stranica. U početku, JavaScript aplikacije su bile veoma jednostavne, na primjer, forme za validaciju. Danas, JavaScript se smatra prvoklasnim jezikom, koji se koristi za izradu kompleksnih aplikacija, ne samo za web, nego i servere i mobilne uređaje.
- C
-
C programski jezik je dosta povezan sa operativnim sistemima, posebice Unix-om, ali se isti može koristiti za izradu bilo koje vrste programa, za bilo koji uređaj. Velika prednost C programskog jezika je njegova fleksibilnost i brzina. Izvorni kod napisan u ovom jeziku, može se kasnije kompajlirati na raznim platformama i operativnim sistemima, uz malu potrebu za modifikacijom istog. Nakon kompajliranja, program će raditi samo na onom sistemu na kojemu je napisan, osim ukoliko se njegov kod ne kompajlira za drugi sistem.
- Java
-
Glavni aspekt programskog jezika Java, leži u tome što su njegovi programi portabilni, drugim riječima, isti programi se mogu izvršiti na raznim operativnim sistemima. Uprskos imenu, Java nije nikako povezana sa programskim jezikom JavaScript.
- Perl
-
Perl je programski jezik koji se koristi za obradu teksta. Ovaj jezik ima strog naglasak na regularne izraze, što čini Perl idealnim za filtriranje i raščlanjivanje teksta.
- Shell
-
Šel (eng.shell), posebice Beš šel (eng.Bash shell), nije samo programski jezik, nego je interaktivni interfejs za pokretanje programa. Šel programi se još nazivaju šel skripte (eng.shell scripts), te isti mogu automatizirati kompleksne ili ponavljajuće zadatke direktno sa komande linije.
- Python
-
Python je izuzezno popularan programski jezik među studentima i profesionalcima, ali i onima koji nisu uključeni u računarske nauke. Pored naprednih karakteristika, Python je dobar za početak učenja programiranja zbog veoma jednostavnog pristupa.
- PHP
-
PHP je jedan od najčešće korištenih server skriptnih jezika za generisanje web sadržaja. Većina HTML stranica nisu statički fajlovi, nego dinamički generisan sadržaj od strane servera, iz raznih izvora, kao što su baze podataka. PHP programi — ponekada poznati kao PHP stranice ili skripte — se obično koriste za generisanje takvog sadržaja. Termin LAMP dolazi od kombinacije Linux operativnog sistema, Apache HTTP servera, MySQL (ili MariaDB) baze podateka, te PHP programskog jezika. LAMP serveri su izuzetno popularna rješenja za pokretanje web servera. Pored PHP-a, svi programski jezici opisani ranije, mogu da se koriste za implementaciju aplikacija iste namjene.
C i Java su kompajlirani jezici. Da bi se oni izvršili od strane sistema, izvorni kod napisan u C-u se prethodno konvertuje u binarni mašinski kod, dok izvorni kod napisan u Javi, se konvertuje u bitnikod (eng.bytecode) koji se izvršava u specijalnom softverskom okruženju po imenu virtualna mašina Java (eng. Java Virtual Machine).
Vođene vježbe
+
|
|
|
|
|
|
|
|
|
-
Koja komanda se može koristiti za instalaciju Blender-a na Ubuntu? Nakon instalacije, kako izvršiti pomenuti program?
-
Kojom aplikacijom iz LibreOffice paketa se mogu uređivati tabele?
-
Koji open-sors web pretraživać je korišten za razvoj Google Chrome-a?
-
SVG je otvoren standard za vektorsku grafiku. Koja je najpopularnija aplikacija za uređivanje SVG datoteka na Linux sistemima?
-
Za svaki od navedenih formata datoteka, napiši naziv aplikacije s kojom se isti mogu otvoriti i uređivati:
png
doc
xls
ppt
wav
-
Koji softver omogućava dijelenje između Linux-a i Windows-a na lokalnoj mreži?
Istraživačke vježbe
-
Poznato to ti je kako se konfiguracijske datoteke zadržavaju na sistemu i nakon što se program ukloni. Kako ćeš automatski ukloniti program cups zajedno sa njegovim konfiguracijskim datotekama, iz Debian sistema?
-
Pretpostavimo kako imaš mnogo TIFF slikovnih datoteka, te iste želiš konvertovati u JPEG. Koji program možeš koristiti za konverziju tih datoteka direktno sa komandne linije?
-
Koji program treba da instaliraš, kako bi mogao otvoriti Microsoft Word dokument, kojeg ti je poslao Windows korisnik?
-
Svake godine, linuxquestions.org promovira anketu o najpopularnijim Linux aplikacijama. Posjetite https://www.linuxquestions.org/questions/2018-linuxquestions-org-members-choice-awards-128/, te saznajte koje desktop aplikacije su najpopularnije među iskusnijim Linux korisnicima.
Sažetak
U ovoj lekciji ste naučili:
-
Menadžer paketa korišten u većim Linux distribucijama
-
Open sors aplikacije kojima se mogu uređivati popularni formati datoteka
-
Server programi koji su sastavi dio interneta i lokalnih mrežnih servisa
-
Često korišteni programski jezici i njihova upotreba
Odgovori na vođene vježbe
+
|
Debian menadžer paketa |
|
Red Hat menadžer paketa |
|
Debian menadžer paketa |
|
Red Hat menadžer paketa |
|
Red Hat menadžer paketa |
-
Koja komanda se može koristiti za instalaciju Blender-a na Ubuntu? Nakon instalacije, kako izvršiti pomenuti program?
Za instalaciju Blender-a koristi se komanda 'apt-get install blender'. Naziv aplikacije ili programa mora biti naveden malim slovima. Program se može izvršiti direktno iz terminala, unosom komande 'blender' ili odabirom iste aplikacije iz menija.
-
Kojom aplikacijom iz LibreOffice paketa se mogu uređivati tabele?
Calc
-
Koji open-sors web pretraživać je korišten za razvoj Google Chrome-a?
Chromium
-
SVG je otvoren standard za vektorsku grafiku. Koja je najpopularnija aplikacija za uređivanje SVG datoteka na Linux sistemima?
Inkscape
-
Za svaki od navedenih formata datoteka, napiši naziv aplikacije s kojom se isti mogu otvoriti i uređivati:
png
Gimp
doc
LibreOffice Writer
xls
LibreOffice Calc
ppt
LibreOffice Impress
wav
Audacity
-
Koji softver omogućava dijelenje između Linux-a i Windows-a na lokalnoj mrež?
Samba
Odgovori na istraživačke vježbe
-
Poznato to ti je kako se konfiguracijske datotke zadržavaju na sistemu i nakon što se program ukloni. Kako ćeš automatski ukloniti program cups zajedno sa njegovim konfiguracijskim datotekama, iz Debian sistema?
apt-get purge cups
-
Pretpostavimo kako imaš mnogo TIFF slikovnih datoteka, te iste želiš konvertovati u JPEG. Koji program možeš koristiti za konverziju tih datoteka direktno sa komandne linije?
ImageMagick
-
Koji program treba da instaliraš, kako bi mogao otvoriti Microsoft Word dokument, kojeg ti je poslao Windows korisnik?
LibreOffice or OpenOffice
-
Svake godine, linuxquestions.org promovira anketu o najpopularnijim Linux aplikacijama. Posjetite https://www.linuxquestions.org/questions/2018-linuxquestions-org-members-choice-awards-128/, te saznajte koje desktop aplikacije su najpopularnije među iskusnijim Linux korisnicima.
Pretraživać: Firefox. Email klijent: Thunderbird. Media plajer: VLC. Urednik rasterske grafike: GIMP..