Om du använder en stor Linux distro som Ubuntu eller Fedora, skulle det ha kommit med en pakethanterare som låter dig enkelt installera binära paket (DEB eller RPM) i ditt system. Men om du planerar att anpassa programvaran du installerar, gillar du att lägga till ytterligare funktioner, kanske du vill använda källpaketen och kompilera dem själv.

Det finns ett par anledningar att du kanske frestas att prova själv:

  • När du sammanställer något lokalt, slutar du med en version av programvaran som är mycket mer anpassad till din hårdvara, vilket kan ge vissa prestationsvinster (i motsats till detta är förinställda binärer ofta riktade mot "minst gemensamma nämnaren" och kan inte utnyttja av fler avancerade maskiner).
  • Kompilering från källan ger dig också möjlighet att aktivera eller inaktivera vissa funktioner i programvaran. Även om det i vissa fall handlar om att byta kod, är det i vissa fall lika lätt att lägga till eller ta bort en flagga från byggkommandot (erna).
  • Slutligen gör det aldrig ont som medlemmar i den fria programvaruorganisationen för att utforska hur alla dessa fantastiska applikationer görs. Medan kompilering från ett arkiv av den ursprungliga källkoden kan vara bortom vad en vanlig användare gör, använder källkodspaketet en inblick i utvecklings- och kompileringsprocessen för våra dödliga användare.

Struktur av DEB-källkodspaket

När du går för att ladda ner ett DEB-källkodspaket från ett repository, hanterar pakethanteraren tre primära filer (visas i Ubuntu-arkivet nedan):

  • [paketnamn] _ [versionsnummer] .orig.tar.gz : Den här filen innehåller källkoden från uppströms eller det ursprungliga programmets utvecklare.
  • [paketnamn] _ [versionsnummer] build1.debian.tar.gz : Det här arkivet innehåller koden ovan, med några ändringar som är nödvändiga för att göra den kompatibel med DEB-baserade system.
  • [paketnamn] _ [versionsnummer] build1.dsc : En beskrivning av filerna i paketet, som också kan innehålla en signatur.

Installera DEB-källkodspaket

DEB-systemet och dess companion-verktyg gör det väldigt lätt att hämta och kompilera versioner av programvara från APT-repositorier. Följande steg beskriver processen:

Först måste du installera någon programvara som låter dig kompilera annan programvara. Utfärda följande kommando från terminalen:

 sudo apt-get installera build-essential 

Du vill också se till att du har källkatalogerna aktiverade.

Kolla in "Programvarukällor" i pakethanteraren för att bekräfta att "Källkod" -alternativet är markerat.

Alternativt, inspektera filen "/etc/apt/sources.list" och bekräfta att följande rader dyker upp utan ett "#" -märke framför dem (om de gör det, ta bara bort det och spara filen):

 deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe deb-src http://us.archive.ubuntu.com/ubuntu/ exakt multiverse 

apt-src verktyget är en version av "apt-get" som fungerar på källkodspaket. Installera det med följande:

 sudo apt-get install apt-src 

Obs! Om du installerar det här paketet först kommer det också att installera paketet build-essentials för dig

Därefter kan du behöva få några bibliotek eller annan programvara som krävs för att bygga paketet du vill ha (det här är ett beroende, men annorlunda än det beroende du kan stöta på när du installerar binära paket ).

 sudo apt-get build-dep [paketnamn] 

Nu kan du ladda ner paketet. Följande kommando hämtar paketet för dig, kompilera det och installera det automatiskt:

 sudo apt-src - build install [paket] 

Om du föredrar att ladda ner källkodspaketet, antingen för att kika inuti, eller för att göra några ändringar, kan du ladda ner det och installera det när det är på ditt lokala system med följande:

 sudo apt-src installera [paketnamn] 

(Detta hämtar källfilerna ovan)

 sudo apt-src build [paketnamn] 

(Detta kommer att bygga paketet från de nedladdade filerna)

 sudo dpkg -i [paketfilnamn]. deb 

Debians källkodspaket och deras relaterade verktyg är ett bra sätt att börja lära sig hur fri programvara görs. Som medlem i samhället är du skyldig att själv prova det och lära dig en uppskattning av allt det hårda arbete som utvecklarna lagt in.