6.1. Introduksjon

I dette kapittelet går vi inn på byggeplassen og begynner å konstruere LFS systemet for alvor. Det vil si at vi chrooter inn i det midlertidige Linux-systemet, gjør noen få endelige forberedelser og begynner deretter å installere pakkene.

Installasjonen av denne programvaren er enkel. Selv om installasjonsinstruksjonene i mange tilfeller kan gjøres kortere og mer generiske, har vi valgt å gi de fullstendige instruksjonene for hver pakke for å minimere mulighetene for feil. Nøkkelen til å lære hva som får et Linux-system til å fungere, er å vite hva hver pakke brukes til og hvorfor du (eller systemet) kan trenge den.

Vi anbefaler ikke å bruke optimaliseringer. De kan få et program til å kjøre litt raskere, men det kan også føre til problemer med kompilering og problemer når du kjører programmet. Hvis en pakke nekter å kompilere når du bruker optimalisering, kan du prøve å kompilere den uten optimalisering og se om det løser problemet. Selv om pakken kompilerer når du bruker optimalisering, er det risiko for at den kan ha blitt satt sammen feil på grunn av de komplekse interaksjonene mellom kode og byggeverktøy. Merk også at alternativene -march og -mtune med verdier som ikke er spesifisert i boken, ikke er testet. Dette kan forårsake problemer med verktøykjettingpakkene (Binutils, GCC og Glibc). De små potensielle gevinstene som oppnås ved bruk av kompilatoroptimalisering oppveies ofte av risikoen. Førstegangsbyggere av LFS oppfordres til å bygge uten tilpassede optimaliseringer. Det påfølgende systemet vil fortsatt kjøre veldig raskt og være stabilt på samme tid.

Rekkefølgen pakker er installert i dette kapittelet, må følges strengt for å sikre at intet program tilfeldigvis skaffer seg en bane som refererer hardkoblet til /tools. Av samme grunn må du ikke sammenstille separate pakker parallelt. Å sammenstille parallelt kan spare tid (spesielt på dual-CPU-maskiner), men det kan føre til at et program inneholder en fast koblet bane til /tools, noe som vil føre til at programmet slutter å fungere når den katalogen fjernes.

Før installasjonsinstruksjonene gir hver installasjonsside informasjon om pakken, inkludert en kortfattet beskrivelse av hva den inneholder, omtrent hvor lang tid det vil ta å bygge, og hvor mye diskplass som kreves i løpet av denne byggeprosessen. Etter installasjonsinstruksjonene er det en liste over programmer og biblioteker (sammen med korte beskrivelser av disse) som pakken installerer.

SBU verdiene og den nødvendige diskplassen inkluderer data fra testserien for alle aktuelle pakker i kapittel 6.

6.1.1. Om biblioteker

Generelt fraråder LFS redaksjonene å bygge og installere statiske biblioteker. Det opprinnelige formålet for de fleste statiske biblioteker er gjort foreldet i et moderne Linux-system. I tillegg kan det å koble et statisk bibliotek til et program være skadelig. Hvis det er nødvendig med en oppdatering til biblioteket for å fjerne et sikkerhetsproblem, må alle programmer som bruker det statiske biblioteket kobles til det nye biblioteket. Siden bruken av statiske biblioteker ikke alltid er åpenbar, er det ikke sikkert at de relevante programmene (og prosedyrene som er nødvendige for å utføre koblingen) ikke er kjent.

I prosedyrene i kapittel 6 fjerner eller deaktiverer vi installasjon av de fleste statiske biblioteker. Vanligvis gjøres dette ved å sende et --disable-static alternativ til configure. I andre tilfeller er det nødvendig med alternative midler. I noen få tilfeller, spesielt glibc og gcc, er bruken av statiske biblioteker fortsatt avgjørende for den generelle pakkeoppbyggingsprosessen.

For en mer fullstendig diskusjon av biblioteker, se diskusjonen Biblioteker: Statisk eller delt? Libraries: Static or shared? i BLFS-boka.

Forrige Hjem Neste