Hur man installerar programvara med Git på Linux

By rik

Har du fått höra att du ska ”klona arkivet och bygga det”, men känner dig osäker på hur du ska gå vidare? Vi guidar dig genom processen att få ett program från GitHub att fungera på Linux, även om du är nybörjare.

Instruktionerna som utgör ett datorprogram skapas, ändras och sparas i textfiler. En speciell programvara, kallad kompilator, tar sedan hand om dessa filer. Den framställer den körbara versionen av programmet. Textfilerna med instruktioner benämns källkod. Den version av programmet som kan köras på en dator kallas binär eller exekverbar.

Detta är en förenklad beskrivning, men den ger en korrekt bild, om än generellt. I verkligheten kan du stöta på en mängd variationer av denna modell. Ibland skapas textfilerna av andra program. Andra gånger körs källkoden i en tolk och behöver inte kompileras, och så vidare.

Den enda universella sanningen i alla programvaruprojekt är dock följande: källkodsfilerna är det viktigaste, och de måste behandlas med största omsorg.

Versionshanteringssystem

Samtliga källkodsfiler i ett projekt bildar tillsammans en kodbas. I större projekt arbetar ofta många utvecklare med samma kodbas. Alla ändringar av koden måste kunna spåras och identifieras. Vid behov måste ändringar kunna ångras. Om olika utvecklare gör ändringar i samma källkodsfil, måste deras ändringar kunna kombineras.

Det är därför inte överraskande att det finns system för versionshantering som underlättar hanteringen av ändringar i kodbasen. Versionshanteringssystem bevarar alla tidigare versioner av varje fil i kodbasen, och varje ändring registreras, kommenteras och spåras.

En liten sak som heter Git

Linus Torvalds, skaparen av Linux-kärnan, utvecklade ett versionshanteringssystem kallat Git för att hantera Linux-kärnans kodbas. Idag är det den mest använda programvaran för versionshantering i världen. Det finns bokstavligen miljontals människor som använder det.

Med Git lagras ett projekts kodbas i arkiv, eller repositorier. Förutom de lokala arkiven som finns på utvecklarens datorer, och kanske en central server i nätverket, är det bra att ha ett arkiv på en annan plats, eller en fjärrplats.

Och det är här GitHub kommer in.

GitHub

GitHub skapades som en följd av Gits framgång. Grundarna insåg att det fanns ett växande behov av säkra, värdbaserade Git-arkiv. De startade ett företag för att tillhandahålla en molnbaserad plattform som tillåter utvecklingsteam att ha fjärrarkiv. I april 2019 fanns det över 100 miljoner arkiv på GitHub.

Om en applikation är ett öppen källkodsprojekt är det mycket troligt att den finns på GitHub. Det finns andra arkivplattformar, till exempel Bitbucket och GitLab, men GitHub har den största andelen arkiv med öppen källkod.

Arkivets struktur

Ett GitHub-arkiv består av mappar som innehåller filer, inklusive de viktiga källkodsfilerna. Vanligtvis finns det många andra typer av filer i arkivet. Det kan finnas dokumentationsfiler, manualsidor, programvarulicensfiler, bygginstruktioner och skalskriptfiler. Det finns inga strikta regler för vad ett arkiv ska eller måste innehålla, men det finns praxis.

Om du kan navigera i ett kök, kan du navigera i vilket kök som helst. Samma sak gäller för arkiv. När du väl förstår konventionerna vet du var du ska leta för att hitta det du behöver.

Så, hur får du en kopia av arkivet på din dator, och hur bygger du programmet till en binär, körbar fil?

Readme-filen

Det är vanligt att inkludera en readme-fil i ett arkiv. Den kan heta readme, Readme eller README. Den kan ha filändelsen ”.md” eller ingen filändelse alls.

Låt oss ta en titt på GitHub-arkivet för Atom-redigeraren. Du ser en lång lista med mappar och filer. Om du scrollar ner ser du innehållet i filen README.md.

GitHub visar automatiskt innehållet i readme-filen på arkivets förstasida. Om readme-filen har filändelsen ”.md” innehåller den Markdown-formatering. Detta gör att utvecklare kan använda stilelement som teckensnitt, punktlistor och bilder.

En readme-fil har vanligtvis avsnitt som beskriver vad projektet handlar om, vilken licens det har, vem som ansvarar för projektet, hur man kan bidra och hur man bygger och kör applikationen.

Om den inte innehåller de faktiska bygginstruktionerna, berättar den var du kan hitta den informationen. Annan information som är användbar för att bygga applikationen, som de byggverktyg som krävs och andra beroenden, kan finnas listad här eller så kan det finnas en länk till den informationen.

Arkivet för Boxes

Vår uppgift är att klona arkivet för Boxes och sedan bygga Boxes-applikationen.

Arkivet följer samma struktur som Atom. Det finns en lista med mappar och filer och under det finns innehållet i readme-filen. Det följer standardlayouten för ett arkiv, men det är ett mindre projekt, så det finns färre mappar och filer.

Readme-filen är också kortare. Den har ett avsnitt som heter ”Utveckling”. I det avsnittet finns en länk med titeln ”bygga från källan”. Om vi följer den länken, bör vi hitta informationen vi behöver.

Ofta krävs det lite letande för att navigera i arkivet och hitta den information du vill ha, men det är inte svårt. Läs allt på arkivsidan noggrant. Ibland finns informationen där, men den kan vara svår att hitta.

Beroenden

Sidan ”Bygga från källan” har ett avsnitt som heter ”Bygga på Linux”, och det är precis vad vi behöver. Det står att vi måste ha en C-kompilator, Bison och Flex installerat.

Bygginstruktionerna säger att vi ska köra kommandot make, så vi behöver också make.

De verktyg som krävs för att bygga den här applikationen är en C-kompilator, Bison, Flex, make och Git (för att klona arkivet till din dator).

Den här artikeln utfördes på datorer med Linux-distributionerna Ubuntu, Fedora och Manjaro. Ingen av distributionerna hade alla dessa verktyg installerade – något måste installeras på alla tre.

Installation av verktyg

På Ubuntu behövde vi installera Git, Flex, Bison och make. Här är kommandona:

sudo apt-get install git

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install make

På Fedora behövde vi installera Flex, Bison och make. Här är kommandona:

sudo dnf install flex

sudo dnf install bison

sudo dnf install make

På Manjaro behövde vi installera GCC-kompilatorn, Flex och Bison. Här är kommandona:

sudo pacman -Syu gcc

sudo pacman -Syu flex

sudo pacman -Syu bison

Klona arkivet

Varje GitHub-arkiv har en unik webbadress som används med Git för att klona arkivet till din dator. På huvudsidan av arkivet för Boxes finns en grön knapp med texten ”Klona eller ladda ner”.

Klicka på knappen för att visa webbadressen. Det här är adressen vi måste skicka till git-kommandot när vi klonar arkivet.

Byt till den katalog där du vill att arkivet ska klonas och använd sedan det här kommandot. Om ditt terminalfönster stöder det kan du kopiera och klistra in webbadressen i kommandot. Tryck på Ctrl+Skift+V för att klistra in i ett GNOME-terminalfönster.

Git klonar fjärrarkivet och skapar en lokal kopia på din dator. Det berättar att det klonas till en katalog som heter ”boxes”.

<img loading=”lazy” decoding=”async” src=”https://adminvista.com/wp-content/uploads/2022/02/1643988017_65_Hur-man-