Hvis du bruker en stor Linux distro som Ubuntu eller Fedora, ville det ha kommet med en pakkebehandling som lar deg enkelt installere binære pakker (DEB eller RPM) i systemet. Men hvis du planlegger å tilpasse programvaren du installerer, liker du å legge til flere funksjoner, kan du kanskje bruke kildepakker og kompilere dem selv.

Det er et par grunner til at du kanskje blir fristet til å prøve dette selv:

  • Når du kompilerer noe lokalt, slutter du med en versjon av programvaren mye mer tilpasset maskinvaren din, noe som kan gi noen ytelsesgevinster (i kontrast er pre-compiled binærer ofte rettet mot "minst fellesnevneren" og kan ikke dra nytte av av flere high-end maskiner).
  • Kompilering fra kilden gir deg også muligheten til å aktivere eller deaktivere visse funksjoner i programvaren. Mens det i noen tilfeller innebærer endring av kode, er det i enkelte tilfeller så enkelt som å legge til eller fjerne et flagg fra byggekommandoen (e).
  • Til slutt, det gjør aldri vondt som medlemmer av det gratis programvaresamfunnet for å utforske hvordan alle disse flotte applikasjonene blir gjort. Mens kompilering fra et arkiv av den opprinnelige kildekoden kan være utenfor hva en vanlig bruker gjør, bruker kildepakker en oversikt over utviklings- og kompileringsprosessen for våre dødelige brukere.

Struktur av DEB-kildepakker

Når du går for å laste ned en DEB-kildepakke fra et repository, vil pakkebehandleren behandle tre primære filer (vist i Ubuntu-depotet nedenfor):

  • [pakke navn] _ [versjon nummer] .orig.tar.gz : Denne filen inneholder kildekoden fra oppstrøms, eller det opprinnelige programmets utviklere.
  • [pakke navn] _ [versjon nummer] build1.debian.tar.gz : Dette arkivet inneholder koden ovenfor, med eventuelle modifikasjoner som er nødvendige for å gjøre den kompatibel med DEB-baserte systemer.
  • [pakke navn] _ [versjon nummer] build1.dsc : En beskrivelse av filene i pakken, som også kan inneholde en signatur.

Installere DEB-kildepakker

DEB-systemet og dets ledsagingsverktøy gjør det veldig enkelt å laste ned og kompilere versjoner av programvare fra APT-repositorier. Følgende trinn beskriver prosessen:

Først må du installere noe programvare som lar deg kompilere annen programvare. Utsted følgende kommando fra terminalen:

 sudo apt-get install build-essential 

Du vil også sørge for at du har aktivert kildelagerene.

Sjekk ut "Programvarekilder" i pakkebehandleren for å bekrefte at "Kildekode" -alternativet er merket.

Alternativt kan du kontrollere "/etc/apt/sources.list" -filen og bekrefte at følgende linjer vises uten et "#" -merke foran dem (hvis de gjør det, må du bare fjerne det og lagre filen):

 deb-src http://us.archive.ubuntu.com/ubuntu/ presis univers deb-src http://us.archive.ubuntu.com/ubuntu/ presis multiverse 

apt-src verktøyet er en versjon av "apt-get" som fungerer på kildepakker. Installer den med følgende:

 sudo apt-get install apt-src 

Merk : Hvis du installerer denne pakken først, vil den også installere bygg-essensielle pakken for deg

Deretter må du kanskje få noen biblioteker eller annen programvare som kreves for å bygge pakken du vil ha ( dette er en avhengighet, men forskjellig fra avhengigheten du kan støte på når du installerer binære pakker ).

 sudo apt-get build-dep [pakke navn] 

Nå kan du laste ned pakken. Følgende kommando henter pakken for deg, kompilerer den og installerer den automatisk:

 sudo apt-src - build install [pakke] 

Hvis du foretrekker å laste ned kildepakken, enten å ta en titt innvendig, eller for å gjøre noen endringer, kan du laste den ned og installer den så snart den er på ditt lokale system med følgende:

 sudo apt-src installer [pakke navn] 

(Dette vil laste ned kildefilene over)

 sudo apt-src build [pakke navn] 

(Dette vil bygge pakken fra de nedlastede filene)

 sudo dpkg -i [pakkefilnavn (e)]. deb 

Debians kildepakker og deres relaterte verktøy er en fin måte å begynne å lære om hvordan gratis programvare er laget. Som medlem av samfunnet skylder du det selv for å prøve det og lære en forståelse for alt det harde arbeidet utviklerne har satt inn.