03/28/2024

Cum se instalează software folosind Git pe Linux

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. Acest 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.

Nu este de mirare, așadar, că există programe software numite sisteme de control al versiunilor pentru a face gestionarea modificărilor la baza de coduri mai ușoară. 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 a 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ță. Au lansat o afacere oferind o platformă cloud pentru a permite echipelor de dezvoltare să găzduiască depozite la distanță. În aprilie 2019, GitHub găzduiește peste 100 de milioane de depozite.

  Cum să joci Valheim pe Linux

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.

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 GitHub depozit 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 Markup de reducere limba. Acest lucru le permite dezvoltatorilor să folosească elemente de stil, cum ar fi fonturi, marcatori și imagini.

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.

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ă clonează depozitul de casete, apoi construiți 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 avem nevoie.

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.

  Cum să joci Battlefield V pe Linux

Dependentele

Pagina „Building from Source” are o secțiune numită „Building on Linux” și tocmai de asta avem nevoie. Se spune că trebuie să avem un compilator C, zimbri, și Contracta instalat.

Instrucțiunile de construire 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 bison

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”.

The

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 construire pe care le urmăm ne-au spus să rulăm make.

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 face construiește aplicația, iar al doilea rulează o suită de teste.

  Permisiunile pentru fișiere și directoare Linux explicate

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

make && make 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.

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.

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 casete.

man boxes

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 casete.

echo How-To Geek | boxes

Și primim răspunsul:

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 casete 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 | boxes -d whirly
echo How-To Geek | boxes -d c-cmt2

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

boxes -l | less

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 construcție, 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, vezi dacă proiectul are un forum sau o comunitate la care poț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 e-mailul pe pagina „Despre” a site-ul cutii. Acesta este un gest generos din partea lui și tipic comunității open source mai largi.