Hvis du bruger en stor Linux distro som Ubuntu eller Fedora, ville det være kommet med en pakkehåndtering, der giver dig mulighed for nemt at installere binære pakker (DEB eller RPM) i dit system. Men hvis du planlægger at tilpasse den software, du installerer, ligesom du tilføjer yderligere funktioner, kan du måske bruge kildepakkerne og kompilere dem selv.

Der er et par grunde til at du måske er fristet til at prøve det selv:

  • Når du kompilerer noget lokalt, slutter du med en version af softwaren, der er meget mere tilpasset til din hardware, hvilket kan give nogle præstationsgevinster (i modsætning hertil er præ-kompilerede binærer ofte rettet mod den "mindste fællesnævner" og kan ikke udnytte af flere high-end maskiner).
  • Kompilering fra kilden giver dig også mulighed for at aktivere eller deaktivere visse funktioner i softwaren. Mens det i nogle tilfælde indebærer skift af kode, er det i nogle tilfælde lige så nemt at tilføje eller fjerne et flag fra build-kommandoen.
  • Endelig gør det aldrig ondt som medlemmer af den gratis software community for at undersøge, hvordan alle disse fantastiske applikationer er lavet. Mens kompilering fra et arkiv af den oprindelige kildekode kan være ud over hvad en normal bruger gør, bruger kildepakker et kig på udviklings- og kompileringsprocessen for vores dødelige brugere.

Struktur af DEB-kildepakker

Når du går til at downloade en DEB-kildepakke fra et lager, behandler pakkehåndteringen tre primære filer (vist i Ubuntu-depotet nedenfor):

  • [pakkenavn] _ [versionsnummer] .orig.tar.gz : Denne fil indeholder kildekoden fra opstrøms eller det oprindelige programs udviklere.
  • [pakkenavn] _ [versionsnummer] build1.debian.tar.gz : Dette arkiv indeholder koden ovenfor, med eventuelle ændringer, der er nødvendige for at gøre den kompatibel med DEB-baserede systemer.
  • [pakke navn] _ [versionsnummer] build1.dsc : En beskrivelse af filerne i pakken, som også kan indeholde en underskrift.

Installation af DEB-kildepakker

DEB systemet og dets ledsagende værktøjer gør det meget nemt at downloade og kompilere versioner af software fra APT repositories. De følgende trin beskriver processen:

For det første skal du installere nogle software, der giver dig mulighed for at kompilere anden software. Udsted følgende kommando fra terminalen:

 sudo apt-get install build-essential 

Du vil også gerne sørge for at du har aktiveret kildearkiverne.

Tjek "Softwarekilder" i din pakkehåndtering for at bekræfte, at "Source Code" -alternativet er markeret.

Alternativt kan du inspicere filen "/etc/apt/sources.list" og bekræfte, at følgende linjer vises uden et "#" mærke foran dem (hvis de gør det, skal du blot fjerne det og gemme filen):

 deb-src http://us.archive.ubuntu.com/ubuntu/ præcis univers deb-src http://us.archive.ubuntu.com/ubuntu/ præcis multiverse 

Værktøjet apt-src er en version af "apt-get", der fungerer på kildepakker. Installer den med følgende:

 sudo apt-get install apt-src 

Bemærk : Hvis du installerer denne pakke først, installerer den også pakken build-essentials for dig

Derefter skal du muligvis få nogle biblioteker eller anden software, der kræves til at opbygge den pakke, du vil have ( det er en afhængighed, men forskellig fra den afhængighed, du måtte støde på, når du installerer binære pakker ).

 sudo apt-get build-dep [pakkenavn] 

Nu kan du downloade pakken. Følgende kommando henter pakken for dig, kompilerer den og installerer den automatisk:

 sudo apt-src - build install [pakke] 

Hvis du foretrækker at downloade kilden pakken, enten at kigge inde, eller for at foretage nogle ændringer, kan du downloade det og derefter installere det, når det er på dit lokale system med følgende:

 sudo apt-src installer [pakke navn] 

(Dette vil downloade kildefiler ovenfor)

 sudo apt-src build [pakke navn] 

(Dette vil opbygge pakken fra de downloadede filer)

 sudo dpkg -i [pakke filnavn (er)]. deb 

Debians kildepakker og deres relaterede værktøjer er en fantastisk måde at begynde at lære om, hvordan fri software er lavet. Som medlem af samfundet skylder du det selv for at prøve det og lære en forståelse for alt det hårde arbejde, som udviklerne har lagt i.