• This is default featured slide 1 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 2 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 3 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 4 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 5 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

Instalacija i konfiguracija GitHub-a na Ubuntu Linux-u


Piše: Amar Tufo
26. Februar, 2017

Iako sam developer koji se još uvijek kali i koji ima još mnogo toga da nauči, GitHub je svakako jedna od veoma bitnih skilova koje sam naučio proteklih par dana i koja će završiti na moj popis skilova na LinkedIn mreži. Naime, radi se o možda najvećoj platformi koja omogučava razmjenu i održavanje vašeg softvera kroz jedan sasvim novi način pristupa softver developmentu. Za GitHub se kaže veoma često kako je to društvena mreža za programere, platforma za razvoj i održavanje softvera. Obadvoje je tačno. U ovom svom stručnom članku ću prenjeti vještine koje sam naučio pa stoga imate priliku da naučite sljedeće: 

  1. -> Kako instalirati GitHub na Ubuntu Linux?
  2. -> Kako izvesti njegovu konfiguraciju?
  3. -> Kako kreirati GitHub repozitorij?
  4. -> Prenos projekta s računala na vaš GitHub repozitorij?
1. Šta je GitHub?

Prije nego krenemo sa poslom, ja ću ukratko objasniti šta je to zapravo GitHub? Za bolje razumijevanje GitHub-a, prvo morate znati šta je to Git? Git je zapravo open source version control system kojeg je razvio Linus Torvalds, kreator Linux-a. Upravo CVS (version control system) omogučava developerima širom svijeta da surađuju na određenom projektu i da konstantno budu u toku sa svim njegovim izmjenama.

Recimo, vi ste kreirali program sa listom stvari koje treba kupiti u šopingu i to ste postavili u svoj repozitorij na GitHub-u. Vaša se lista sastoji od četiri stavke i ubrzo vi saznate kako morate kupiti i petu stavku ali ona nije na listi. Vaš prijatelj klonira vašu listu na svoje računalo, doda petu stavku, ponovo vrati istu šoping listu natrag na GitHub.

Osvježite vaš repozitorij i saznate da vaša lista sada ima pet stavki. Pojednostavljeno bi ovako izgledao GitHub. Stim što je Git sličan konzoli ili Terminalu te uz kombinaciju Hub-a dobio je svoj web interfejs koji developerima omogučava upload, razmjenu i aktivnu suradnju na razvoju projekata. Tako je nastao GitHub.


 Izgled GitHub-a

Obzirom da na internetu ima na gigabajte tutorijala o GitHub-u, njegovoj instalaciji na sve tri platforme, kako u tekstualnom pa tako i u video formatu, ja ću prenjeti svoja iskustva i zašto je meni kao developeru GitHub jako bitan.

2. Instalacija i konfiguracija GitHub-a na Ubuntu Linux-u?

Ovo je korak koji zahtjeva upotrebnu Terminala ili konzole. Nije mi jasno zašto se neki ljudi plaše crnog screen-a obzirom da postoje tri komande, uvrh glave, možda svega pet komandi s kojima ćete raditi prilikom upotrebe GitHub-a. Bez daljnjeg duženja, evo kako izvesti instalaciju GitHub-a na Ubuntu Linux?


Slika 1: Instalacija Git-a na Ubuntu Linux

Jedanput kada se ova komanda izvrši, tražit će vam se root lozinka kako bi se Git instalirao na vaš računar. Nakon instalacije Git-a, posjetite GitHub.com kako biste kreirali svoj Git nalog. Nakon što kreirate nalog na GitHub-u, na vašem Ubuntu terminalu trebate unjeti sljedeće dvije komande:



Slika 2: Konfiguracija GitHub-a 

 3. Kreiranje GitHub repozitorija 

Ovo je dio koji se obavlja na GitHub platformi. Jedanput kada ste kreirali svoj GitHub nalog te obavili konfiguraciju na vašem Ubuntu-u ili koju već distru koristite, možete sada stvoriti svoj Git repozitorij. Repozitorij je online direktorijum u kojem se nalazi vaš projekat i koji prati svaku vašu izmjenu ili izmjenu vašeg projekta kojeg je izvela treća osoba koja učestvuje u razvoju programa itd. Evo kako se repozitorijum kreira.

Slika 3: Kreiranje novog GitHub repozitorija

Jedanput kada kliknete na >> New repository, otvorit će vam se prozor koji će od vas tražiti da imenujete vaš repozitorij, da uključite Readme datoteku i to je to.
Slika 4: Kreiranje GitHub repozitorija 

Jednom kada imenujete vaš repozitorij, sve što treba da uradite jeste da odaberete zeleni taster Create repository, I vaš je direktorij spreman. Sada slijedi kloniranje repozitorija na vaše računalo, što se obavlja ovako:

 
Slika 5: Kloniranje GitHub repozitorija

Ja sam za potrebe ovog članka napisao mali C++ program po imenu Classes & Objects, pa možete naslutiti da se radi o jednom programu koji koristi Klase i Objekte. Isti taj projekat ću ja prenjeti u svoj GitHub repozitorij kako bi prikazao kako se prenose podaci na online repozitorijum na GitHub platformi. Jedanput kada kopirate ovaj link preko Terminala radite sljedeće:
Slika 6: Kloniranje GitHub repozitorija Classes-Objects

Prva naša komanda do sada u ovom članku jeste git clone kojom se klonira repozitorijum. 
4. Prenos projekta s računala na vaš GitHub repozitorij?

Došli smo do glavnog dijela našeg članka a to je prenos podataka (u daljem tekstu: projekta) na GitHub repozitorij. Druga komanda koju ćete jako često koristiti jeste git status koja će vam dati informacije o vašem repozitoriju te o izmjenama koje su dodate.

 
Slika 7: Provjera trenutno stanja GitHub repozitorija upotrebom git status komande

Kao što vidite, trenutno se u mom Classes-Objects direktorijumu nalazi samo datoteka README.md. Ponovnim pokretanjem  git status komande, moj direktorij sada ima ove podatke koji su spremni za prijenos u moj Classes-Objects direktorijum.


Slika 8: Trenutno stanje mog Classes-Objects direktorijuma sa podacima za prijenos na GitHub

Dakle, sada se u mom direktorijumu nalazi pet datoteka koje treba prenjeti na GitHub repozitorijum. Moj online repozitorijum i dalje izgleda ovako:


Slika 9: Trenutno stanje online GitHub repozitorija Classes-Objects

Sada ove datoteke treba pripremiti za prijenost na GitHub što radimo našom trećom komandom git commit -m ‘message’ kojom obavještavamo naš GitHub da prenosimo ove datoteke: 



Slika 10: Prijenos datoteka na GitHub repozitorij upotrebom komande git add -A | git commit -m "vaša poruka ovdje"

Zaboravio sam dodati da prije nego pokrenete ovu komandu git commit -m "", treba prvo da izvršite ovu komandu git add -A koja će dodati sve datoteke u sam direktorijum pa tek onda izvršite ovu komandu git commit -m "". Nakon ove komande, trenutno stanje direktorijuma izgleda kao na slici. Eh sada, preostalo nam je samo da prenesemo konačno ove podatke na naš repozitorij a to radimo našom petom komandom po imenu git push. 



Slika 11: Prenos datoteka na GitHub repozitorijum upotrebom komande git push



Slika 12: Uspješno preneseni podaci na GitHub repozitorijum 

Jedanput kada se osvježi stranica, moj repozitorij izgleda ovako. Dakle, uspješno sam prenjeo sve datoteke na svoj GitHub repozitorij po imenu Classes-Objects. Ponovnim pokretanjem Terminal komande git status dobit ćete ove informacije o trenutnom stanju ovog repozitorija.


Slika 13: Ažuriran GitHub repozitorijum Classes-Objects

Zaključak:

U cijelom ovom članku imali smo priliku da se upoznamo šta je to GitHub, kako izvesti njegovu instalaciju i konfiguraciju na Ubuntu Linux platformi te kako stvoriti aktivni GitHub repozitorijum. U osnovi, koristimo ovih pet komandi za održavanje i stvaranje GitHub repozitorijuma a to su:
 
-> git clone - omogučava kloniranje GitHub repozitorija
-> git status - prikazuje aktuelno stanje vašeg repozitorija
-> git add -A - prenosi sve podatke na GitHub repozitorij
-> git commit -m "message" - zaključava sve podatke u GitHub repozitorijum za prijenos
-> git push - prenosi sve podatke na GitHub repozitorij

Ovih pet komandi ćete i vi veoma često koristiti prilikom stvaranja i održavanja vašeg projekta na GitHub platormi. Bilo da se radi o najosnovnijem programu, web stranici ili čak i dokumentu, GitHub je prvi izbor da objavljivanje vašeg projekta. S druge strane, sve velike firme već odavno upotrebljavalju GitHub zbog toga što je moguće privući velik broj programera koji su spremni da pomognu razvoj vašeg projekta gdje ćete uvijek biti u mogučnosti isporučiti noviju verziju vašeg programa na vrijeme. 

 Poveznice:

 Projekat Classes-Objects:
 https://github.com/amartufo/Classes-Objects.git 

Sada znate kako klonirati ovaj repozitorij na vaše računalo pa vi možda dodate nešto što ja nisam znao. U svakom slučaju ja ću znati, jer imam git status. 

Do narednog čitanja.
Share:

Osnove Linux terminologije - prvi dio



Mnogo sam puta i sam čuo onu popularnu: 'Linux je težak', 'Linux je za hakere', 'Linux je nepouzdan' pa ovakav pa nakav. A sve ove izjave su zapravo neznanje ljudi koji nikada nisu probali niti jednu Linux distribuciju a vjerovatno ne znaju šta je uopšte Linux. Nije to nikakva teška matematika da ljudi znaju da koriste Google i druge online servise na kojima se nalaze desetine web stranica koji objašnjavaju sve o Linux od A do Ž. U ovom kratkom članku imate priliku da se upoznate sa nekim osnovnim Linux terminima i terminologijom koju morate poznavati bilo da ste napredni Linux korisnik ili prelazite s Windows-a na Linux-a. Pa da počnemo!

1. Šta je Linux?


Slika 1: Prikaz arhitekture Linux kernela

Veoma često najveća greška ili mit koji okružuje Linux jeste i ona da je to OS a zapravo je kernel. Tako je kernel nekadašnjeg Minix-a na kojem je i radio Linus Torvalds, otac Linux-a, stvorio kernel kojem je dao ime Linux. Vremenom od 1991. godine kada je Torvalds objavio svoj Linux kernel, nastale i prve distribucije koje su koristile Linux kernel. Dakle, Linux je samo kernel operativnog sistema (distribucije) koja ga koristi, a nikako operativni sistem kako se često pogrešno zlorabi ovaj termin.

Koristan link:

> What is Linux kernel?

2. Šta je distribucija?


Slika 2: GNU/Dream Linux distribucija

Linux je kernel, jezgra svakog Linux operativnog sistema ili distribucije sa hrpom open source softwera, X org desktop serverom, GNU alatima, i drugim korisnim softwerom. Dakle, distribucija je jednostavno gotov Linux proizvod sa hrpom predinstaliranog softwera koji je spreman za upotrebu bilo u live modu, instalacijom sa stika ili DVD-a. Prednost u odnosu na Windows i Mac OS je ta što je svaka Linux distribucija besplatna i otvorenog koda što vam omogučava da ju mijenjate, uređujete, kopirate, prodajete u okviru GNU/GPL licence. Primjer jedne Linux distribucije bi bio popularni Ubuntu Linux ili Linux Mint koji je dobro poznati derivat Ubuntu-a dok je Ubuntu nastao na osnovu Debiana.

Koristan link:

> What is Linux distribution?

3. Prva Linux distribucija - MCC Interim Linux?


Slika 3: MCC Interim Linux sa Linux kernelom v1.0

Nakon 1991. godine kada je Torvalds objavio svoj Linux kernel 0.01, dolazi do pojave prvih distribucija koje koriste Linux kernel. Tada se javlja MCC Interim Linux, prva Linux distribucija u njegovoj historiji, objavljena u februaru 1992. godine. Sastojala se od niza kvalitetnog softvera kao što je Bash, Elvis text editor, Gawk - GNU Package, Joe's own editor, Make - za izradu i kompajliranje softvera iz izvornog koda, te Compress za kompresiju datoteka u tar.gz i druge formate.  Nastala u Italiji a a tvorac joj je Owen Le Blanc. Distribucija nije više u razvoju.

Koristan link:

> MCC Interim Linux

4) Šta je GNU?


Slika 4: GNU maskota - ovan - 

Kada upitate nekoga šta je GNU, laici će vam slabo znati dati ovaj odgovor, hard core Linuxaši znaju šta je ovo. Dakle, GNU je skračenica za akronim Gnus Not Linux u slobodnom prijevodu znači: Linux nije Unix. Tvorac GNU-a je Richard Stallman koji je u Septembru, 1983. godine stvorio besplatan operativni sistem ali mu je nedostajao kernel koji bi ga pogonio. 1991. godine, Torvalds na Internet pušta svoj Linux kernel, Stallman ga nalazi na Internetu, ubacuje u svoj GNU operativni sistem i tako nastaje GNU/Linux. 

Koristan link: 

> What is GNU?
5) Šta je GNU/GPL?



Slika 5: GNU/GPL - free as free software not free as beer 

Svaki softwer bio on komercijalan ili besplatan, ima svoju licencu koju mu je stvorio njegov developer ili firma koja ga izdaje. Tako je Richard Stallman, programer koji stoji kako iza GNU-a tako iza FOSS-a, stvorio i GNU/GPL licencu. Radi se o skračenici Gnus Not Unix/General Project License koja je objavljena u tri verzije GPL verzija 1 (1989), GPL verzija 2 (1991), GPL verzija 3 (2007). Moj Minox Player koristi GNU/GPL verziju 2.

Koristan link:

>The GNU General Public License

 6) Šta je GNU/Hurd?



Slika 6: GNU/Hurd 

Jednostavno rečeno, Hurd je novi kernel koji je zamijenio do tada korišteni Unixov kernel u GNU Operativnom sistemu. HURD je nastao od akronima (Hird of Unix Replacing Daemons), ime koje mu je dao Thomas Bushnell, tvorac HURD-a. Jedna od pogodnosti HURD-a kao kernel je i ta što je objektno - orjentisan pa stoga omogučava razvoj u odveć popularnim programskim jezicima kao što je GNU/C a za razliku od Unix-a, Hurd je open source i konstantno je u razvoju. Posljednje stabilno izdanje Hurda je v0.9.

Koristan link:

>GNU/Hurd
>Origin of name

7) Šta je Unix?


Slika 7: Izgled Unix desktopa

Za old school korisnike, Unix (eng: Uniplexed Information Computing System) je bio majka operativnih sistema isto kao što je nama danas Windows ili Linux. Naime, radi se o operativnom sistemu kojeg su razvili 1970. godine, dva izvrsna računalna stručnjaka po imenu Denis Ritchie, tvorac C programskog jezika i Ken Thompson u Bell Lab-u. Danas se kaže, bez Unix-a ne bi bilo Windows-a, Mac-a, Linux-a i drugih nam poznatih računalnih programa koje danas koristimo zahvaljujući ovoj dvojici pionira i posebice Denis Ritchiu koji nam je sve to omogučio stvorivši C programski jezik. Jedna velika prednost Unix-a u odnosu na prijašnje sisteme je ta što je Unix bio prvi portabilni operativni sistem napisan u potpunosti u C-u zbog čega je kasnije zaživjeo na drugim platformama. Uspjeh Unix-a pomogao je kasnije razvoj BSD (eng: Berkeley Software Distribution) operativnog sistema, inaće veoma popularne Unix inačice koja se razvijala od 1977 - 1995. Sam Unix je koristio monolitni kernel a pojavio se između ostalog i na popularnom Intel 80386 procesoru. 

Koristan link:

>History of Unix
http://www.unix.org/what_is_unix.html

8) Šta je monolitni kernel?





Slika 8: Arhitektura monolitnog kernela u odnosu na mikrokernel te hibridni kernel

Monolitni kernel je vrsta arhitekture operativnog sistema gdje cio OS (zajedno sa svojim uređajima, file sistemom i aplikacijama) radi unutar kernel prostora. Linux i Unix su jedan takav primjer monolitnog kernela kao i BSD te Solaris OS. Linus Torwalds, otac Linux-a, smatra kako je monolitni kernel velik propust Linux-a te ga je izuzetno teško debagovati.

Koristan link:

> What is monolithic kernel 
http://www.aboutlinux.info/2006/05/monolithic-kernel-vs-microkernel-which.html

9) Šta je apt-get?




Slika 9: Apt-get interfejs sa dostupnim komandama 

Apt-get ili aptitude je sastavni program ili Terminal komanda Debiana, Ubuntua i njegovih derivata preko kojih se instaliraju programi iz svojih službenih repozitorija, obavljaju ažuriranja i nadogradnje. Ovaj koristan alat je preuzet iz CLI-a (eng: Command Line Interface) Debiana pa je tako sastavni dio Ubuntu-a, Linux Minta, Elementary-a, te Linux Puppy-a i drugih.

Koristan link:

> What is apt-get?
http://www.computerhope.com/unix/apt-get.htm

10) Šta je wget?




Slika 10: Preuzimanje index.html datoteke moje web stranice upotrebom wget

Wget je open source Terminal downloader unutar Linux distribucije koji omogučava direktno preuzimanje fajlova sa web stranica. Podržava HTTP, HTTPS, te FTP protokole. Dobra prednost ovog alata je i ta da ukoliko ne bude preuzet fajl koji se preuzima zbog poteškoća u vezi, wget će nastaviti taj proces sve dok datoteka ne bude u potpunosti preuzeta.

Koristan link:

> What is wget and how to use it:
https://lintut.com/how-to-use-wget-command-in-linux-2/

____________

Ovaj članak je prvi dio Osnova Linux terminologije te će se nastaviti u drugom dijelu. Ukoliko primjetite pogreške u pojedinim terminima, pogreške u prijevodu te objašnjenju pojedinih termina, molim vas da sve komentare ostavite na ovom sajtu ili na zvaničnoj Facebook stranici: http://www.facebook.com/amartufoblog
Share:

My Twitter news

Popular Posts

Recent Posts

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Pages

Theme Support

Need our help to upload or customize this blogger template? Contact me with details about the theme customization you need.