Meestal is het installeren van software in Linux een fluitje van een cent. Hulpprogramma's voor pakketbeheer zoals Apt, Portage en Yum hebben de installatie van software in Linux nog eenvoudiger gemaakt dan in Windows (naar mijn mening tenminste). Als u weet wat u wilt, geeft u eenvoudigweg aan uw pakketbeheerder te kennen dat u het wilt en kunt u uw nieuwe pakket voor u vinden, downloaden, installeren en configureren.

Soms bestaat het pakket echter niet in de repository's van uw distributie. Vaak is in dergelijke gevallen je enige optie het downloaden van een tarball (gewoonlijk .tar.gz, .tar.bz of .tgz ) die de broncode bevat voor het programma dat je zelf moet compileren. Hoewel het in het begin een beetje intimiderend kan zijn, is het compileren van de bron normaal gesproken een snel en eenvoudig proces. Vandaag zullen we leren hoe.

Ten eerste moet ik opmerken dat niet alle tarballs hetzelfde zijn. Deze gids gaat ervan uit dat het programma dat u probeert te installeren een normale GNU-stijl broncodeverzameling is. De meeste vereisen alle onderstaande stappen, maar velen slaan de ene of de andere stap over. Voor de doeleinden van de tutorial zal ik het broncodepakket van Python 3.0.1 compileren vanaf de Python-startpagina.

Stap 1: extraheer de tarball

Voor nieuwkomers in Linux is tarball een term die vaak wordt gebruikt om naar een bestand te verwijzen dat andere bestanden bevat. Het lijkt veel op een ZIP- of RAR-bestand in Windows, behalve dat het tar- programma op zichzelf de bestanden niet comprimeert. Tar werkt met een compressieprogramma zoals gzip om de bestanden daadwerkelijk te comprimeren, daarom zie je meestal twee extensies (.tar en .gz). Dit wordt soms afgekort tot gewoon .tgz .

Gelukkig hoeven we geen twee aparte programma's uit te voeren om de bestanden uit te pakken, we vertellen tar gewoon om de bestanden via gzip uit te voeren om te decomprimeren. U kunt een grafisch hulpprogramma gebruiken om die bestanden uit te pakken door eenvoudigweg op de tarball te dubbelklikken vanuit uw bestandsbeheerder, of u kunt het doen vanaf de opdrachtregel met:

 tar -zxvf mytarball.tar.gz 

De opties die we teer hebben gegeven zijn als volgt:

  • -z om tar te vertellen om dit bestand via gzip uit te voeren om te decomprimeren (gebruik -j voor bzip-bestanden)
  • -x om de bestanden uit te pakken
  • -v voor "verbose", zodat we een lijst kunnen zien van de bestanden die het uitpakt
  • -F om te vertellen dat we met een bestand werken

Zie het gedeelte Tips onderaan deze pagina voor meer informatie over het uitpakken

configureren

Nadat de bestanden zijn uitgepakt, opent u een opdrachtterminal en gaat u naar de map waarin de bestanden zijn uitgepakt. Voordat we kunnen compileren, moeten we het configure-script uitvoeren. De taak van het configuratiescript is om uw systeem te controleren op alle software die nodig is om het programma te compileren van broncode in een bruikbaar binair programma. Het zoekt naar zaken zoals de gcc-versie en andere hulpmiddelen die nodig zijn om de software te bouwen. Dus als je eenmaal in de map bent met alle bestanden die zijn uitgepakt van de tarball, typ je in

 ./configure 

Als alles goed gaat, doorloopt het een controle van verschillende delen van uw systeem en keert u vervolgens terug naar de opdrachtregel, zoals hieronder:

De meest voorkomende oorzaak van fouten in deze stap is een ontbrekende afhankelijkheid. Kijk goed naar eventuele fouten die u kunt krijgen om te bepalen welk pakket ontbreekt.

Maken

Dit is het echte werk van het proces - waar we de broncode in een uitvoerbaar programma compileren. Dit is normaal gesproken de gemakkelijkste stap, waarvoor slechts één enkele opdracht vereist is. Als de configuratiestap zonder fouten is voltooid, typ dan gewoon in

 maken 

Voor een groot programma kan deze stap enkele minuten duren. Als u klaar bent, wordt u teruggezet naar de shell-prompt, zoals hier wordt weergegeven.

Technisch gezien is je programma nu klaar voor gebruik. Onder de meeste omstandigheden wilt u echter nog een stap uitvoeren, zodat het programma volledig kan worden geïnstalleerd op de juiste locaties zodat het overal kan worden uitgevoerd.

Maak installatie

Dit alles is echt kopiëren van het nu gecompileerde programma in de systeemmappen zoals / usr / bin zodat het vanuit elke map kan worden uitgevoerd zonder een pad naar de bestanden te hoeven opgeven. Omdat het naar een map buiten je huis kopieert, heb je waarschijnlijk root-rechten nodig. Als de make-stap zonder fouten is voltooid, voert u gewoon uit

 sudo make install 

om de bestanden te kopiëren. Op dit punt ben je helemaal klaar! Uw nieuwe programma kan op dezelfde manier worden gebruikt.

Tips

De kans is groot dat je meer dan eens uit je leven in je leven compileert. Sterker nog, voor degenen die graag de nieuwste en beste software gebruiken, kan dit heel gewoon zijn. Om het een beetje gemakkelijker te maken, open je het .bashrc- bestand vanuit je thuismap en voeg je de volgende aliassen toe aan het einde:

 alias ungz = "tar -zxvf" alias unbz = "tar -jxvf" alias cmi = "./ configure && make && sudo make install"