Låt oss anta du har precis laddat ner källkoden för ditt favoritspel eller program och vill kompilera den för att kunna njuta av den. Hur man utför en sådan titanisk uppgift? Oroa dig inte, att kompilera och installera det spelet / programmet på Linux är inte så svårt som det låter. |
Bygg och installera procedur
När du laddar ner ett källkod för ett program komprimeras det till en fil som på Linux i allmänhet är av typen tar.gz eller tar.bz2. Visst, det kan komma i vilket annat format som helst (zip, till exempel), men det är vanligtvis regeln.
Så det första steget är att packa upp den filen. Den enklaste metoden är att öppna Nautilus, högerklicka på filen i fråga och välja dekomprimera. Metoden som vi kommer att se här är dock den som används av terminalen.
När filen har dekomprimeras skapas en katalog som vi måste komma åt och från vilken vi startar konfigurationen och kompileringen av programmet.
När du gör allt detta från terminalen är kommandona att använda:
tar xvzf package.tar.gz (eller tar xvjf package.tar.bz2) cd-paket ./configure gör gör installation
Det här är de kommandon som man i allmänhet måste följa, men det vore tillrådligt att analysera vart och ett av dessa steg djupare för att förstå vad de antyder.
Steg 1: dekompression
Tar.gz eller tar.bz2-tillägget innebär att källkoden du laddade ner komprimeras till en tar-fil, även känd som en tarball. Detta förenklar spridningen av källkoden kraftigt eftersom alla filer och mappar som ingår i den är förpackade i en enda fil. När den väl är förpackad i tarfilen komprimeras den filen med gz- eller bz2-algoritmen, beroende på utvecklarens smak.
För att packa upp en tar.gz-fil skrev jag:
tjära xvzf package.tar.gz
I fallet med en tar.bz2-fil:
tjära xvjf package.tar.bz2
I de flesta fall kommer detta att skapa en mapp i katalogen där den komprimerade filen finns. Mappnamnet kommer att vara detsamma som den komprimerade filen.
Steg 2: konfiguration
När du väl har angett mappen som skapats genom att packa upp tar.gz- eller tar.bz2-filen ...
cd-mapp
... Dags att konfigurera paketet. Vanligtvis, men inte alltid (det är därför det är viktigt att läsa README- och INSTALL-filerna), uppnås detta genom att köra installationsskriptet:
. / Configure
När du kör det här skriptet kommer inget att installeras ännu, det kommer bara att kontrollera systemet och tilldela värden till vissa systemberoende variabler. Dessa värden används för att skapa en Makefile. Makefilen används i sin tur för att skapa den binära filen som i slutet av berättelsen gör att programmet kan köras.
När du kör det här kommandot ser du att skärmen fylls med många lite kryptiska meddelanden. I händelse av fel visas ett meddelande. och om allt går bra kan vi hoppa till nästa steg. 🙂
Steg 3: Bygg binär
Det är dags att bygga den binära filen, vilket är inget annat än den körbara programvaran. Med andra ord involverar denna procedur omvandling av filer skrivna på ett programmeringsspråk på hög nivå till rena nollor och enor, det vill säga det enda språket som vår dator förstår.
göra
För att detta kommando ska lyckas måste föregående steg ha lyckats. Utan Makefile misslyckas fabrikat. Det är därför det är så viktigt att installationsskriptet körs framgångsrikt.
Ja, skärmen kommer att fyllas med konstiga meddelanden igen och det tar sannolikt ett tag att avsluta. Det beror på programmets storlek och datorns hastighet.
Steg 4: installation
Visst, vi har redan den körbara men installationen saknas. Detta steg måste göras med administratörsbehörighet.
sudo gör installation
Eftersom vi i detta hypotetiska fall inte har gjort några ändringar i konfigurationsfilen kommer programmet att installeras i standardmappen. I allmänhet är detta vanligtvis / Usr / local / bin eftersom det tillåter att det från vilken sida som helst när du skriver namnet på programmet körs (utan att behöva ange hela sökvägen för programmet).
Steg 5: Utförande
Nej, vi dödade ingen. Det är helt enkelt det kulminerande steget i hela bygg- och installationsprocessen. För att köra programmet som vi så noggrant förvandlade till en binär, skrev jag:
./Program namn
Om programmet installerades i en annan mapp, utom / usr / local / bin, måste du ange hela sökvägen för programmet.
Städa upp ranchen
Om du har mycket, mycket lite diskutrymme kanske du vill ta bort alla filer som skapats under den binära byggprocessen. I så fall öppnade jag mappen som skapades genom att packa upp filen och skrev:
rena
Obs: se till att behålla din Makefile. Den här filen är nödvändig när du avinstallerar programmet i framtiden.
Avinstallation
Programmet var inte vad vi förväntade oss och vi vill radera det från vårt system. Hur? Visas det program som jag just installerat inte i Software Center eller Synaptic? Och nu?
Om du inte har tagit bort din Makefile är det möjligt att avinstallera programmet enkelt. Jag skrev följande kommando inuti mappen som skapades när jag packade upp filen:
avinstallera
Om du hade tur och avinstallationen misslyckades, finns det inget annat val än att ta bort filerna för hand. En riktig huvudvärk. För att ta reda på var dessa filer finns kan du titta på din Makefile.
Om du har tagit bort Makefile är det bäst att installera om programmet och sedan göra det gör avinstallation, eftersom detta kommer att regenerera Makefilen. Glöm inte att installera den med samma konfigurationer (i det här fallet ingen) i . / Configure.
Bra tack tack så mycket, alltid när vi börjar i Linux är ett av huvudproblemen hur man kompilerar, väl förklarat, även om det är tillrådligt att läsa readme eller installera ...
Bra tack tack så mycket, alltid när vi börjar i Linux är ett av huvudproblemen hur man kompilerar, väl förklarat, även om det är tillrådligt att läsa readme eller installera ...
«Om du hade tur och avinstallationen misslyckades, finns det inget annat val än att ta bort filerna för hand. En riktig huvudvärk »
Det är mer tillrådligt att installera om det och sedan göra "avinstallera" eftersom Makefile kommer att genereras om. Det är viktigt att installera den med samma konfigurationer (i det här fallet ingen) i konfigurationen.
nu om du inte vill köra det genom att sätta namnet på programmet men skapa en genväg till skrivbordet eller låta det visas i applikationsmenyn, hur gör du det?
hälsningar!
Bra handledning. Nu kan även jag kompilera.
Jag tror att det andra steget skulle vara att läsa readme (RTFR xD) och det är det mest grundläggande av allt, eftersom många program har beroenden som du måste följa i installationen, eller något extra steg behövs eller det är också bra att du läser det eftersom det ger bra alternativ för märket som kan intressera oss.
hälsningar!
Helt och hållet! Det är därför jag rekommenderar att du alltid läser README och INSTALL.
Du har rätt. Om du inte har Makefile. Jag pratade om fallet att till och med att ha Makefile det inte kunde avinstalleras av någon annan anledning.
Hur som helst, jag ska lägga till din kommentar till inlägget, vilket jag tycker är väldigt relevant och korrekt.
En kram och tack för att du kommenterade! Paul.
Tudo bem Krafty! Ingen är förolämpad. Jag skrev det här inlägget eftersom jag aldrig hade täckt ämnet på bloggen. Hur som helst, jag noterar de ämnen du rekommenderar (några mycket bra). Visst kommer jag att skriva om dem inom en inte alltför avlägsen framtid.
En stor kram och tack för att du lämnade dina kommentarer! Paul.
Jag vill inte vara elak, men det här ämnet har redan diskuterats flera gånger hittills i år.
Jag föreslår några ämnen så att du kan se att jag inte lämnar en kommentar bara för att göra en bard.
- Telefoni över IP
- Olika Torrent-klienter (vilken man ska välja).
- Skapande av skript av de saker som vi har upprepade gånger i konsolen.
- Ta bort moduler till kärnan så att den initialiserar Linux snabbare vid start.
Jag hoppas att jag inte har kränkt / stört någon
jättebra, bra för de av oss som började komma loss med Linux
Ja, generellt beskrivs dessa i README. Annars, när ett fel sammanställs och baserat på felet (som visar vilket bibliotek som saknas) måste vi installera lämpligt beroende.
En kram! Paul.
Krafty, du är definitivt dåliga vibbar. Var har du sett en tutorial som den här, så tydlig och förklarande? för mig är det utmärkt, salu2,
Tack så mycket för guiden! Det hjälpte mig att klargöra vissa saker 🙂
Förresten, ett tips som har fungerat ganska bra för mig för att lösa frågan om beroenden är att först och främst göra 'sudo apt-get build-dep program_name'; Jag vet inte om det fungerar i alla distros, jag har använt det i Debian (Squeeze, där jag nyligen sammanställde MuseScore 1.2 för att lindra de arkaiska reporna i den stabila grenen ...
Jag föreställer mig att någon mer informerad kommer att kunna ge finare detaljer 🙂
Hälsningar!
Ska vi inte ta hänsyn till de beroenden som programmet behöver innan vi kompilerar?
Jag har lite tid att använda Linux, och det här är en av mina största tvivel, det här kommer att vara mycket användbart för mig eftersom jag inte hittat något inlägg med just detta ämne 😀
eller känner du något?
Hälsningar ..
bra, jag hade inte sett det här inlägget, men varför är det typ 1-felet eller typ 2-felet
Finns det ingen annan metod?
Denna metod har jag redan använt framgångsrikt. Problemet är att det finns många, många källkodsprogram som inte använder detta system, vi har inte konfigureringsskriptet. Jag skulle vilja ha hur man sammanställer dem.