Hur man installerar programvara med Git på Linux

Har du blivit tillsagd att ”klona repet och bygga det” och vet inte vad du ska göra härnäst? Vi visar dig hur du får det programmet på GitHub att köra på Linux, även om du är nybörjare.

Instruktionerna som utgör ett datorprogram skrivs, redigeras och sparas i textfiler. Ett program som kallas en kompilator bearbetar sedan dessa filer. Detta producerar den körbara versionen av programmet. Textfilerna med instruktioner kallas källkoden. Den version av programmet som faktiskt kan köras på en dator kallas binär eller körbar.

Det är en förenklad version av händelser, men den målar upp en korrekt – om den är generaliserad – bild. I praktiken hittar du alla möjliga varianter på den modellen. Ibland genererar andra program textfilerna. Andra gånger körs källkoden inuti en tolk och behöver inte kompileras, och så vidare.

Den enda universella sanningen i alla programvaruprojekt är dock denna: källkodsfilerna är det Kron juvelerna, och de måste tas om hand lika noggrant.

Program för versionskontroll

Alla källkodsfiler i ett projekt kallas kodbas. Stora projekt har ofta många utvecklare som arbetar med kodbasen. Varje kodändring måste spåras och identifieras. Vid behov måste ändringarna vara reversibla. Om olika utvecklare gör ändringar i samma källkodsfil måste deras redigeringar slås samman.

Det är därför inte förvånande att program som kallas versionskontrollsystem finns för att göra hanteringen av ändringar i kodbasen enklare. Versionskontrollsystem håller 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ärnanutvecklat ett versionskontrollprogram som heter Git för att administrera Linux-kärnans kodbas. Det är nu världens mest använda versionskontrollprogramvara. Det finns miljontals människor som använder det – bokstavligen.

Med Git lagras ett projekts kodbas i arkiv. Förutom de lokala arkiven som sitter på utvecklarens datorer och kanske på en central server i nätverket, är det en god praxis att ha ett arkiv utanför platsen, eller fjärranslutet.

Och det är där GitHub kommer in.

GitHub

GitHub skapades som ett resultat av gits framgång. Grundarna såg det framväxande behovet av säkert värdbaserade git-repositories. De startade ett företag tillhandahålla en molnplattform för att tillåta utvecklingsteam att vara värd för fjärrlager. Från och med april 2019 är GitHub värd för över 100 miljoner arkiv.

Om en applikation är ett projekt med öppen källkod är chansen mycket stor att den kommer att finnas på GitHub. Det finns andra förvarsplattformar tillgängliga, som t.ex Bit hink och GitLabmen GitHub har lejonparten av arkiv med öppen källkod.

Anatomi av ett förvar

Ett GitHub-förråd består av mappar som innehåller filer som de allra viktigaste källkodsfilerna. Vanligtvis finns det många andra typer av filer i förvaret. Det kan finnas dokumentationsfiler, man-sidor, programvarulicensfiler, bygginstruktioner och skalskriptfiler. Det finns inga regler för vad ett förvar ska eller måste innehålla, men det finns konventioner.

Om du känner dig runt ett kök kan du navigera i vilket kök som helst. Det är samma sak med förråd. När du väl förstår konventionerna vet du var du ska gå för att hitta det du behöver.

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

Readme-filen

Det är traditionellt att inkludera en readme-fil i ett arkiv. Det kan heta readme, Readme eller README. Det kan ha tillägget ”.md” eller inget tillägg alls.

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

GitHub lägger automatiskt innehållet i readme-filen på framsidan av förvaret. Om readme-filen har filtillägget ”.md” kommer den att innehålla Markdown-uppmärkning språk. Detta gör att utvecklarna kan använda stilelement, såsom typsnitt, punktpunkter och bilder.

Vanligtvis har en readme-fil avsnitt som berättar vad projektet handlar om, vilken typlicens är, vem som underhåller projektet, hur man engagerar sig och hur man bygger och kör applikationen.

Om det inte visar de faktiska bygginstruktionerna kommer det att berätta var du kan hitta denna information. Annan information som är användbar för att bygga applikationen, såsom de byggverktyg som krävs och andra beroenden, kan listas här eller så kan en länk ta dig till den informationen.

Lådorna Repository

Vårt uppdrag är att klona boxarnas förrådoch bygg sedan box-applikationen.

Förvaret följer samma layout som Atom gjorde. Det finns en lista över mappar och filer och nedanför är 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, vi borde hitta informationen vi behöver.

Det är vanligtvis lite lätt sökning som krävs för att navigera i förvaret och hitta den information du vill ha, men det är inte svårt. Läs allt på förvarssidan noggrant. Ibland finns informationen där men kanske inte visas tydligt.

Beroendena

Sidan ”Bygga från källa” 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 Böja installerat.

Bygginstruktionerna säger att man ska utfärda kommandot make, så vi behöver också make.

Verktygen som krävs för att bygga denna applikation är en C-kompilator, Bison, Flex, make och Git (för att klona arkivet till din dator).

Den här artikeln undersöktes på datorer som kör Linux-distributionerna Ubuntu, Fedora och Manjaro. Ingen av distributionen hade alla dessa verktyg installerade – något måste installeras på var och en av dem.

Installation av verktygsuppsättningen

Ubuntu var tvungen att ha Git, Flex, Bison och make installerat. Här är kommandona:

sudo apt-get install git

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install make

Fedora var tvungen att installera Flex, Bison och make. Här är kommandona:

sudo dnf install flex

sudo dnf install bison

sudo dnf install make

Manjaro var tvungen att ha GCC-kompilatorn, Flex och Bison installerad. Här är kommandona:

sudo pacman -Syu gcc

sudo pacman -Syu flex

sudo pacman -Syu bison

Kloning av förvaret

Varje GitHub-förråd har en specifik webbadress som används med Git för att klona förvaret till din dator. På huvudsidan av lådförvaret finns en grön knapp märkt ”Klona eller ladda ner.”

De

Klicka på knappen för att se webbadressen. Det här är adressen vi måste skicka till git-kommandot när vi klona förvaret.

Byt till katalogen som vi vill att förvaret ska klonas in i 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ärrlagret och skapar ett lokalt på din dator. Det berättar för oss att det klonas in i en katalog som heter ”boxar”.

Boxes-katalogen skapas i katalogen från vilken du skickade git-kommandot. Om vi ​​byter till boxes-katalogen och tittar på innehållet ser vi samma lista med filer och mappar som vi såg på GitHub-sidan.

Bra! Vi har lyckats klona källkoden och andra filer till vår dator. Nu måste vi bygga applikationen.

Bygger applikationen

För att bygga applikationen måste vi följa instruktionerna på GitHub-förvaret. Ibland kör vi en viss skalfil och andra kör vi make. Bygginstruktionerna vi följer sa åt oss att köra make.

Make-verktyget läser och utför en uppsättning instruktioner från en makefil. Dessa instruktioner berättar hur man kompilerar programmet och länkar samman det. make skickar instruktionerna till kompilatorn och andra byggverktyg.

Kommandot vi blir tillsagda att använda kommer att anropa make två gånger. Det första anropet att göra bygger applikationen och det andra kör en serie tester.

Kommandot som bygginstruktionerna sa åt oss att använda är:

make && make test

Många utdatarader rullar snabbt förbi i terminalfönstret. Om någon minut kommer du att återgå till kommandotolken.

Distribuera boxarna Application

Applikationen har byggts och vi har en körbar binär. Vi måste nu kopiera binären till katalogen /usr/bin/. Detta gör att skalet kan hitta det när vi försöker använda det.

För vissa applikationer kan detta vara allt du behöver göra. I andra fall kan du behöva kopiera ytterligare filer, som man-sidor och konfigurationsfiler, till platser i filsystemet. Det senare är vad vi har att göra med vår nya applikation eftersom det fanns i bygginstruktionerna.

Använd sudo för att köra dessa kommandon. Det första kommandot kopierar en man-sida till man1-katalogen:

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

Kopiera sedan den globala konfigurationsfilen till en katalog i /usr/share/:

sudo cp boxes-config /usr/share/boxes

Slutligen, kopiera binären till /usr/bin:

sudo cp src/boxes /usr/bin

Testa boxarna Applikation

Låt oss se om allt fungerar! Försök att öppna man-sidan för kommandot boxes.

man boxes

Det är uppmuntrande! Du ser en man-sida som berättar hur du använder kommandot boxes.

Tryck på ”Q” för att lämna man-systemet och försök använda kommandot boxes.

echo How-To Geek | boxes

Och vi får svaret:

Det här kan tyckas lite överväldigande med tanke på all ansträngning du har gjort, men poängen med den här övningen var att vägleda dig genom att dra tillbaka ett arkiv från GitHub och bygga applikationen.

Med kommandot boxes kan du radbryta text som skickas till den i en mängd olika ramar. Vissa av dem kan användas som kommentarer i källkodsfiler. Formatet ovan skulle fungera som en kommentar i en C-källkodsfil, till exempel. Andra är rent dekorativa. Alternativet -d (design) låter dig välja stil på ramen.

echo How-To Geek | boxes -d whirly
echo How-To Geek | boxes -d c-cmt2

Det finns en lång lista med mönster som du kan välja från. För att se dem alla, använd det här kommandot:

boxes -l | less

Bygg komplett

Stegen att bygga från källan är vanligtvis enkla:

Granska bygginstruktionerna på förvaret.
Kontrollera att du har de nödvändiga verktygen installerade och installera alla som saknas.
Klona förvaret till din dator.
Följ bygginstruktionerna, som ofta är lika enkla som att skriva fabrikat.
Kopiera filen/filerna till önskade platser.

Om det finns steg i bygginstruktionerna som är otydliga, se om projektet har ett forum eller en community som du kan skicka en fråga till. Om applikationen har en webbplats kan de ha en ”Kontakta oss”-sida. Utvecklaren som underhåller boxes-projektet har sin e-post på sidan ”Om” på boxarnas hemsida. Det är en generös gest från hans sida och typisk för den bredare öppen källkodsgemenskapen.