Cum se instalează software folosind Git pe Linux

Publicat: 2022-01-29
Cod pe ecranul unui laptop
MchlSkhrv/Shutterstock

Vi s-a spus să „clonați repo-ul și să îl construiți” și nu știți ce să faceți în continuare? Vă vom arăta cum să obțineți acel program pe GitHub care rulează pe Linux, chiar dacă sunteți începător.

Instrucțiunile care compun un program de calculator sunt scrise, editate și salvate în fișiere text. Un program numit compilator procesează apoi aceste fișiere. Aceasta produce versiunea executabilă a programului. Fișierele text ale instrucțiunilor se numesc cod sursă. Versiunea programului care poate rula efectiv pe un computer se numește binar sau executabil.

Aceasta este o versiune simplificată a evenimentelor, dar prezintă o imagine corectă, dacă este generalizată. În practică, veți găsi tot felul de variante ale modelului respectiv. Uneori, alte programe generează fișierele text. Alteori, codul sursă rulează în interiorul unui interpret și nu trebuie să fie compilat și așa mai departe.

Cu toate acestea, singurul adevăr universal în toate proiectele software este acesta: fișierele codului sursă sunt bijuteriile coroanei și trebuie îngrijite la fel de atent.

Programe de control al versiunilor

Toate fișierele de cod sursă dintr-un proiect se numesc bază de cod. Proiectele mari au adesea mulți dezvoltatori care lucrează la baza de cod. Fiecare modificare a codului trebuie să fie urmărită și identificabilă. Dacă este necesar, modificările trebuie să fie reversibile. Dacă diferiți dezvoltatori efectuează modificări aceluiași fișier de cod sursă, editările lor trebuie îmbinate.

Publicitate

Nu este de mirare, așadar, că există programe software numite sisteme de control al versiunilor pentru a ușura gestionarea modificărilor la baza de cod. Sistemele de control al versiunilor dețin toate versiunile anterioare ale fiecărui fișier din baza de cod și fiecare modificare este înregistrată, comentată și urmărită.

Un mic lucru numit Git

Linus Torvalds, creatorul nucleului Linux, a dezvoltat un program de control al versiunilor numit Git pentru a administra baza de cod al nucleului Linux. Acum este cel mai utilizat software de control al versiunilor din lume. Există milioane de oameni care îl folosesc – la propriu.

Cu Git, baza de cod a unui proiect este stocată în depozite . În plus față de depozitele locale care se află pe computerele dezvoltatorului și, poate, pe un server central din rețea, este o practică bună să aveți un depozit în afara site-ului sau la distanță.

Și aici intervine GitHub.

GitHub

GitHub a fost creat ca urmare a succesului lui git . Fondatorii au văzut nevoia emergentă de depozite git la distanță găzduite în siguranță. Ei au lansat o afacere care oferă o platformă cloud pentru a permite echipelor de dezvoltare să găzduiască depozite de la distanță. În aprilie 2019, GitHub găzduiește peste 100 de milioane de depozite.

Dacă o aplicație este un proiect open-source, șansele sunt foarte mari ca aceasta să fie găzduită pe GitHub. Există și alte platforme de depozitare disponibile, cum ar fi BitBucket și GitLab, dar GitHub are cea mai mare parte a depozitelor open source.

Anatomia unui depozit

Un depozit GitHub este format din foldere care conțin fișiere, cum ar fi fișierele de cod sursă foarte importante. De obicei, există multe alte tipuri de fișiere în depozit. Pot exista fișiere de documentație, pagini de manual, fișiere de licență software, instrucțiuni de construire și fișiere de script shell. Nu există reguli cu privire la ceea ce ar trebui sau trebuie să conțină un depozit, dar există convenții.

Publicitate

Dacă vă cunoașteți o singură bucătărie, puteți naviga în orice bucătărie. La fel este și cu depozitele. Odată ce înțelegi convențiile, știi unde să mergi pentru a găsi ceea ce ai nevoie.

Deci, cum obțineți o copie a depozitului pe computer și cum construiți programul într-un executabil binar?

Fișierul readme

Este tradițional să includeți un fișier readme într-un depozit. Poate fi numit readme, Readme sau README. S-ar putea să aibă o extensie „.md” sau să nu aibă deloc extensie.

Să aruncăm o privire la depozitul GitHub pentru editorul Atom. Vedeți o listă lungă de foldere și fișiere. Derulați în jos și vedeți conținutul fișierului README.md.

GitHub pune automat conținutul fișierului readme pe prima pagină a depozitului. Dacă fișierul Readme are extensia „.md”, acesta va conține limbajul de marcare Markdown. Acest lucru le permite dezvoltatorilor să folosească elemente de stil, cum ar fi fonturi, marcatori și imagini.

Secțiunea fișierului readme.md pentru editorul atom de pe github.

De obicei, un fișier Readme are secțiuni care vă spun despre ce este proiectul, ce tip de licență este, cine întreține proiectul, cum să vă implicați și cum să construiți și să rulați aplicația.

Publicitate

Dacă nu listează instrucțiunile reale de construire, vă va spune unde să găsiți aceste informații. Alte informații utile pentru construirea aplicației, cum ar fi instrumentele de construire necesare și alte dependențe, ar putea fi enumerate aici sau un link vă poate duce la acele informații.

Depozitul de casete

Misiunea noastră este să clonăm depozitul de casete și apoi să construim aplicația boxes .

Depozitul urmează același aspect pe care l-a făcut cel Atom. Există o listă de foldere și fișiere, iar mai jos este conținutul fișierului readme. Urmează aspectul standard pentru un depozit, dar este un proiect mai mic, așa că există mai puține foldere și fișiere.

Fișierul readme este de asemenea mai scurt. Are o secțiune numită „Dezvoltare”. În acea secțiune este un link intitulat „building from source”. Dacă urmăm acel link, ar trebui să găsim informațiile de care avem nevoie.

Link către instrucțiunile de construire pentru aplicația cutii.

De obicei, sunt necesare investigații ușoare pentru a naviga în depozit și a găsi informațiile pe care le doriți, dar nu este dificil. Citiți cu atenție totul pe pagina de depozit. Uneori, informațiile sunt acolo, dar este posibil să nu fie afișate vizibil.

Dependentele

Pagina „Building from Source” are o secțiune numită „Building on Linux” și tocmai de asta avem nevoie. Spune că trebuie să avem un compilator C, Bison și Flex instalate.

Set de instrumente necesar pentru construirea aplicației cutii

Publicitate

Instrucțiunile de compilare spun să lansăm comanda make , așa că vom avea nevoie și de make .

Instrumentele necesare pentru a construi această aplicație sunt un compilator C, Bison, Flex, make și Git (pentru a clona depozitul pe computer).

Acest articol a fost cercetat pe computere care rulează distribuțiile Ubuntu, Fedora și Manjaro Linux. Nicio distribuție nu avea instalate toate aceste instrumente – trebuia instalat ceva pe fiecare dintre ele.

Instalarea setului de scule

Ubuntu trebuia să aibă instalate Git, Flex, Bison și make . Iată comenzile:

 sudo apt-get install git 

 sudo apt-get install flex 

 sudo apt-get install bison 

 sudo apt-get install make 

Fedora trebuia să aibă instalate Flex, Bison și make . Iată comenzile:

 sudo dnf install flex 

 sudo dnf install bison 

 sudo dnf install make 

Manjaro trebuia să aibă instalate compilatorul GCC, Flex și Bison. Iată comenzile:

 sudo pacman -Syu gcc 

 sudo pacman -Syu flex 

 sudo pacman -Syu bizon 

Clonarea depozitului

Fiecare depozit GitHub are o anumită adresă web folosită cu Git pentru a clona depozitul pe computer. Pe pagina principală a depozitului de casete, există un buton verde etichetat „Clonează sau descărca”.

Butonul „Clonare sau descărcare” din GitHub.

Publicitate

Faceți clic pe butonul pentru a vedea adresa web. Aceasta este adresa pe care trebuie să o transmitem comenzii git când clonăm depozitul.

Schimbați în directorul în care dorim să fie clonat depozitul și apoi folosiți această comandă. Dacă fereastra terminalului o acceptă, puteți copia și lipi adresa web în comandă. Apăsați Ctrl+Shift+V pentru a lipi într-o fereastră de terminal GNOME.

Git clonează depozitul de la distanță și creează unul local pe computer. Ne spune că se clonează într-un director numit „cutii”.

Directorul boxes este creat în directorul din care ați lansat comanda git . Dacă trecem la directorul casete și ne uităm la conținut, vedem aceeași listă de fișiere și foldere pe care am văzut-o pe pagina GitHub.

Grozav! Am clonat cu succes codul sursă și alte fișiere pe computerul nostru. Acum, trebuie să construim aplicația.

Construirea aplicației

Pentru a construi aplicația, trebuie să urmăm instrucțiunile din depozitul GitHub. Uneori, vom rula un anumit fișier shell, iar altele vom rula make . Instrucțiunile de compilare pe care le urmăm ne-au spus să rulăm make .

Publicitate

Utilitarul make citește și execută un set de instrucțiuni dintr-un fișier make. Aceste instrucțiuni indică lui make cum să compilați programul și să-l conecteze. make transmite instrucțiunile compilatorului și altor instrumente de compilare.

Comanda pe care ni se spune să o folosim va apela make de două ori. Primul apel pentru a make construiește aplicația, iar al doilea rulează o suită de teste.

Comanda pe care instrucțiunile de construire ne-au spus să folosim este:

 face && face test 

Multe linii de ieșire parcurg rapid în fereastra terminalului. În aproximativ un minut, veți reveni la promptul de comandă.

Implementarea aplicației casete

Aplicația a fost construită și avem un binar executabil. Acum trebuie să copiem binarul în directorul /usr/bin/. Acest lucru permite shell-ului să-l găsească atunci când încercăm să-l folosim.

Publicitate

Pentru unele aplicații, asta ar putea fi tot ce trebuie să faci. În alte cazuri, poate fi necesar să copiați fișiere suplimentare, cum ar fi paginile de manual și fișierele de configurare, în locații din sistemul de fișiere. Acesta din urmă este ceea ce avem de făcut cu noua noastră aplicație, deoarece era în instrucțiunile de construire.

Comenzi de copiere a fișierelor din GitHub.

Utilizați sudo pentru a rula aceste comenzi. Prima comandă copiază o pagină de manual în directorul man1:

 sudo cp doc/boxes.1 /usr/share/man/man1 

Apoi, copiați fișierul de configurare global într-un director din /usr/share/:

 sudo cp boxes-config /usr/share/boxes 

În cele din urmă, copiați binarul în /usr/bin:

 sudo cp src/boxes /usr/bin 

Testarea casetelor Aplicație

Să vedem dacă merge totul! Încercați să deschideți pagina de manual pentru comanda boxes .

 cutii de oameni 

Asta e încurajator! Vedeți o pagină de manual care vă spune cum să utilizați comanda boxes .

Apăsați „Q” pentru a părăsi sistemul man și încercați să utilizați comanda boxes .

 echo How-To Geek | cutii 

Și primim răspunsul:

Publicitate

Acest lucru ar putea părea ușor dezamăgitor, având în vedere tot efortul la care ați făcut, dar scopul acestui exercițiu a fost să vă ghideze prin retragerea unui depozit din GitHub și construirea aplicației.

Comanda boxes vă permite să împachetați textul care este transmis către acesta într-o mare varietate de cadre. Unele dintre ele ar putea fi folosite ca comentarii în fișierele de cod sursă. Formatul de mai sus ar funcționa ca un comentariu într-un fișier de cod sursă C, de exemplu. Altele sunt pur decorative. Opțiunea -d (design) vă permite să alegeți stilul cadrului.

 echo How-To Geek | cutii -d vârtej
 echo How-To Geek | casetele -d c-cmt2 

Există o listă lungă de modele din care puteți alege. Pentru a le vedea pe toate, utilizați această comandă:

 cutii -l | Mai puțin

Construire completă

Pașii pentru a construi de la sursă sunt de obicei simpli:

  • Consultați instrucțiunile de construire din depozit.
  • Verificați dacă aveți instalate instrumentele necesare și instalați-le pe cele care lipsesc.
  • Clonează depozitul pe computer.
  • Urmați instrucțiunile de construire, care sunt adesea la fel de simple ca și tastarea make .
  • Copiați fișierul (fișierele) în locațiile necesare.

Dacă există pași în instrucțiunile de construire care nu sunt clari, vedeți dacă proiectul are un forum sau o comunitate la care puteți trimite o întrebare. Dacă aplicația are un site web, este posibil să aibă o pagină „Contactați-ne”. Dezvoltatorul care întreține proiectul cutii își are adresa de e-mail pe pagina „Despre” a site-ului cutii. Acesta este un gest generos din partea lui și tipic comunității open source mai largi.

LEGATE: Cele mai bune laptopuri Linux pentru dezvoltatori și entuziaști