Sådan kompileres det spil / program, jeg lige har downloadet

Lad os antage det du har lige downloadet kildekoden til dit yndlingsspil eller program og ønsker at kompilere det for at kunne nyde det. Hvordan udføres en sådan titanisk opgave? Bare rolig, at kompilere og installere dette spil / program på Linux er ikke så svært som det lyder.

Bygge og installere procedure

Når du henter kildekoden til et program, komprimeres det til en fil, der på Linux generelt er af typen tar.gz eller tar.bz2. Sikker på, det kan komme i ethvert andet format (f.eks. Zip), men det er normalt reglen.

Så det første trin er at pakke den fil ud. Den nemmeste metode er ved at åbne Nautilus, højreklikke på den pågældende fil og vælge dekomprimere. Metoden, som vi vil se her, er imidlertid den, der bruges af terminalen.

Når filen er dekomprimeret, oprettes en mappe, som vi skal have adgang til, og hvorfra vi starter konfigurationen og kompilering af programmet.

Når du gør alt dette fra terminalen, er de kommandoer, du skal bruge:

tar xvzf package.tar.gz (eller tar xvjf package.tar.bz2) cd-pakke ./configure make make install

Dette er de kommandoer, som man generelt skal følge, men det vil være tilrådeligt at analysere hvert af disse trin i større dybde for at forstå, hvad de antyder.

Trin 1: dekompression

Tar.gz- eller tar.bz2-udvidelsen betyder, at kildekoden, du downloadede, er komprimeret til en tar-fil, også kendt som en tarball. Dette forenkler i høj grad formidlingen af ​​kildekoden, da alle de filer og mapper, der indeholder den, er pakket i en enkelt fil. Når den er pakket inden for tarfilen, komprimeres den fil ved hjælp af gz- eller bz2-algoritmen afhængigt af udviklerens smag.

For at pakke en tar.gz-fil ud, skrev jeg:

tjære xvzf package.tar.gz

I tilfælde af en tar.bz2-fil:

tjære xvjf package.tar.bz2

I de fleste tilfælde opretter dette en mappe i biblioteket, hvor den komprimerede fil er placeret. Mappens navn er det samme som den komprimerede fil.

Trin 2: konfiguration

Når du har indtastet den mappe, der er oprettet ved at udpakke tar.gz- eller tar.bz2-filen ...

cd-mappe

... Tid til at konfigurere pakken. Normalt, men ikke altid (det er derfor, det er vigtigt at læse README og INSTALL-filerne), opnås dette ved at køre installationsscriptet:

./configure

Når du kører dette script, installeres der intet endnu, kun systemet kontrolleres, og værdierne tildeles nogle systemafhængige variabler. Disse værdier bruges til at oprette en Makefile. Makefilen bruges igen til at oprette den binære fil, der i slutningen af ​​historien gør det muligt for programmet at køre.

Når du kører denne kommando, vil du se, at skærmen fyldes med en masse noget kryptiske meddelelser. I tilfælde af fejl vises en meddelelse; og hvis alt går godt, kan vi springe til næste trin. 🙂

Trin 3: Bygning af binær

Det er tid til at oprette den binære fil, som ikke er andet end eksekverbar af programmet. Med andre ord involverer denne procedure transformation af filer skrevet på et højt niveau programmeringssprog til rene nuller og dem, det vil sige det eneste sprog, som vores computer forstår.

lave

For at denne kommando skal lykkes, skal det foregående trin have været vellykket. Uden Makefile mislykkes fabrikat. Derfor er det så vigtigt, at installationsscriptet kører med succes.

Ja, skærmen fyldes med mærkelige meddelelser igen, og det vil sandsynligvis tage et stykke tid at afslutte. Det afhænger af programmets størrelse og hastigheden på din computer.

Trin 4: installation

Sikker på, vi har allerede den eksekverbare, men installationen mangler. Dette trin skal udføres med administratorrettigheder.

sudo gør installation

Da vi i dette hypotetiske tilfælde ikke har foretaget ændringer i konfigurationsfilen, installeres programmet i standardmappen. Generelt er dette normalt / Usr / local / bin da det tillader det fra enhver side, når man skriver navnet på programmet, udføres det (uden at skulle indtaste programmets komplette sti).

Trin 5: Udførelse

Nej, vi dræbte ingen. Det er simpelthen det kulminerende trin i hele bygge- og installationsprocessen. For at køre det program, som vi så omhyggeligt forvandlede til en binær, skrev jeg:

./programnavn

Hvis programmet blev installeret i en anden mappe, undtagen / usr / local / bin, skal du indtaste programmets fulde sti.

Oprydning af ranchen

Hvis du har meget, meget lav plads på diskplads, kan du slette alle de filer, der er oprettet under den binære byggeproces. I så fald fik jeg adgang til den mappe, der blev oprettet ved at pakke filen ud og skrev:

gør rent

Bemærk: Sørg for at opbevare din Makefile. Denne fil er nødvendig, når du afinstallerer programmet i fremtiden.

Afinstaller

Programmet var ikke, hvad vi forventede, og vi vil slette det fra ansigtet på vores system. Hvordan? Vises det program, jeg lige har installeret, ikke i Software Center eller Synaptic? Og nu?

Hvis du ikke har slettet din Makefile, er det let at afinstallere programmet. Jeg skrev følgende kommando inde i den mappe, der blev oprettet, da jeg udpakkede filen:

Afinstaller

Hvis du var uheldig, og afinstallationen mislykkedes, er der intet andet valg end at slette filerne manuelt. En rigtig hovedpine. For at finde ud af, hvor disse filer er placeret, kan du se på din Makefile.

Hvis du har slettet Makefile, er det bedst at geninstallere programmet og derefter gøre det gør afinstallation, da dette vil regenerere Makefilen. Glem ikke at installere det ved hjælp af de samme konfigurationer (i dette tilfælde ingen) i ./configure.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Alex sagde han

    God tuto mange tak, altid når vi starter i linux, er et af hovedproblemerne, hvordan man kompilerer, godt forklaret, selvom det tilrådes at læse readme eller installere ...

  2.   Alex sagde han

    God tuto mange tak, altid når vi starter i linux, er et af hovedproblemerne, hvordan man kompilerer, godt forklaret, selvom det tilrådes at læse readme eller installere ...

  3.   emiliano perez sagde han

    «Hvis du var uheldig, og afinstallationen mislykkedes, er der intet andet valg end at slette filerne manuelt. En rigtig hovedpine »

    Det er mere tilrådeligt at geninstallere det, og derefter "foretage afinstallation", da vi får Makefile gengenereret. Det er vigtigt at installere det ved hjælp af de samme konfigurationer (i dette tilfælde ingen) i konfigurationen.

  4.   John sagde han

    nu hvis du ikke vil køre det ved at sætte navnet på programmet, men oprette en genvej til skrivebordet eller få det vist i applikationsmenuen, hvordan gør du det?
    Greetings!

  5.   kiwi_kiwi sagde han

    God vejledning. Nu kan jeg selv kompilere.

  6.   marcoshipe sagde han

    Jeg tror, ​​at det andet trin ville være at læse readme (RTFR xD), og det er det mest grundlæggende af alle, da mange programmer har afhængigheder, som du skal overholde i installationen, eller der er behov for et ekstra trin, eller det er også godt, at du læser det, fordi det giver gode muligheder for mærket, der kan interessere os.

    Greetings!

  7.   Lad os bruge Linux sagde han

    Fuldstændig! Derfor anbefaler jeg altid at læse README og INSTALL.

  8.   Lad os bruge Linux sagde han

    Du har ret. Det, hvis du ikke har Makefile. Jeg talte om sagen om, at selv at have Makefile ikke kunne afinstalleres af en anden grund.
    Under alle omstændigheder vil jeg tilføje din kommentar til indlægget, hvilket jeg synes er meget relevant og præcist.

    Et knus og tak for din kommentar! Paul.

  9.   Lad os bruge Linux sagde han

    Tudo bem Krafty! Ingen er fornærmet. Jeg skrev dette indlæg, fordi jeg aldrig havde dækket emnet på bloggen. Under alle omstændigheder bemærker jeg de emner, du anbefaler (nogle meget gode). Sikkert vil jeg skrive om dem i en ikke alt for fjern fremtid.
    Et stort kram og tak, fordi du efterlod dine kommentarer! Paul.

  10.   snu sagde han

    Jeg vil ikke være ond, men dette emne er allerede blevet drøftet flere gange indtil videre i år.

    Jeg foreslår nogle emner, så du kan se, at jeg ikke efterlader en kommentar bare for at lave en bard.

    - Telefoni over IP
    - Forskellige Torrent-klienter (hvilken man skal vælge).
    - Oprettelse af scripts af de ting, som vi gentagne gange har i konsollen.
    - Fjern moduler til kernen, så den initialiserer Linux hurtigere, når du starter.

    Jeg håber, jeg ikke har fornærmet / generet nogen

  11.   inviteret sagde han

    fantastisk, godt for dem af os, der begyndte at slippe løs med linux

  12.   Lad os bruge Linux sagde han

    Ja, generelt er disse beskrevet i README. Ellers, når der kompileres en fejl, vises og baseret på fejlen (som fortæller hvilket bibliotek der mangler) bliver vi nødt til at installere den relevante afhængighed.
    Et kram! Paul.

  13.   Celloer sagde han

    Krafty, du er bestemt dårlige vibes. Hvor har du set en tutorial som denne, så klar og forklarende? for mig er det fremragende, salu2,

  14.   rv sagde han

    Mange tak for guiden! Det hjalp mig med at afklare nogle ting 🙂

    Forresten er et tip, der har fungeret ganske godt for mig til at løse problemet med afhængigheder, først og fremmest at gøre 'sudo apt-get build-dep program_name'; Jeg ved ikke, om det fungerer i alle distroer, jeg har brugt det i Debian (Squeeze, hvor jeg for nylig kompilerede MuseScore 1.2 for at lindre de arkaiske repos af den stabile gren ... 😉

    Jeg forestiller mig, at nogen mere informeret vil være i stand til at give mere detaljerede detaljer fin

    Greetings!

  15.   rosgory sagde han

    Bør vi ikke tage højde for de afhængigheder, programmet har brug for, før vi kompilerer?

  16.   Diego Garcia sagde han

    Jeg har brugt Linux i kort tid, og dette er en af ​​mine største tvivl, dette vil være meget nyttigt for mig, da jeg ikke havde fundet noget indlæg med netop dette emne 😀
    eller kender du nogen?
    Skål ..

  17.   marcos sagde han

    fantastisk, jeg havde ikke set dette indlæg, men det skyldes en type 1-fejl eller type 2-fejl

  18.   ibon sagde han

    Er der ingen anden metode?
    Denne metode har jeg allerede brugt med succes. Problemet er, at der er mange, mange kildekodeprogrammer, der ikke bruger dette system, vi har ikke konfigurationsscriptet. Jeg vil gerne have, hvordan jeg sammensætter dem.