Beyond Linux® From Scratch (System V Utgave)

Versjon r12.4-1462

The BLFS Development Team

Copyright © 1999-2026, The BLFS Development Team

Alle rettigheter forbeholdt.

Denne boken er lisensiert under Creative Commons License.

Datainstruksjoner kan trekkes ut fra boken under MIT License.

Linux® er et registrert varemerke av Linus Torvalds.

Publisert 14.02.2026

Revisjonshistorie
Revisjon r12.4-1462 14.02.2026 Pågående utgivelse
Revisjon 12.4 01.09.2025 Trettiandre utgivelse
Revisjon 12.3 05.03.2025 Trettiførste utgivelse
Revisjon 12.2 01.09.2024 Trettiende utgivelse
Revisjon 12.1 01.03.2024 Tjueniende utgivelse
Revisjon 12.0 01.09.2023 Tjueåttende Utgivelse
Revisjon 11.3 01.03.2023 Tjuesjuende Utgivelse
Revisjon 11.2 01.09.2022 Tjueseksende Utgivelse
Revisjon 11.1 01.03.2022 Tjuefemte Utgivelse
Revisjon 11.0 01.09.2021 Tjuefjerde Utgivelse
Revisjon 10.1 01.03.2021 Tjuetredje Utgivelse
Revisjon 10.0 01.09.2020 Tjueandre Utgivelse
Revisjon 9.1 01.03.2020 Tjueførste Utgivelse
Revisjon 9.0 01.09.2019 Tjuende Utgivelse
Revisjon 8.4 01.03.2019 Nittende Utgivelse
Revisjon 8.3 01.09.2018 Attende Utgivelse
Revisjon 8.2 02.03.2018 Syttende Utgivelse
Revisjon 8.1 01.09.2017 Sekstende Utgivelse
Revisjon 8.0 25.02.2017 Femtende Utgivelse
Revisjon 7.10 07.09.2016 Fjortende Utgivelse
Revisjon 7.9 08.03.2016 Trettende Utgivelse
Revisjon 7.8 01.10.2015 Tolvte Utgivelse
Revisjon 7.7 06.03.2015 Ellevte Utgivelse
Revisjon 7.6 23.09.2014 Tiende Utgivelse
Revisjon 7.5 05.03.2014 Niende Utgivelse
Revisjon 7.4 14.09.2013 Åttende Utgivelse
Revisjon 6.3 24.08.2008 Syvende Utgivelse
Revisjon 6.2 24.02.2007 Sjette Utgivelse
Revisjon 6.1 14.08.2005 Femte Utgivelse
Revisjon 6.0 02.04.2005 Fjerde Utgivelse
Revisjon 5.1 05.06.2004 Tredje Utgivelse
Revisjon 5.0 06.11.2003 Andre Utgivelse
Revisjon 1.0 25.04.2003 Første Utgivelse

Sammendrag

Denne boken følger opp fra Linux From Scratch boken. Det introduserer og guider leseren gjennom tillegg til systemet inkludert nettverk, grafiske grensesnitt, lydstøtte og skriver og skanner brukerstøtte.


Dedikasjon

Denne boken er dedikert til LFS fellesskapet

Innholdsfortegnelse

Forord

Etter å ha hjulpet til med Linux From Scratch en kort tid, la jeg merke til at vi fikk mange spørsmål om hvordan vi skulle gjøre ting utover basis LFS systemet. På det tidspunktet var den eneste hjelpen tilbudt spesielt relatert til LFS var LFS hintene (https://www.linuxfromscratch.org/hints). De fleste av LFS tipsene er ekstremt gode og godt skrevet men jeg (og andre) kunne fortsatt se et behov for mer omfattende hjelp til gå utover LFS — derfor BLFS.

BLFS har som mål å være mer enn LFS hintene konvertert til XML selv om mye av arbeidet vårt er basert på hintene, og noen forfattere skriver faktisk både hint og relevante BLFS seksjoner. Vi håper at vi kan gi deg med nok informasjon til å ikke bare klare å bygge systemet opp til hva du vil ha, enten det er en webserver eller et multimedia skrivebord system, men også at du vil lære mye om systemkonfigurasjon.

Takk som alltid til alle i LFS/BLFS samfunnet; spesielt de som har bidratt med instruksjoner, skrevet tekst, svart på spørsmål og generelt ropte når ting var galt!

Til slutt oppfordrer vi deg til å engasjere deg i fellesskapet; spørre spørsmål på mailinglisten eller nyhetsgatewayen og bli med på moroa på #lfs og #lfs-support at Libera. Du kan finne mer informasjon om alle disse i Introduksjon delen av boken.

Gled deg over å bruke BLFS.

Mark Hymers
markh <at> linuxfromscratch.org
BLFS Redaktør (Juli 2001–Mars 2003)

Jeg husker fortsatt hvordan jeg fant BLFS prosjektet og begynte å bruke instruksjonene som ble fullført på det tidspunktet. jeg kunne ikke tro hvor fantastisk det var å få en applikasjon opp og kjøre veldig raskt, med forklaringer på hvorfor ting ble gjort på en bestemt måte. Dessverre, for meg, tok det ikke lang tid før jeg åpnet applikasjoner som hadde ikke noe mer enn "To be done" på siden. Jeg gjorde det de fleste ville gjøre, Jeg ventet på at noen andre skulle gjøre det. Det tok ikke lang tid før jeg så gjennom Bugzilla for noe enkelt å gjøre. Som med enhver læringsopplevelse, endres definisjonen av hva som var lett å gjøre.

Vi oppfordrer deg fortsatt til å engasjere deg i BLFS siden den aldri egentlig er ferdig. Bidra eller bare bruke, vi håper du liker din BLFS opplevelse.

Larry Lawrence
larry <at> linuxfromscratch.org
BLFS Redaktør (Mars 2003–Juni 2004)

BLFS prosjektet er en naturlig progresjon av LFS. Til sammen gir disse prosjektene en unik ressurs for åpen kildekode fellesskapet. Det tar mysteriet ut av prosessen med å bygge et komplett, funksjonelt programvaresystem fra kildekoden bidratt av mange talentfulle individer over hele verden. Det tillater virkelig brukere å implementere slagordet «Din distro, dine regler.»

Målet vårt er å fortsette å tilby den beste tilgjengelige ressursen som viser hvordan du integrerer mange viktige Open Source applikasjoner. Siden disse applikasjoner oppdateres hele tiden og nye applikasjoner utvikles, denne boken vil aldri bli komplett. I tillegg er det alltid plass til forbedring i å forklare nyansene i hvordan du installerer de forskjellige pakker. For å gjøre disse forbedringene trenger vi tilbakemeldingen din. Jeg oppmuntrer deg til å delta på de forskjellige e-postlistene, nyhetsgruppene og IRC kanaler for å hjelpe deg med å nå disse målene.

Bruce Dubbs
bdubbs <at> linuxfromscratch.org
BLFS Redaktør (Juni 2004–Desember 2006 og Februar 2011–nå)

Min introduksjon til [B]LFS prosjektet var faktisk ved et uhell. Jeg prøvde å bygge et GNOME miljø ved bruk av noen fremgangsmåter og annen informasjon jeg fant på nettet. Et par ganger fikk jeg noen byggeproblemer, og google hentet opp noen gamle BLFS post liste meldinger. Av nysgjerrighet besøkte jeg Linux From Scratch nettstedet og kort tid etter ble han hektet. Jeg har ikke brukt noen annen Linux distribusjon til personlig bruk siden.

Jeg kan ikke love at noen vil føle den følelsen av tilfredshet jeg følte etter å ha bygget mine første systemer ved å bruke [B]LFS instruksjoner, men jeg håper inderlig at BLFS opplevelsen din er like givende for deg som den har vært for meg.

BLFS prosjektet har vokst betydelig de siste par årene. Det er flere pakkeinstruksjoner og relaterte avhengigheter enn noen gang før. Prosjektet krever dine innspill for fortsatt suksess. Hvis du oppdager at du liker å bygge BLFS, kan du vurdere å hjelpe til med måten du kan. BLFS krever hundrevis av timer med vedlikehold for å beholde den selv halvaktuell. Hvis du føler deg trygg nok på redigeringsferdighetene dine, vurder å bli med i BLFS teamet. Bare å bidra til utsendelseslistens diskusjoner med gode råd og/eller gi oppdateringer til bokens XML vil sannsynligvis føre til at du mottar en invitasjon til å bli med i teamet.

Randy McMurchy
randy <at> linuxfromscratch.org
BLFS Redaktør (Desember 2006–Januar 2011)

Forord

Denne versjonen av boken er ment å brukes når man bygger på toppen av et system bygget ved hjelp av LFS boken. Alt har blitt gjort for å sikre nøyaktigheten og påliteligheten til instruksjonene. Mange finner det å bruke instruksjonene i denne boken etter å ha bygget den nåværende stabile eller utviklingsversjon av LFS gir et stabilt og svært moderne Linux-system.

Kos deg!

Randy McMurchy
August 24th, 2008

Hvem Vil Lese denne Boken

Denne boken er hovedsakelig rettet mot de som har bygget et system basert på LFS boken. Det vil også være nyttig for de som bruker andre distribusjoner, og av en eller annen grunn ønsker å bygge programvare manuelt og trenger litt hjelp. Merk at materialet i denne boken, spesielt avhengighetsoppføringene, forutsetter at du bruker et grunnleggende LFS system med hver pakke som er oppført i LFS boken, allerede installert og konfigurert. BLFS kan brukes til å lage en rekke forskjellige systemer og slik er målgruppen sannsynligvis like bred som LFS boken. Hvis du fant LFS nyttig, burde du også like dette!

Siden utgivelse 7.4 har BLFS bokversjonen matchet LFS bokversjonen. Denne boken kan være inkompatibel med en tidligere eller senere utgivelse av LFS boken.

Organisering

Denne boken er delt inn i følgende fjorten deler.

Del I - Introduksjon

Denne delen inneholder viktig informasjon som er nødvendig for å forstå resten av boken.

Del II - Etter LFS Konfigurasjon og Ekstra Programvare

Her introduserer vi grunnleggende konfigurasjon og sikkerhetsproblemer. Vi diskutere også en rekke tekstredigerere, filsystemer og skall som ikke dekkes i hovedboken LFS.

Del III - Generelle Biblioteker og Verktøy

I denne delen dekker vi biblioteker som ofte er nødvendige gjennom boken, samt systemverktøy. Informasjon om programmering (inkludert rekompilering av GCC å støtte dens fulle rekke av språk) avslutter i denne delen.

Del IV - Grunnleggende Nettverk

Her forklarer vi hvordan du kobler til et nettverk når du ikke bruker enkelt statisk IP oppsett presentert i hovedboken LFS. Nettverksbiblioteker og kommandolinjenettverksverktøy er også dekket her.

Del V - Servere

Her viser vi deg hvordan du setter opp e-post og andre servere (som f.eks FTP, Apache, etc.).

Del VI - X + Vindusbehandlere

Denne delen forklarer hvordan du setter opp et grunnleggende X Window System, sammen med noe generiske X biblioteker og vindusbehandlere.

Del VII - KDE

Denne delen er for de som ønsker å bruke K Desktop Environment, eller deler av den.

Del VIII - GNOME

GNOME er hovedalternativet til KDE i Skrivebordsmiljø arenaen.

Del IX - Xfce

Xfce er et lettvektsalternativ til GNOME og KDE.

Del X - LXQt

LXDE er et annet lettvektsalternativ til GNOME og KDE.

Del XI - Mer X Programvare

Kontorprogrammer og grafiske nettlesere er viktige for de fleste. De, og noen generiske X programvarer, kan bli funnet i denne delen av boken.

Del XII - Multimedia

Her dekker vi multimediebiblioteker og drivere, sammen med noen lyd, video og CD skriveprogrammer.

Del XIII - Utskrift, Skanning og Setting (PST)

Denne delen dekker dokumenthåndtering, fra applikasjoner som Ghostscript, CUPS, og DocBook, hele veien til texlive.

Vedlegg

Vedleggene presenterer informasjon som ikke hører hjemme i hoveddelen av boken; de er inkludert som referansemateriale. Ordlisten over akronymer er en praktisk funksjon.

Del I. Introduksjon

Kapittel 1. Velkommen til BLFS

Boken Beyond Linux From Scratch er designet for å fortsette hvor LFS boka slutter. Men i motsetning til LFS boken, er den ikke laget for å følge rett igjennom. Lese Hvilke deler av boken? delen av dette kapittelet skal hjelpe deg med å veilede deg gjennom boken.

Les det meste av denne delen av boken nøye for den forklarer ganske mange av konvensjonene som brukes gjennom hele boken.

Hvilke Deler av Boken Vil Jeg Ha?

I motsetning til Linux From Scratch boken, er ikke BLFS laget for å bli fulgt på en lineær måte. LFS gir instruksjoner om hvordan lage et basissystem som kan bli hva som helst fra en webserver til et multimedia desktop system. BLFS forsøker å veilede deg i prosessen med å gå fra basissystemet til det tiltenkte systemets mål. Valg er veldig involvert.

Alle som leser denne boken vil ønske å lese visse deler. Introduksjon, som du leser nå, inneholder generisk informasjon. Legg spesielt merke til informasjonen i Kapittel 2, Viktig informasjon, da denne inneholder kommentarer om hvordan pakke ut programvare, problemer knyttet til bruken av forskjellige lokaliteter og diverse andre hensyn som gjør seg gjeldende gjennom hele boken.

Delen på Etter LFS Konfigurasjon og Ekstra Programvare er der de fleste vil ønske å gå til som neste lesing. Dette omhandler ikke bare konfigurasjon, men også sikkerhet (Kapittel 4, Sikkerhet), Filsystemer (Kapittel 5, Filsystemer og Diskbehandling -- inkludert GRUB for UEFI), Tekstredigerere (Kapittel 6, Redigeringsprogrammer), og Skall (Kapittel 7, Skall). Faktisk kan det være lurt å referere til noen deler av dette kapittelet (spesielt delene om Tekstredigerere og filsystemer) mens du bygger ditt LFS system.

Etter disse grunnleggende elementene vil de fleste i det minste ønske å surfe gjennom Generelle Biblioteker og Verktøy en del av boken. Dette inneholder informasjon om mange elementer som er forutsetninger for andre deler av boken, samt noen elementer (som f.eks Kapittel 13, Programmering) som er nyttige i seg selv. Du trenger ikke å installere alt av biblioteker og pakker som finnes i denne delen; Hver BLFS installasjonsprosedyre forteller deg hvilke andre pakker denne avhenger av. Du kan velge programmet du vil installere, og se hva den trenger. (Ikke glem å se etter nestede avhengigheter!)

På samme måte vil nok de fleste ønsker å se på Nettverk seksjon. Den omhandler tilkobling til Internett eller ditt LAN (Kapittel 14, Koble til et Nettverk) ved hjelp av en rekke metoder som DHCP og PPP, og med elementer som nettverksbiblioteker (Kapittel 17, Nettverksbiblioteker), pluss diverse grunnleggende nettverksprogrammer og nettverksverktøy.

Når du har behandlet dette grunnleggende, kan det være lurt å konfigurere mer avanserte nettverkstjenester. Disse er behandlet i Servere delen av boken. De som ønsker å bygge servere burde finne et godt utgangspunkt der. Merk at denne delen inneholder også informasjon om flere databasepakker.

De neste tolv kapitlene omhandler skrivebordssystemer. Denne delen av boken starter med en del som snakker om Grafiske Komponenter. Denne delen omhandler også noen generiske X-baserte biblioteker (Kapittel 25, Grafiske Miljøbiblioteker). Etter det, KDE, GNOME, Xfce, og LXQt får sine egne deler, etterfulgt av en om X Programvare.

Boken går så videre til å behandle Multimedia pakker. Merk at mange kanskje vil bruke ALSA instruksjoner fra dette kapittelet første gang de starter BLFS reisen; instruksjonene er plassert her fordi det er det mest logiske plassen for dem.

Den siste delen av BLFS hovedboken omhandler Utskrift, Skanning og Skriftsetting. Dette er nyttig for de fleste med skrivebordssystemer, men selv de som lager dedikerte serversystemer kan finne det nyttig.

Vi håper du liker å bruke BLFS. Måtte du realisere drømmen din om å bygge det perfekt tilpassede Linux systemet!

Konvensjoner som Brukes i denne Boken

Typografiske konvensjoner

For å gjøre ting enkelt å følge, brukes en rekke konvensjoner gjennom hele boka. Her er noen eksempler:

./configure --prefix=/usr

Denne formen for tekst skal skrives nøyaktig som vist med mindre ellers notert i den omkringliggende teksten. Det brukes også til å identifisere referanser til spesifikke kommandoer.

install-info: unknown option
`--dir-file=/mnt/lfs/usr/info/dir'

Denne teksttypen (blå, skrift med fast bredde) viser skjermutdata, sannsynligvis resultatet av å utstede en kommando.

/boot/grub/grub.conf

Denne tekstformen (skrift med fast bredde) brukes til å vise filnavn.

Notat

Vennligst konfigurer nettleseren din til å vise tekst med fast bredde en god monospace font, som du kan skille glyphene til Il1 eller O0 helt klart.

Uthevet

Denne formen for tekst brukes til flere formål, men hovedsakelig for å understreke viktige poenger, eller for å gi eksempler på hva du skal skrive.

https://www.https://www.lfs.freding.no//

Denne formen for tekst brukes for hypertekstlenker eksternt til boken, for eksempel veiledninger, nedlastingssteder, nettsteder osv.

seamonkey-2.53.23

Denne tekstformen brukes for lenker internt til boken, for eksempel en annen del som beskriver en annen pakke.

cat > $LFS/etc/group << "EOF"
root:x:0:
bin:x:1:
......
EOF

Denne stilen brukes hovedsakelig når du oppretter konfigurasjonsfiler. Den første kommandoen (i fet skrift) forteller systemet om å opprette filen $LFS/etc/group fra det som er skrevet på følgende linjer, inntil sekvensen EOF påtreffes. Derfor skrives vanligvis hele denne delen nøyaktig som vist. Husk at kopier og lim er din venn!

<REPLACED TEXT>

Denne formen for tekst brukes til å kapsle inn tekst som burde være endret, og skal ikke skrives inn som vist, eller kopieres og limes inn. Vinkelparentesene er ikke en del av den bokstavelige teksten; de er en del av substitusjon.

root

Denne formen for tekst brukes til å vise en spesifikk systembruker eller gruppe referanse i instruksjonene.

 

Konvensjoner som Brukes for Pakkeavhengigheter

Når nye pakker opprettes, er programvarens forfattere avhengig av tidligere arbeid. For å bygge en pakke i BLFS, må disse avhengighetene bygges før ønsket pakke kan kompileres. For hver pakke er forutsetninger oppført i en eller flere separate seksjoner: Påkrevd, Anbefalt, og Valgfri.

Påkrevde Avhengigheter

Disse avhengighetene er det minste nødvendig for å bygge pakken. Pakker i LFS, og de nødvendige avhengigheter av disse nødvendige pakkene, er utelatt fra denne listen. Husk alltid å se etter nestede avhengigheter. Hvis en avhengighet sies å være «kjøretid,» da er den ikke nødvendig for å bygge pakken, men bare for å bruke den etter installasjon.

Anbefalte Avhengigheter

Dette er avhengigheter BLFS-redaktørene har bestemt er viktige for å gi pakken rimelige muligheter. Hvis en anbefalt avhengighet sies ikke å være «kjøretid,» pakke installasjonsinstruksjonene forutsetter at den er installert. Hvis den ikke er installert, kan instruksjonene kreve endringer, for å imøtekomme den manglende pakken. En anbefalt «kjøretid» avhengighet trenger ikke å være installert før du bygger pakken, men må bygges i etterkant for å kjøre pakken med rimelig evner.

Valgfrie Avhengigheter

Dette er avhengigheter pakken kan bruke. Integrering av valgfrie avhengigheter kan være automatiske av pakken, eller ytterligere trinn som ikke presenteres av BLFS kan være nødvendig. Valgfrie avhengigheter er noen ganger oppført uten eksplisitte BLFS- nstruksjoner. I dette tilfellet må du bestemme hvordan du skal utføre installasjonen selv.

 

Konvensjoner som Brukes for Kjernekonfigurasjonsalternativer

Noen pakker krever spesifikke kjernekonfigurasjonsalternativer. Den generelle layouten for disse ser slik ut:

Master section --->
  Subsection --->
    [*]     Required parameter                                        [REQU_PAR]
    <*>     Required parameter (not as module)                   [REQU_PAR_NMOD]
    <*/M>   Required parameter (could be a module)                [REQU_PAR_MOD]
    <M>     Required parameter (as a module)                 [REQU_PAR_MOD_ONLY]
    < /*/M> Optional parameter                                         [OPT_PAR]
    < /M>   Optional parameter (as a module if enabled)       [OPT_PAR_MOD_ONLY]
    [ ]     Incompatible parameter                                  [INCOMP_PAR]
    < >     Incompatible parameter (even as module)             [INCOMP_PAR_MOD]

[...] til høyre gir navnet på alternativet, slik at du kan enkelt sjekke om det er satt i din .config fil. Merk at .config filen inneholder et CONFIG_ prefiks foran alle symbolske navn. Betydningen av de ulike oppføringene er:

Master section menyelement på øverste nivå
Subsection undermenyelement
Required parameter alternativet kan enten være innebygd eller ikke valgt: det må være valgt
Required parameter (not as module) alternativet kan være innebygd, en modul eller ikke valgt (tri-state): den må velges som innebygd
Required parameter (could be a module) alternativet kan være innebygd, en modul eller ikke valgt: den må velges, enten som innebygd eller som modul
Required parameter (as a module) alternativet kan være innebygd, en modul eller ikke valgt: den må velges som en modul; velge den som innebygd kan forårsake uønskede effekter
Optional parameter alternativet kan være innebygd, en modul eller ikke valgt: den kan velges som en modul eller innebygd hvis du trenger det for å drive maskinvaren eller valgfrie kjernefunksjoner
Optional parameter (as a module if enabled) alternativet kan være innebygd, en modul eller ikke valgt: det kan velges som en modul hvis du trenger det for å drive maskinvaren eller valgfrie kjernefunksjoner, men å velge den som innebygd kan forårsake uønskede effekter
Incompatible parameter alternativet kan enten være innebygd eller ikke valgt: det må ikke bli valgt
Incompatible parameter (even as module) alternativet kan være innebygd, en modul eller ikke valgt: det må ikke bli valgt

Merk at, avhengig av andre valg, vinkelparentesene (<>) i konfigurasjonsmenyen kan vises som klammeparenteser ({}) hvis alternativet ikke kan fjernes, eller til og med som bindestreker (-*- or -M-), når valget er pålagt. Hjelpeteksten som beskriver alternativet spesifiserer de andre valgene som dette alternativet avhenger av, og hvordan de andre valgene er satt.

Bokstaven i blå er hurtigtasten for dette alternativet. Hvis du kjører make menuconfig, kan du trykke på en tast for å raskt gå gjennom alle alternativene med denne tasten som hurtigtast på skjermen.

 

SBU verdier i BLFS

Som i LFS, har hver pakke i BLFS en byggetid oppført i Standard Bygge enheter (SBUs). Disse tidene er i forhold til tiden det tok å bygge binutils i LFS, og er ment å gi litt innsikt i hvor lang tid det vil ta å bygge en pakke. De fleste tidene som er oppført er for en enkelt prosessor eller kjerne for å bygge pakken. I noen tilfeller store, langvarige bygg testet på flerkjernesystemer har SBU tider oppført med kommentarer som f.eks som '(parallelisme=4)'. Disse verdiene indikerer at testing ble utført ved hjelp av flere kjerner. Vær oppmerksom på at mens dette øker hastigheten på byggimng på systemer med den riktige maskinvaren, er speedupen ikke lineær og til en viss grad avhenger av den individuelle pakken og den spesifikke maskinvaren som brukes.

For pakker som bruker ninja (dvs. alt som bruker meson) eller rust, som standard brukes alle kjerner; lignende kommentarer vil bli sett på slike pakker selv når byggetiden er minimal.

Hvor selv en parallell bygging tar mer enn 15 SBU, på visse maskiner kan tiden være betydelig lengre selv når maskinen ikke bruker vekselminne. Spesielt vil forskjellige mikroarkitekturer bygge noen filer med forskjellige relative hastigheter, og dette kan introdusere forsinkelser når visse gjør at mål venter på at en annen fil blir opprettet. Hvor en stor build bruker mange C++ filer, prosessorer med simultan multithreading vil dele flytepunktsenheten og kan ta 45 % lengre tid enn ved å bruke fire 'prime' kjerner (målt på en intel i7 ved å bruke oppgavesett og holde andre kjerner inaktiv).

Noen pakker støtter ikke parallellbygg; for disse make kommandoen må spesifisere -j1. Pakker som er kjent for å pålegge slike grenser er markert i teksten.

Bokversjon

Dette er BLFS-BOK versjon r12.4-1462 datert 14. februar 2026. Dette er svn gren av BLFS boken, for øyeblikket rettet mot LFS development boken. For utviklingsversjoner, hvis denne versjonen er eldre enn en måned, er det sannsynlig at speilet ditt ikke har blitt synkronisert nylig og en nyere versjon er sannsynligvis tilgjengelig for nedlasting eller visning. Sjekk en av speilsider på https://www.linuxfromscratch.org/mirrors.html for en oppdatert versjon.

Speilsider

BLFS prosjektet har en rekke speil satt opp over hele verden for å gjøre det enklere og mer praktisk for deg å få tilgang til nettstedet. Vennligst besøk https://www.linuxfromscratch.org/mirrors.html nettstedet for en liste over gjeldende speil.

Få Tak i kildepakkene

Innenfor BLFS instruksjonene har hver pakke to referanser for å finne kildefilene for pakken—en HTTP kobling og en FTP kobling (noen pakker kan bare vise en av disse koblingene). Alle anstrengelser er gjort for å sikre at disse koblingene er nøyaktige. Imidlertid er World Wide Web i kontinuerlig forandring. Noen ganger flyttes eller oppdateres pakker og den eksakte URLen spesifisert er ikke alltid tilgjengelig.

For å overvinne dette problemet, BLFS teamet, med hjelp fra Oregon State University Open Source Lab, har gjort en HTTP/FTP side tilgjengelig gjennom verdensomspennende speil. Se https://www.linuxfromscratch.org/blfs/download.html#sources for en liste. Disse nettstedene har alle kildene til de eksakte versjonene av pakkene brukt i BLFS. Hvis du ikke finner BLFS pakken du trenger på referanse adressene, få det fra disse nettstedene.

Vi ønsker imidlertid å be om en tjeneste. Selv om dette er en offentlig ressurs du kan bruke, ikke misbruk den. Vi har allerede hatt en tankeløs individuell nedlasting over 3 GB med data, inkludert flere kopier av de samme filene som er plassert på forskjellige steder (via symbolkoblinger) for å lettere å finne riktig pakke. Denne personen visste tydeligvis ikke hvilke filer han trengte og lastet ned alt. Det beste stedet å laste ned filer er nettstedet eller nettstedene som er satt opp av kildekodeutvikleren. Vennligst prøv der først.

Endringslogg

Nåværende utgivelse: r12.4-1462 – 14. februar 2026

Endringsloggoppføringer:

  • 14. februar 2026

    • [renodr] - Oppdatering til librsvg-2.61.4 (Sikkerhetsoppdatering). Fikser #22808.

    • [renodr] - Oppdatering til glib-2.86.4 (Sikkerhetsoppdatering). Fikser #22806.

    • [renodr] - Oppdater flere Perl avhengigheter, inkludert Business-ISBN-Data-20260203.001, DateTime-Format-Strptime-1.80, DateTime-TimeZone-2.66, Exporter-Tiny-1.006003, HTTP-Message-7.01, Net-HTTP-6.24, Specio-0.53, Sub-Quote-2.006009, Term-Table-0.028, Test-Fatal-0.018, Test-Simple-1.302219, og Tie-Cycle-1.233. Fikser #22800.

    • [renodr] - Oppdater flere Python avhengigheter, inkludert certifi-2026.1.4, pyproject_metadata-0.11.0, urllib3-2.6.3, og uv_build-0.10.2. urllib3 er en sikkerhetsoppdatering. Fikser #22799.

    • [renodr] - Oppdatering til vim-9.1.2144 (Sikkerhetsoppdatering). Fikser #22803.

    • [renodr] - Oppdatering til ImageMagick-7.1.2-13 (Sikkerhetsoppdatering). Fikser #22802.

    • [renodr] - Oppdatering til cdrdao-1.2.6. Fikser #22797.

  • 13. februar 2026

    • [zeckma] - Oppdatering til mesa-25.3.5. Fikser #22536.

    • [renodr] - Oppdatering til postgresql-18.2 (Sikkerhetsoppdatering). Fikser #22794.

    • [renodr] - Oppdatering til luajit-20260213. Fikser #22801.

    • [renodr] - Oppdatering til rustc-1.93.1. Fikser #22792.

    • [jlocash] - Oppdatering til unrar-7.2.4. Fikser #22798.

    • [jlocash] - Oppdatering til libplacebo-7.360.0. Fikser #22796.

    • [jlocash] - Oppdatering til libinput-1.31.0 (Xorg driver). Fikser #22795.

    • [jlocash] - Oppdatering til NetworkManager-1.56.0. Fikser #22793.

    • [jlocash] - Oppdatering til 7zip-26.00. Fikser #22791.

    • [jlocash] - Oppdatering til qemu-10.2.1. Fikser #22790.

  • 12. februar 2026

    • [jlocash] - Oppdatering til libuv-1.52.0. Fikser #22789.

    • [jlocash] - Oppdatering til abseil-cpp-20260107.1. Fikser #22788.

  • 11. februar 2026

    • [renodr] - Oppdatering til mutter-49.4. Fikser #22785.

    • [renodr] - Oppdatering til gnome-shell-49.4. Fikser #22784.

    • [renodr] - Oppdatering til gnome-desktop-44.5. Fikser #22773.

    • [renodr] - Oppdatering til webkitgtk-2.50.5. Fikser #22777.

    • [bdubbs] - Oppdatering til upower-v1.91.1. Fikser #22787.

    • [bdubbs] - Oppdatering til gnumeric-1.12.60. Fikser #22786.

    • [bdubbs] - Oppdatering til goffice-0.10.60. Fikser #22783.

    • [renodr] - Oppdatering til mercurial-7.2. Fikser #22722.

    • [renodr] - Oppdatering til intel-microcode-20260210 (Sikkerhetsoppdatering). Fikser #22779.

    • [renodr] - Oppdatering til libjxl-0.11.2 (Sikkerhetsoppdatering). Fikser #22781.

  • 10. februar 2026

    • [xry111] - Oppdatering til glycin-2.0.8. Fikser #22780.

    • [jlocash] - Oppdatering til sbc-2.2. Fikser #22778.

    • [jlocash] - Fiks bygging av vlc-3.0.23 med gst-plugins-base-1.28.0. Fikser #22767.

  • 9. februar 2026

    • [jlocash] - Oppdatering til libpng-1.6.55 (Sikkerhetsoppdatering). Fikser #22776.

    • [jlocash] - Oppdatering til markdown-3.10.2. Adresserer #18562.

    • [jlocash] - Oppdatering til gnutls-3.8.12 (Sikkerhetsoppdatering). Fikser #22775.

    • [jlocash] - Oppdatering til bluez-5.86. Fikser #22772.

    • [bdubbs] - Oppdatering til mariadb-11.8.6. Fikser #22766.

  • 8. februar 2026

    • [bdubbs] - Oppdatering til shadow-4.19.3. Fikser #22742.

    • [bdubbs] - Oppdatering til Python-3.14.3 (Sikkerhetsoppdatering). Fikser #22754.

    • [jlocash] - Oppdatering til libfontenc-1.1.9 (Xorg bibliotek). Fikser #22770.

    • [jlocash] - Oppdatering til libX11-1.8.13 (Xorg bibliotek). Fikser #22769.

    • [jlocash] - Oppdatering til font-alias-1.0.6 (Xorg font). Fikser #22768.

    • [renodr] - Oppdatering til p11-kit-0.26.2 (Sikkerhetsoppdatering). Fikser #22763.

    • [renodr] - Oppdatering til hwdata-0.404. Fikser #22764.

  • 6. februar 2026

    • [bdubbs] - Oppdatering til gc-8.2.12. Fikser #22761.

    • [bdubbs] - Oppdatering til sdl2-compat-2.32.64. Fikser #22760.

    • [bdubbs] - Oppdatering til poppler-26.02.0. Fikser #22757.

    • [bdubbs] - Oppdatering til nano-8.7.1. Fikser #22756.

    • [bdubbs] - Oppdatering til dash-0.5.13.1. Fikser #22755.

  • 5. februar 2026

    • [renodr] - Oppdatering til gnome-online-accounts-3.56.4. Fikser #22758.

    • [renodr] - Oppdatering til asymptote-3.06. Fikser #22749.

    • [renodr] - Oppdatering til evolution-3.58.3. Fikser #22736.

    • [renodr] - Oppdatering til evolution-data-server-3.58.3. Fikser #22736.

    • [renodr] - Oppdatering til gnome-user-docs-49.4. Fikser #22735.

    • [renodr] - Oppdatering til gucharmap-17.0.1. Fikser #22729.

    • [renodr] - Oppdatering til gnome-terminal-3.58.1. Fikser #22728.

    • [renodr] - Oppdatering til gnome-maps-49.4. Fikser #22715.

    • [renodr] - Oppdatering til gnome-control-center-49.4. Fikser #22698.

    • [renodr] - Oppdatering til samba-4.23.5. Fikser #22681.

    • [renodr] - Oppdatering til mutter-49.3. Fikser #22673.

    • [renodr] - Oppdatering til gnome-shell-49.3. Fikser #22672.

    • [renodr] - Oppdatering til bind-9.20.18 (Sikkerhetsoppdatering). Fikser #22671.

  • 4. februar 2026

    • [zeckma] - Oppdatering til thunderbird-140.7.1esr (Sikkerhetsoppdatering). Fikser #22717.

    • [jlocash] - Oppdatering til libxmlb-0.3.25. Fikser #22753.

    • [jlocash] - Oppdatering til libwacom-2.18.0. Fikser #22752.

    • [jlocash] - Oppdatering til libfyaml-0.9.4. Fikser #22751.

    • [jlocash] - Oppdatering til fast_float-8.2.3. Fikser #22750.

    • [jlocash] - Oppdatering til libadwaita-1.8.4. Fikser #22748.

    • [jlocash] - Oppdatering til nfs-utils-2.8.5. Fikser #22747.

    • [bdubbs] - Oppdatering til Vulkan-Headers og Vulkan-Loader 1.4.341.0. Fikser #22746.

    • [bdubbs] - Oppdatering til SPIRV-LLVM-Translator-21.1.4. Fikser #22738.

    • [bdubbs] - Oppdatering til SPIRV-Headers og SPIRV-Tools 1.4.341.0. Fikser #22744.

    • [bdubbs] - Oppdatering til git-2.53.0. Fikser #22745.

    • [bdubbs] - Oppdatering til bluefish-2.4.0. Fikser #22743.

    • [bdubbs] - Oppdatering til openldap-2.6.12. Fikser #22723.

    • [bdubbs] - Oppdatering til qt6-6.10.2 og qtwebengine-6.10.2 (Sikkerhetsoppdatering). Fikser #18713.

  • 2. februar 2026

    • [bdubbs] - Oppdatering til cargo-c-0.10.20. Fikser #18690.

    • [bdubbs] - Oppdatering til tigervnc-1.16.0. Fikser #18704.

  • 1. februar 2026

    • [jlocash] - Oppdatering til babel-2.18.0. Adresserer #18562.

    • [jlocash] - Oppdatering til gvfs-1.58.1. Fikser #22740.

    • [jlocash] - Oppdatering til numpy-2.4.2 (Python modul). Fikser #22739.

    • [jlocash] - Oppdatering til unix-tree-2.3.1. Fikser #22733.

  • 31. januar 2026

    • [bdubbs] - Oppdatering til graphviz-14.1.2. Fikser #22689.

    • [bdubbs] - Oppdatering til rustc-1.93.0. Fikser #22677.

    • [jlocash] - Oppdatering til python-dbusmock-0.38.1 (Python modul). Fikser #22734.

    • [jlocash] - Oppdatering til unix-tree-2.3.0. Fikser #22733.

    • [jlocash] - Oppdatering til dos2unix-7.5.4. Fikser #22732.

  • 30. januar 2026

    • [jlocash] - Oppdatering til krb5-1.22.2. Fikser #22718.

    • [jlocash] - Oppdater gstreamer stakken til 1.28.0. Fikser #22706.

    • [jlocash] - Oppdatering til lxqt-config-2.3.1. Fikser #22725.

    • [bdubbs] - Fikse mariadb konfigurasjonen. Fikser #22700.

    • [bdubbs] - Oppdatering til gimp-help-3.0.2. Fikser #22692.

    • [jlocash] - Oppdatering til FreeRDP-3.22.0 (Sikkerhetsoppdatering). Fikser #22730.

    • [jlocash] - Oppdatering til LMDB_0.9.35. Fikser #22727.

    • [jlocash] - Oppdatering til libXmu-1.3.1 (Xorg bibliotek). Fikser #22726.

    • [jlocash] - Oppdatering til gdk-pixbuf-2.44.5. Fikser #22724.

    • [jlocash] - Oppdatering til cssselect-1.4.0 (Python modul). Fikser #22721.

    • [jlocash] - Oppdatering til protobuf-33.5. Fikser #22720.

    • [jlocash] - Oppdatering til libgcrypt-1.12.0. Fikser #22719.

  • 29. januar 2026

    • [jlocash] - Oppdatering til SVT-AV1-4.0.1. Fikser #22716.

    • [jlocash] - Oppdatering til libshumate-1.5.3. Fikser #22714.

    • [jlocash] - Oppdatering til psutil-7.2.2(Python modul). Fikser #22712.

    • [jlocash] - Oppdatering til babl-0.1.122. Fikser #22711.

    • [jlocash] - Oppdatering til aspell-0.60.8.2. Fikser #22710.

    • [jlocash] - Oppdatering til AppStream-1.1.2. Fikser #22709.

  • 28. januar 2026

    • [bdubbbs] - Oppdatering til shadow-4.19.2. Fikser #22663.

    • [bdubbbs] - Oppdatering til grub-2.14. Fikser #22650.

    • [jlocash] - Oppdatering til libvpx-1.16.0. Fikser #22707.

    • [jlocash] - Oppdatering til mutt-2.3.0. Fikser #22708.

    • [jlocash] - Oppdatering til transmission-4.1.0. Fikser #22705.

    • [jlocash] - Oppdatering til cmake-4.2.3. Fikser #22703.

    • [jlocash] - Oppdatering til gnupg-2.5.17 (Sikkerhetsoppdatering). Fikser #22702.

    • [jlocash] - Oppdatering til cryptsetup-2.8.4. Fikser #22701.

  • 27. januar 2026

    • [jlocash] - Oppdatering til LMDB-0.9.34. Fikser #22697.

    • [jlocash] - Oppdatering til gparted-1.8.0. Fikser #22699.

    • [jlocash] - Oppdatering til userspace-rcu(liburcu)-0.15.6. Fikser #22696.

    • [jlocash] - Oppdatering til xorg biblioteker: libXcomposite-0.4.7, libXdamage-1.1.7, libXext-1.3.7, libXinerama-1.1.6, libXpm-3.5.18, libXrandr-1.5.5, libXvMC-1.0.15, libXxf86dga-1.1.7, libXxf86vm-1.1.7, libxkbfile-1.2.0. Fikser #22695.

    • [jlocash] - Oppdatering til xkill-1.0.7 (Xorg app). Fikser #22694.

    • [xry111] - Oppdatering til markdown-3.10.1, pathspec-1.0.4, og pyproject-metadata-0.10.0 (Python avhengigheter). Adresserer #18562.

  • 26. januar 2026

    • [bdubbs] - Oppdatering til SVT-AV1-v4.0.0. Fikser #22678.

    • [bdubbs] - Oppdatering til Linux-PAM-1.7.2. Fikser #22675.

  • 25. januar 2026

    • [jlocash] - Oppdatering til libXmu-1.3.0 (Xorg bibliotek). Fikser #22691.

    • [jlocash] - Oppdatering til qpdf-12.3.2. Fikser #22688.

    • [jlocash] - Oppdatering til harfbuzz-12.3.2. Fikser #22687.

    • [jlocash] - Oppdatering til jansson-2.15.0. Fikser #22686.

  • 24. januar 2026

    • [jlocash] - Oppdatering til gi_docgen-2026.1 (Python modul). Fikser #22684.

    • [jlocash] - Oppdatering til shaderc-2026.1 (glslc). Fikser #22680.

    • [jlocash] - Oppdatering til glslang-16.2.0. Fikser #22683.

    • [jlocash] - Oppdatering til glew-2.3.1. Fikser #22682.

  • 23. januar 2026

    • [jlocash] - Oppdatering til cmake-4.2.2. Fikser #22676.

    • [jlocash] - Oppdatering til thunar-4.20.7. Fikser #22674.

  • 22. januar 2026

    • [jlocash] - Oppdatering til pyparsing-3.3.2 (Python modul). Fikser #22670.

  • 21. januar 2026

    • [renodr] - Oppdatering til nautilus-49.3. Fikser #22656.

    • [renodr] - Oppdatering til maturin-1.11.5 (Python Modul). Fikser #22616.

    • [renodr] - Oppdatering til gnome-control-center-49.3. Fikser #22615.

    • [jlocash] - Oppdatering til harfbuzz-12.3.1. Fikser #22668.

    • [jlocash] - Oppdatering til talloc-2.4.4. Fikser #22667.

  • 20. januar 2026

    • [bdubbs] - Oppdatering til FreeRDP-3.21.0 (Sikkerhetsoppdatering). Fikser #22666.

    • [bdubbs] - Oppdatering til qpdf-12.3.1. Fikser #22665.

    • [bdubbs] - Oppdatering til libqalculate-5.9.0. Fikser #22664.

    • [bdubbs] - Oppdatering til p11-kit-0.26.1. Fikser #22662.

  • 19. januar 2026

    • [jlocash] - Oppdatering til pathspec-1.0.3, trove-classifiers-2026.1.14.14, hatchling-1.28.0, roman-numerals-4.1.0, og meson_python-0.19.0 (Python modul avhengigheter). Fikser #22661.

    • [bdubbs] - Oppdatering til pyatspi-2.58.1 (Python modul). Fikser #22653.

    • [bdubbs] - Oppdatering til simdutf-8.0.0. Fikser #22640.

    • [bdubbs] - Oppdatering til libgsf-1.14.55. Fikser #22639.

  • 17. januar 2026

    • [bdubbs] - Oppdatering til php-8.5.2. Fikser #22652.

    • [bdubbs] - Oppdatering til LibRaw-0.22.0. Fikser #22641.

    • [bdubbs] - Oppdatering til sphinx_rtd_theme-3.1.0 (Python modul). Fikser #22637.

    • [jlocash] - Oppdatering til Net-DNS-1.54 (Perl modul). Fikser #22659.

    • [jlocash] - Oppdatering til pipewire-1.4.10. Fikser #22660.

    • [jlocash] - Oppdatering til libheif-1.21.2. Fikser #22658.

    • [jlocash] - Oppdatering til p11-kit-0.26.0. Fikser #22657.

  • 16. januar 2026

    • [jlocash] - Oppdatering til opus-1.6.1. Fikser #22655.

    • [jlocash] - Oppdatering til xscreensaver-6.14. Fikser #22654.

    • [jlocash] - Oppdatering til babl-0.1.120. Fikser #22651.

  • 15. januar 2026

    • [jlocash] - Oppdatering til FreeRDP-3.20.2. Fikser #22649.

    • [jlocash] - Oppdatering til wireshark-4.6.3. Fikser #22648.

    • [jlocash] - Oppdatering til libfyaml-0.9.3. Fikser #22647.

  • 14. januar 2026

    • [zeckma] - Oppdatering til libpng-1.6.54 (Sikkerhetsoppdatering). Fikser #22489.

    • [zeckma] - Oppdatering til seamonkey-2.53.23 (Sikkerhetsoppdatering). Fikser #22589.

    • [zeckma] - Oppdatering til thunderbird-140.7.0esr (Sikkerhetsoppdatering). Fikser #22646.

    • [zeckma] - Oppdatering til firefox og spidermonkey 140.7.0esr (Sikkerhetsoppdatering). Fikser #22635.

    • [zeckma] - Oppdatering til node.js-22.22.0 (Sikkerhetsoppdatering). Fikser #22634.

    • [jlocash] - Oppdatering til alsa-lib alsa-ucm-conf 1.2.15.3. Fikser #22645.

    • [jlocash] - Oppdatering til ruby-4.0.1. Fikser #22642.

    • [jlocash] - Oppdatering til protobuf-33.4. Fikser #22636.

  • 12. januar 2026

    • [bdubbs] - Oppdatering til doxygen-1.16.1. Fikser #22634.

  • 10. januar 2026

    • [bdubbs] - Oppdatering til qpdf-12.3.0. Fikser #22632.

    • [bdubbs] - Oppdatering til numpy-2.4.1 (Python modul). Fikser #22633.

    • [bdubbs] - Oppdatering til build-1.4.0 (Python modul). Fikser #22624.

    • [jlocash] - Oppdatering til libnotify-0.8.8. Fikser #22631.

    • [jlocash] - Oppdatering til lcms2-2.18. Fikser #22630.

    • [jlocash] - Oppdatering til protobuf-33.3. Fikser #22629.

    • [jlocash] - Oppdatering til ed-1.22.4. Fikser #22628.

    • [jlocash] - Oppdatering til alsa-lib alsa-ucm-conf alsa-utils 1.2.15.2. Fikser #22625.

    • [jlocash] - Oppdatering til nss-3.120. Fikser #22626.

    • [jlocash] - Oppdatering til icu4c-78.2. Fikser #22623.

    • [jlocash] - Oppdatering til abseil-cpp-20260107.0. Fikser #22622.

  • 8. januar 2026

    • [bdubbs] - Oppdatering til libjpeg-turbo-3.1.3. Fikser #22621.

    • [bdubbs] - Oppdatering til libtasn1-4.21.0 (Sikkerhetsoppdatering). Fikser #22620.

    • [bdubbs] - Oppdatering til curl-8.18.0 (Sikkerhetsoppdatering). Fikser #22618.

    • [bdubbs] - Oppdatering til poppler-26.01.0. Fikser #22617.

    • [renodr] - Oppdater KF6 og Plasma kpmponenter i LXQt til KF6-6.20.0 og Plasma-6.5.2. Fikser #22394.

  • 7. januar 2026

    • [renodr] - Oppdatering til OpenJDK-21.0.9+10. Merk at dette er en nedgradering fordi 25.x for øyeblikket ikke er kompatibel med Apache fop på grunn av en regresjon i JDK. Dette er en sikkerhetsoppdatering. Fikser #22347.

    • [renodr] - Oppdatering til boost-1.90.0. Fikser #22514.

  • 6. januar 2026

    • [jlocash] - Oppdatering til doxygen-1.16.0. Fikser #22614.

    • [jlocash] - Oppdatering til hwdata-0.403. Fikser #22613.

    • [jlocash] - Oppdatering til libarchive-3.8.5. Fikser #22612.

  • 5. januar 2026

    • [renodr] - Oppdatering til libshumate-1.5.2. Fikser #22606.

    • [renodr] - Oppdatering til vte-0.82.3. Fikser #22605.

    • [renodr] - Oppdatering til gnome-online-accounts-3.56.3. Fikser #22604.

    • [renodr] - Oppdatering til libadwaita-1.8.3. Fikser #22603.

    • [renodr] - Oppdatering til loupe-49.2. Fikser #22596.

    • [renodr] - Oppdatering til dav1d-1.5.3. Fikser #22591.

    • [renodr] - Oppdatering til opencv-4.13.0. Fikser #22583.

    • [renodr] - Oppdater versjonen av maven binærfilen som brukes når du bygger fop til 3.9.12.

    • [bdubbs] - Oppdatering til mlt-7.36.1. Fikser #22341.

    • [bdubbs] - Oppdatering til cython-3.2.4 (Python modul). Fikser #22608.

    • [bdubbs] - Oppdatering til IO-Socket-SSL-2.098 (Perl Modul). Fikser #22607.

  • 4. januar 2026

    • [jlocash] - Oppdatering til imlib2-1.12.6. Fikser #22602.

    • [jlocash] - Oppdatering til at-spi2-core-2.58.3. Fikser #22601.

    • [jlocash] - Oppdatering til libmbim-1.34.0. Fikser #22600.

  • 3. januar 2026

    • [bdubbs] - Oppdatering til iso-codes-4.20.1. Fikser #22598.

  • 2. januar 2026

    • [bdubbs] - Oppdatering til icewm-4.0.0. Fikser #22595.

    • [bdubbs] - Oppdatering til libqmi-1.38.0. Fikser #22594.

    • [bdubbs] - Oppdatering til sdl2-compat-2.32.62. Fikser #22597.

    • [bdubbs] - Oppdatering til SDL3-3.4.0. Fikser #22590.

    • [bdubbs] - Oppdatering til sphinx-9.1.0 (Python modul). Fikser #22587.

    • [bdubbs] - Oppdatering til shadow-4.19.0. Fikser #22581.

    • [bdubbs] - Oppdatering til gnupg-2.5.16. Fikser #22580.

    • [bdubbs] - Oppdatering til xfsprogs-6.18.0. Fikser #22582.

    • [bdubbs] - Oppdatering til vim-9.1.2031. Fikser #22585.

    • [bdubbs] - Oppdatering til glm-1.0.3. Fikser #22586.

  • 1. januar 2026

    • [jlocash] - Oppdatering til vlc-3.0.23 (Sikkerhetsoppdatering). Delvis fikser #22468.

  • 31. desember 2025

    • [renodr] - Oppdatering til xauth-1.1.5 (Xorg App). Fikser #22588.

    • [renodr] - Oppdatering til libheif-1.21.1 (Sikkerhetsoppdatering). Fikser #22575.

    • [renodr] - Bruk en alternativ metode for å forhindre installasjon av de statiske bibliotekene i libaom. Dette tillater at den nye versjonen av libheif kan bygges.

    • [renodr] - Oppdatering til libpcap-1.10.6 (Sikkerhetsoppdatering). Fikser #22584.

    • [renodr] - Oppdatering til libfyaml-0.9.2. Fikser #22752.

    • [renodr] - Oppdatering til gnome-maps-49.3. Fikser #22555.

    • [renodr] - Oppdatering til librest-0.10.2, erstatter rest-0.9.1. Fikser #22539.

    • [renodr] - Oppdatering til samba-4.23.4. Fikser #22521.

  • 30. desember 2025

    • [jlocash] - Oppdatering til cifs-utils-7.5. Fikser #22579.

    • [jlocash] - Oppdatering til liblinear-250. Fikser #22574.

    • [bdubbs] - Oppdatering til xfce4-settings-4.20.3. Fikser #22578.

    • [bdubbs] - Oppdatering til xfce4-panel-4.20.6. Fikser #22577.

    • [bdubbs] - Oppdatering til libxfce4windowing-4.20.5. Fikser #22576.

  • 29. desember 2025

    • [bdubbs] - Oppdatering til utfcpp-4.0.9. Fikser #22573.

  • 28. desember 2025

    • [bdubbs] - Oppdatering til ruby-4.0.0. Fikser #22567.

    • [bdubbs] - Oppdatering til harfbuzz-12.3.0. Fikser #22570.

    • [bdubbs] - Oppdatering til fast_float-8.2.2. Fikser #22569.

    • [bdubbs] - Oppdatering til lxqt-notificationd-2.3.1. Fikser #22481.

    • [bdubbs] - Fjern sendmail.

    • [bdubbs] - Oppdatering til psutil-7.2.1 (Python Modul). Fikser #22563.

  • 27. desember 2025

    • [bdubbs] - Oppdatering til inkscape-1.4.3. Fikser #22568.

    • [bdubbs] - Oppdatering til wireplumber-0.5.13. Fikser #22564.

    • [xry111] - Oppdatering til LLVM-21.1.8 og libclc-21.1.8. Fikser #22243.

  • 26. desember 2025

    • [jlocash] - Oppdatering til LibRaw-0.21.5. Fikser #22565.

    • [jlocash] - Oppdater gstreamer stakken til 1.26.10 (Sikkerhetsoppdatering). Fikser #22566.

  • 24. desember 2025

    • [jlocash] - Oppdatering til qemu-10.20 Fikser #22562.

    • [jlocash] - Oppdatering til gegl-0.4.66 Fikser #22561.

    • [jlocash] - Oppdatering til libva-2.23.0. Fikser #22559.

    • [jlocash] - Oppdatering til pyparsing-3.3.1. Fikser #22558.

  • 22. desember 2025

    • [bdubbs] - Oppdatering til mpv-0.41.0. Fikser #22557.

    • [bdubbs] - Oppdatering til lxqt-panel-2.3.2. Fikser #22556.

    • [bdubbs] - Oppdatering til glew-2.3.0. Fikser #22554.

    • [bdubbs] - Oppdatering til xterm-406. Fikser #22553.

  • 21. desember 2025

    • [bdubbs] - Legg til lxqt-wayland-session-0.3.1. Fikser #22359.

    • [bdubbs] - Oppdatering til numpy-2.4.0 (Python modul). Fikser #22551.

    • [bdubbs] - Oppdatering til simdutf-7.7.1. Fikser #22550.

    • [bdubbs] - Oppdatering til mpg123-1.33.4. Fikser #22549.

    • [bdubbs] - Oppdatering til gdb-17.1. Fikser #22548.

  • 20. desember 2025

    • [bdubbs] - Oppdatering til php-8.5.1 (Sikkerhetsoppdatering). Fikser #22544.

    • [bdubbs] - Oppdatering til libreoffice-25.8.4.2. Fikser #22545.

    • [bdubbs] - Oppdatering til docutils-0.22.4 (Python modul). Fikser #22543.

    • [bdubbs] - Oppdatering til fuse-3.18.1. Fikser #22541.

    • [renodr] - Oppdatering til exim-4.99.1 (Sikkerhetsoppdatering). Fikser #22537.

    • [renodr] - Fikset byggingen av Kea med Boost 1.90.0, som kommer til BLFS snart.

    • [renodr] - Rettet et problem i Keas keactrl.conf fil forårsaket av hardkodede stier. Dette påvirket primært SysV systemer.

    • [renodr] - Oppdaterte bootscriptene til 20251220. Dette retter en feil med å starte Kea på SysV, og justerer plasseringen i skriptets oppstarts og avslutnings rekkefølge.

    • [bdubbs] - Oppdatering til alsa-lib, alsa-ucm-conf, og alsa-utils 1.2.15.1. Fikser #22547.

    • [bdubbs] - Oppdatering til xorgproto-2025.1. Fikser #22546.

  • 19. desember 2025

    • [bdubbs] - Oppdatering til unrar-7.2.3. Fikser #22542.

    • [bdubbs] - Oppdatering til cryptsetup-2.8.3. Fikser #22540.

    • [bdubbs] - Oppdatering til FreeRDP-3.20.0. Fikser #22538.

    • [bdubbs] - Oppdatering til bind og bind-utilities 9.20.17. Fikser #22535.

    • [bdubbs] - Oppdatering til polkit-127. Fikser #22534.

  • 16. desember 2025

    • [bdubbs] - Oppdatering til ruby-3.4.8 (Sikkerhetsoppdatering). Fikser #22533.

    • [bdubbs] - Oppdatering til graphviz-14.1.1. Fikser #22532.

  • 16. desember 2025

    • [xry111] - Oppdatering til cargo-c-0.10.19. Fikser #22525.

    • [xry111] - Oppdatering til rustc-1.92.0. Fikser #22370.

    • [bdubbs] - Oppdatering til webkitgtk-2.50.4 (Sikkerhetsoppdatering). Fikser #22531.

    • [jlocash] - Oppdatering til opus-1.6. Fikser #22530.

    • [jlocash] - Oppdatering til wayland-protocols-1.47. Fikser #22529.

    • [jlocash] - Oppdatering til LVM2-2.03.38. Fikser #22528.

  • 15. desember 2025

    • [jlocash] - Oppdatering til xterm-405. Fikser #22527.

    • [jlocash] - Oppdatering til cython-3.2.3. Fikser #22526.

    • [zeckma] - Oppdatering til firefox og spidermonkey 140.6.0esr (Sikkerhetsoppdatering). Fikser #22498.

    • [zeckma] - Oppdatering til thunderbird-140.6.0esr (Sikkerhetsoppdatering). Fikser #22512.

  • 14. desember 2025

    • [bdubbs] - Oppdatering til python-dbusmock-0.37.2 (Python modul). Fikser #22524.

    • [bdubbs] - Oppdatering til vim-9.1.1934 (Synkroniser med LFS). Adresserer #12241.

    • [bdubbs] - Oppdatering til Python3-3.14.2 (Sikkerhetsoppdatering). Fikser #22452.

  • 13. desember 2025

    • [jlocash] - Oppdatering til FreeRDP-3.19.1. Fikser #22523.

    • [jlocash] - Oppdatering til NetworkManager-1.54.3. Fikser #22520.

    • [jlocash] - Oppdatering til libgpg-error-1.58. Fikser #22519.

  • 12. desember 2025

    • [bdubbs] - Oppdatering til libdrm-2.4.131. Fikser #22517.

  • 11. desember 2025

    • [bdubbs] - Oppdatering til nss-3_119_1. Fikser #22513.

    • [bdubbs] - Oppdatering til Vulkan-Headers og Vulkan-Loader 1.4.335.0. Fikser #22510.

    • [bdubbs] - Oppdatering til SPIRV-Headers og SPIRV-Tools 1.4.335.0. Fikser #22507.

    • [renodr] - Rett problemet med å oppdage Boost når man konfigurerer libsigc++3. Dette har vært ødelagt siden Boost 1.89.0.

    • [renodr] - Rett problemet med å oppdage Boost når man konfigurerer libsigc++. Dette har vært ødelagt siden Boost 1.89.0.

  • 10. desember 2025

    • [renodr] - Oppdatering til localsearch-3.10.2. Fikser #22516.

    • [renodr] - Oppdatering til libgpg-error-1.57. Fikser #22515.

    • [jlocash] - Oppdatering til cmake-4.2.1. Fikser #22508.

    • [renodr] - Oppdatering til libgsf-1.14.54. Fikser #22511.

    • [renodr] - Oppdatering til fetchmail-6.6.2. Fikser #22509.

  • 9. desember 2025

    • [jlocash] - Oppdater alsa-lib, alsa-tools, alsa-ucm-conf, og alsa-utils til 1.2.15. Fikser #22504.

    • [bdubbs] - Oppdatering til babl-0.1.118. Fikser #22501.

    • [bdubbs] - Oppdatering til double-conversion-3.4.0. Fikser #22499.

    • [bdubbs] - Oppdatering til graphviz-14.1.0. Fikser #22502.

    • [bdubbs] - Oppdatering til libinput-1.30.1 (Xorg driver). Fikser #22506.

  • 8. desember 2025

    • [renodr] - Oppdatering til dvisvgm-3.6. Fikser #22505.

    • [renodr] - Oppdatering til snapshot-49.1. Fikser #22503.

    • [renodr] - Oppdatering til glib-2.86.3 (Sikkerhetsoppdatering). Fikser #22500.

    • [renodr] - Oppdatering til c-ares-1.34.6 (Sikkerhetsoppdatering). Fikser #22496.

    • [renodr] - Oppdatering til libdrm-2.4.130. Fikser #22495.

  • 7. desember 2025

    • [bdubbs] - Oppdatering til swig-4.4.1. Fikser #22494.

    • [bdubbs] - Oppdatering til sysstat-12.7.9. Fikser #22493.

    • [bdubbs] - Oppdatering til pytest-9.0.2. Fikser #22492.

    • [zeckma] - Oppdatering til mesa-25.3.1 og fjernet libvdpau og libvdpau-va-gl. Fikser #22155.

    • [jlocash] - Oppdatering til qemu-10.1.3. Fikser #22487.

    • [jlocash] - Oppdatering til FreeRDP-3.19.0. Fikser #22491.

    • [bdubbs] - Oppdatering til postfix-3.10.7. Fikser #22490.

    • [bdubbs] - Oppdatering til protobuf-33.2. Fikser #22488.

    • [bdubbs] - Oppdatering til nss-3.119. Fikser #22486.

  • 6. desember 2025

    • [renodr] - Oppdatering til file-roller-44.6. Fikser #22289.

    • [renodr] - Oppdatering til gnome-terminal-3.58.0. Fikser #22182.

    • [renodr] - Oppdatering til gnome-system-monitor-49.1. Fikser #22144.

    • [renodr] - Oppdatering til gnome-calculator-49.2. Fikser #22143.

    • [renodr] - Oppdatering til gnome-connections-49.0. Fikser #22127.

    • [renodr] - Oppdatering til baobab-49.1. Fikser #22097.

    • [renodr] - Oppdatering til gnome-maps-49.2. Fikser #22042.

    • [renodr] - Oppdatering til yelp-49.0. Fikser #22125.

    • [renodr] - Oppdatering til gnome-user-docs-49.1. Fikser #22121.

    • [renodr] - Oppdatering til gnome-tweaks-49.0. Fikser #22096.

    • [renodr] - Oppdatering til gnome-session-49.2. Fikser #22145.

    • [renodr] - Aktiver SSH agenten fra gcr4 for å tilpasse til endringer i gnome-session-49.

    • [renodr] - Oppdatering til gnome-shell-extensions-49.0. Fikser #22120.

    • [renodr] - Oppdatering til gnome-shell-49.2. Fikser #22120.

    • [renodr] - Oppdatering til gdm-49.2. Fikser #22158.

    • [renodr] - Oppdatering til mutter-49.2. Fikser #22123.

    • [renodr] - Oppdatering til gnome-control-center-49.2.2. Fikser #22141.

    • [renodr] - Oppdatering til tecla-49.0. Fikser #22134.

    • [renodr] - Oppdatering til gnome-settings-daemon-49.1. Fikser #22131.

    • [renodr] - Oppdatering til nautilus-49.2. Fikser #22142.

    • [renodr] - Oppdatering til gvfs-1.58.0. Fikser #22082.

    • [renodr] - Oppdatering til gnome-backgrounds-49.0. Fikser #22117.

  • 5. desember 2025

    • [renodr] - Oppdatering til snapshot-49.0. Fikser #22128.

    • [renodr] - Lagt til Showtime. Dette er en veldig liten pakke som tilbyr en lyd og videospiller for GNOME, men den kan enkelt brukes på andre skrivebord også på grunn av den lave avhengighetsgraden.

    • [renodr] - Arkivert eog da det har blitt erstattet med Loupe. Del av #22247.

    • [renodr] - La til Loupe for å erstatte EOG. Denne versjonen vedlikeholdes aktivt. En del av #22247.

    • [renodr] - Oppdatering til simple-scan-49.1. Fikser #22219.

    • [renodr] - Oppdatering til dconf-editor-49.0. Ender #22116.

    • [renodr] - Oppdatering til dconf-0.49.0. Del av #22116.

    • [renodr] - Oppdatering til localsearch-3.10.1. Fikser #22152.

    • [renodr] - Oppdatering til tinysparql-3.10.1. Fikser #22151.

    • [renodr] - Oppdatering til evolution-3.58.2. Ender #22118.

    • [renodr] - Oppdatering til evolution-data-server-3.58.2. Del av #22118.

    • [renodr] - Oppdatering til libshumate-1.5.1. Fikser #22122.

    • [renodr] - Oppdatering til gnome-online-accounts-3.56.2. Fikser #22119.

    • [renodr] - Oppdatering til gnome-menus-3.38.1. Fikser #22204.

    • [renodr] - Oppdatering til yelp-xsl-49.0. Fikser #22126.

    • [renodr] - Oppdatering til vte-0.82.2. Fikser #22124.

    • [renodr] - La til simdutf i boken, trengs for vte. Del av #22124.

    • [renodr] - Oppdatering til gjs-1.86.0. Fikser #22150.

    • [renodr] - Oppdater testforventningene for Guile på i686. Fikser #22459.

    • [renodr] - Oppdatering til epiphany-49.2. Fikser #22168.

    • [renodr] - Oppdatering til xdg-desktop-portal-gnome-49.0. Fikser #22133.

    • [renodr] - Oppdatering til gnome-desktop-44.4. Fikser #22062.

    • [renodr] - Oppdatering til WebKitGTK-2.50.3 (Sikkerhetsoppdatering). Fikser #22056.

    • [bdubbs] - Oppdatering til urllib3-2.6.0 (Python modul) (Sikkerhetsoppdatering). Fikser #22483.

    • [bdubbs] - Oppdatering til cups-2.4.16. Fikser #22482.

    • [bdubbs] - Oppdatering til libnl-3.12.0. Fikser #22479.

    • [bdubbs] - Oppdatering til ldns-1.9.0. Fikser #22478.

    • [bdubbs] - Oppdatering til libpaper-2.2.7. Fikser #22476.

    • [bdubbs] - Oppdatering til libbytesize-2.12. Fikser #22475.

    • [bdubbs] - Endre python roman_numerals_py til roman_numerals.

    • [renodr] - La til blueprint-compiler-0.18.0 i boken. Fikser #22188.

  • 4. desember 2025

    • [bdubbs] - Oppdatering til vlc-3.0.22 (Sikkerhetsoppdatering). Fikser #22468.

    • [bdubbs] - Oppdatering til xkbcomp-1.5.0 (Xorg App) (Sikkerhetsoppdatering). Fikser #22470.

    • [bdubbs] - Oppdatering til libxslt-1.1.45 (Sikkerhetsoppdatering). Fikser #22449.

    • [renodr] - Oppdatering til kea-3.0.2 (Sikkerhetsoppdatering). Fikser #22326.

    • [bdubbs] - Oppdatering til httpd-2.4.66 (Sikkerhetsoppdatering). Fikser #22474.

    • [bdubbs] - Oppdatering til wireshark-4.6.2 (Sikkerhetsoppdatering). Fikser #22473.

    • [jlocash] - Oppdatering til libxkbcommon-1.13.1. Fikser #22472.

    • [zeckma] - Oppdatering til libpng-1.6.52 (Sikkerhetsoppdatering). Fikser #22471.

    • [zeckma] - Oppdatering til sdl2-compat-2.32.60. Fikser #22467.

    • [zeckma] - Oppdatering til SDL3-3.2.28. Fikser #22465.

  • 3. desember 2025

    • [jlocash] - Oppdater gstreamer stakken til 1.26.9. Fikser #22456.

    • [bdubbs] - Oppdatering til mupdf-1.26.12. Fikser #22469.

    • [bdubbs] - Oppdatering til frei0r-v2.5.1. Fikser #22466.

    • [bdubbs] - Oppdatering til glslang-16.1.0. Fikser #22463.

    • [bdubbs] - Oppdatering til xscreensaver-6.13. Fikser #22464.

    • [bdubbs] - Oppdatering til hwdata-0.402. Fikser #22461.

    • [bdubbs] - Oppdatering til sphinx-9.0.4 (Python modul). Fikser #22453.

    • [bdubbs] - Oppdatering til cython-3.2.2 (Python modul). Fikser #22452.

  • 2. desember 2025

    • [bdubbs] - Oppdatering til SPIRV-LLVM-Translator-21.1.3. Fikser #22448.

    • [bdubbs] - Oppdatering til guile-3.0.11. Fikser #22459.

    • [bdubbs] - Oppdatering til libevdev-1.13.6. Fikser #22460.

    • [bdubbs] - Oppdatering til poppler-25.12.0. Fikser #22458.

    • [bdubbs] - Oppdatering til libarchive-3.8.4. Fikser #22457.

  • 1. desember 2025

    • [bdubbs] - Oppdatering til graphviz-14.0.5. Fikser #22450.

    • [bdubbs] - Oppdatering til xdotool-4.20251130.1. Fikser #22451.

    • [bdubbs] - Oppdatering til xterm-404. Fikser #22454.

    • [bdubbs] - Oppdatering til ed-1.22.3. Fikser #22455.

  • 29. november 2025

    • [bdubbs] - Oppdatering til libatomic_ops-7.10.0. Fikser #22447.

    • [bdubbs] - Oppdatering til gspell-1.14.2. Fikser #22446.

    • [bdubbs] - Oppdatering til shaderc-2025.5 (glslc). Fikser #22444.

    • [bdubbs] - Oppdatering til unbound-1.24.2 (Sikkerhetsoppdatering). Fikser #22441.

    • [bdubbs] - Oppdatering til libinput-1.30.0. Fikser #22439.

    • [bdubbs] - Oppdatering til postfix-3.10.6. Fikser #22438.

    • [bdubbs] - Oppdatering til upower-1.91.0. Fikser #22437.

  • 28. november 2025

    • [jlocash] - Oppdatering til cups-2.4.15 (Sikkerhetsoppdatering). Fikser #22443.

    • [jlocash] - Oppdatering til libproxy-0.5.12. Fikser #22442.

    • [jlocash] - Oppdatering til libfm-qt-2.3.1. Fikser #22445.

  • 27. november 2025

    • [zeckma] - Oppdatering til firefox og spidermonkey 140.5.0esr (Sikkerhetsoppdatering). Fikser #22369.

    • [zeckma] - Oppdatering til thunderbird-140.5.0esr (Sikkerhetsoppdatering). Fikser #22381.

    • [zeckma] - Oppdatering til libpng-1.6.51 (Sikkerhetsoppdatering). Fikser #22426.

    • [jlocash] - Sikkerhetsrettelser for cups. Fikser #22443.

    • [zeckma] - Oppdatering til node.js-22.21.1. Fikser #22292.

  • 26. november 2025

    • [jlocash] - Oppdatering til xorg-server-21.1.21. Fikser #22436.

    • [jlocash] - Oppdatering til lxqt-panel-2.3.1. Fikser #22440.

  • 24. november 2025

    • [renodr] - Oppdatering til Python-3.14.0. Alle moduler og avhengigheter er bekreftet å fungere. Fikser #22244.

    • [renodr] - Fiks byggingen Thunderbird med Python 3.14. En del av #22244.

    • [renodr] - Fiks byggingen av Firefox med Python 3.14. En del av #22244.

    • [renodr] - Fiks byggingen av Spidermonkey med Python 3.14. En del av #22244.

    • [renodr] - Fiks bygging av libcdio på i686.

    • [bdubbs] - Oppdatering til neon-0.36.0. Fikser #22434.

    • [bdubbs] - Oppdatering til wayland-protocols-1.46. Fikser #22433.

  • 22. november 2025

    • [renodr] - Oppdatering til pycairo-1.29.0 (Python Modul). Fikser #22377.

    • [renodr] - Oppdatering til mutt-2.2.16. Fikser #22431.

    • [bdubbs] - Oppdatering til at-spi2-core-2.58.2. Fikser #22432.

  • 22. november 2025

    • [bdubbs] - Oppdatering til kImageAnnotator-0.7.2. Fikser #22430.

    • [bdubbs] - Oppdatering til php-8.5.0. Fikser #22423.

    • [bdubbs] - Oppdatering til libgedit-amtk-5.9.2 og libgedit-gfls-0.3.1. (Del av gedit.) Fikser #22403.

    • [bdubbs] - Oppdatering til dhcpcd-10.3.0. Fikser #22393.

    • [bdubbs] - Oppdatering til postgresql-18.1 (Sikkerhetsoppdatering). Fikser #22389.

    • [jlocash] - Oppdatering til LVM2-2.03.37. Fikser #22427.

    • [jlocash] - Oppdatering til bluefish-2.2.19. Fikser #22428.

    • [jlocash] - Oppdatering til bluez-5.85. Fikser #22429.

    • [pierre] - Oppdatering til mercurial-7.1.2. Fikser #22392.

  • 21. november 2025

    • [jlocash] - Oppdatering til xapian-core-1.4.30. Fikser #22421.

    • [jlocash] - Oppdatering til ffmpeg-8.0.1. Fikser #22420.

    • [jlocash] - Oppdatering til unrar-7.2.2. Fikser #22422.

    • [jlocash] - Oppdatering til gtk4-4.20.3. Fikser #22424.

    • [jlocash] - Oppdatering til libadwaita-1.8.2. Fikser #22425.

  • 20. november 2025

    • [renodr] - Fiks kjøretidsproblemer med subversion-1.14.5 og SWIG-4.4 og Python 3.14. Del av #22244.

    • [bdubbs] - Oppdatering til libreoffice-25.8.3.2. Fikser #22231.

    • [jlocash] - Sikkerhetsrettelser for CVE-2025-64503, CVE-2025-57812, og CVE-2025-64524 i cups-filters og libcupsfilters. Fikser #22379.

    • [jlocash] - Sikkerhetsfiks for CVE-2025-10158 i rsync-3.4.1. Fikser #22406.

    • [jlocash] - Oppdatering til gnutls-3.8.11 (Sikkerhetsoppdatering). Fikser #22417.

    • [jlocash] - Oppdatering til libarchive-3.8.3 (Sikkerhetsoppdatering). Fikser #22404.

    • [bdubbs] - Oppdatering til qt6 og qtwebengine 6.10.1. Fikser #22372.

    • [renodr] - Oppdatering til maturin-1.10.2 (Python avhengighet). Fikser #22419.

    • [bdubbs] - Oppdatering til poppler-25.11.0. Fikser #22416.

    • [bdubbs] - Oppdatering til wireshark-4.6.1 (Sikkerhetsoppdatering). Fikser #22415.

    • [bdubbs] - Oppdatering til xf86-input-wacom-1.2.4 (Xorg driver). Fikser #22414.

    • [bdubbs] - Oppdatering til bind-utilities og bind-9.20.16. Fikser #22413.

    • [bdubbs] - Oppdatering til cmake-4.2.0. Fikser #22412.

    • [bdubbs] - Oppdatering til enchant-2.8.14. Fikser #22411.

  • 19. november 2025

    • [renodr] - Oppdatering til exim-4.99. Fikser #22322.

    • [bdubbs] - Oppdatering til elogind-255.22. Fikser #22410.

    • [bdubbs] - Oppdatering til nss-3.118.1. Fikser #22409.

    • [bdubbs] - Oppdatering til libqalculate-5.8.2. Fikser #22405.

    • [bdubbs] - Oppdatering til freeglut-3.8.0. Fikser #22402.

    • [bdubbs] - Oppdatering til glib-2.86.2. Fikser #22408.

    • [renodr] - Fiks bruk av pyxdg med Python 3.14. Del av #22244.

    • [bdubbs] - Oppdatering til NetworkManager-1.54.2. Fikser #22401.

    • [bdubbs] - Oppdatering til git-2.52.0. Fikser #22400.

    • [bdubbs] - Lagt til vlc-3.0.21-ffmpeg8-1.patch til vlc. Fikser #22399.

    • [bdubbs] - Oppdatering til FreeRDP-3.18.0. Fikser #22380.

    • [renodr] - Oppdatering til idna-3.11 (Python avhengighet). Fullfører #22387.

    • [renodr] - Oppdatering til charset_normalizer-3.4.4 (Python avhengighet). Del av #22387.

  • 18. november 2025

    • [renodr] - Oppdatering til certifi-2025.11.12 (Python avhengighet). Del av #22387.

    • [renodr] - Oppdatering til markdown-3.10 (Python avhengighet). Del av #22387.

    • [renodr] - Oppdatering til iniconfig-2.3.0 (Python avhengighet). Del av #22387.

    • [renodr] - Oppdatering til numpy-2.3.5 (Python Modul). Fikser #22397.

    • [renodr] - Oppdatering til setuptools_scm-9.2.2 (Python avhengighet). Del av #22387.

    • [renodr] - Oppdatering til trove_classifiers-2025.11.14.15 (Python avhengighet). Del av #22387.

    • [renodr] - Oppdatering til cachecontrol-0.14.4 (Python Modul). Fikser #22391.

    • [renodr] - La til uv_build python avhengighet til boken, som trengs av CacheControl. En del av #22391.

    • [renodr] - La til maturin python avhengighet til boken, som trengs av uv_build. En del av #22391.

    • [renodr] - La til setuptools_rust python avhengighet til boken, som er nødvendig for maturin. En del av 22391.

    • [renodr] - La til python avhengigheten semantic_version til boken, som trengs av setuptools_rust. En del av #22391.

    • [zeckma] - Lagt til SDL-3.2.26, byttet fra SDL2-2.32.10 til sdl2-compat-2.32.58, og fjernet sdl12-compat-1.2.70. Fikser #20958.

    • [renodr] - Oppdatering til msgpack-1.1.2 (Python avhengighet). Del av #22387.

    • [renodr] - Oppdatering til pytest-9.0.1 (Python Modul). Fikser #22366.

    • [jlocash] - Fiks bygging av xine-lib med ffmpeg-8.

    • [renodr] - Fiks bygging av node.js med Python 3.14. Del av #22244.

  • 17. november 2025

    • [bdubbs] - Oppdatering til libdrm-2.4.129. Fikser #22398.

    • [bdubbs] - Oppdatering til graphviz-14.0.4. Fikser #22395.

    • [bdubbs] - Oppdatering til scons-4.10.1. Fikser #22396.

    • [bdubbs] - Oppdatering til mariadb-11.8.5. Fikser #22364.

    • [bdubbs] - Oppdater gtreamer stakken til 1.26.8. Fikser #22271.

    • [renodr] - Oppdatering til cython-3.2.1 (Python Modul). Fikser #22385.

  • 16. november 2025

    • [xry111] - Oppdatering til glycin-2.0.7 og legg til en oppdatering for å tillate bruk med XORG_PREFIX != /usr. Fikser #22375.

    • [renodr] - Fiks bygging av html5lib med Python 3.14, som snart kommer inn i boken. En del av #22244.

    • [bdubbs] - Oppdatering til ffmpeg-8.0. Fikser #22011.

    • [bdubbs] - Oppdatering til nano-8.7. Fikser #22378.

    • [bdubbs] - Oppdatering til libdvdcss-1.5.0, libdvdnav-7.0.0, og libdvdread-7.0.1. Fikser #22368.

    • [bdubbs] - Oppdatering til btrfs-progs-v6.17.1. Fikser #22362.

  • 15. november 2025

    • [bdubbs] - Oppdatering til plasma-6.5.2. Fikser #22203.

    • [bdubbs] - Oppdatering til kirigami-addons-1.10.0. Fikser #22203.

    • [bdubbs] - Oppdatering til kde gear-25.08.3. Inkludert falkon, kate, og kwave. Fikser #22o95.

    • [bdubbs] - Oppdatering til kf6-6.20.0. Inkludert extra-cmake-modules og breeze-icons. Fikser #22115.

    • [bdubbs] - Oppdatering til plasma-wayland-protocols-1.19.0. Fikser #22166.

  • 14. november 2025

    • [renodr] - Oppdatering til iso-codes-4.19.0. Fikser #22367.

    • [zeckma] - Oppdatering til SPIRV-LLVM-Translator-21.1.2. Fikser #22336.

    • [zeckma] - Oppdatering til hwdata-0.401. Fikser #22352.

    • [zeckma] - Oppdatering til nspr-4.38.2. Fikser #22350.

    • [jlocash] - Oppdatering til ibus-1.5.33. Fikser #22384.

    • [jlocash] - Oppdatering til protobuf-33.1. Fikser #22383.

    • [jlocash] - Oppdatering til libwacom-2.17.0. Fikser #22382.

    • [jlocash] - Oppdatering til highlight-4.18. Fikser #22376.

    • [jlocash] - Oppdatering til sshfs-3.7.5. Fikser #22373.

    • [jlocash] - Oppdatering til userspace-rcu-0.15.5. Fikser #22371.

  • 13. november 2025

    • [renodr] - Oppdatering til fetchmail-6.6.1. Fikser #22386.

  • 12. november 2025

    • [renodr] - Fiks CVE-2025-12105, CVE-2025-4948, CVE-2025-4945, CVE-2025-4969, CVE-2025-4476, CVE-2025-32914, CVE-2025-32908, CVE-2025-32907, og en potensiell vranglås ved bruk av gstreamer i libsoup3. Fikser #21576.

    • [renodr] - Fikser sikkerhetsrettingen for CVE-2025-11563. Fikser #22348.

  • 9. november 2025

    • [jlocash] - Oppdatering til harfbuzz-12.2.0. Fikser #22351.

  • 8. november 2025

    • [jlocash] - Oppdatering til libnvme-1.16.1. Fikser #22363.

  • 7. november 2025

    • [bdubbs] - Oppdatering til udisks-2.11.0. Fikser #22360.

    • [bdubbs] - Oppdatering til docutils-0.22.3 (Python modul). Fikser #22361.

    • [bdubbs] - Oppdatering til cython-3.2.0 (Python modul). Fikser #22353.

    • [bdubbs] - Oppdatering til libxkbcommon-1.13.0. Fikser #22349.

    • [bdubbs] - Oppdatering til curl-8.17.0 (Sikkerhetsoppdatering). Fikser #22348.

    • [renodr] - Oppdatering til samba-4.23.3 (Sikkerhetsoppdatering). Fikser #22277.

  • 6. november 2025

    • [renodr] - Oppdatering til dovecot-2.4.2 (Sikkerhetsoppdatering). Fikser #22330.

    • [renodr] - Juster xdotool til å bruke riktig sti i en pkg-config fil.

    • [bdubbs] - Oppdatering til lxqt-2.3.0. Fikser #22354, #22355, #22356, og #22358.

  • 5. november 2025

    • [renodr] - Oppdatering til fetchmail-6.6.0. Fikser #22283.

    • [renodr] - Oppdatering til adwaita-icon-theme-49.0. Fikser #22114.

    • [renodr] - Oppdatering til pygobject-3.54.5 (Python Modul). Fikser #22066.

    • [renodr] - Dokumenter at GNOME 49 er kjent for ikke å fungere på SysV. Dette skyldes behovet for en brukertjenesteadministrator, som skal skrive i desember.

    • [bdubbs] - Oppdatering til userspace-rcu-0.15.4 (liburcu). Fikser #22345.

    • [bdubbs] - Oppdatering til libnvme-1.16. Fikser #22344.

    • [bdubbs] - Oppdatering til mupdf-1.26.11. Fikser #22342.

    • [bdubbs] - Oppdatering til mlt-7.34.0. Fikser #22341.

  • 4. november 2025

    • [xry111] - Oppdatering til glycin-2.0.5. Fikser #22346.

    • [xry111] - Oppdatering til librsvg-2.61.3. Fikser #22343.

    • [zeckma] - Oppdatering til dav1d-1.5.2. Fikser #22335.

    • [zeckma] - Oppdatering til libdrm-2.4.128 (fikser AMDGPU ABI brudd). Fikser #22340.

    • [zeckma] - Oppdatering til seamonkey-2.53.22 (Sikkerhetsoppdatering). Fikser #22325.

  • 3. november 2025

    • [xry111] - Oppdatering til cargo-c-0.10.18. Fikser #22338.

    • [xry111] - Oppdatering til rustc-1.91.0. Fikser #22334.

    • [xry111] - Oppdatering til psutil-7.1.3 (Python modul). Fikser #22339.

  • 2. november 2025

    • [bdubbs] - Oppdatering til icu4c-78.1. Fikser #22333.

    • [bdubbs] - Oppdatering til bluefish-2.2.18. Fikser #22332.

  • 1. november 2025

    • [xry111] - Oppdatering til libcap-2.77. Fikser #22318.

    • [xry111] - Oppdatering til gdk-pixbuf-2.44.4. Fikser #22337.

    • [jlocash] - Oppdatering til sdl12-compat-1.2.70. Fikser #22331.

  • 31. oktober 2025

    • [xry111] - Arkiver webp-pixbuf-loader.

    • [xry111] - Bytt gdk-pixbuf til å bruke glycin.

    • [xry111] - Legg til glycin.

    • [xry111] - Legg til libheif.

    • [xry111] - Legg til libde265.

  • 30. oktober 2025

    • [jlocash] - Oppdatering til unrar-7.2.1. Fikser #22329.

    • [jlocash] - Oppdatering til fmt-12.1.0. Fikser #22328.

  • 29. oktober 2025

    • [pierre] - Oppdatering til attrs-25.4.0. Fikser #22327.

    • [bdubbs] - Oppdatering til xorg-server-21.1.20 (Sikkerhetsoppdatering). Fikser #22323.

    • [bdubbs] - Oppdatering til xwayland-24.1.9 (Sikkerhetsoppdatering). Fikser #22324.

    • [bdubbs] - Oppdatering til libqalculate-5.8.1. Fikser #22320.

    • [bdubbs] - Oppdatering til postfix-3.10.5. Fikser #22319.

    • [bdubbs] - Oppdatering til bind9/bind-9.20.15 (Sikkerhetsoppdatering). Fikser #22307.

    • [xry111] - Oppdatering til brotli-1.2.0 (Sikkerhetsoppdatering). Fikser #22235.

  • 28. oktober 2025

    • [bdubbs] - Oppdatering til nghttp2-1.68.0. Fikser #22317.

    • [bdubbs] - Oppdatering til libxkbcommon-1.12.3. Fikser #22316.

    • [bdubbs] - Oppdatering til valgrind-3.26.0. Fikser #22315.

    • [bdubbs] - Oppdatering til unbound-1.24.1 (Sikkerhetsoppdatering). Fikser #22308.

    • [jlocash] - Oppdatering til git-2.51.2. Fikser #22321.

    • [bdubbs] - Oppdatering til LVM2-2.03.36. Fikser #22314.

  • 27. oktober 2025

    • [bdubbs] - Oppdatering til php-8.4.14. Fikser #22313.

    • [bdubbs] - Oppdatering til asciidoctor-2.0.26. Fikser #22312.

  • 26. oktober 2025

    • [bdubbs] - Oppdatering til cython-3.1.6 (Python modul). Fikser #22300.

    • [bdubbs] - Oppdatering til cbindgen-0.29.2. Fikser #22299.

    • [bdubbs] - Oppdatering til frei0r-2.5.0. Fikser #22297.

    • [bdubbs] - Oppdatering til xfsprogs-6.17.0. Fikser #22290.

    • [jlocash] - Fiks lxqt pakker som FTBFS med qt-6.10. Fikser #22296.

  • 25. oktober 2025

    • [jlocash] - Fiks bygging av Inkscape med poppler-25.10.0.

    • [bdubbs] - Oppdatering til psutil-7.1.2 (Python module). Fikser #22287.

    • [bdubbs] - Oppdatering til librsvg-2.61.2. Fikser #22286.

    • [bdubbs] - Oppdatering til stunnel-5.76. Fikser #22285.

    • [bdubbs] - Oppdatering til gc-8.2.10. Fikser #22284.

  • 24. oktober 2025

    • [jlocash] - Oppdatering til graphviz-14.0.2. Fikser #22293.

    • [jlocash] - Oppdatering til libinput-1.29.2. Fikser #22302.

    • [jlocash] - Oppdatering til libevdev-1.13.5. Fikser #22301.

    • [jlocash] - Oppdatering til libwww-perl-6.81. Fikser #22306.

    • [jlocash] - Oppdatering til doxygen-1.15.0. Fikser #22305.

    • [jlocash] - Oppdatering til usbutils-019. Fikser #22304.

    • [jlocash] - Oppdatering til glib-2.86.1. Fikser #22298.

    • [jlocash] - Oppdatering til swig-4.4.0. Fikser #22294.

    • [jlocash] - Oppdatering til qemu-10.1.2. Fikser #22291.

  • 20. oktober 2025

    • [jlocash] - Oppdatering til xterm-403. Fikser #22288.

    • [xry111] - Oppdatering til libxkbcommon-1.12.1. Fikser #22281.

  • 18. oktober 2025

    • [pierre] - Oppdatering til libxml2-2.15.1. Fikser #22280.

  • 17. oktober 2025

    • [renodr] - Oppdatering til libarchive-3.8.2 (Sikkerhetsoppdatering). Fikser #22272.

    • [pierre] - Oppdatering til docutils-0.22.2. Fikser #21902.

  • 16. oktober 2025

    • [zeckma] - Oppdatering til thunderbird-140.4.0esr (Sikkerhetsoppdatering). Fikser #22269.

    • [bdubbs] - Oppdatering til numpy-2.3.4 (Python modul). Fikser #22276.

    • [bdubbs] - Oppdatering til thunar-4.20.6. Fikser #22278.

    • [bdubbs] - Oppdatering til git-2.51.1. Fikser #22275.

    • [bdubbs] - Oppdatering til glm-1.0.2. Fikser #22274.

    • [bdubbs] - Oppdatering til protobuf-33.0. Fikser #22273.

    • [bdubbs] - Oppdatering til btrfs-progs-v6.17. Fikser #22208.

  • 15. oktober 2025

    • [renodr] - Oppdatering til gsettings-desktop-schemas-49.1. Fikser #22132.

    • [bdubbs] - Oppdatering til libdrm-2.4.127. Fikser #22268.

    • [bdubbs] - Oppdatering til tumbler-4.20.1. Fikser #22267.

    • [bdubbs] - Oppdatering til whois-5.6.5. Fikser #22266.

    • [bdubbs] - Oppdatering til asciidoctor-2.0.25. Fikser #22264.

    • [bdubbs] - Oppdatering til libqalculate-5.8.0. Fikser #22263.

    • [bdubbs] - Oppdatering til dos2unix-7.5.3. Fikser #22270.

  • 14. oktober 2025

    • [zeckma] - Oppdatering til firefox-140.4.0esr (Sikkerhetsoppdatering). Fikser #22214.

  • 12. oktober 2025

    • [xry111] - Oppdatering til unifont-17.0.01 (GRUB fontdata). Fikser #22160.

    • [bdubbs] - Oppdatering til umockdev-0.19.4. Fikser #22260.

    • [zeckma] - Oppdatering til thunderbird-140.3.1esr. Fikser #22214.

    • [bdubbs] - Oppdatering til at-spi2-core-2.58.1. Fikser #22258.

    • [bdubbs] - Oppdatering til gi_docgen-2025.5 (Sikkerhetsoppdatering). Fikser #22257.

    • [bdubbs] - Oppdatering til libxkbcommon-1.12.0. Fikser #22256.

    • [bdubbs] - Oppdatering til nasm-3.01. Fikser #22232.

    • [renodr] - Oppdatering til wireplumber-0.5.12. Fikser #22259.

  • 11. oktober 2025

    • [zeckma] - Oppdatering til AppStream-1.1.1. Fikser #22146.

    • [zeckma] - Legg til libfyaml, en avhengighet for AppStream-1.1.1.

    • [bdubbs] - Oppdatering til pipewire-1.4.9. Fikser #22251.

    • [bdubbs] - Oppdatering til wireshark-4.6.0. Fikser #22251.

    • [bdubbs] - Oppdatering til qemu-10.1.1. Fikser #22248.

  • 10. oktober 2025

    • [renodr] - Oppdatering til OpenSSH og ssh-askpass 10.2p1. Fikser #22255.

    • [renodr] - Oppdatering til fontforge-20251009. Fikser #22253.

    • [renodr] - Oppdatering til libadwaita-1.8.1. Fikser #22252.

    • [renodr] - Oppdater Vulkan-Headers, Vulkan-Loader, SPIRV-Headers, og SPIRV-Tools til 1.4.328.1. Fikser #22249.

    • [renodr] - Oppdatering til python-dbusmock-0.37.1. Fikser #22250.

    • [renodr] - Oppdatering til gimp-3.0.6 (Sikkerhetsoppdatering). Fikser #22246.

    • [renodr] - Oppdatering til fetchmail-6.5.6 (Sikkerhetsoppdatering). Fikser #22228.

  • 8. oktober 2025

    • [bdubbs] - Oppdatering til ruby-3.4.7 (Sikkerhetsoppdatering). Fikser #22245.

    • [bdubbs] - Oppdatering til unixODBC-2.3.14. Fikser #22242.

    • [bdubbs] - Oppdatering til libgpg-error-1.56. Fikser #22241.

    • [bdubbs] - Oppdatering til v4l-utils-1.32.0. Fikser #22238.

    • [bdubbs] - Oppdatering til openssh-10.1p1 og ssh-askpass (Sikkerhetsoppdatering). Fikser #21619.

  • 7. oktober 2025

    • [bdubbs] - Oppdatering til qt6-6.10.0 og qtwebengine 6.10.0. Fikser #22237.

    • [bdubbs] - Oppdatering til Vulkan-Headers og Vulkan-Loader 1.4.328. Fikser #22236.

    • [bdubbs] - Oppdatering til libunistring-1.4.1. Fikser #22240.

    • [bdubbs] - Oppdatering til graphviz-14.0.1. Fikser #22239.

    • [xry111] - Oppdatering til cargo-c-0.10.16. Fikser #22179.

    • [xry111] - Oppdatering til rustc-1.90.0. Fikser #22164.

    • [xry111] - Oppdatering til SPIRV-LLVM-Translator-21.1.1. #21922.

    • [xry111] - Oppdatering til llvm-21.1.2 og libclc-21.1.2. Fikser #22020.

    • [xry111] - Oppdatering til SPIRV-Headers-1.4.328.0 og SPIRV-Tools-1.4.328.0. Fikser #22324.

  • 6. oktober 2025

    • [bdubbs] - Oppdatering til mpg123-1.33.3. Fikser #22233.

  • 4. oktober 2025

    • [bdubbs] - Oppdatering til nss-3.117. Fikser #22230.

    • [bdubbs] - Oppdatering til xkeyboard-config-2.46. Fikser #22229.

    • [bdubbs] - Oppdatering til nasm-3.00. Fikser #22227.

    • [bdubbs] - Oppdatering til hwdata-0.400. Fikser #22226.

    • [bdubbs] - Oppdatering til gtk-doc-1.35.1. Fikser #22225.

    • [bdubbs] - Oppdatering til poppler-25.10.0 (Sikkerhetsoppdatering). Fikser #22224.

    • [bdubbs] - Oppdatering til gegl-0.4.64 (Sikkerhetsoppdatering). Fikser #22223.

  • 3. oktober 2025

    • [renodr] - Oppdatering til mutt-2.2.15. Fikser #22222.

    • [renodr] - Oppdatering til SCons-4.10.0. Fikser #22221.

    • [renodr] - Oppdatering til babl-0.1.116. Fikser #22220.

  • 2. oktober 2025

    • [renodr] - Oppdatering til samba-4.23.1. Fikser #22109.

    • [renodr] - Oppdatering til intel-media-driver-25.3.4. Fikser #22195.

    • [renodr] - Oppdatering til intel-gmmlib-22.8.2. Fikser #22195.

    • [renodr] - Oppdatering til qt6 og qtwebengine 6.9.3 (Sikkerhetsoppdatering). Fikser #22189.

    • [bdubbs] - Oppdatering til harfbuzz-12.1.0. Fikser #22215.

    • [bdubbs] - Oppdatering til libdrm-2.4.126. Fikser #22217.

    • [bdubbs] - Oppdatering til cmake-4.1.2. Fikser #22216.

  • 1. oktober 2025

    • [renodr] - Oppdatering til systemd-258. Fikser #22054.

    • [bdubbs] - Oppdatering til gtk-4.20.2. Fikser #22213.

    • [bdubbs] - Oppdatering til gtk-3.24.51. Fikser #22212.

    • [bdubbs] - Oppdatering til glibmm-2.86.0. Fikser #22211.

  • 30. september 2025

    • [bdubbs] - Oppdatering til unixODBC-2.3.13. Fikser #22209.

    • [bdubbs] - Oppdatering til vim-9.1.1806. Fikser #22210.

    • [renodr] - Oppdatering til fetchmail-6.5.5. Fikser #22194.

    • [renodr] - Oppdatering til exiv2-0.28.7 (Sikkerhetsoppdatering). Fikser #22183.

    • [renodr] - Tilpass CMake til å fungere med cURL-8.16.0. Takk til Joe Locash for rettingen i cURL billetten.

    • [renodr] - Oppdatering til openjpeg-2.5.4 (Sikkerhetsoppdatering). Fikser #22175.

    • [renodr] - Oppdatering til curl-8.16.0 (Sikkerhetsoppdatering). Fikser #22086.

    • [renodr] - Oppdatering til wireshark-4.4.9 (Sikkerhetsoppdatering). Fikser #22034.

    • [renodr] - Oppdatering til cups-2.4.14 (Sikkerhetsoppdatering). Fikser #22090.

    • [renodr] - Oppdatering til libaom-3.13.1 (Sikkerhetsoppdatering). Fikser #22058.

  • 29. september 2025

    • [zeckma] - Oppdatering til node.js-22.20.0. Fikser #22193.

    • [bdubbs] - Oppdatering til highlight-4.17. Fikser #22207.

    • [bdubbs] - Oppdatering til libunistring-1.4. Fikser #22206.

    • [bdubbs] - Oppdatering til harfbuzz-12.0.0. Fikser #22205.

    • [bdubbs] - Oppdatering til glslang-16.0.0. Fikser #22200.

  • 28. september 2025

    • [bdubbs] - Oppdatering til postgresql-18.0. Fikser #22199.

    • [bdubbs] - Oppdatering til graphviz-14.0.0. Fikser #22178.

    • [bdubbs] - Oppdatering til shaderc-2025.4. Fikser #22201.

    • [bdubbs] - Oppdatering til php-8.4.13. Fikser #22197.

    • [bdubbs] - Oppdatering til abseil-cpp-20250814.1. Fikser #22184.

    • [bdubbs] - Oppdatering til FreeRDP-3.17.2. Fikser #22171.

    • [bdubbs] - Oppdatering til glib-2.86.0 og gobject-introspection-1.86.0. Fikser #22149.

    • [bdubbs] - Oppdatering til bind-9.20.13. Fikser #22089.

  • 27. september 2025

    • [bdubbs] - Oppdatering til libnotify-0.8.7. Fikser #22202.

    • [bdubbs] - Oppdatering til pyyaml-6.0.3 (Python modul). Fikser #22198.

    • [bdubbs] - Oppdatering til libblockdev-3.4.0. Fikser #22192.

    • [bdubbs] - Oppdatering til gpgme-2.0.1. Fikser #22190.

    • [bdubbs] - Oppdatering til mupdf-1.26.10. Fikser #22186.

    • [bdubbs] - Oppdatering til harfbuzz-11.5.1. Fikser #22185.

    • [bdubbs] - Oppdatering til pyparsing-3.2.5 (Python Modul). Fikser #22181.

    • [bdubbs] - Oppdatering til lxml-6.0.2 (Python Modul). Fikser #22180.

    • [bdubbs] - Oppdatering til bluez-5.84. Fikser #22169.

  • 25. september 2025

    • [bdubbs] - Oppdatering til unbound-1.24.0. Fikser #22165.

    • [bdubbs] - Oppdatering til gtkmm-4.20.0. Fikser #22170.

    • [bdubbs] - Oppdatering til pavucontrol-6.2. Fikser #22156.

    • [bdubbs] - Oppdatering til fmt-12.0.0. Fikser #22153.

    • [bdubbs] - Oppdatering til ruby-3.4.6. Fikser #22139.

  • 24. september 2025

    • [zeckma] - Oppdatering til ffmpeg-7.1.2 (sikkerhetsoppdatering). Fikser #22191.

    • [bdubbs] - Oppdatering til gstreamer stack 1.26.6. Fikser #22136.

    • [bdubbs] - Oppdatering til libadwaita-1.8.0. Fikser #22113.

    • [renodr] - Oppdatering til fast_float-8.1.0. Fikser #22162.

    • [renodr] - Oppdatering til p11-kit-0.25.10. Fikser #22161.

    • [renodr] - Oppdatering til psutil-7.1.0 (Python Modul). Fikser #22154.

    • [renodr] - Oppdatering til cython-3.1.4 (Python Modul). Fikser #22147.

    • [renodr] - Oppdatering til NetworkManager-1.54.2. Fikser #22107.

    • [renodr] - Oppdatering til libunwind-1.8.3. Fikser #22060.

    • [bdubbs] - Oppdatering til mercurial-7.1.1. Fikser #22104.

    • [bdubbs] - Oppdatering til gdk-pixbuf-2.44.2. Fikser #22073.

    • [bdubbs] - Gå tilbake til FFmpeg-7.1.1.

  • 23. september 2025

    • [renodr] - Fiks bygging av Inkscape mot poppler-25.09.0.

    • [zeckma] - Oppdatering til Firefox og SpiderMonkey 140.3.1esr. Fikser #22187.

  • 22. september 2025

    • [zeckma] - Oppdatering til libtiff-4.7.1. Fikser #22163.

    • [zeckma] - Oppdatering til xdg-user-dirs-0.19. Fikser #22176.

    • [zeckma] - Oppdatering til dash-0.5.13. Fikser #22177.

  • 20. september 2025

    • [zeckma] - Legg til SVT-AV1 for AV1 koding.

    • [zeckma] - Legg til dav1d for AV1 dekoding.

  • 17. september 2025

    • [zeckma] - Oppdatering til thunderbird-140.3.0esr (Sikkerhetsoppdatering). Fikser #22148.

    • [bdubbs] - Oppdatering til nghttp2-1.67.1. Fikser #22140.

    • [bdubbs] - Oppdatering til libxml2-2.15.0. Fikser #22138.

    • [bdubbs] - Oppdatering til thunar-4.20.5. Fikser #22135.

    • [bdubbs] - Oppdatering til nss-3.116. Fikser #22129.

    • [bdubbs] - Oppdatering til gtksourceview-5.18.0. Fikser #22112.

    • [bdubbs] - Oppdatering til luit-20250912. Fikser #22110.

    • [bdubbs] - Oppdatering til nfs-utils-2.8.4. Fikser #22108.

    • [bdubbs] - Oppdatering til libxmlb-0.3.24. Fikser #22088.

  • 16. september 2025

    • [bdubbs] - Oppdatering til python_dbusmock-0.37.0 (Python modul). Fikser #22130.

    • [bdubbs] - Oppdatering til pyparsing-3.2.4 (Python modul). Fikser #22106.

    • [bdubbs] - Oppdatering til pyatspi-2.58.0 (Python modul). Fikser #22105.

    • [bdubbs] - Oppdatering til at-spi2-core-2.58.0. Fikser #22111.

    • [bdubbs] - Oppdatering til harfbuzz-11.5.0. Fikser #22103.

    • [bdubbs] - Oppdatering til utfcpp-4.0.8. Fikser #22102.

    • [bdubbs] - Oppdatering til json-glib-1.10.8. Fikser #22101.

    • [bdubbs] - Oppdatering til protobuf-32.1. Fikser #22092.

    • [zeckma] - Oppdatering til firefox (spidermonkey) 140.3.0esr (Sikkerhetsoppdatering). Fikser #22137.

  • 15. september 2025

    • [bdubbs] - Oppdatering til mupdf-1.26.8. Fikser #22100.

    • [bdubbs] - Oppdatering til libwww-perl-6.80 (Perl modul LWP). Fikser #22094.

    • [bdubbs] - Oppdatering til freetype-2.14.1. Fikser #22093.

    • [bdubbs] - Oppdatering til btrfs-progs-v6.16.1. Fikser #22087.

    • [bdubbs] - Oppdatering til LVM2.2.03.35. Fikser #22085.

    • [bdubbs] - Oppdatering til ghostscript-10.06.0. Fikser #22084.

  • 14. september 2025

    • [bdubbs] - Oppdatering til tk-8.6.17. Fikser #21985.

  • 13. september 2025

    • [zeckma] - Oppdatering til inih-62. Fikser #22091.

    • [zeckma] - Oppdatering til wireplumber-0.5.11. Fikser #22051.

    • [zeckma] - Oppdatering til pipewire-1.4.8. Fikser #22099.

    • [bdubbs] - Oppdatering til feh-3.11.2. Fikser #22083.

    • [bdubbs] - Oppdatering til numpy-2.3.3 (Python modul). Fikser #22080.

    • [bdubbs] - Oppdatering til librsvg-2.61.1. Fikser #22079.

    • [bdubbs] - Oppdatering til libproxy-0.5.11. Fikser #22078.

    • [bdubbs] - Oppdatering til p11-kit-0.25.8. Fikser #22077.

    • [bdubbs] - Oppdatering til xcb-util-cursor-0.1.6 (XCB Verktøy). Fikser #22076.

  • 9. september 2025

    • [bdubbs] - Oppdatering til gtk4-4.20.1. Fikser #22074.

    • [bdubbs] - Oppdatering til xterm-402. Fikser #22072.

    • [bdubbs] - Oppdatering til libxml2-2.14.6. Fikser #22071.

    • [zeckma] - Oppdatering til mesa-25.2.2. Fikser #21986.

  • 8. september 2025

    • [bdubbs] - Oppdatering til audacious og audacious-plugins 4.5.1. Fikser #22070.

    • [bdubbs] - Oppdatering til libXScrnSaver-1.2.5 libXpresent-1.0.2 libXres-1.2.3 (Xorg biblioteker). Fikser #22069.

    • [bdubbs] - Oppdatering til freetype-2.14.0. Fikser #22067.

  • 7. september 2025

    • [bdubbs] - Oppdatering til rust-bindgen-0.72.1. Fikser #22043.

    • [bdubbs] - Oppdatering til poppler-25.09.1. Fikser #22044.

    • [bdubbs] - Oppdatering til frei0r-2.4.0. Fikser #22057.

    • [bdubbs] - Oppdatering til libatomic_ops-7.8.4. Fikser #22064.

    • [bdubbs] - Oppdatering til iw-6.17. Fikser #22055.

    • [bdubbs] - Oppdatering til xarchiver-0.5.4.26. Fikser #22050.

    • [bdubbs] - Oppdatering til nghttp2-1.67.0. Fikser #22049.

    • [bdubbs] - Oppdatering til SDL2-2.32.10. Fikser #22047.

    • [bdubbs] - Oppdatering til php-8.4.12. Fikser #22033.

    • [bdubbs] - Oppdatering til pango-1.57.0. Fikser #22024.

  • 6. september 2025

    • [bdubbs] - Oppdatering til cmake-4.1.1. Fikser #22032.

    • [bdubbs] - Oppdatering til libwnck-43.3. Fikser #22036.

    • [bdubbs] - Oppdatering til geoclue-2.8.0. Fikser #22040.

    • [bdubbs] - Oppdatering til hwdata-0.399. Fikser #22048.

    • [rahul] - Oppdatering til IceWM-3.9.0. Fikser #22041.

    • [rahul] - Oppdatering til FreeRDP-3.17.1. Fikser #22046.

    • [rahul] - Oppdatering til gtk4-4.20.0. Fikser #22038.

    • [rahul] - Oppdatering til upower-v1.90.10. Fikser #22019.

    • [rahul] - Oppdatering til qemu-10.1.0. Fikser #22018.

    • [bdubbs] - Oppdatering til pytest-8.4.2 (Python modul). Fikser #22061.

    • [bdubbs] - Oppdatering til libXfixes-6.0.2 (Xorg bibliotek). Fikser #22045.

    • [bdubbs] - Oppdatering til Net-DNS-1.53 (Perl modul). Fikser #22037.

    • [bdubbs] - Oppdatering til libinput-1.29.1 (Xorg driver). Fikser #22035.

    • [bdubbs] - Oppdatering til libei-1.5.0. Fikser #22023.

    • [bdubbs] - Oppdatering til libtirpc-1.3.7. Fikser #22022.

    • [rahul] - Oppdatering til ffmpeg-8.0. Fikser #22011.

  • 5. september 2025

    • [bdubbs] - Oppdatering til xfsprogs-6.16.0. Fikser #22017.

    • [bdubbs] - Oppdatering til nss-3.115.1. Fikser #22014.

    • [bdubbs] - Oppdatering til mupdf-1.26.7. Fikser #22012.

    • [bdubbs] - Oppdatering til lxml-6.0.1 (Python modul). Fikser #22010.

    • [bdubbs] - Oppdatering til harfbuzz-11.4.5. Fikser #22005.

    • [bdubbs] - Oppdatering til git-2.51.0. Fikser #21994.

    • [bdubbs] - Arkiver sqlite (Flyttet til LFS).

  • 4. september 2025

    • [zeckma] - Oppdatering til thunderbird-140.2.1esr. Fikser #22052.

  • 2. september 2025

    • [bdubbs] - Arkiver pcre2 (Flyttet til LFS)).

    • [zeckma] - Oppdatering til feh-3.11.1. Fikser #22027.

    • [zeckma] - Oppdatering til node.js-22.19.0. Fikser #22030.

  • 1. september 2025

    • [bdubbs] - Utgivelse av BLFS-12.4.

E-postlister

linuxfromscratch.org serveren er vert for en rekke postlister som brukes til utviklingen av BLFS boken. Disse listene inkluderer, blant annet hovedutviklings- og støttelistene.

For mer informasjon om hvilke lister som er tilgjengelige, hvordan abonnere på dem, arkivsteder osv., besøk https://www.linuxfromscratch.org/mail.html.

Redaktørens notater

BLFS-prosjektet har opprettet en Wiki for redaktører å kommentere på sider og instruksjoner på https://wiki.linuxfromscratch.org/blfs/wiki.

Når redaktørens notater er tilstede, en lenke vises i form av https://wiki.linuxfromscratch.org/blfs/wiki/pkgname til høyre under avhengighetslisten. Tanken bak redaktørnotatene er å gi ytterligere informasjon om pakken og/eller dens oppbygning instruksjoner, vanlige fallgruver eller kanskje enda mer sofistikerte konfigurasjon for spesielle brukstilfeller.

De aller fleste pakkene har ikke redaktørnotater.

Notat

Redaktørens notater kan være utdatert. Selv om sidene bør gjennomgås når en pakke oppdateres, kan det skje at det er notater som refererer til en foreldet versjon og derfor kan notatene være utdaterte. Alltid sjekk datoen for notatene og enda viktigere, versjonen av pakken notatene refererer til.

Be om Hjelp og FAQ

Hvis du støter på et problem mens du bruker denne boken, og problemet ditt ikke er oppført i FAQ (https://www.linuxfromscratch.org/faq), vil du finne at de fleste på Internet Relay Chat (IRC) og på e-postlister er villige til å hjelpe deg. En oversikt over LFS utsendelseslister finner du i E-postlister. For å hjelpe oss med å diagnostisere og løse problemet ditt, ta med så mye relevant informasjon som mulig i din forespørsel om hjelp.

Ting å Sjekke Før Du Spør

Før du ber om hjelp, bør du gå gjennom følgende elementer:

  • Er maskinvarestøtten kompilert inn i kjernen eller tilgjengelig som en modul til kjernen? Hvis det er en modul, er det konfigurert riktig i modprobe.conf og har det blitt lastet? Du bør bruke lsmod som root bruker for å se om det er det lastet. Undersøk sys.log filen eller kjør modprobe <driver> til å gjennomgå eventuelle feilmeldinger. Hvis den laster riktig, må du kanskje legge til modprobe kommandoen til oppstartsskriptene dine.

  • Er tillatelsene dine riktig angitt, spesielt for enheter? LFS bruker grupper for å gjøre disse innstillingene enklere, men den legger også til trinnet å legge til brukere i grupper for å tillate tilgang. En enkel usermod -G audio <user> kan være alt som er nødvendig for at brukeren skal ha tilgang til lydsystemet. Noen spørsmål som starter med «Det fungerer som root, men ikke som ...» krever en grundig gjennomgang av tillatelser før du spør.

  • BLFS bruker hovedsaklig /opt/<package>. Hovedinnvendingen mot dette dreier seg om behovet for å utvide din miljøvariabler for hver pakke plassert der (f.eks., PATH=$PATH:/opt/kde/bin). I de fleste tilfeller vil pakkeinstruksjonene lede deg gjennom endringene, men noen vil ikke. Seksjonen kalt «Gå Utover BLFS» er tilgjengelig for å hjelpe deg å sjekke.

Ting å Nevne

Bortsett fra en kort forklaring på problemet du har, viktige ting å inkludere i forespørselen din er:

  • versjonen av boken du bruker (er r12.4-1462),

  • pakken eller delen som gir deg problemer,

  • den nøyaktige feilmeldingen eller symptomet du mottar,

  • om du i det hele tatt har avviket fra boken eller LFS (pakker bokinstruksjonene inn i et skript mens boken ikke forteller deg å gjøre det, er alltid betraktet som avvik, fordi det har vært for mange tilfeller av problemer der folk ikke klarer å legge merke til en subtil forskjell mellom skript og bok),

  • om du installerer en BLFS pakke på et ikke-LFS system.

Merk at det å si at du har avviket fra boken ikke betyr at vi ikke vil hjelpe deg. Det vil bare hjelpe oss å se andre mulige årsaker av problemet ditt. Hvis du har avviket fra boken, bør du også si ifra nøyaktig hva avviket er, slik at de andre kan gjenskape det. Et skript kan legges ved for å vise nøyaktig hva du har gjort (spesielt hvis du allerede har et slikt skript, det vil si at du allerede har avviket fra boken ved å pakke bokinstruksjonene inn i et skript og kjøre den).

Forvent veiledning i stedet for spesifikke instruksjoner. Hvis du er bedt om å lese noe, vennligst gjør det. Det innebærer generelt at svaret var altfor åpenbart, og det spørsmålet ikke ville bli spurt om det ble gjort litt research før du spurte. De frivillige i e-postlisten foretrekker ikke å bli brukt som et alternativ til å gjøre rimelig forskning på din side. I tillegg er kvaliteten på din erfaring med BLFS også sterkt forbedret av denne forskningen, og kvaliteten på frivillige er forbedret fordi de ikke føler at deres tid har blitt misbrukt, så det er langt mer sannsynlig at de deltar.

En utmerket artikkel om å be om hjelp på Internett generelt er skrevet av Eric S. Raymond. Den er tilgjengelig online på http://www.catb.org/~esr/faqs/smart-questions.html. Les og følg tipsene i det dokumentet, og det er mye mer sannsynlig at du får svar til å begynne med og også for å få den hjelpen du faktisk trenger.

Akkreditering

Mange har bidratt både direkte og indirekte til BLFS. Denne siden viser alle de vi kan tenke på. Det kan godt hende vi har utelatt folk, og hvis du føler at dette er tilfelle, send oss en linje. Mange takk til hele LFS fellesskapet for deres hjelp med dette prosjektet.

Nåværende redaktører

  • Rahul Chandra

  • Bruce Dubbs

  • Pierre Labastie

  • Douglas Reno

  • Xi Ruoyao

  • Thomas Trepl

  • Zeckma

Bidragsytere og Tidligere Redaktører

Listen over bidragsytere er altfor stor til å gi detaljert informasjon om bidragene for hver bidragsyter. I løpet av årene, følgende personer har gitt betydelige innspill til boken:

  • Timothy Bauscher

  • Daniel Bauman

  • Jeff Bauman

  • Andy Benton

  • Wayne Blaszczyk

  • Paul Campbell

  • Nathan Coulson

  • Jeroen Coumans

  • Guy Dalziel

  • Robert Daniels

  • Richard Downing

  • Manuel Canales Esparcia

  • Jim Gifford

  • Manfred Glombowski

  • Ag Hatzimanikas

  • Mark Hymers

  • James Iwanek

  • David Jensen

  • Jeremy Jones

  • Seth Klein

  • Alex Kloss

  • Eric Konopka

  • Larry Lawrence

  • D-J Lucas

  • Chris Lynn

  • Andrew McMurry

  • Randy McMurchy

  • Ken Moffat

  • Denis Mugnier

  • Billy O'Connor

  • Fernando de Oliveira

  • Alexander Patrakov

  • Olivier Peres

  • Andreas Pedersen

  • Henning Rohde

  • Matt Rogers

  • James Robertson

  • Henning Rohde

  • Chris Staub

  • Jesse Tie-Ten-Quee

  • Ragnar Thomsen

  • Tushar Teredesai

  • Jeremy Utley

  • Zack Winkles

  • Christian Wurst

  • Igor Živković

Generelle anerkjennelser

  • Fernando Arbeiza

  • Miguel Bazdresch

  • Gerard Beekmans

  • Oliver Brakmann

  • Jeremy Byron

  • Ian Chilton

  • David Ciecierski

  • Jim Harris

  • Lee Harris

  • Marc Heerdink

  • Steffen Knollmann

  • Eric Konopka

  • Scot McPherson

  • Ted Riley

Kontaktinformasjon

Send e-postene dine til en av BLFS postlistene. Se E-postlister for mer informasjon om de tilgjengelige e-postlistene.

Kapittel 2. Viktig informasjon

Dette kapittelet brukes til å forklare noen av retningslinjene som brukes gjennom boken, for å introdusere viktige begreper og for å forklare noen problemer du kanskje ser med noen av de inkluderte pakkene.

Merknader om å Bygge Programvare

De personene som har bygget et LFS system kan være klar over de generelle prinsippene for nedlasting og utpakking av programvare. Noe av denne informasjonen gjentas her for de som er nye i byggingen av deres egen programvare.

Hvert sett med installasjonsinstruksjoner inneholder en URL hvor du kan laste ned pakken. Oppdateringer; lagres imidlertid på LFS servere og er tilgjengelige via HTTP. Disse er referert etter behov i installasjonsinstruksjoner.

Selv om du kan beholde kildefilene hvor som helst du vil, antar vi at du har pakket ut pakken og endret til mappen opprettet av utpakkingsprosessen (kildemappen). Vi antar også at du har dekomprimerte eventuelle nødvendige oppdateringer, og de er i mappen rett over kildemappen.

Vi kan ikke understreke sterkt nok at du bør ta utgangspunkt i et rent kildetre hver gang. Dette betyr at hvis du har hatt en feil under konfigurasjon eller kompilering, er det vanligvis best å slette kildetreet og pakke den ut på nytt før du prøver igjen. Dette gjelder åpenbart ikke hvis du er en avansert bruker som er vant til å hacke Makefileer og C kode, men hvis du er i tvil, start fra et rent tre.

Bygge Programvare som en Uprivilegert (ikke-root) Bruker

Den gylne regelen for Unix System Administrasjon er å bruke dine superkrefter bare når det er nødvendig. Derfor anbefaler BLFS at du bygger programvaren som en uprivilegert bruker og bare bli root bruker når du installerer programvaren. Denne filosofien følges i alle pakkene i denne boken. Med mindre annet er spesifisert, skal alle instruksjoner utføres som en uprivilegert bruker. Boken vil gi deg råd om instruksjoner som trenger root privilegier.

Pakke ut Programvaren

Hvis en fil er i .tar formatet og komprimert, pakkes den ut ved å kjøre en av følgende kommandoer:

tar -xvf filename.tar.gz
tar -xvf filename.tgz
tar -xvf filename.tar.Z
tar -xvf filename.tar.bz2

Notat

Du kan utelate å bruke v parameteren i kommandoene vist over og under hvis du ønsker å undertrykke den detaljerte listen over alle filene i arkivet etter hvert som de pakkes ut. Dette kan bidra til å øke hastigheten på utpakkingen samt gjøre eventuelle feil som oppstår under utpakkingen mer tydelig for deg.

Du kan også bruke en litt annen metode:

bzcat filename.tar.bz2 | tar -xv

Til slutt, noen ganger har vi en komprimert oppdateringsfil i .patch.gz eller .patch.bz2 formatet. Den beste måten å anvende oppdateringen på er å kanalisere utdataen av dekomprimeringen til patch verktøyet. For eksempel:

gzip -cd ../patchname.patch.gz | patch -p1

Eller for en oppdatering komprimert med bzip2:

bzcat ../patchname.patch.bz2 | patch -p1

Verifiserer Filintegritet

Generelt, for å bekrefte at den nedlastede filen er fullstendig, mange pakkevedlikeholdere distribuerer også md5sum av filene. For å bekrefte md5sum av de nedlastede filene, last ned både filen og tilsvarende md5sum fil til samme katalog (helst fra en annen nettplasseringer), og (forutsatt file.md5sum er md5sum filen lastet ned) kjør følgende kommando:

md5sum -c file.md5sum

Hvis det er noen feil, vil de bli rapportert. Merk at BLFS boken også inkluderer md5sum for alle kildefilene. For å bruke BLFS medfølgende md5sum, kan du opprette en file.md5sum (plasser md5sum dataene og det nøyaktige navnet på den nedlastede filen på samme linje i en fil, atskilt med mellomrom) og kjør kommandoen vist ovenfor. Alternativt kan du bare kjøre kommandoen vist nedenfor og sammenligne utdataene til md5sum dataene vist i BLFS boken.

md5sum <navn_på_nedlastet_fil>

MD5 er ikke kryptografisk sikker, så md5summene er kun for å oppdage uønskede endringer i filinnholdet. For eksempel en feil eller avkorting som ble introdusert under nettverksoverføring, eller en «stealth» oppdatering til pakken fra oppstrøms (oppdaterer innholdet i en utgitt tarball i stedet for å lage et nytt slipp riktig).

Det er ingen måte å være «100%» sikker på ektheten til kildefilene. Forutsatt at oppstrøms styrer nettstedet deres riktig (den private nøkkelen lekkes ikke og domenet ikke er kapret), og tillitsankrene er satt opp riktig ved hjelp av make-ca-1.16.1 på BLFS systemet kan vi med rimelighet stole på nedlastings URL-er til oppstrøms offisielle nettsted med https protokoll. Noter at selve BLFS boken er publisert på en nettside med https, så du bør allerede ha litt tillit til https protokollen, ellers ville du ikke stole på bokens innhold.

Hvis pakken er lastet ned fra et uoffisielt sted (for eksempel et lokalt speil), kontrollsummer generert av kryptografisk sikre sammendragsalgoritmer (for eksempel SHA256) kan brukes til å bekrefte ektheten av pakken. Last ned kontrollsumfilen fra oppstrøms offisielle nettsted (eller et sted du kan stole på) og sammenligne sjekksummen av pakken fra uoffisiell plassering av den. For eksempel, SHA256 sjekksummen kan sjekkes med kommandoen:

Notat

Hvis kontrollsummen og pakken er lastet ned fra samme uklarerte plassering, vil du ikke oppnå sikkerhetsforbedring ved å bekrefte pakken med sjekksummen. Angriperen kan forfalske kontrollsummen i tillegg til å kompromittere selve pakken.

sha256sum -c fil.sha256sum

Hvis GnuPG-2.5.17 er installert, kan du også bekrefte ektheten til pakken med en GPG signatur. Importer oppstrøms GPG offentlig nøkkel med:

gpg --recv-key nøkkelID

nøkkelID bør erstattes med nøkkelID fra et sted du kan stole på (for eksempel, kopier den fra oppstrøms offisielle nettside ved å bruke https). Nå kan du verifisere signaturen med:

gpg --recv-key fil.sig fil

Fordelen med GnuPG signaturen er, at når du har importert en offentlig nøkkel som du kan stole på, kan du laste ned både pakken og dens signatur fra samme uoffisielle sted og verifiser dem med den offentlige nøkkelen. Så du trenger ikke å koble til offisielle oppstrømsnettsted for å hente en kontrollsum for hver nye utgivelse. Du trenger bare å oppdatere den offentlige nøkkelen hvis den er utløpt eller tilbakekalt.

Opprette Loggfiler Under Installasjonen

For større pakker er det praktisk å lage loggfiler i stedet for å stirre på skjermen i håp om å fange en bestemt feil eller advarsel. Loggfiler er også nyttige for feilsøking og journalføring. Følgende kommando lar deg lage en installasjonslogg. Erstatt <kommando> med kommandoen du har tenkt å utføre.

( <kommando> 2>&1 | tee compile.log && exit $PIPESTATUS )

2>&1 omdirigerer feilmeldinger til den samme plassering som standard utdata. tee kommandoen tillater visning av utdata mens du logger resultatene til en fil. Parentesene rundt kommandoen kjører hele kommandoen i et underskall og til slutt exit $PIPESTATUS kommando sikrer resultatet av <kommando> returneres som resultatet og ikke resultatet av tee kommandoen.

Bruk av Flere Prosessorer

For mange moderne systemer med flere prosessorer (eller kjerner) kan kompileringstiden for en pakke reduseres ved å utføre en "parallell make" ved enten å sette en miljøvariabel eller fortelle make programmet å utføre flere jobber samtidig.

For eksempel inneholder en Intel Core i9-13900K CPU 8 ytelse (P) kjerner og 16 effektivitet (E) kjerner, og P-kjernene støtter SMT (Simultaneous MultiThreading, også kjent som «Hyper-Threading») slik at hver P-kjerne kan kjøre to tråder samtidig og Linux-kjernen vil behandle hver P-kjerne som to logiske kjerner. Som et resultat er det totalt 32 logiske kjerner. For å bruke alle disse logiske kjernene som kjører make, vi kan sette en miljøvariabel for å fortelle make til å kjøre 32 jobber samtidig:

export MAKEFLAGS='-j32'

eller bare bygge med:

make -j32

Hvis du har brukt den valgfrie sed når du bygget ninja i LFS, kan du bruke:

export NINJAJOBS=32

når en pakke bruker ninja, eller bare:

ninja -j32

Hvis du ikke er sikker på antall logiske kjerner, kjør nproc kommandoen.

For make, standard antall jobber er 1. Men for ninja, standard antall jobber er N + 2 hvis antallet logiske kjerner N er større enn 2; eller N + 1 hvis N er 1 eller 2. Grunnen til å bruke en rekke jobber litt større enn antallet logiske kjerner er å holde alle logiske prosessorer opptatt selv om noen jobber utfører I/O operasjoner.

Merk at -j brytere begrenser bare parallellen jobber startet av make eller ninja, men hver jobb kan fortsatt skape sine egne prosesser eller tråder. For eksempel, noen tester av pakker kan skape flere tråder for testing av trådsikkerhetsegenskaper. Det er ingen generisk måte for byggesystem for å kjenne antall prosesser eller tråder skapt av en jobb. Så generelt bør vi ikke vurdere verdien som er gått med -j en hard grense for antall logiske kjerner å bruke. Les «Bruk Linux Control Group for å begrense ressursbruken» hvis du vil sette slikt en hard grense.

Generelt bør antallet prosesser ikke overstige antallet kjerner støttet av CPU. For å liste opp prosessorene på ditt system, utsted: grep processor /proc/cpuinfo.

I noen tilfeller kan bruk av flere prosesser resultere i en "løps" tilstand hvor suksessen til bygget avhenger av rekkefølgen til kommandoer som kjøres av make programmet. For eksempel, hvis en kjørbar trenger fil A og fil B, og prøver å koble programmet før en av de avhengige komponentene er tilgjengelig vil resultere i en feil. Denne tilstanden oppstår vanligvis fordi oppstrømsutvikleren ikke har angitt alle forutsetningene riktig som trengs for å oppnå et trinn i Makefile.

Hvis dette skjer, er den beste måten å fortsette på å gå tilbake til en enkelt prosessor bygg. Legg til -j1 til en make kommando vil overstyre den lignende innstillingen i MAKEFLAGS miljøvariabel.

Viktig

Et annet problem kan oppstå med moderne CPUer, som har mange kjerner. Hver påbegynt jobb bruker minne, og hvis summen av det nødvendige minnet for hver jobb overskrider tilgjengelig minne, kan du støte på enten et OOM kjerneavbrudd (tom minne) eller intens bruk av vekselfilen som vil bremse byggingen utover rimelige grenser.

Noen kompilasjoner med g++ kan bruke opptil 2,5 GB minne, så for å være sikker bør du begrense antall jobber til (Totalt minne i GB)/2,5, i det minste for store pakker som LLVM, WebKitGtk, QtWebEngine eller libreoffice.

Bruk Linux Control Group for å begrense ressursbruken

Noen ganger ønsker vi å begrense ressursbruken når vi bygger en pakke. For eksempel, når vi har 8 logiske kjerner, vil vi kanskje bruke bare 6 kjerner for å bygge pakken og reservere 2 kjerner for å spille av en film. Linux-kjernen har en funksjon kalt kontrollgrupper (cgroup) for et slikt behov.

Aktiver control group i kjernekonfigurasjonen, og bygg deretter opp igjen kjernen og start om nødvendig:

General setup --->
  [*] Control Group support --->                                       [CGROUPS]
    [*] Memory controller                                                [MEMCG]
    [*] Cpuset controller                                              [CPUSETS]

Forsikre at Sudo-1.9.17p2 er installert. For å kjøre make -j5 med de første 4 logiske kjernene og 8 GB av systemminne, utsted:

bash -e << \EOF
  sudo mkdir /sys/fs/cgroup/$$
  sudo sh -c \
    "echo +memory +cpuset > /sys/fs/cgroup/cgroup.subtree_control"
  sudo sh -c \
    "echo 0-3 > /sys/fs/cgroup/$$/cpuset.cpus"
  sudo sh -c \
    "echo $(bc -e '8*2^30') > /sys/fs/cgroup/$$/memory.high"
  (
    sudo sh -c "echo $BASHPID > /sys/fs/cgroup/$$/cgroup.procs"
    exec make -j5
  )
  sudo rmdir /sys/fs/cgroup/$$
EOF

Med 8589934592 (utdataen av bc -e '8*2^30', 2^30 representerer 230, dvs. en Gigabyte) i memory.high oppføringen, en myk grense for minnebruk er satt. Hvis prosessene i cgroup (make og alle underprosesser av den) bruker mer enn 8 GB systemminne totalt, kjernen vil strupe ned prosessene og prøve å gjenvinne systemminne fra dem. Men de kan fortsatt bruke mer enn 8 GB systemminne. Hvis du vil sette en hard grense i stedet, erstatt memory.high med memory.max. Men å gjøre det vil føre til at prosessene drepes hvis 8 GB ikke er nok for dem.

0-3 i cpuset.cpus oppføringen gjør at kjernen bare kjører prosessene i cgroup på de logiske kjernene med tallene 0, 1, 2 eller 3. Det kan hende du må juster denne innstillingen basert på kartleggingen mellom de logiske kjernene og fysiske kjerner. For eksempel, med en Intel Core i9-13900K CPU, de logiske kjernene 0, 2, 4, ..., 14 er tilordnet de første trådene til de åtte fysiske P-kjernene, de logiske kjernene 1, 3, 5, ..., 15 er kartlagt til de andre trådene til de fysiske P-kjernene, og den logiske kjernene 16, 17, ..., 31 er kartlagt til de 16 fysiske E-kjernene. Så hvis vi ønsker å bruke fire tråder fra fire forskjellige P-kjerner, må vi spesifisere 0,2,4,6 i stedet for 0-3. Merk at de andre CPU modeller kan bruke et annet kartleggingsskjema. Hvis du ikke er sikker på kartleggingen mellom de logiske kjernene og de fysiske kjernene, kjør lscpu --extended kommandoen som vil gi ut logiske kjerne IDer i CPU kolonnen og fysisk kjerne IDer i CORE kolonnen.

Når nproc eller ninja kommandoer kjører i en cgroup, vil den bruke antallet logiske kjerner som er tildelt cgroup som «system logical core count.» For eksempel i en cgroup med logiske kjerner 0-3 tildelt, nproc vil skrive ut 4, og ninja vil kjøre 6 (4 + 2) jobber samtidig hvis ingen -j innstilling er eksplisitt gitt.

Les Documentation/admin-guide/cgroup-v2.rst filen i Linux kjernekildetreet for detaljert forklaring av cgroup2 pseudo-fil systemoppføringer referert til i kommandoen.

Automatiserte Byggeprosedyrer

Det er tider når automatisering av byggingen av en pakke kan være praktisk. Alle har sine egne grunner til å ønske å automatisere byggingen, og alle gjør det på sin egen måte. Å opprette Makefileer, Bash skripter, Perl skripter eller bare en liste over kommandoer som brukes til å klippe og lime er bare noen av metodene du kan bruke for å automatisere byggingen av BLFS pakker. Detaljert hvordan og eksempler på de mange måter du kan automatisere byggingen av pakker på er utenfor rammen av denne seksjonen. Denne delen vil vise deg bruk av filomdirigering og yes kommandoer for å gi ideer om hvordan du kan automatisere byggene dine.

Filomadressering for å Automatisere Inndata

Du vil finne tidspunkter gjennom hele BLFS reisen din at du kommer over en pakke som har en kommando som ber deg om informasjon. Denne informasjon kan være konfigurasjonsdetaljer, en mappebane eller et svar til en lisensavtale. Dette kan by på en utfordring for å automatisere byggingen av den pakken. Noen ganger vil du bli bedt om annen informasjon i en rekke spørsmål. En metode for å automatisere denne typen scenario krever å legge de ønskede svarene i en fil og bruke omdirigering slik at programmet bruker dataene i filen som svar på spørsmålene.

Dette gjør effektivt at testpakken bruker svarene i filen som innspill til spørsmålene. Av og til kan du ende opp med å gjøre litt prøving og feiling for å bestemme det nøyaktige formatet på inndatafilen for noen ting, men når du har funnet ut og dokumentert, kan du bruke dette til å automatisere byggingen av pakken.

Bruke yes for å Automatisere Inndata

Noen ganger trenger du bare å gi ett svar, eller gi samme svar på mange spørsmål. For disse tilfellene, yes kommandoen fungerer veldig bra. yes kommandoen kan brukes til å gi et svar (det samme ett) til ett eller flere forekomster av spørsmål. Den kan brukes til å simulere å trykke på Enter tasten, skrive inn Y tasten eller skrive inn en tekststreng. Kanskje den enkleste måten er å vise bruken på er i et eksempel.

Først lager du et kort Bash skript ved å skrive inn følgende kommandoer:

cat > blfs-yes-test1 << "EOF"
#!/bin/bash

echo -n -e "\n\nPlease type something (or nothing) and press Enter ---> "

read A_STRING

if test "$A_STRING" = ""; then A_STRING="Just the Enter key was pressed"
else A_STRING="You entered '$A_STRING'"
fi

echo -e "\n\n$A_STRING\n\n"
EOF
chmod 755 blfs-yes-test1

Kjør nå skriptet ved å utstede ./blfs-yes-test1 fra kommandolinjen. Den vil vente på et svar, som kan være hva som helst (eller ingenting) etterfulgt av Enter tasten. Etter å ha skrevet inn noe, vil resultatet bli ekkoet til skjermen. Bruk nå yes kommandoen for å automatisere inntasting av en respons:

yes | ./blfs-yes-test1

Legg merke til videreledingen av yes til skriptet resulterer i at y blir overført til skriptet. Prøv nå med en tekststreng:

yes 'This is some text' | ./blfs-yes-test1

Den nøyaktige strengen ble brukt som respons på skriptet. Endelig, prøv det med en tom (null) streng:

yes '' | ./blfs-yes-test1

Legg merke til at dette resulterer i at du bare videreleder pressingen av Enter tasten til skriptet. Dette er nyttig for når standardsvar på ledeteksten er tilstrekkelig. Denne syntaksen brukes i Net-tools instruksjoner for å godta alle standardsvarene til de mange ledetekstene under konfigurasjonstrinnet. Du kan nå fjerne testskriptet om ønskelig.

Filomadressering for å Automatisere Utdata

For å automatisere byggingen av noen pakker, spesielt de som krever at du leser en lisensavtale en side om gangen, krever å bruke en metode som unngår å måtte trykke på en tast for å vise hver side. Omdirigere utdataene til en fil kan brukes i disse tilfellene for å hjelpe med automatiseringen. Den forrige delen på denne siden berørte opprettelse av loggfiler for byggeutdataen. Omdirigeringsmetoden vist der brukte tee kommandoen for å omdirigere utdata til en fil men også vise utdataene på skjermen. Her vil utdataen kun sendes til en fil.

Igjen, den enkleste måten å demonstrere teknikken på er å vise et eksempel. Usted først kommandoen:

ls -l /usr/bin | less

Selvfølgelig må du se utdataene en side om gangen fordi less filteret ble brukt. Prøv nå den samme kommandoen, men denne gangen omdirigerer utdataene til en fil. Den spesielle filen /dev/null kan brukes i stedet for filnavnet som vises, men du vil ikke ha noen loggfil å undersøke:

ls -l /usr/bin | less > redirect_test.log 2>&1

Legg merke til at denne gangen kom kommandoen umiddelbart tilbake til skallets ledetekst uten å måtte bla gjennom utdataene. Du kan nå fjerne loggfilen.

Det siste eksemplet vil bruke yes kommandoen i kombinasjon med utdataomdirigering for å omgå å måtte bla gjennom utdataen og deretter gi en y til en spørring. Denne teknikken kan brukes i tilfeller der du ellers måtte bla gjennom utdata fra en fil (for eksempel en lisensavtale) og svare deretter på spørsmål om do you accept the above?. For dette eksempelet, et annen kort Bash skript kreves:

cat > blfs-yes-test2 << "EOF"
#!/bin/bash

ls -l /usr/bin | less

echo -n -e "\n\nDid you enjoy reading this? (y,n) "

read A_STRING

if test "$A_STRING" = "y"; then A_STRING="You entered the 'y' key"
else A_STRING="You did NOT enter the 'y' key"
fi

echo -e "\n\n$A_STRING\n\n"
EOF
chmod 755 blfs-yes-test2

Dette skriptet kan brukes til å simulere et program som krever at du leser en lisensavtale, og svarer deretter på riktig måte for å godta avtalen før programmet vil installere noe. Kjør først skriptet uten automatiseringsteknikker ved å utstede ./blfs-yes-test2.

Utfør nå følgende kommando som bruker to automatiseringsteknikker, gjøre det egnet for bruk i et automatisert byggeskript:

yes | ./blfs-yes-test2 > blfs-yes-test2.log 2>&1

Hvis ønskelig, utsted tail blfs-yes-test2.log for å se slutten av den sidesøkte utdataen, og bekreftelse på at y ble sendt videre til skriptet. Når du er overbevist om at den fungerer som den skal, kan du fjerne skriptet og loggfilen.

Til slutt, husk at det er mange måter å automatisere og/eller skripte byggekommandoene. Det er ikke en eneste «riktig» måte å gjøre det på. Det er bare fantasien din som setter grenser.

Avhengigheter

For hver pakke som er beskrevet, viser BLFS de kjente avhengighetene. Disse er oppført under flere overskrifter, hvis betydning er som følger:

  • Påkrevd betyr at målpakken ikke kan bygges riktig uten at avhengigheten først har blitt installert, bortsett fra hvis avhengigheten sies å være «kjøretid» som betyr at målpakken kan bygges men kan ikke fungere uten den.

    Merk at en målpakke kan begynne å «fungere» på mange subtile måter: en installert konfigurasjonsfil kan gjøre init systemet, cron nissen eller buss nissen for å kjøre et program automatisk; en annen pakke som bruker målpakken som en avhengighet kan kjøre et program fra målpakken i byggesystemet; og konfigurasjonsdelene i BLFS boken kan også kjøre et program fra en nettopp installert pakke. Så hvis du installerer målpakken uten en Påkrevd (kjøretid) avhengighet installert, Bør du installere avhengigheten så snart som mulig etter installasjonen av målpakken.

  • Anbefalt betyr at BLFS sterkt foreslår at denne pakken installeres først (bortsett fra hvis det sies å være «kjøretid,» se nedenfor) for et rent og problemfritt bygg, som ikke vil ha problemer verken under byggeprosessen eller ved kjøretid. Instruksjonene i boken forutsetter at disse pakkene er installert. I mange tilfeller, hvis en anbefalt avhengighet (ikke bare «kjøretid») ikke er installert, den bygde pakken kan mangle noen viktige funksjoner (for eksempel en videospiller kan kanskje bare spille av lyd). Noen ganger er det nødvendig å modifisere bokinstruksjonene for å deaktivere disse viktige funksjonene. I andre tilfeller kan byggesystemet til pakken bygge en kopi av avhengigheten (ofte utdatert og noen ganger med kjent sikkerhetssårbarhet) sendt i kildetreet, eller kan lastes ned fra internett under byggeprosessen. Dette øker byggetiden og diskbruk. Dette kan potensielt forårsake andre problemer. Hvis en anbefalt avhengighet er sagt å være «kjøretid,» betyr det at BLFS sterkt foreslår at denne avhengigheten er installert før du bruker pakken, for å få full funksjonalitet.

  • Valgfri betyr at denne pakken kan bli installert for ekstra funksjonalitet. Ofte vil BLFS beskrive avhengighet for å forklare den ekstra funksjonalitetenen som vil bli resultatet. Noen valgfrie avhengigheter kan automatisk plukkes opp av målpakken hvis avhengigheten er installert, mens andre trenger flere konfigurasjonsalternativer for å bli aktivert når målpakken er bygget. Slike tilleggsalternativer er ofte dokumentert i BLFS boken. Hvis en valgfri avhengighet er sagt å være «kjøretid,» betyr det at du kan installere avhengigheten etter installasjon av målpakken for å støtte noen valgfrie funksjoner i målpakken hvis du trenger disse egenskapene.

    En valgfri avhengighet kan være utenfor BLFS. Hvis du trenger en slik ekstern valgfri avhengighet for noen funksjoner du trenger, les Gå Utover BLFS for generelle hint om å installere en pakke utenfor BLFS. Merk at BLFS redaktørene ikke tester en konfigurasjon med eksterne pakker generelt, og det finnes derfor absolutt ingen kvalitetssikring for de eksterne avhengighetene som er oppført i boken. Listen over eksterne avhengigheter kan være ufullstendig eller inneholde overflødige elementer. I verste fall kan selve eksistensen av en ekstern avhengighet på systemet utløse en feil i pakken, noe som forårsaker en bygge- eller kjøretidsfeil.

Bruke de Nyeste Pakkekildene

Noen ganger kan du støte på en situasjon i boken når en pakke ikke vil bygge eller fungere skikkelig. Selv om redaktørene prøver å sikre at hver pakke i boken bygger og fungerer som den skal, noen ganger har pakken blitt oversett eller ble ikke testet med denne versjonen av BLFS.

Hvis du oppdager at en pakke ikke vil bygge eller fungere som den skal, bør du se om det finnes en mer oppdatert versjon av pakken. Typisk betyr dette at du går til vedlikeholderens nettsted og laster ned den nyeste tarballen og forsøke å bygge pakken. Hvis du ikke kan bestemme vedlikeholderens nettsted ved å se på nedlastingsadressene, bruk Google og spør etter pakkens navn. Skriv for eksempel i Google-søkefeltet: 'pakkenavn nedlasting' (utelat anførselstegn) eller noe lignende. Noen ganger å skrive: 'pakkenavn hjemmeside' vil resultere i at du finner vedlikeholderens nettsted.

Strippe En Gang Til

I LFS ble stripping av feilsøkingssymboler diskutert et par ganger. Når du bygger BLFS pakker, er det generelt ingen spesielle instruksjoner som diskuterer stripping igjen. Stripping kan gjøres mens du installerer en pakke, eller etterpå.

Stripping while Installing a Package

Det er flere måter å strippe kjørbare filer installert av en pakke. Det avhenger av byggesystemet som brukes (se nedenfor avsnittet om byggesystemer), så bare noen generelle forhold kan listes opp her:

Notat

Følgende metoder ved hjelp av funksjonen til et byggesystem (autoverktøy, meson eller cmake) vil ikke strippe statiske biblioteker hvis noen er installert. Heldigvis er det ikke for mange statiske biblioteker i BLFS, og et statisk bibliotek kan alltid strippes trygt med å kjøre strip --strip-unneeded på den manuelt.

  • Pakkene som bruker autoverktøy har vanligvis et install-strip mål i deres genererte Makefile filer. Så å installere strippede kjørbare er bare et spørsmål om å bruke make install-strip i stedet for make install.

  • Pakkene som bruker meson byggesystemet kan godta -D strip=true når du kjører meson. Hvis du har glemt å legge til dette alternativet ved kjøring av meson, kan du også kjøre meson install --strip i stedet for ninja install.

  • cmake genererer install/strip mål for både Unix Makefiles og Ninja generatorer (standard er Unix Makefiles på linux). Så bare kjør make install/strip eller ninja install/strip i stedet for install motparter.

  • Å strippe (eller ikke generere) feilsøkingssymboler kan også oppnås ved å strippe -g<noe> alternativer i C/C++ anrop. Hvordan du gjør det er veldig spesifikt for hver enkelt pakke. Og den stripper ikke unødvendige symboltabelloppføringer. Så det vil ikke bli forklart i detalj her. Se også nedenfor avsnittene om optimalisering.

Stripping av Installerte Kjørbare filer

strip verktøyet endrer filer på plass, noe som kan bryte noe ved å bruke det hvis det er lastet inn i minnet. Merk at hvis en fil er i bruk, men nettopp strippet fra disken (dvs. ikke overskrevet eller modifisert), er dette ikke et problem siden kjernen kan bruke «slettede» filer. Se på /proc/*/maps og det er sannsynlig at du vil se noen (slettede) oppføringer. mv fjerner bare målfilen fra mappen, men berører ikke innholdet, slik at den tilfredsstiller betingelsen for at kjernen skal bruke den gamle (slettede) filen. Men denne tilnærmingen kan løsne harde lenker til dupliserte kopier, forårsaker det en oppblåsthet som åpenbart er uønsket når vi stripper for å redusere systemstørrelsen. Hvis to filer i samme filsystem deler samme inodenummer, de er harde lenker til hverandre, og vi burde rekonstruere koblingen. Skriptet nedenfor er bare et eksempel. Det skal kjøres som root bruker:

cat > /usr/sbin/strip-all.sh << "EOF"
#!/usr/bin/bash

if [ $EUID -ne 0 ]; then
  echo "Need to be root"
  exit 1
fi

last_fs_inode=
last_file=

{ find /usr/lib -type f -name '*.so*' ! -name '*dbg'
  find /usr/lib -type f -name '*.a'
  find /usr/{bin,sbin,libexec} -type f
} | xargs stat -c '%m %i %n' | sort | while read fs inode file; do
       if ! readelf -h $file >/dev/null 2>&1; then continue; fi
       if file $file | grep --quiet --invert-match 'not stripped'; then continue; fi

       if [ "$fs $inode" = "$last_fs_inode" ]; then
         ln -f $last_file $file;
         continue;
       fi

       cp --preserve $file ${file}.tmp
       strip --strip-debug ${file}.tmp
       mv ${file}.tmp $file

       last_fs_inode="$fs $inode"
       last_file=$file
done
EOF
chmod 744 /usr/sbin/strip-all.sh

Hvis du installerer programmer i andre mapper som f.eks /opt eller /usr/local, kan det være lurt å strippe filene der også. Bare legg til andre mapper for å skanne i den sammensatte find kommandoen mellom krøllparentesene i listen over.

For mer informasjon om stripping, se https://www.technovelty.org/linux/stripping-shared-libraries.html.

Arbeide med ulike byggesystemer

Det er nå tre forskjellige byggesystemer i vanlig bruk for å konvertere C eller C++ kildekode til kompilerte programmer eller biblioteker og deres detaljer (spesielt å finne ut om tilgjengelige alternativer og deres standardverdier) er forskjellige. Det er kanskje lettest å forstå problemene forårsaket av noen valg (vanligvis langsom utførelse eller uventet bruk av, eller utelatelse av, optimaliseringer) ved å starte med CFLAGS, CXXFLAGS, og LDFLAGS miljøvariabler. Det er også noen programmer som bruker Rust.

De fleste LFS og BLFS byggere er sannsynligvis klar over det grunnleggende om CFLAGS og CXXFLAGS for å endre hvordan et program er kompilert. Vanligvis brukes en eller annen form for optimalisering av oppstrøms utviklere (-O2 eller -O3), noen ganger med opprettelse av feilsøkingssymboler (-g), som standard.

Hvis det er motstridende flagg (f.eks. flere forskjellige -O verdier), den siste verdien vil bli brukt. Noen ganger betyr dette at flagg spesifisert i miljøvariabler vil bli plukket opp før verdier hardkodet i Makefilen, og derfor ignorert. For eksempel, der en bruker spesifiserer -O2 og det blir etterfulgt av -O3 vil byggingen bruke -O3.

Det er forskjellige andre ting som kan sendes i CFLAGS eller CXXFLAGS, for eksempel å tillate bruk av instruksjonssettet utvidelser tilgjengelig med en spesifikk mikroarkitektur (f.eks. -march=amdfam10 eller -march=native), stille inn den genererte koden for en spesifikk mikroarkitektur (f.eks. -mtune=tigerlake or -mtune=native, hvis -mtune= ikke brukes, mikroarkitekturen fra -march= innstillingen vil bli brukt), eller spesifisere en spesifikk standard for C eller C++ (-std=c++17 for eksempel). Men en ting som nå har kommet frem er at programmerere kan inkludere feilsøkingspåstander i koden sin, forventer de skal deaktiveres i utgivelser ved å bruke -D NDEBUG. Spesielt hvis Mesa-25.3.5 er bygget med disse påstander aktivert, noen aktiviteter som lasting av spill kan ta ekstremt lang tid, selv på skjermkort av høy klasse.

Autotools med Make

Denne kombinasjonen beskrives ofte som «CMMI» (configure, make, make install) og brukes her til også å dekke de få pakkene som har et konfigureringsskript som ikke er generert av autoverktøy.

Noen ganger å kjøre ./configure --help vil produsere nyttige alternativer om brytere som kan brukes. Andre ganger, etter å ha sett på utdataene fra configure må du kanskje se på detaljene i skriptet for å finne ut hva det faktisk søkte for.

Mange konfigureringsskript vil plukke opp alle CFLAGS eller CXXFLAGS fra miljøet, men CMMI pakker varierer med hvordan disse vil bli blandet med flagg som ellers ville blitt brukt (forskjellig: ignorert, brukt til å erstatte programmererens forslag, brukt før programmerers forslag, eller brukt etter programmererens forslag).

I de fleste CMMI pakkene vil kjøring av make liste hver kommando og kjøre det, ispedd eventuelle advarsler. Men noen pakker prøver å være «stille» og bare vise hvilken fil de kompilerer eller kobler i stedet for å vise kommandolinjen. Hvis du trenger å inspisere kommandoen, enten på grunn av en feil, eller bare for å se hvilke alternativer og flagg som brukes, legg til V=1 for å lage påkallelsen kan hjelpe.

CMake

CMake fungerer på en helt annen måte, og den har to bakstykker som kan brukes på BLFS: make og ninja. Standard bakstykke er make, men ninja kan være raskere på store pakker med flere prosessorer. For å bruke ninja, spesifiser -G Ninja i cmake kommandoen. Imidlertid er det noen pakker som skaper fatale feil i deres ninja filer, men bygd vellykket ved å bruke standard Unix Makefiler.

Den vanskeligste delen med å bruke CMake er å vite hvilke alternativer du måtte ønske å spesifisere. Den eneste måten å få en liste over hva pakken vet er å kjøre cmake -LAH og se på utdataen for standardkonfigurasjon.

Det kanskje viktigste med CMake er at den har en variasjon av CMAKE_BUILD_TYPE verdier, og disse påvirker flaggene. Standaren er at dette ikke er satt og ingen flagg blir generert. Eventuelle CFLAGS eller CXXFLAGS i miljøet vil bli brukt. Hvis programmereren har kodet noen feilsøkingspåstander, disse vil være aktivert med mindre -D NDEBUG brukes. Følgende CMAKE_BUILD_TYPE verdier vil generere flaggene som vises, og disse skal komme etter eventuelle flagg i miljøet og har derfor forrang.

Verdi Flagg
Debug -g
Release -O3 -D NDEBUG
RelWithDebInfo -O2 -g -D NDEBUG
MinSizeRel -Os -D NDEBUG

CMake prøver å produsere stille bygginger. For å se detaljene til kommandoene som kjøres, bruk make VERBOSE=1 eller ninja -v.

Som standard behandler CMake filinstallasjon annerledes enn andre byggesystemer: hvis en fil allerede eksisterer og ikke er nyere enn en fil som ville overskrive den, så blir ikke filen installert. Dette kan være et problem hvis en bruker ønsker å registrere hvilken fil som tilhører en pakke, enten ved hjelp av LD_PRELOAD, eller ved å liste nyere filer enn et tidsstempel. Standarden kan endres ved å angi variabelen CMAKE_INSTALL_ALWAYS til 1 i miljøet, for eksempel med å export det.

Meson

Meson har noen likheter med CMake, men mange forskjeller. Å få detaljer om definisjonene som du kanskje ønsker å endre kan du se på meson_options.txt som vanligvis er i mappen på øverste nivå.

Hvis du allerede har konfigurert pakken ved å kjøre meson og nå ønsker å endre en eller flere innstillinger, kan du enten fjerne byggemappen, gjenskape den og bruke de endrede alternativene, eller kjøre i byggemappen meson configure, f.eks. for å angi et alternativ:

meson configure -D <some_option>=true

Hvis du gjør det, filen meson-private/cmd_line.txt vil vise den siste kommandoen som ble brukt.

Meson gir følgende byggetype verdier, og flaggene de aktiverer kommer etter eventuelle flagg som leveres i miljøet og har derfor forrang.

  • plain: ingen flagg lagt til. Dette er for distributører for å levere sine egne CFLAGS, CXXFLAGS og LDFLAGS. Det er ingen åpenbar grunn til å bruke dette i BLFS.

  • debug: -g - dette er standard hvis ingenting er spesifisert i enten meson.build eller kommandolinjen. Men det resulterer i store og langsomme binærfiler, så vi bør overstyre det i BLFS.

  • debugoptimized: -O2 -g - dette er standard spesifisert i meson.build av noen pakker.

  • release: -O3 (noen ganger vil en pakke tvinge -O2 her) - dette er byggetypen vi bruker for de fleste pakker med Meson byggesystem i BLFS.

-D NDEBUG flagget antydes av utgivelsen byggetype for noen pakker (for eksempel Mesa-25.3.5). Det kan også gis eksplisitt ved å sende -D b_ndebug=true.

For å se detaljene for kommandoene som kjøres i en pakke ved hjelp av meson, bruk ninja -v.

Rustc og Cargo

De fleste utgitte rustc programmer leveres som crates (kilde tarballer) som vil spørre en server om å sjekke gjeldende versjoner av avhengigheter og last dem ned etter behov. Disse pakkene er bygget med cargo --release. I teorien kan du manipulere RUSTFLAGS for å endre optimaliseringsnivået (standard for --release er 3, dvs -Copt-level=3, er lik -O3) eller for å tvinge den til å bygge for maskinen den blir kompilert på, ved hjelp av -Ctarget-cpu=native men i praksis ser dette ut til å ikke gjøre noen vesentlig forskjell.

Hvis du kompilerer et frittstående Rust program (som et upakket .rs fil) ved å kjøre rustc direkte, bør du spesifisere -O (forkortelsen av -Copt-level=2) eller -Copt-level=3 ellers vil den gjøre en uoptimalisert kompilering og kjøre mye langsommere. Hvis du kompilerer programmet for å feilsøke det, bytt ut -O eller -Copt-level= alternativer med -g for å produsere et uoptimalisert program med feilsøkingsinformasjon.

Lik ninja, som standard cargo bruker alle logiske kjerner. Dette kan ofte omgås, enten ved å eksportere CARGO_BUILD_JOBS=<N> eller sende --jobs <N> til cargo. For å kompilere rustc selv, spesifisere --jobs <N> for påkallelser av x.py (sammen med CARGO_BUILD_JOBS miljøvariabel, som ser ut som en «belte og seler» tilnærming, men ser ut til å være nødvendig) fungerer for det meste. Unntaket er kjører testene når du bygger rustc, noen av dem vil bruk likevel alle tilgjengelige CPUer, i det minste fra og med rustc-1.42.0.

Optimalisering av bygget

Mange mennesker vil foretrekke å optimalisere kompileringer slik de finner passende, ved å tilby CFLAGS eller CXXFLAGS. For en introduksjon til alternativene tilgjengelig med gcc og g++ se https://gcc.gnu.org/onlinedocs/gcc-15.2.0/gcc/Optimize-Options.html. Det samme innholdet finnes også i info gcc.

Noen pakker er som standard -O2 -g, andre -O3 -g, og hvis CFLAGS eller CXXFLAGS leveres, kan de legges til pakkens standardinnstillinger, erstatte pakkens standardinnstillinger, eller til og med bli ignorert. Det er detaljer om noen skrivebordspakker som var stort sett aktuelt i april 2019 på https://www.linuxfromscratch.org/~ken/tuning/ - i spesielt, README.txt, tuning-1-packages-and-notes.txt, og tuning-notes-2B.txt. Det spesielle å huske er at hvis du ønsker å prøve noen av de mer interessante flagg trenger du kanskje å tvinge detaljerte bygg for å bekrefte hva som blir brukt.

Klart, hvis du optimaliserer ditt eget program kan du bruke tid på det profilere det og kanskje omkode noe av det hvis det er for tregt. Men for å bygge et helt system er det upraktisk. Generelt, -O3 produserer vanligvis raskere programmer enn -O2. Spesifisere -march=native er også gunstig, men det betyr at du ikke kan flytte binærfilene til en inkompatibel maskin - dette gjelder også for nyere maskiner, ikke bare for eldre maskiner. For eksempelprogrammer kompilert for amdfam10 kjører på gamle Phenoms, Kaveris og Ryzens, men programmer kompilert for en Kaveri vil ikke kjøre på en Ryzen fordi visse op-koder ikke er tilstede. På samme måte, hvis du bygger for en Haswell, vil ikke alt kjøre på en SandyBridge.

Notat

Pass på at navnet på en -march innstilling samsvarer ikke alltid med basislinjen til mikroarkitekturen med samme navn. For eksempel Skylake baserte Intel Celeron prosessorer støtter ikke AVX i det hele tatt, men -march=skylake antar AVX og til og med AVX2.

Når et delt bibliotek bygges av GCC, en funksjon kalt «semantic interposition» er aktivert som standard. Når det delte biblioteket refererer til et symbolnavn med ekstern kobling og standard synlighet, hvis symbolet finnes i begge de delte biblioteket og de viktigste kjørbare, semantiske interposisjonsgarantiene symbolet i den kjørbare hovedfilen brukes alltid. Denne funksjonen ble oppfunnet i et forsøk på å gjøre oppførselen til å koble til en delt bibliotek og koble et statisk bibliotek så likt som mulig. I dag bare et lite antall pakker er fortsatt avhengig av semantikk interposisjon, men funksjonen er fortsatt på som standard for GCC, forårsaker mange optimaliseringer deaktivert for delte biblioteker fordi de er i konflikt med semantisk interposisjon. -fno-semantic-interposition alternativet kan bli sendt til gcc eller g++ for å deaktivere semantisk interposisjon og muliggjør flere optimaliseringer for delt biblioteker. Dette alternativet brukes som standard for enkelte pakker (for eksempel Python-3.14.3), og det er også standard for Clang.

Det er også forskjellige andre alternativer som noen hevder er gunstige. I verste fall får du rekompilere og teste, og så oppdage at i din bruk gir alternativene ikke en fordel.

Hvis du bygger Perl eller Python moduler, generelt CFLAGS og CXXFLAGS brukt er de som ble brukt av disse «foreldre» pakker.

For LDFLAGS, tre alternativer kan brukes for optimalisering. De er ganske trygge å bruke og byggesystemet for noen pakker bruker noen av disse alternativene som standard.

Med -Wl,-O1, linkeren vil optimer hash tabellen for å øke hastigheten på den dynamiske koblingen. Merk at -Wl,-O1 er helt urelatert til kompilatoroptimaliseringsflagg -O1.

Med -Wl,--as-needed, linkeren vil se bort fra unødvendige -lfoo alternativer fra kommandolinjen, dvs. e. det delte biblioteket libfoo vil bare bli koblet hvis et symbol i libfoo er virkelig henvist fra det kjørbare eller delte biblioteket som kobles til. Dette kan noen ganger dempe «overdreven avhengighet til delte biblioteker» problemer forårsaket av libtool.

Med -Wl,-z,pack-relative-relocs, linkeren genererer en mer komprimert form av de relative flytteoppføringene for PIE-er og delte biblioteker. Det reduserer størrelsen på den tilknyttede PIE eller delt bibliotek, og fremskynder lasting av PIE eller delt bibliotek.

-Wl, prefiks er nødvendig fordi til tross for at variabelen er navngitt LDFLAGS, innholdet er faktisk sendt til gcc (eller g++, clang, etc.) under koblingsstadiet, ikke direkte sendt til ld.

Alternativer for å sikre bygget

Selv på stasjonære systemer er det fortsatt mye som kan utnytte sårbarheter. For mange av disse kommer angrepet via javascript i en nettleser. Ofte brukes en rekke sårbarheter for å få tilgang til data (eller noen ganger til pwn, dvs. eie, maskinen og installer rootkits). De fleste kommersielle distros vil bruke ulike sikringstiltak.

Tidligere var det Hardened LFS der gcc (en mye eldre versjon) ble tvunget til å bruke herding (med alternativer for å slå av noe av det på en per pakke-basis). De nåværende LFS- og BLFS-bøkene fører videre en del av sin ånd ved å aktivere PIE (-fPIE -pie) og SSP (-fstack-protector-strong) som standard for GCC og clang. Og, linkerene (ld) har også aktivert -Wl,-z,relro som gjør en del av Global Offset Table (GOT) uforanderlig, som standard siden Binutils 2.27. Det som blir dekket her er annerledes - først må du sørge for at pakken faktisk bruker flaggene du har lagt til, og ikke overstyrer dem.

For herdealternativer som er rimelig billige, finnes det noen diskusjon i "tuning" lenken ovenfor (noen ganger kan en eller flere av disse alternativene være upassende for en pakke). Disse alternativene er -D _FORTIFY_SOURCE=2 (eller -D _FORTIFY_SOURCE=3 som er sikrere men med større ytelsesoverhead) og (for C++) -D _GLIBCXX_ASSERTIONS. På moderne maskiner skal disse bare ha en liten innvirkning på hvor raskt ting kjører, og ofte vil de ikke merkes.

De største distroene bruker mye mer, som f.eks:

  • -Wl,-z,now: deaktiverer lazy binding for å forbedre -Wl,-z,relro, sånn at hele GOT kan gjøres uforanderlig.

  • -fstack-clash-protection: hindrer angriperen fra å bruke en offset som er stor nok og ikke tilstrekkelig kontrollert til å hoppe over stabel guard siden plassert av kjernen og stabel canary plassert ved -fstack-protector=strong, og endre stabelen fra en heapadresse, eller omvendt.

  • -ftrivial-auto-var-init=zero: initialiserer noen variabler ved å fylle null byte hvis de ikke er initialisert på andre måter.

  • -fcf-protection=full: bruker Intel og AMD CET teknologi for å begrense måladressene for control-flow overføringsinstruksjoner. For å gjøre det virkelig effektivt for en pakke, alle pakker som gir et delt bibliotek for pakken som skal brukes må bygges med dette alternativet, så vel som selve pakken, Glibc må konfigureres med --enable-cet alternativet aktivert, og systemet må kjøre på Intel Tiger Lake eller nyere, eller AMD Zen 3 eller nyere. Dersom kriteriene ikke er oppfylt, vil programmet satt sammen med dette alternativet fortsatt kjøre, men er egentlig ikke beskyttet av CET.

I GCC 14, alternativet -fhardened er en forkortelse for å aktivere alle herdealternativene nevnt ovenfor. Det setter -D _FORTIFY_SOURCE=3 istedenfor -D _FORTIFY_SOURCE=2.

Du kan også møte den såkalte «userspace retpoline» (-mindirect-branch=thunk etc.) hvilken tilsvarer spekter begrensninger som ble tatt i bruk i linuxkjernen sent i 2018. Kjernebegrensningene forårsaket mange klager om tapt ytelse, hvis du har en produksjonsserver ønsker du kanskje å vurdere å teste det, sammen med de andre tilgjengelige alternativene, å se om ytelsen fortsatt er tilstrekkelig.

Mens gcc har mange herdealternativer, ligger clang/LLVMs styrke andre steder. Noen alternativer som gcc tilbyr sies å være mindre effektive i clang/LLVM.

/usr Kontra /usr/local Debatten

Bør jeg installere XXX i /usr eller /usr/local?

Dette er et spørsmål uten et åpenbart svar for et LFS basert system.

I tradisjonelle Unix systemer, /usr inneholder vanligvis filer som kommer med systemdistribusjonen, og /usr/local treet er ledig for lokale administratorer å administrere. Den eneste virkelig harde og raske regelen er at Unix distribusjoner bør ikke røre /usr/local, unntatt kanskje å opprette de grunnleggende mappene i den.

Med Linux distribusjoner som Red Hat, Debian, etc., en mulig regel er at /usr administreres av distribusjonens pakkesystem og /usr/local er ikke. På denne måten kan pakkebehandlerens database vite om hver fil innenfor /usr.

LFS brukere bygger sitt eget system og bestemme hvor systemet slutter og lokale filer begynner er ikke enkelt. Så valget bør gjøres for å gjøre ting enklere å administrere. Det er flere grunner til å dele filer mellom /usr og /usr/local.

  • På et nettverk av flere maskiner som alle kjører LFS, eller blandet LFS og andre Linux distribusjoner, /usr/local kan brukes til å holde pakker som er felles mellom alle datamaskinene i nettverket. Det kan være NFS montert eller speilet fra en enkelt server. Her indikerer lokalt, lokalt på stedet.

  • På et nettverk av flere datamaskiner som alle kjører et identisk LFS system, /usr/local kunne holde pakker som er forskjellige mellom maskinene. I dette tilfellet lokalt refererer til de enkelte datamaskinene.

  • Selv på en enkelt datamaskin, /usr/local kan være nyttig hvis du har flere distribusjoner installert samtidig, og ønsker et sted å legge pakker som vil være like på dem alle.

  • Eller du kan regelmessig gjenoppbygge LFS, men vil ha et sted å plassere filer som du ikke vil gjenoppbygge hver gang. Denne måten kan du slette LFS filsystemet og starte fra en ren partisjoner hver gang uten å miste alt.

Noen spør hvorfor ikke bruke ditt eget mappetre, f.eks., /usr/site, i stedet for /usr/local?

Det er ingenting som stopper deg, mange nettsteder lager sine egne trær, men det gjør det vanskeligere å installere ny programvare. Automatiske installatører ser ofte etter avhengigheter i /usr og /usr/local, og hvis filen den leter etter er i /usr/site i stedet, installasjonsprogrammet vil sannsynligvis mislykkes med mindre du spesifikt forteller det hvor den skal se.

Hva er BLFS holdning til dette?

Alle BLFS instruksjonene installerer programmer i /usr med valgfrie instruksjoner til å installere i /opt for noen spesifikke pakker.

Valgfrie Oppdateringer

Når du følger de ulike avsnittene i boken, vil du observere at boken av og til inneholder oppdateringer som kreves for en vellykket og sikker installasjon av pakkene. Bokens generelle praksis er å inkludere oppdateringer som faller inn under ett av følgende kriterier:

  • Løser et kompileringsproblem.

  • Løser et sikkerhetsproblem.

  • Retter en ødelagt funksjonalitet.

Kort fortalt inneholder boken kun oppdateringer som er enten påkrevd eller anbefalt. Det er en Oppdateringer delprosjekt som er vert for forskjellige oppdateringer (inkludert oppdateringene det refereres til i bøkene) slik at du kan konfigurere LFS slik du liker den.

BLFS Oppstartsskript

BLFS pakken Bootscripts inneholder init skript som brukes gjennom hele boken. Det antas at du vil bruke BLFS pakken Bootscripts sammen med en kompatibel LFS-Bootscripts pakke. Referer til ../../../../lfs/view/development/chapter09/bootscripts.html for mer informasjon om LFS-Bootscripts pakken.

BLFS Bootscripts pakken vil bli brukt gjennom hele BLFS boken for oppstartsskript. I motsetning til LFS har hvert init skript et eget installasjonsmål i BLFS Bootscripts pakken. Det anbefales at du beholder pakkekildens mappe til ferdigstillelse av BLFS systemet. Når et skript er forespurt fra BLFS Bootscripts, bytt ganske enkelt til mappen og som root bruker, utfør den gitte make install-<init-script> kommandoen. Denne kommandoen installerer init skriptet til riktig plassering (sammen med eventuelle tilleggskonfigurasjonsskript) og oppretter også passende symbolkoblinger for å starte og stoppe tjenesten på riktig kjørenivå.

Notat

Du bør gå gjennom hvert bootscript før installasjon for å forsikre deg om at den tilfredsstiller ditt behov. Kontroller også at start og stopp symbolkoblingene den lager samsvarer med dine preferanser.

Notat

Fra tid til annen oppdateres bootscripts for å imøtekomme nye pakker eller for å gjøre mindre rettelser. Alle versjoner av bootscripts er plassert på https://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/.

Om Libtool Arkiv (.la) filer

Filer med en .la filtype

I LFS og BLFS bruker mange pakker en internt sendt kopi av libtool for å bygge på en rekke Unix plattformer. Dette inkluderer plattformer som f.eks AIX, Solaris, IRIX, HP-UX og Cygwin samt Linux. Opprinnelsen til dette verktøyet er ganske utdatert. Det var ment å administrere biblioteker på systemer med mindre avanserte funksjoner enn et moderne Linux system.

På et Linux system er libtool spesifikke filer generelt unødvendige. Normalt spesifiseres biblioteker i byggeprosessen under koblingsfasen. Siden et linux basert system bruker Executable and Linkable Format (ELF) for kjørbare filer og dynamiske biblioteker, er informasjon som trengs for å fullføre oppgaven innebygd i filene. Både linkeren og programlasteren kan spørre om passende filer og koble eller kjøre programmet på riktig måte.

Statiske biblioteker brukes sjelden i LFS og BLFS. Og i dag lagrer de fleste pakker informasjonen som trengs for å koble til et statisk biblioteket til en .pc fil, i stedet for å stole på libtool. pkg-config --static --libs kommandoen sender ut de tilstrekkelige flaggene til at linkeren kan kobles mot et statisk bibliotek uten libtool-magi.

Problemet er at libtool vanligvis lager en eller flere tekstfiler for pakkebiblioteker kalt libtool arkiver. Disse små filene har en ".la" filtype og inneholder informasjon som ligner på den innebygde i bibliotekene eller pkg-config-filene. Når du bygger en pakke som bruker libtool, ser prosessen automatisk etter disse filene. Noen ganger kan en .la fil inneholde navnet eller banen til et statisk bibliotek som brukes under bygging, men ikke er installert, da vil byggeprosessen bryte fordi .la filen refererer til noe som ikke eksisterer på systemet. På samme måte, hvis en pakke er oppdatert og ikke lenger bruker .la-filen, da kan byggeprosessen bryte med de gamle .la-filene.

Løsningen er å fjerne .la filene. Men det er en hake. Noen pakker, som f.eks ImageMagick-7.1.2-13, bruk en libtool funksjon, lt_dlopen, for å laste biblioteker etter behov under kjøring og løse deres avhengigheter under kjøring. I dette tilfellet bør .la filene bli værende.

Skriptet nedenfor fjerner alle unødvendige .la filer og lagrer dem i en katalog, /var/local/la-files som standard, ikke i den vanlige bibliotek stien. Den søker også i alle pkg-config filer (.pc) etter innebygde referanser til .la filer og fikser dem til å være konvensjonelle bibliotek referanser som trengs når en applikasjon eller et bibliotek bygges. Den kan kjøres etter behov for å rydde opp i katalogene som kan være årsaken til problemer.

cat > /usr/sbin/remove-la-files.sh << "EOF"
#!/bin/bash

# /usr/sbin/remove-la-files.sh
# Written for Beyond Linux From Scratch
# by Bruce Dubbs <bdubbs@linuxfromscratch.org>

# Make sure we are running with root privs
if test "${EUID}" -ne 0; then
    echo "Error: $(basename ${0}) must be run as the root user! Exiting..."
    exit 1
fi

# Make sure PKG_CONFIG_PATH is set if discarded by sudo
source /etc/profile

OLD_LA_DIR=/var/local/la-files

mkdir -p $OLD_LA_DIR

# Only search directories in /opt, but not symlinks to directories
OPTDIRS=$(find /opt -mindepth 1 -maxdepth 1 -type d)

# Move any found .la files to a directory out of the way
find /usr/lib $OPTDIRS -name "*.la" ! -path "/usr/lib/ImageMagick*" \
  -exec mv -fv {} $OLD_LA_DIR \;
###############

# Fix any .pc files that may have .la references

STD_PC_PATH='/usr/lib/pkgconfig
             /usr/share/pkgconfig
             /usr/local/lib/pkgconfig
             /usr/local/share/pkgconfig'

# For each directory that can have .pc files
for d in $(echo $PKG_CONFIG_PATH | tr : ' ') $STD_PC_PATH; do

  # For each pc file
  for pc in $d/*.pc ; do
    if [ $pc == "$d/*.pc" ]; then continue; fi

    # Check each word in a line with a .la reference
    for word in $(grep '\.la' $pc); do
      if $(echo $word | grep -q '.la$' ); then
        mkdir -p $d/la-backup
        cp -fv  $pc $d/la-backup

        basename=$(basename $word )
        libref=$(echo $basename|sed -e 's/^lib/-l/' -e 's/\.la$//')

        # Fix the .pc file
        sed -i "s:$word:$libref:" $pc
      fi
    done
  done
done

EOF

chmod +x /usr/sbin/remove-la-files.sh

Biblioteker: Statisk eller delt?

Biblioteker: Statisk eller delt?

De originale bibliotekene var rett og slett et arkiv av rutiner som de nødvendige rutinene ble trukket ut fra og koblet inn i det kjørbare programmet. Disse beskrives som statiske biblioteker, med navn på formen libfoo.a på UNIX lignende operativsystemer. På noen gamle operativsystemer er de den eneste tilgjengelige typen.

På nesten alle Linux plattformer er det også «delte» (eller tilsvarende «dynamiske») biblioteker (med navn på formen libfoo.so) – en kopi av biblioteket lastes inn i det virtuelle minnet, og deles av alle programmene som kaller noen av funksjonene. Dette er plass effektiv.

Tidligere ble essensielle programmer som et skall ofte koblet sammen statisk slik at en form for minimalt gjenopprettingssystem til og med ville eksistere hvis delte biblioteker, som f.eks libc.so, ble skadet (f.eks. flyttet til lost+found av fsck etter en uren nedstengning). Nå for tiden, de fleste bruker en alternativ systeminstallasjon eller en USB pinne hvis de må gjenopprette. Journalføring av filsystemer reduserer også sannsynligheten for denne typen problem.

Inne i boken er det forskjellige steder hvor konfigureringsbrytere som for eksempel --disable-static er brukt, og andre steder hvor muligheten for å bruke systemversjoner av biblioteker i stedet for versjonene som er inkludert i en annen pakke er diskutert. Hovedgrunnen til dette er å forenkle oppdateringer av biblioteker.

Hvis en pakke er koblet til et dynamisk bibliotek, oppdatering til et nyere bibliotekversjon er automatisk når det nyere biblioteket er installert og programmet (på nytt) startes (forutsatt at bibliotekets hovedversjon er uendret, f.eks. går fra libfoo.so.2.0 til libfoo.so.2.1. Gå til libfoo.so.3 vil kreve rekompilering – ldd kan brukes til å finne hvilke programmer som bruker den gamle versjonen). Hvis et program er knyttet til et statisk biblioteket, må programmet alltid kompileres på nytt. Hvis du vet hvilke programmer som er knyttet til et bestemt statisk bibliotek, er dette bare en irritasjon. Men vanligvis vil du ikke vite hvilke programmer å rekompilere.

En måte å identifisere når et statisk bibliotek brukes, er å håndtere det på slutten av installasjonen av hver pakke. Skriv et skript for å finne alle de statiske bibliotekene i /usr/lib eller hvor enn du installerer til, og enten flytte dem til en annen mappe slik at de er ikke lenger blir funnet av linkeren, eller gi dem nytt navn slik at libfoo.a blir f.eks. libfoo.a.hidden. Det statiske biblioteket kan da midlertidig gjenopprettes hvis det noen gang er nødvendig, og pakken som trenger det kan identifiseres. Dette bør ikke gjøres blindt siden mange biblioteker eksisterer bare i en statisk versjon. For eksempel noen biblioteker fra glibc og gcc pakkene skal alltid være presentert på systemet som (libc_nonshared.a, libg.a, libpthread_nonshared.a, libssp_nonshared.a, libsupc++.a fra glibc-2.36 og gcc-12.2).

Hvis du bruker denne tilnærmingen, kan du oppdage at flere pakker enn du ventet bruker et statisk bibliotek. Det var tilfellet med nettle-2.4 i standard kun statisk konfigurasjon: Det ble påkrevd av GnuTLS-3.0.19, men også koblet til pakke(r) som bruker GnuTLS, som for eksempel glib-networking-2.32.3.

Mange pakker legger noen av sine vanlige funksjoner inn i et statisk bibliotek som bare brukes av programmene i pakken og, avgjørende, biblioteket er ikke installert som en frittstående bibliotek. Disse interne bibliotekene er ikke et problem – hvis pakken må bygges om for å fikse en feil eller sårbarhet, ingenting annet er knyttet til dem.

Når BLFS nevner systembiblioteker, betyr det delte versjoner av biblioteker. Noen pakker som f.eks Firefox-140.7.0 og ghostscript-10.06.0 samler mange andre biblioteker i byggetreet deres. Versjonen de sender er ofte eldre enn versjonen som brukes i systemet, så det kan inneholde feil – noen ganger tar utviklere bryet med å fikse feil i de inkluderte bibliotekene, andre ganger gjør de det ikke.

Noen ganger er det en enkel avgjørelse å bestemme seg for å bruke systembiblioteker. Andre ganger kan det kreve at du endrer systemversjonen (f.eks libpng-1.6.55 hvis det brukes til Firefox-140.7.0). Noen ganger sender en pakke et gammelt bibliotek og kan ikke lenger koble til gjeldende versjon, men kan lenke til en eldre versjon. I dette tilfellet, BLFS vil vanligvis bare bruke den leverte versjonen. Noen ganger det er det inkluderte biblioteket ikke lenger utviklet separat, eller oppstrøms er nå det samme som pakkens oppstrøms og du har ingen andre pakker som vil bruke den. I slike tilfeller vil du bli ledet til å bruke det inkluderte biblioteket selv om du vanligvis foretrekker å bruke systembiblioteker.

Lokale Relaterte Problemer

Denne siden inneholder informasjon om lokalitetsrelaterte problemer og problemstillinger. I de følgende avsnittene finner du en generisk oversikt over ting som kan dukke opp når du konfigurerer systemet ditt for ulike steder. Mange (men ikke alle) eksisterende lokalitetsrelaterte problemer kan klassifiseres og faller inn under en av overskriftene nedenfor. Alvorlighetsgradene nedenfor bruker følgende kriterier:

  • Kritisk: Programmet utfører ikke hovedfunksjonen sin. Løsningen ville være veldig omfattende, det er bedre å søke etter en erstatning.

  • Høy: En del av funksjonaliteten som programmet gir er ikke brukbar. Hvis den funksjonaliteten er nødvendig, er det bedre å søke etter en erstatning.

  • Lav: Programmet fungerer i alle typiske brukstilfeller, men mangler noe funksjonalitet som normalt leveres av dets ekvivalenter.

Hvis det er en kjent løsning for en bestemt pakke, vil den vises på pakkens side.

Den Nødvendige Kodingen er Ikke et Gyldig Alternativ i Programmet

Alvorlighet: Kritisk

Noen programmer krever at brukeren spesifiserer tegnkodingen for deres inndata eller utdata og presenterer bare et begrenset utvalg av kodinger. Dette er tilfellet for -X alternativet i Enscript-1.6.6, -input-charset alternativet i uoppdatert Cdrtools-3.02a09, og tegnsettene som tilbys for visning i menyen til Links-2.30. Hvis den nødvendige kodingen ikke er i listen blir programmet vanligvis helt ubrukelig. Til ikke-interaktive programmer, kan det være mulig å omgå dette ved å konvertere dokumentet til et støttet inndatategnsett før innsending til programmet.

En løsning på denne typen problemer er å implementere den nødvendige støtten for den manglende kodingen som en oppdatering til det originale programmet eller å finne en erstatning.

Programmet Forutsetter Lokalitetsbasert Koding av Eksterne Dokumenter

Alvorlighet: Høy for ikke-tekst dokumenter, lav for tekst dokumenter

Noen programmer, nano-8.7.1 eller JOE-4.6 for eksempel, antar at dokumenter alltid er i kodingen antydet av gjeldende lokalitet. Mens denne antakelsen kan være gyldig for de brukeropprettede dokumentene, er det ikke trygt for eksterne. Når denne antagelsen mislykkes, blir ikke-ASCII tegn vist feil, og dokumentet kan bli uleselig.

Hvis det eksterne dokumentet er helt tekstbasert, kan det bli konvertert til gjeldende lokalitetskoding ved hjelp av iconv programmet.

For dokumenter som ikke er tekstbaserte er dette ikke mulig. Faktisk kan forutsetningen i programmet være fullstendig ugyldig for dokumenter der Microsoft Windows operativsystemet har satt de facto standarder. Et eksempel på dette problemet er ID3v1 koder i MP3-filer. For disse tilfellene er den eneste løsningen å finne et erstatningsprogram som ikke har problemet (f.eks. et som lar deg spesifisere den antatte dokumentkodingen).

Blant BLFS pakker gjelder dette problemet nano-8.7.1, JOE-4.6, og alle mediespillere unntatt Audacious-4.5.1.

Et annet problem i denne kategorien er når noen ikke kan lese dokumentene du har sendt dem fordi deres operativsystem er satt opp til å håndtere tegnkodinger annerledes. Dette kan skje ofte når den andre personen bruker Microsoft Windows, som kun gir en tegnkoding for et gitt land. For eksempel, dette forårsaker problemer med UTF-8 kodede TeX dokumenter opprettet i Linux. På Windows vil de fleste applikasjoner anta at disse dokumentene har blitt opprettet med standard Windows 8-bits koding.

I ekstreme tilfeller kan problemer med Windows kodingskompatibilitet kun løses ved å kjøre Windows programmer under Wine.

Programmet Bruker eller Oppretter Filnavn med Feil Koding

Alvorlighet: Kritisk

POSIX standarden krever at filnavnkodingen er kodingen implisert av gjeldende LC_CTYPE lokalekategori. Denne informasjon er godt skjult på siden som spesifiserer atferden av Tar og Cpio programmer. Noen programmer tar feil som standard (eller har rett og slett ikke nok informasjon til å få det riktig). Resultatet er at de oppretter filnavn som senere ikke vises riktig av ls, eller de nekter å godta filnavn som ls vises ordentlig. For GLib-2.86.4 biblioteket, kan problemet rettes ved å stille inn G_FILENAME_ENCODING miljøvariabel til den spesielle "@locale" verdien. Glib2 baserte programmer som ikke respekter den miljøvariabelen er buggy.

.zip formatet har dette problemet fordi den ikke lagrer kodingen for navnene på arkiverte filer. Når unzip (faktisk en symbolkobling til bsdunzip fra libarchive-3.8.5) pakker det ut, som standard antas navnene å være kodet som CP850, Windows kode for vesteuropeiske språk. Men navnene kan faktisk være kodet på en annen måte hvis den inneholder ikke-latinske tegn (for eksempel CP936 for forenklet kinesisk). Deretter uten manuelt å spesifiserer kodingen, vil disse ikke-latinske tegnene bli omgjort til uleselige sekvenser av bsdunzip.

Den generelle regelen for å unngå denne klassen av problemer er å unngå å installere ødelagte programmer. Hvis dette er umulig, vil convmv kommandolinjeverktøy kunne brukes til å fikse filnavn opprettet av disse ødelagte programmene, eller med vilje mangle de eksisterende filnavnene for å møte de brutte forventningene til slike programmer.

I andre tilfeller er et lignende problem forårsaket av import av filnavn fra et system som bruker en annen lokalitet med et verktøy som er ikke lokalbevisst (f.eks., OpenSSH-10.2p1). For å unngå mangling av ikke-ASCII tegn når du overfører filer til et system med en annen lokalitet, kan en av følgende metoder brukes:

  • Overfør uansett, fiks skaden med convmv.

  • På avsendersiden oppretter du et tar arkiv med --format=posix bryteren overført til tar (dette vil være standard i fremtidige versjoner av tar).

  • Send filene som vedlegg. E-postklienter spesifiserer koding av vedlagte filnavn.

  • Skriv filene til en flyttbar disk formatert med et FAT eller FAT32 filsystem.

  • Overfør filene med Samba.

  • Overfør filene via FTP ved å bruke en RFC2640-bevisst server (dette betyr for øyeblikket bare wu-ftpd, som har dårlig sikkerhetshistorikk) og klient (f.eks. lftp).

De siste fire metodene fungerer fordi filnavnene blir automatisk konvertert fra avsenderens lokalitet til UNICODE og lagret eller sendt i denne formen. De blir deretter transparent konvertert fra UNICODE til mottakerens lokalitetskoding.

Programmet Ødelegger Multibyte Tegn eller Teller Ikke Karakterceller Riktig

Alvorlighet: Høy eller kritisk

Mange programmer ble skrevet i en eldre tid hvor multibyte lokaliteter ikke var vanlige. Slike programmer antar at C "char" data type, som er en byte, kan brukes til å lagre enkelttegn. Videre antar de at enhver sekvens av tegn er en gyldig streng og at hvert tegn opptar en enkelt tegncelle. Slike forutsetninger bryter fullstendig i UTF-8 lokaliteter. Den synlige manifestasjon er at programmet trunkerer strenger for tidlig (dvs. ved 80 byte i stedet for 80 tegn). Terminalbaserte programmer plasserer ikke markøren riktig på skjermen, reager ikke på "Tilbake" tasten med å slette ett tegn, og lar søppeltegn stå igjen rundt når du oppdaterer skjermen, som vanligvis gjør skjermen til et komplett rot.

Å fikse denne typen problemer er en kjedelig oppgave fra en programmerers synspunkt, som alle andre tilfeller av ombygging av nye konsepter inn i det gamle feilaktige designet. I dette tilfellet må man redesigne alle datastrukturer for å imøtekomme det faktum at en komplett karakter kan spenne over et variabelt antall "char"-er (eller bytte til wchar_t og konvertere etter behov). Også for hver kall til "strlen" og lignende funksjoner, finne ut om et antall byte, et antall tegn, eller bredden på strengen var egentlig ment. Noen ganger er det raskere å skrive et program med samme funksjonalitet fra bunnen av.

Blant BLFS pakker gjelder dette problemet xine-ui-0.99.14 og alle skallene.

Gå Utover BLFS

Pakkene som er installert i denne boken er bare toppen av isfjellet. Vi håper at erfaringen du fikk med LFS boken og BLFS boken vil gi deg bakgrunnen som trengs for å kompilere, installere og konfigurere pakker som ikke er inkludert i denne boken.

Når du vil installere en pakke til et annet sted enn /, eller /usr, du installerer utenfor standard miljøinnstillinger på de fleste maskiner. Følgende eksempler bør hjelpe deg med å finne ut hvordan du kan rette opp denne situasjonen. Eksemplene dekker hele spekteret av innstillinger som kan trenge oppdatering, men alle er ikke nødvendige i alle situasjoner.

  • Utvid PATH til å inkludere $PREFIX/bin.

  • Utvid PATH for root til å inkludere $PREFIX/sbin.

  • Legg til $PREFIX/lib til /etc/ld.so.conf eller utvid LD_LIBRARY_PATH til å inkludere det. Før du bruker sistnevnte alternativ, sjekk ut http://xahlee.info/UnixResource_dir/_/ldpath.html. Hvis du endrer /etc/ld.so.conf, husk å oppdatere /etc/ld.so.cache ved å utføre ldconfig som root bruker.

  • Legg til $PREFIX/man til /etc/man_db.conf.

  • Legg til $PREFIX/info til INFOPATH.

  • Legg til $PREFIX/lib/pkgconfig til PKG_CONFIG_PATH. Noen pakker installerer nå .pc filer i $PREFIX/share/pkgconfig, så du må kanskje inkludere denne mappen også.

  • Legg til $PREFIX/include til CPPFLAGS ved kompilering av pakker som avhenger av pakken du installerte.

  • Legg til $PREFIX/lib til LDFLAGS når du kompilerer pakker som er avhengige av et bibliotek installert av pakken.

Hvis du er på søker etter en pakke som ikke er i boken, følgende er forskjellige måter du kan søke etter ønsket pakke på.

Noen generelle tips om håndtering av nye pakker:

  • Mange av de nyere pakkene følger ./configure && make && make install prosessen. Hjelp til alternativene som godtas av configure kan fås via kommandoen ./configure --help.

  • De fleste pakkene inneholder dokumentasjon om kompilering og installering av pakken. Noen av dokumentene er utmerkede, andre ikke så utmerket. Sjekk ut hjemmesiden til pakken for ytterligere og oppdaterte tips for kompilering og konfigurering av pakken.

  • Hvis du har problemer med å kompilere pakken, prøv å søke i LFS arkivet på https://www.linuxfromscratch.org/search.html for feilen eller hvis det mislykkes, prøv å søke på Google. Ofte vil en distribusjon allerede ha løst problemet (mange av dem bruker utviklingsversjoner av pakker, så de ser endringene raskere enn de av oss som vanligvis bruker stabile utgitte versjoner). Men vær forsiktig - alle byggere har en tendens til å bære oppdateringer som ikke er nødvendig lenger, og å ha rettelser som bare er nødvendige på grunn av deres bestemte valg i hvordan de bygger en pakke. Du må kanskje søke dypt for å finne en løsning for pakkeversjonen du prøver å bruke, eller til og med for å finne pakken (navnene er noen ganger ikke det du kan forvente, f.eks. ghostscript har ofte et prefiks eller et suffiks i sitt navn), men følgende merknader kan hjelpe, spesielt for de, som redaktørene, prøver å bygge de nyeste versjonene og møter problemer:

    • Arch https://www.archlinux.org/packages/ - Tast inn pakkenavnet i 'Søkeord' boksen, velg pakkenavnet, velg 'Kildefiler' feltet, og velg deretter PKGBUILD oppføring for å se hvordan de bygger denne pakken.

    • Debian http://ftp.debian.org/debian/pool (bruk ditt lands versjon hvis det er en) - kilden vil være i .tar.gz tarballen (enten den opprinnelige oppstrøms .orig kilden, eller dfsg som inneholder de delene som er i samsvar med Debians retningslinjer for gratis programvare) akkompagnert av versjonert .diff.gz eller .tar.gz tillegg. Disse tilleggene viser ofte hvordan pakken er bygget, og kan inneholde oppdateringer. I .diff.gz-versjonene opprettes alle oppdateringsfiler i debian/patches.

    • Fedora pakkekilden blir omorganisert fra tid til annen. For øyeblikket er pakkekilden for rpms på https://src.fedoraproject.org/projects/rpms/%2A og derfra kan du prøve å legge inn et pakkenavn i søkeboksen. Hvis pakken er funnet kan du se på filene (spesifikasjonsfil for å kontrollere bygget, diverse oppdateringer) eller commits. Hvis det mislykkes, kan du laste ned en srpm (kilde rpm) og bruke rpmextract (se tipset nederst på siden). For rpms gå til https://dl.fedoraproject.org/pub/fedora/linux/ og velg deretter hvilken repo du ønsker å se på - development/rawhide er den siste utvikling, eller velg utgivelser for det som ble sendt i en utgivelse, updates for oppdateringer til en utgivelse, eller updates/testing for de siste oppdateringer som kan fungere eller ha problemer.

    • Gentoo - Bruk først en søkemotor for å finne et ebuild som ser ut som det løser problemet, eller søk på https://packages.gentoo.org/ - bruk søkefeltet. Legg merke til hvor pakken bor i porterings hierarkiet, f.eks. app-something/. Generelt kan du behandle ebuild som en slags pseudo-kode / skall kombinasjon med noen funksjoner du kan som du kan gjøre en gjetning på, som f.eks dodoc. Hvis løsningen bare er en sed, Prøv det. Imidlertid vil reparasjonen i de fleste tilfeller bruke en oppdatering. For å finne oppdateringen, bruk et gentoo-portage speil: To lenker til speil i U.S.A. som vanligvis ser ut til å være oppdatert er https://mirror.rackspace.com/gentoo-portage/ og https://mirror.steadfast.net/gentoo-portage/. Naviger ned treet til pakken, deretter til files/ mappen for å se etter oppdateringen. Noen ganger har ikke et porteringsspeil blitt oppdatert, spesielt for en nylig ny oppdatering. I noen få tilfeller, gentoo batch oppdaterer inn i en tarball og ebuild vil ha en lenke i skjemaet https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz her, se etter PATCH_DEV og PATCH_VER i bygget og formater hele URL i nettleseren din eller for wget. Husk '~' før utviklerens ID og merk at å prøve å søke på de tidligere nivåene av URLen i en nettleseren kan sende deg til www.gentoo.org eller returnere 403 (forbudt).

    • openSUSE gi en rullende utgivelse, noen pakkeversjoner er i https://download.opensuse.org/source/tumbleweed/repo/oss/src/ men andre er i ../update/openSUSE-current/src - kilden ser bare ut til å være tilgjengelig i kilde rpms.

    • Slackware - den offisielle pakkenettleseren er for øyeblikket ødelagt. Stedet https://slackbuilds.org/ har nåværende og tidligere versjoner i deres uoffisielle depot med lenker til hjemmesider, nedlastinger, og noen individuelle filer, spesielt .SlackBuild filer.

    • Ubuntu http://ftp.ubuntu.com/ubuntu/pool/ - se Debian merknader ovenfor.

    Hvis alt annet mislykkes, prøv blfs-support e-postlisten.

Tips

Hvis du har funnet en pakke som kun er tilgjengelig i .deb eller .rpm formatet, er det forskjellige metoder for å pakke dem ut.

.deb filer er bare arkiver som er pakket og pakket ut av ar. De kan pakkes ut ved å kjøre: ar x $PACKAGE.deb. Det vil pakke ut mange filer; imidlertid er den viktige data.tar.gz. Den inneholder alle filer som vanligvis vil bli installert.

For .rpm filer, kan du installere rpmextract (se PKGBUILD for hvordan du installerer pakken) og bruke rpmextract.sh fra pakken for å pakke ut filen. Det vil pakke ut til flere mapper, for eksempel app og usr. Du kan også bruke File-Roller-44.6 eller ark-25.08.3 for utpakkingen.

Del II. Etter LFS Konfigurasjon og Ekstra Programvare

Kapittel 3. Etter LFS Konfigurasjonsproblemer

Intensjonen til LFS er å tilby et grunnleggende system som du kan bygge på. Det er flere ting ved å rydde opp i systemet som mange lurer på når de har gjort grunninstallasjonen. Vi håper å dekke disse problemene i dette kapittelet.

De fleste som kommer fra ikke-Unix lignende bakgrunner til Linux synes konseptet med konfigurasjonsfiler med kun tekst er litt merkelig. I Linux, nesten all konfigurasjon gjøres via manipulering av tekstfiler. Flertallet av disse filene finnes i /etc hierarkiet. Det er ofte grafiske konfigurasjonsprogrammer tilgjengelig for forskjellige undersystemer, men de fleste er ganske enkelt pene grensesnitt for prosessen med å redigere en tekstfil. Fordelen med kun tekstkonfigurasjon er at du kan redigere parametere ved hjelp av din favoritt tekstredigerer, enten det er vim, emacs, eller en annen tekstredigerer.

Den første oppgaven er å lage en oppstartsenhet for gjenoppretting Opprette en Tilpasset Oppstartsenhet fordi det er det mest kritiske behovet. Maskinvareproblemer som er relevante for fastvare og andre enheter tas opp neste gang. Systemet er da konfigurert for å lett legge til nye brukere, fordi dette kan påvirke valgene du gjør i de to påfølgende emner—Oppstartsfilene til Bash Skallet og Vimrc Filer.

De resterende temaene, Tilpasse Påloggingen med /etc/issue og Generering av tilfeldige tall blir deretter adressert, i den rekkefølgen. De har ikke mye interaksjon med de andre temaene i dette kapittelet.

Opprette en Tilpasset Oppstartsenhet

Anstendig redningsoppstartsenhet trenger

Denne delen handler egentlig om å lage en rednings enhet. Siden navnet rednings innebærer, vertens system har et problem, ofte tapt partisjonsinformasjon eller ødelagte fil systemer, som hindrer den i å starte opp og/eller fungere normalt. Av denne grunnen, du må ikke avhenge av at ressurser fra verten blir "reddet". Å anta at en gitt partisjon eller harddisk vil være tilgjengelig er en risikabel antagelse.

I et moderne system er det mange enheter som kan brukes som en redningsenhet: diskett, cdrom, usb stasjon eller til og med et nettverkskort. Hvilken du bruker avhenger av maskinvaren din og BIOS. I fortiden, en redningsenhet ble antatt å være en diskett. I dag, mange systemer har ikke engang en diskettstasjon.

Å bygge en komplett redningsenhet er en utfordrende oppgave. På mange måter, tilsvarer det å bygge et helt LFS-system. I tillegg vil det være en repetisjon av informasjon som allerede er tilgjengelig. Av disse grunnene er ikke prosedyrene for et redningsenhetsbilde presentert her.

Opprette en redningsdiskett

Programvaren til dagens systemer har vokst seg stor. Linux 2.6 støtter ikke lenger oppstart direkte fra en diskett. Til tross for dette er det løsninger tilgjengelig ved bruk av eldre versjoner av Linux. En av de beste er Toms Root/Boot Disk tilgjengelig på http://www.toms.net/rb/. Dette vil gi et minimalt Linux system på en enkelt diskett og gir muligheten til å tilpasse innholdet på disken om nødvendig.

Opprette en Oppstartbar CD-ROM

Det er flere kilder som kan brukes til en rednings CD-ROM. Omtrent enhver kommersiell distribusjons installasjons CD-ROM eller DVDer vil fungere. Disse inkluderer RedHat, Ubuntu og SuSE. Et veldig populært alternativ er Knoppix.

LFS fellesskapet har også utviklet sin egen LiveCD tilgjengelig på https://www.linuxfromscratch.org/livecd/. Denne LiveCDen er ikke lenger i stand til å bygge et helt LFS/BLFS-system, men er fortsatt en god rednings CD-ROM. Hvis du laster ned ISO bildet, bruk xorriso å kopiere bildet til en CD-ROM.

Instruksjonene for bruk av GRUB2 til å lage en tilpasset rednings CD-ROM er også tilgjengelig i LFS Kapittel 10.

Opprette en Oppstartbar USB Lagringsenhet

En USB enhet, noen ganger kalt en Thumb Drive, gjenkjennes av Linux som en SCSI enhet. Bruk av en av disse enhetene som en redningsenhet har fordelen at den vanligvis er stor nok til å holde mer enn et minimalt oppstartsbilde. Du kan også lagre kritiske data på enheten samt å bruke den til å diagnostisere og gjenopprette et skadet system. Oppstart av en slik stasjonen krever BIOS støtte, men å bygge systemet består av å formatere stasjonen, legge til GRUB samt Linux kjernen og støttefiler.

Om Konsollfonter

Et LFS system kan brukes uten et grafisk skrivebord, og med mindre eller til du installerer et grafiske miljø må du jobbe i konsollen. De fleste, om ikke alle, PC-er starter opp med en 8x16 font - uansett hva den faktiske skjermstørrelsen er. Det er et par ting du kan gjøre for å endre skjermen på konsollen. De fleste av dem involverer endring av fonten, men den første endrer kommandolinjen brukt av grub.

Angi en mindre oppløsning i grub

Moderne skjermer har ofte mye flere piksler enn skjermene som ble brukt før. Hvis skjermen din er 1600 piksler bred, vil en font på 8x16 gi deg 200 kolonner med tekst - med mindre skjermen din er enorm, vil teksten være liten. En av måtene å omgå dette på er å fortelle GRUB og kjernen om å bruke en mindre oppløsning, for eksempel 1024x768 eller 800x600 eller til og med 640x480. Selv om skjermen ikke har et sideforhold på 4:3, bør dette fungere.

If you've followed the LFS book to configure your kernel with SimpleDRM enabled and the kernel driver dedicated for your GPU (for example i915 or AMDGPU) is built as a kernel module, before the dedicated driver is loaded, the SimpleDRM driver will be used for displaying. The SimpleDRM driver itself cannot change the resolution, so you need to tell GRUB to set the suitable resolution before loading the kernel by modifying the set gfxpayload=1024x768x32 line in the grub.cfg file.

Når den dedikerte GPU driveren begynner å fungere (når kjernen eller modulen lastes avhengig av om du har bygget den som en del av kjernebildet eller en modul), tar den skjermkontrollen bort fra SimpleDRM driveren og endrer skjermoppløsningen. For å få den til å bruke oppløsningen du ønsker, rediger igjen grub.cfg filen for å sette inn en video= parameter inn i kjernen sin kommandolinje, for eksempel root=/dev/sda2 video=DP-1:800x600 ro. Merk at det er nødvendig å spesifisere utdatanavnet DP-1 eksplisitt her: en video= parameter uten et utdatanavn gjenkjennes bare av GRUB (som en utdatert alias av set gfxpayload=) og fullstendig ignorert av kjernen. Innholdet i /sys/class/drm/ kan være nyttig for å finne ut utdatanavnet, for eksempel card1-DP-1 undermappe indikerer en utgang med navn DP-1. For å justere utgangsnavn med skjermen, installer libdisplay-info-0.3.0 pakken og kjør di-edid-decode /sys/class/drm/card<card ID>-<output name>/edid kommandoen for å vise informasjonen (inkludert modellnavnet og støttede oppløsninger) om skjermen koblet til utgangen.

Hvis du bestemmer deg for at du ønsker å gjøre dette, kan du (som root bruker) redigere /boot/grub/grub.cfg.

Bruker standard psf fonter

I LFS kbd pakken er brukt. Fontene den gir er PC Screen Fonts, vanligvis kalt PSF, og de ble installert i /usr/share/consolefonts mappen. Hvor disse inkluderer en unicode tilordningstabell, endres filsuffikset ofte til .psfu selv om pakker som f.eks terminus-font (se nedenfor) ikke legger til "u". Disse skriftene er vanligvis komprimert med gzip for å spare plass, men det er ikke avgjørende.

De første PC-tekstskjermene hadde 8 farger, eller 16 farger hvis lyse versjoner av de originale 8 fargene ble brukt. En PSF-font kan inkludere opp til 256 tegn (teknisk, glyfer) mens det tillater 16 farger eller oppover til 512 tegn (i så fall vil de lyse fargene ikke være tilgjengelig). Disse konsollfontene kan tydeligvis ikke brukes til å vise CJK tekst - som vil trenge tusenvis av tilgjengelige glyfer.

Noen fonter i kbd kan dekke mer enn 512 kodepunkter ('karakterer'), med varierende grad av troskap: unicode inneholder flere mellomromskodepunkter som alle kan tilordnes til et mellomrom, varianter av bindestreker kan kartlegges til et minustegn, smarte anførselstegn kan kartlegges til de vanlige ASCII-sitatene i stedet for til det som brukes for "kodepunkt ikke tilstede eller ugyldig", og de kyrilliske eller greske bokstavene som ser ut som latinske bokstaver kan kartlegges på dem, så 'A' kan også gjøre jobben for kyrillisk A og gresk alfa, og 'P' kan også gjøre jobben for kyrillisk ER og gresk RHO. Dessverre, hvor en font er opprettet fra en BDF-fil (metoden i terminus og Debian's console-setup ) slik kartlegging av ekstra kodepunkter på en eksisterende glyf er ikke alltid gjort, selv om terminus ter-vXXn-fontene gjør dette bra.

Det er over 120 kombinasjoner av font og størrelse i kbd: ofte er en font gitt på flere tegnstørrelser, og noen ganger dekker varianter forskjellige undergrupper av unicode. De fleste er 8 piksler brede, i høyder fra 8 til 16 piksler, men det er noen få som er 9 piksler brede, noen andre som er 12x22 og til og med en (latarcyrheb-sun32.psfu) som er oppskalert til 16x32. Å bruke en større skrift er en annen måte å gjøre tekst på en stor skjerm lettere å lese.

Teste forskjellige fonter

Du kan teste fonter som en vanlig bruker. Hvis du har en font som ikke har vært installert, kan du laste den med :

setfont /path/to/yourfont.ext

For fontene som allerede er installert trenger du bare navnet, så å bruke gr737a-9x16.psfu.gz som et eksempel:

setfont gr737a-9x16

For å se glyfene i fonten, bruk:

showconsolefont

Hvis fonten ser ut som om den kan være nyttig, kan du fortsette å teste den mer grundig.

Når du finner en font du ønsker å bruke, som root bruker) rediger /etc/sysconfig/console som beskrevet i LFS seksjon 9.6.5 ../../../../lfs/view/development/chapter09/usage.html. .

For fonter som ikke følger med kbd pakken må du eventuelt komprimere den/dem med gzip og installer den/dem som root bruker.

Redigering av fonter ved hjelp av psf-verktøy

Selv om noen konsollfonter er laget av BDF-filer, som er et tekst format med hex-verdier for pikslene i hver rad av tegnet, det er mer moderne verktøy tilgjengelig for redigering av psf-fonter. psftools pakken lar deg dumpe en font til en tekstrepresentasjon med en bindestrek for en piksel som er av (svart) og en hash for en piksel som er på (hvit). Du kan deretter redigere tekstfilen for å legge til flere tegn, eller omforme dem, eller kartlegg ekstra kodepunkter på dem, og lage deretter en ny psf-font med endringene dine.

Bruke fonter fra Terminus-font

Terminus Font pakken gir bitmap-fonter med fast bredde designet for lange (8 timer og mer pr dag) arbeid med datamaskiner. Under 'Tegnvarianter' på den siden er en liste over oppdateringer (i alt/ mappen). Hvis du bruker en grafisk nettleser for å se på den siden, kan du se hva patchene gjør, f.eks. 'll2' gjør 'l' mer synlig forskjell fra 'i' og '1'.

Som standard terminus-fonts vil prøve å lage flere typer fonter, og den vil mislykkes hvis bdftopcf fra Xorg Applikasjoner ikke er installert. Konfigurasjonsskriptet er bare veldig nyttig hvis du fortsetter å installere alle fontene (konsoll og X11 bitmap) til riktige mapper, som i en distro. Å bygge bare PSF-fontene og deres avhengigheter, kjør:

make psf

Dette vil lage mer enn 240 ter-*.psf fonter. 'b'-suffikset indikerer lys, 'n' indikerer normal. Du kan deretter teste dem for å se om de passer dine krav. Med mindre du lager en distro, er det lite poeng i å installere dem alle.

Som et eksempel, for å installere den siste av disse fontene, kan du gzippe den og deretter som root bruker:

install -v -m644 ter-v32n.psf.gz /usr/share/consolefonts

Om Fastvare

På noen nyere PC-er kan det være nødvendig, eller ønskelig, å laste fastvare for å få dem til å fungere på sitt beste. Kjernen eller kjernendrivere ser etter fastvarebilder i /lib/firmware. Men i LFS /lib er en symbolkobling til usr/lib, så mappen som inneholder fastvarefilen er faktisk /usr/lib/firmware.

For øyeblikket kan det meste av fastvaren finnes på et git depoet som kan vises i nettleseren med URLen https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain. For enkelhets skyld har LFS prosjektet laget et speil, som oppdateres daglig, hvor disse fastvarefilene kan nås via wget eller en nettleser på https://anduin.linuxfromscratch.org/BLFS/linux-firmware/.

For å få fastvaren, pek en nettleser til en av de ovennevnte depoer og last ned varen(e) du trenger. Hvis du vil ha alle disse fastvarefilene (for eksempel distribuerer du systemet på flere maskinvaresystemer), enten installer git-2.53.0 og klon https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git, eller åpne denne URL-en i en nettleser og last ned det siste øyeblikksbildet som er oppført i Tag tabellen.

Viktig

Merk at noen nødvendige fastvarefiler (og mapper) faktisk er symbolkoblinger til andre filer (eller mapper). Disse symbolkoblingene er ikke lagret i Git depotet, i stedet blir de dokumentert i WHENCE filen. Hver linje som begynner med Link: beskriver en symbolkobling. Hvis du laster ned et element du trenger, og det er en slik symbolkobling (eller i en mappe som er en slik symbolkobling), må du opprette symbolkoblingen manuelt og laste ned målet. På den annen side, hvis du vil ha alle fastvarefilene, bruk ./copy-firmware.sh /usr/lib/firmware kommandoen som kopierer fastvarefilene og oppretter alle symbolkoblinger i WHENCE filen, i stedet for en rett frem kopier kommando som cp -r * /usr/lib/firmware/.

For noen annen fastvare, spesielt for Intel mikrokode og visse wifi enheter, den nødvendige fastvaren er ikke tilgjengelig i depotet ovenfor. Noe av dette vil bli behandlet nedenfor, men et søk på Internett etter nødvendig fastvare er noen ganger nødvendig.

Fastvarefiler blir konvensjonelt referert til som blobs fordi du ikke kan bestemme hva de vil gjøre. Merk at fastvaren er distribuert under ulike lisenser som ikke tillater demontering eller revers-engineering.

Fastvare for PC-er faller inn i fire kategorier:

  • Oppdateringer til CPU for å omgå errata, vanligvis referert til som mikrokode.

  • Firmware for videokontrollere. På x86-maskiner kreves dette for ATI-enheter (Radeon- og AMDGPU-brikker) og kan være nyttige for Intel (Skylake og senere) og NVIDIA (Kepler og senere) GPUer.

    ATI Radeon- og AMDGPU-enheter krever alle fastvare for å kunne bruke KMS (kjernemodusinnstilling - det foretrukne alternativet) så vel som for Xorg.

    Intel integrerte GPUer fra Skylake og utover kan bruke fastvare for GuC (grafikkmikrokontrolleren), og også for HuC (HEVC/H265 mikrokontroller som avlastes til GPUen) og DMC (skjerm Mikrokontroller) for å gi ytterligere laveffekttilstander. GuC og HuC har hatt en kontrollert historikk i kjernen og oppdatert firmware kan være deaktivert som standard, avhengig av kjerneversjonen din. Lengre detaljer kan finnes på 01.org og Arch linux.

    NVIDIA GPUer fra Kepler og utover krever signert fastvare, ellers er nouveau-driveren ikke i stand til å gi maskinvareakselerasjon. NVIDIA har nå utgitt firmware opp til Ada Lovelace (GeForce 40 series) til linux-firmware.

  • Fastvareoppdateringer for kablede nettverksporter. De fleste av dem fungerer til og med uten oppdateringene, men de vil nok fungere bedre med den oppdaterte fastvaren. For noen moderne bærbare datamaskiner, fastvare for begge kablet ethernet (f.eks. rtl_nic) og også for bluetooth-enheter (f.eks. qca) er påkrevd før det kablede nettverket kan brukes.

  • Fastvare for andre enheter, for eksempel trådløse NICs. Disse enhetene er ikke nødvendug for at PC-en skal starte opp, men trenger fastvaren før disse enhetene kan bli brukt.

Notat

Selv om det ikke er nødvendig for å laste inn en fastvareblob, kan følgende verktøy være nyttige for å bestemme, skaffe eller forberede den nødvendige fastvaren for å laste den inn i systemet: cpio-2.15 (eller libarchive-3.8.5), git-2.53.0, pciutils-3.14.0, og Wget-1.25.0

Mikrokodeoppdateringer for CPUer

Generelt kan mikrokode lastes av BIOS eller UEFI, og det kan bli oppdatert ved å oppgradere til en nyere versjon av disse. På linux kan du også laste inn mikrokoden fra kjernen hvis du bruker en AMD-familie 10h eller senere prosessor (først introdusert sent i 2007), eller en Intel-prosessor fra 1998 og senere (Pentium4, Core, etc), hvis oppdatert mikrokode har vært utgitt. Disse oppdateringene varer bare til maskinen slås av, så de må brukes på hver oppstart.

Notat

I noen sjeldne tilfeller kan en mikrokodeoppdatering fra kjernen være ineffektiv. For eksempel intel-microcode-20241029 inneholder Raptor Lake mikrokode revisjon 0x12b som er ment å fikse en beryktet overdreven spenningsproblem som forårsaker stabilitetsproblemer og til og med permanente prosessorskader, når kjernen starter er det allerede for sent for at mikrokoden skal fikse problemet. Den eneste måten å fikse dette problemet på er å oppdatere BIOS.

Intel tilbyr oppdateringer av mikrokoden deres for Skylake og senere prosessorer etter som nye sårbarheter dukker opp, og har tidligere gitt oppdateringer for prosessorer fra SandyBridge og utover, selv om de ikke støttes for nye rettelser lenger. Nye versjoner av AMD fastvare er sjeldne og gjelder vanligvis bare for noen få modeller hovedkortprodusenter får AGESA (AMD Generic Encapsulated Software Architecture) oppdateringer for å endre BIOS verdier, f.eks. for å støtte flere minnevarianter, nye sårbarhetsrettinger eller nyere CPUer.

Det var to måter å laste mikrokoden på, beskrevet som "tidlig" og 'sent'. Tidlig lasting skjer før brukerområdet er startet, sen lasting skjer etter at brukerområdet har startet. Men sen lasting er kjent for å være problematisk og støttes ikke lenger (se kjerne-commit x86/microcode: Taint and warn on late loading). Faktisk tidlig lasting er nødvendig for å omgå en bestemt feil i tidlig Intel Haswell-prosessorer som hadde TSX aktivert. (Se Intel Disables TSX Instructions: Erratum Found in Haswell, Haswell-E/EP, Broadwell-Y.) Uten denne oppdateringen kan glibc gjøre feil ting i uvanlig situasjoner.

I tidligere versjoner av denne boken, sen lasting av mikrokode for å se om det ble brukt ble anbefalt, etterfulgt av bruk av en initrd for å tvinge tidlig lasting. Men nå som innholdet i Intel mikrokode tarballen er dokumentert, og AMD-mikrokode kan leses av et Python skript til å bestemme hvilke maskiner det dekker, er det ingen reell grunn til å bruke sen lasting.

Det kan fortsatt være mulig å manuelt tvinge sen innlasting av mikrokode. Men det kan forårsake kjernefeil, og du bør ta risikoen selv. Du må rekonfigurere kjernen for sen lasting, men tidlig lasting støttes alltid av Linux kjerneversjon 6.6 eller senere på et x86 (uansett 32-bit eller 64-bit) system. Instruksjonene her vil vise deg hvordan du oppretter en initrd for tidlig lasting. Det er også mulig å bygge inn den samme mikrokode bin-filen i kjernen, som tillater tidlig lasting, men krever at kjernen blir kompilert på nytt for å oppdatere mikrokoden.

For å bekrefte hvilken(e) prosessor(er) du har (hvis flere enn én, vil de være identisk) se i /proc/cpuinfo. Bestem desimalverdiene til cpuen familie, modell og stepping ved å kjøre følgende kommando (det vil også rapportere gjeldende mikrokodeversjon):

head -n7 /proc/cpuinfo

Konverter cpu familien, modellen og stepping til par med heksadesimal sifre, og husk verdien av «mikrokode» feltet. Du kan nå sjekke om det er en tilgjengelig mikrokode.

Hvis du oppretter en initrd for å oppdatere fastvare for forskjellige maskiner, som en distro ville gjort, gå ned til 'Tidlig lasting av mikrokode' og cat alle Intel blobs til GenuineIntel.bin eller cat alle AMD blobs til AuthenticAMD.bin. Dette skaper en større initrd - for alle Intel maskiner i 20200609 oppdateringen var størrelsen 3,0 MB sammenlignet med typisk 24 KB for en maskin.

Intel Mikrokode for CPUen

Det første trinnet er å få den nyeste versjonen av Intel mikrokode. Dette må gjøres ved å navigere til https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/ og laster ned den nyeste filen der. Når dette skrives den mest sikre versjonen av mikrokoden er microcode-20260210. Pakk ut denne filen på vanlig måte, mikrokoden er i intel-ucode mappen, som inneholder ulike blobs med navn i formen XX-YY-ZZ. Det er også forskjellige andre filer, og en utgivelsesnotat.

Tidligere ga ikke Intel noen detaljer om hvilke blobs som hadde endret versjoner, men nå beskriver utgivelsesmerknaden dette. Du kan sammenligne mikrokodeversjonen i /proc/cpuinfo med versjonen for din CPU modell i utgivelsesmerknaden for å vite om det er en oppdatering.

Den nylige fastvaren for eldre prosessorer er tilgjengelig for å håndtere sårbarheter som nå er offentliggjort, og for noen av disse for eksempel Microarchitectural Data Sampling (MDS) vil du kanskje øke beskyttelsen ved å deaktivere hyperthreading, eller alternativt å deaktivere kjernens standardredusering på grunn av dens innvirkning på kompileringstider. Vennligst les dokumentasjonen på https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html.

For en Meteor Lake bærbar (beskrevet som Intel(R) Core(TM) Ultra 5 125H CPU) de relevante verdiene er cpu familie 6, modell 140, stepping 4 så i dette tilfellet er nødvendig identifikasjon 06-aa-04. Utgivelsesnotat sier at den nyeste mikrokoden for den er versjonert 0x25. Hvis verdien av «mikrokode» feltet i /proc/cpuinfo er 0x25 eller høyere, indikerer det at mikrokodeoppdateringen allerede er tatt i bruk av BIOS. Ellers, fortsett til «Tidlig lasting av mikrokode»:

AMD Mikrokode for CPUen

Begynn med å laste ned en beholder med fastvare for CPU familien din fra https://anduin.linuxfromscratch.org/BLFS/linux-firmware/amd-ucode/. Familien er alltid spesifisert i hex. Familier 10-14 (16-20) er i microcode_amd.bin. Familier 15t, 16t, 17t (Zen, Zen+, Zen2) og 19h (Zen3) har sine egne beholdere, men sannsynligvis er det få maskiner som får oppdatert mikrokode. I stedet gir AMD en oppdatert AGESA til hovedkortprodusenter, som kan gi en oppdatert BIOS ved å bruke dette. Det er et Python3 skript på https://github.com/AMDESE/amd_ucode_info/blob/master/amd_ucode_info.py. Last ned det skriptet og kjør det mot bin filen for å sjekke hvilke prosessorer som har oppdateringer.

For den svært gamle Athlon(tm) II X2 i disse eksemplene var verdiene cpu familie 16, modell 5, trinn 3 gir en identifikasjon av Familie=0x10 Modell=0x05 Stepping=0x03. En linje av amd_ucode_info.py skriptutdataen beskriver mikrokodeversjon for det:

Family=0x10 Model=0x05 Stepping=0x03: Patch=0x010000c8 Length=960 bytes

Hvis verdien av «mikrokode» feltet i /proc/cpuinfo er 0x10000c8 eller høyere, indikerer det at BIOS allerede har tatt i bruk mikrokodeoppdateringen. Ellers, fortsett deretter til «Tidlig lasting av mikrokode»:

Tidlig lasting av mikrokode

Hvis du har etablert at en oppdatert mikrokode er tilgjengelig for systemet ditt, er det på tide å forberede det for tidlig lasting. Dette krever en ekstra pakke, cpio-2.15 (eller libarchive-3.8.5) og opprettelsen av en initrd som må legges til grub.cfg.

Det spiller ingen rolle hvor du forbereder initrd, og når det virker kan du bruke samme initrd til senere LFS systemer eller nyere kjerner på samme maskin, i det minste inntil en nyere mikrokode er utgitt. Bruk følgende kommandoer:

mkdir -p initrd/kernel/x86/microcode
cd initrd

For en AMD maskin, bruk følgende kommando (erstatt <MYCONTAINER> med navnet på beholderen for CPU familien din):

cp -v ../<MYCONTAINER> kernel/x86/microcode/AuthenticAMD.bin

Eller for en Intel maskin, kopier den aktuelle bloben ved å bruke denne kommandoen:

cp -v ../intel-ucode/<XX-YY-ZZ> kernel/x86/microcode/GenuineIntel.bin

Forbered nå initrd (du kan også bruke bsdcpio fra libarchive-3.8.5 i stedet for cpio):

find * | cpio -o -H newc > /boot/microcode.img

Du må nå legge til en ny oppføring i /boot/grub/grub.cfg og her bør du legge til en ny linje etter linux linjen i strofen. Hvis /boot er et separat monteringspunkt:

initrd /microcode.img

eller dette hvis det ikke er det:

initrd /boot/microcode.img

Hvis du allerede starter opp med en initrd (se «Om initramfs»), bør du bør kjøre mkinitramfs igjen etter å ha puttet den riktige bloben eller beholderen i /usr/lib/firmware. Mer presist, putt en intel blob i /usr/lib/firmware/intel-ucode mappen eller en AMD beholder i /usr/lib/firmware/amd-ucode mappen før du kjører mkinitramfs. Alternativt kan du ha begge initrd på samme linje, som f.eks initrd /microcode.img /other-initrd.img (tilpass som ovenfor hvis /boot ikke er et separat monteringspunkt).

Du kan nå starte på nytt med den ekstra initrd, og deretter bruke følgende kommando for å sjekke at den tidlige lastingen fungerte:

dmesg | grep -e 'microcode' -e 'Linux version' -e 'Command line'

Hvis du oppdaterte for å adressere sårbarheter, kan du se på utdataen til lscpu kommandoen for å se hva som er rapportert nå.

Stedene og tidspunktene hvor tidlig lasting skjer er svært forskjellige i AMD- og Intel-maskiner. Først et eksempel på en Intel (Meteor Lake bærbar) med tidlig lasting:

[    0.000000] Linux version 6.17.6 (xry111@stargazer) (gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.45) #1 SMP PREEMPT_DYNAMIC Sun Nov  9 21:03:48 CST 2025
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.17.6 root=/dev/nvme0n1p6 ro
[    1.459687] microcode: Current revision: 0x00000025
[    1.459699] microcode: Updated early from: 0x00000024

Et historisk AMD eksempel:

[    0.000000] Linux version 4.15.3 (ken@testserver) (gcc version 7.3.0 (GCC))
               #2 SMP Sun Feb 18 02:32:03 GMT 2018
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.15.3-sda5 root=/dev/sda5 ro
[    0.307619] microcode: microcode updated early to new patch_level=0x010000c8
[    0.307678] microcode: CPU0: patch_level=0x010000c8
[    0.307723] microcode: CPU1: patch_level=0x010000c8
[    0.307795] microcode: Microcode Update Driver: v2.2.

Firmware for Skjermkort

Firmware for ATI Radeon videobrikker

Tidlige radeon enheter trengte bare en enkelt 2K blob med fastvare. Nylige enheter trenger flere forskjellige blobs, og noen av dem er mye større. Den totale størrelsen på radeon fastvarekatalogen er over 500K — på et stort moderne system kan du nok spare plassen, men det er fortsatt overflødig å installere alle ubrukte filer hver gang du bygger et system.

En bedre tilnærming er å installere pciutils-3.14.0 og så bruke lspci for å identifisere hvilken VGA kontroller som er installert.

Med den informasjonen, sjekk RadeonFeature siden til Xorg wikien Decoder ring for engineering vs marketing names for å identifisere familien (det kan hende du må vite dette for Xorg driveren i BLFS — Southern Islands og Sea Islands bruker radeonsi driveren) og den spesifikke modellen.

Nå som du vet hvilken kontroller du bruker, se Radeon siden til Gentoo wikien som har en tabellliste over de nødvendige fastvare blobene for de forskjellige brikkesettene. Merk at Southern Islands og Sea Islands chips bruker forskjellig fastvare for kernel 3.17 og senere sammenlignet med tidligere kjerner. Identifiser og last ned de nødvendige blobene og installer dem:

mkdir -pv /usr/lib/firmware/radeon
cp -v <YOUR_BLOBS> /usr/lib/firmware/radeon

Det anbefales å bygge kjerne amdgpu driveren som en modul fordi fastvarefilene må være tilgjengelige når den lastes. Hvis du bygger det som en del av kjernebildet av en eller annen grunn, må du enten inkludere fastvarefilene i initramfs (les «Om initramfs» for detaljer), eller inkludere dem i selve kjernebildet (les «Inkluder fastvare blobber i kjernebildet» for detaljer).

Fastvare for AMD/ATI amdgpu videobrikker

Alle videokontrollere som bruker amdgpu kjernedriveren krever fastvare, om du skal bruke xorg amdgpu driveren, xserverens modusinnstillings driver, eller bare kjernemodusinnstilling for å få en konsollrammebuffer større enn 80 x 25.

Installer pciutils-3.14.0 og bruk det for å sjekke modellnavnet (se etter 'VGA-kompatibel kontroller:'). Hvis du har en APU (akselerert Processing Unit, dvs. CPU og video på samme brikke) som sannsynligvis vil fortelle deg navnet. Hvis du har et eget amdgpu skjermkort trenger du å søke for å finne ut hvilket navn den bruker (f.eks. et kort beskrevet som Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] trenger Polaris11 fastvare. Det er en tabell med "Familie, Chipset navn, produktnavn og fastvare" på slutten av kjernedelene i AMDGPU siden til Gentoo wikien.

Når du har identifisert fastvarenavnet, installer alle relevante filer for det. For eksempel har Baffin kortet nevnt ovenfor 21 forskjellige polaris11*-filer, APUer som renoir og picasso har minst 12 filer og kan få mer i fremtidige oppdateringer (f.eks. har raven APU nå en 13. fil, raven_ta.bin).

mkdir -pv /usr/lib/firmware/amdgpu
cp -v <YOUR_BLOBS> /usr/lib/firmware/amdgpu

Hvis diskplass ikke er et problem, kan du installere all gjeldende amdgpu fastvarefiler og ikke bekymre deg for nøyaktig hvilket brikkesett som er installert.

Det anbefales å bygge kjerne amdgpu driveren som en modul fordi fastvarefilene må være tilgjengelige når den lastes. Hvis du bygger det som en del av kjernebildet av en eller annen grunn, må du enten inkludere fastvarefilene i initramfs (les «Om initramfs» for detaljer), eller inkludere dem i selve kjernebildet (les «Inkluder fastvare blobber i kjernebildet» for detaljer).

Fastvare for NVIDIA videobrikker

Noen NVIDIA GPUer fra Kepler og utover (inkludert alle NVIDIA GeForce RTX GPUer og GTX 9xx serien og utover) krever fastvare signert av NVIDIA for å fungere. For Nouveau driveren har NVIDIA gitt ut de signerte fastvarefilene i nvidia/ mappen i linux-firmware. Les the CodeNames page of the Nouveau wiki for å finne ut kodenavnet på din NVIDIA GPU (for eksempel kodenavnet til GeForce RTX 5080 er GB203). Mappen for fastvarefilene du trenger er navngitt som resultatet som konverterer kodenavnet til små bokstaver (gb203 for eksempelet). Mappen (eller noe av dens innhold) kan faktisk være en symbolkobling til en annen mappe (eller noen filer i en annen mappe) og du trenger da create the symlink and download its target yourself (for eksempel, gb207 er en symbolkobling til gb202).

Hvis du ikke finner mappen for GPUen din i verken linux-firmware treet eller WHENCE filen (som en symbolkobling), betyr det enten at GPUen din ikke trenger noen fastvare, eller den er nyere enn Blackwell (RTX 50xx serien) og fastvaren for den er ikke utgitt ennå (per midten av 2025).

For NVIDIA GPU-ene fra Tesla til Kepler, Nouveau driveren krever litt ekstra fastvare for å støtte videodekodingsakselerasjon. Disse fastvarefilene er ikke utgitt av NVIDIA, men de kan bli hentet fra NVIDIAs binære driver. For mer nøyaktig informasjon om hvilke chipper som trenger uttrukket fastvare, se the VideoAcceleration of the Nouveau wiki. For å pakke ut og installere disse fastvarefilene, utsted:

wget https://anduin.linuxfromscratch.org/BLFS/nvidia-firmware/extract_firmware.py
wget https://us.download.nvidia.com/XFree86/Linux-x86/340.32/NVIDIA-Linux-x86-340.32.run
sh NVIDIA-Linux-x86-340.32.run --extract-only
python3 extract_firmware.py
mkdir -p /usr/lib/firmware/nouveau
cp -d nv* vuc-* /usr/lib/firmware/nouveau/

Fastvare for Nettverksgrensesnitt

Kjernen liker å laste fastvare for noen nettverksdrivere, spesielt de fra Realtek ( /usr/lib/linux-firmware/rtl_nic/ mappen), men de ser vanligvis ut til å fungere uten. Derfor kan du starte opp kjernen, sjekke dmesg for meldinger om denne manglende fastvaren, og hvis nødvendig last ned fastvaren og legg den i den angitte katalogen i /usr/lib/firmware slik at det vil finnes på neste oppstart. Merk at med nåværende kjerne fungerer dette uansett om driveren er kompilert eller bygget som en modul, det er ikke nødvendig å bygge denne fastvaren inn i kjernen. Her er et eksempel hvor R8169 driveren har blitt kompilert inn men fastvaren ble ikke gjort tilgjengelig. Når fastvaren ble levert, var det var ingen omtale av det på senere oppstarter.

dmesg | grep firmware | grep r8169
[    7.018028] r8169 0000:01:00.0: Direct firmware load for rtl_nic/rtl8168g-2.fw failed with error -2
[    7.018036] r8169 0000:01:00.0 eth0: unable to load firmware patch rtl_nic/rtl8168g-2.fw (-2)

Fastvare for forskriftsdatabase over trådløse enheter

Ulike land har ulike regler for radiospekteret brukt av trådløse enheter. Du kan installere en fastvare for å at trådløse enheter overholder lokale spektrumforskrifter, så du ikke vil bli forespurt av lokale myndigheter eller finne ut at det trådløse NIC kortet blokkerer frekvenser til andre enheter (for eksempel fjernkontroller). Forskriftsdatabasens fastvare kan lastes ned fra https://kernel.org/pub/software/network/wireless-regdb/. For å installere det, bare pakk ut regulatory.db og regulatory.db.p7s fra tarballen til /usr/lib/firmware. Merk at enten cfg80211 driver må velges som en modul for regulatory.* filer som skal lastes, eller må disse filene inkluderes som fastvare i kjernen, som forklart ovenfor i «Firmware for Skjermkort».

Tilgangspunktet (AP) vil sende en landskode til det trådløse NIC, og wpa_supplicant-2.11 ville fortelle kjernen å laste reguleringen av dette landet fra regulatory.db, og håndhever det. Merk at flere AP ikke sender denne landskoden, så du kan være låst til en heller begrenset bruk (spesielt hvis du vil bruke grensesnittet ditt som en AP).

Åpen lyd fastvare

Noen systemer (spesielt bærbare datamaskiner med en nylig Intel CPU) bruker en DSP som leveres med CPU for tilkobling med lydkodeken. Åpen lyd fastvare må lastes inn på DSP for å gjøre den funksjonell. Disse fastvarene filer kan lastes ned fra https://github.com/thesofproject/sof-bin/releases. Pakk ut tarballen og bytt til den utpakkede mappen, deretter som root bruker installer fastvaren:

install -vdm755 /usr/lib/firmware/intel &&
cp -rv sof* /usr/lib/firmware/intel/

alsa-lib-1.2.15.3 behøver Use Case Manager konfigurasjonsfiler for systemene som bruker Sound Open Firmware også. Les alsa-lib-1.2.15.3 siden for instruksjoner for å installere dem. Når fastvaren er lastet inn (kan det hende du trenger en omstart slik at kjernen vil laste dem) og UCM konfigurasjonsfilene installeres, følg «Konfigurere ALSA Verktøy» for å sette opp lydkortet ditt for ALSA skikkelig.

Fastvare for Andre Enheter

Å identifisere riktig firmware vil vanligvis kreve at du installerer pciutils-3.14.0, og deretter bruke lspci for å identifisere enheten. Du bør deretter søke på nettet for å sjekke hvilken modul den bruker, hvilken fastvare og hvor du kan få tak i fastvaren — ikke alt er i linux fastvare.

Hvis det er mulig, bør du begynne med å bruke en kablet tilkobling når du først starter opp LFS systemet. For å bruke en trådløs tilkobling må du bruke et nettverksverktøy som f.eks iw-6.17, Wireless Tools-29, eller wpa_supplicant-2.11.

Fastvare kan også være nødvendig for andre enheter, for eksempel noen SCSI kontrollere, bluetooth adaptere eller TV opptakere. De samme prinsippene gjelder.

Inkluder fastvare blobber i kjernebildet

Noen drivere, spesielt driverne for ATI eller AMD GPU, krever fastvarefiler tilgjengelig når den lastes. Den letteste metoden for å håndtere disse driverne er å bygge dem som en kjernemodul. En alternativ metode er å lage en initramfs (les «Om initramfs» for detaljer), inkludert fastvarefilene. Hvis du ikke vil bruke noen av metodene, kan du inkludere fastvare filer i selve kjernebildet. Installer de nødvendige fastvarefilene inn i /usr/lib/firmware først angi følgende kjernekonfigurasjon og gjenoppbygg kjernen:

Device Drivers --->
  Generic Driver Options --->
    Firmware loader --->
      <*>                   Firmware loading facility                [FW_LOADER]
      (xx/aa.bin xx/bb.bin)   Build named firmware blobs into the kernel binary
                                                           ...  [EXTRA_FIRMWARE]
      # This is the default, you can change it to "/usr/lib/firmware"
      # if you want:
      (/lib/firmware)           Firmware blobs root directory
                                                       ...  [EXTRA_FIRMWARE_DIR]

Erstatt xx/aa.bin xx/bb.bin med en mellomromseparert liste over stier til de nødvendige fastvare filer, i forhold til /usr/lib/firmware. En metode enklere enn å manuelt skrive inn listen (den kan være lang) kjør følgende kommando:

echo CONFIG_EXTRA_FIRMWARE='"'$({ cd /usr/lib/firmware; echo amdgpu/* })'"' >> .config
make oldconfig

Erstatt amdgpu/* med et skallmønster som samsvarer med de nødvendige fastvarefilene.

Advarsel

Ikke distribuer et kjernebilde som inneholder fastvaren til andre da kan du bryte GPL.

Om Enheter

Selv om de fleste enheter som trengs av pakker i BLFS og utover er satt opp skikkelig av udev ved å bruke standardreglene installert av LFS i /etc/udev/rules.d, det er tilfeller der reglene må endres eller utvides.

Flere Lydkort

Hvis det er flere lydkort i et system, vil "standard" lydkortet blir tilfeldig. Metoden for å etablere lydkortrekkefølge avhenger av om driverne er moduler eller ikke. Hvis lydkortets drivere er kompilert inn i kjernen, kontroll er via kjernekommandolinjens parametere i /boot/grub/grub.cfg. For eksempel, hvis et system har både et FM801-kort og et SoundBlaster PCI-kort, følgende kan legges til kommandolinjen:

snd-fm801.index=0 snd-ens1371.index=1

Hvis lydkortdriverne er bygget som moduler, kan rekkefølgen bli etablert i /etc/modprobe.conf filen med:

options snd-fm801 index=0
options snd-ens1371 index=1

Problemer med USB Enheter

USB enheter har vanligvis to typer enhetsnoder knyttet til seg.

Den første typen er laget av enhetsspesifikke drivere (f.eks. usb_storage/sd_mod eller usblp) i kjernen. For eksempel en USB masselagringsenhet ville være /dev/sdb, og en USB skriver ville være /dev/usb/lp0. Disse enhetsnodene eksisterer bare når den enhetensspesifikke driveren er lastet inn.

Den andre typen enhetsnoder (/dev/bus/usb/BBB/DDD, der BBB er bussnummeret og DDD er enhetsnummeret) opprettes selv om enheten ikke har en kjernedriver. Ved å bruke disse "rå" USB enhetenes noder, kan en applikasjon utveksle vilkårlige USB pakker med enheten, dvs. omgå den muligens eksisterende kjernedriveren.

Tilgang til rå USB enhetsnoder er nødvendig når et brukerromsprogram fungerer som enhetsdriver. Men for at programmet skal lykkes med å åpne enheten, må tillatelsene settes riktig. Som standard, pga av sikkerhetshensyn eies alle rå USB enheter av bruker root og gruppe root, og har 0664-tillatelser (lesetilgangen er nødvendig, f.eks. for at lsusb skal fungere og for at programmer skal få tilgang til USB huber). Pakker (f.eks som SANE og libgphoto2) som også inneholder USB enhetsdrivere for brukerområdet send udev-regler som endrer tillatelsene til den kontrollerte rå USB enheten. Det vil si at regler installert av SANE endrer tillatelser for kjente skannere, men ikke skrivere. Hvis en pakkevedlikeholder glemte å skrive en regel for enheten din, rapporter en feil til både BLFS (hvis pakken er der) og oppstrøms, og du må skrive din egen regel.

Før Linux-2.6.15 ble tilgang til rå USB enheter ikke utført med /dev/bus/usb/BBB/DDD enhetsnoder, men med /proc/bus/usb/BBB/DDD pseudofiles. Noen applikasjoner bruker fortsatt bare denne foreldede teknikken og kan ikke bruke de nye enhetsnodene. De kan ikke fungere med Linux kjerne versjon 3.5 eller nyere. Hvis du trenger å kjøre en slik applikasjon, kontakt utvikleren av den for en løsning.

Udev Enhetsattributter

Finjustering av enhetsattributter som gruppenavn og tillatelser er mulig ved å lage ekstra udev regler, samsvarende på noe slikt. Leverandøren og produktet kan finnes med å søke på /sys/devices mappegoppføringer eller bruk udevadm info etter at enheten er koblet til. Se dokumentasjonen i gjeldende udev mappen til /usr/share/doc for detaljer.

SUBSYSTEM=="usb_device", SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4002", \
  GROUP:="scanner", MODE:="0660"

Notat

Linjen ovenfor brukes kun for beskrivende formål. udev skanner regler settes på plass når SANE-1.4.0 installeres.

Enheter for Servere

I noen tilfeller er det fornuftig å deaktivere udev fullstendig og lage statiske enheter. Servere er ett eksempel om denne situasjonen. Trenger en server evne til å håndtere dynamiske enheter? Bare systemadministratoren kan svare på det spørsmålet, men i mange tilfeller vil svaret være nei.

Hvis dynamiske enheter ikke er ønsket, må statiske enheter være opprettet på systemet. I standardkonfigurasjonen /etc/rc.d/rcS.d/S10udev oppstartsskript monterer en tmpfs partisjon over /dev mappen. Dette problemet kan overvinnes ved å montere root partisjonen midlertidig:

Advarsel

Hvis instruksjonene nedenfor ikke følges nøye, kan systemet ditt bli uoppstartbart.

mount --bind / /mnt
cp -a /dev/* /mnt/dev
rm /etc/rc.d/rcS.d/{S10udev,S50udev_retry}
umount /mnt

På dette tidspunktet vil systemet bruke statiske enheter på neste omstart. Lag eventuelle ekstra enheter ved hjelp av mknod.

Hvis du vil gjenopprette de dynamiske enhetene, gjenskaper du /etc/rc.d/rcS.d/{S10udev,S50udev_retry} symbolske koblinger og starter på nytt. Statiske enheter trenger ikke å fjernes (konsoll og null er alltid nødvendig) fordi de er dekket av tmpfs partisjonen. Disk bruk for enheter er ubetydelig (ca 20–30 byte per oppføring).

Devices for DVD Drives

Hvis den første oppstartsprosessen ikke konfigurerer /dev/dvd enheten riktig, kan den installeres ved å bruke følgende modifikasjon av standard udev regler. Som root bruker, kjør:

sed '1d;/SYMLINK.*cdrom/ a\
KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100"' \
/lib/udev/rules.d/60-cdrom_id.rules > /etc/udev/rules.d/60-cdrom_id.rules

Konfigurering for å Legge til Brukere

Sammen er /usr/sbin/useradd kommandoen og /etc/skel mappen (begge er enkle å sette opp og bruke) gir en måte å sikre at nye brukere legges til i LFS systemet med samme startinnstillinger for ting som f.eks PATH, tastaturbehandling og andre miljøvariabler. Å bruke disse to fasilitetene gjør det lettere å sikre den første tilstanden for nye brukere lagt til i systemet.

/etc/skel mappen holder kopier av ulike initialiseringer og andre filer som kan kopieres til nye brukers hjemmemappe når /usr/sbin/useradd programmet legger til den nye brukeren.

Useradd

useradd programmet bruker en samling av standard verdier holdt i /etc/default/useradd. Denne filen er opprettet i en basis LFS installasjon av Shadow pakken. Hvis den er fjernet eller omdøpt, useradd programmet bruker noen interne standardinnstillinger. Du kan se standardverdiene ved å kjøre /usr/sbin/useradd -D.

For å endre disse verdiene, endre ganske enkelt /etc/default/useradd filen som root bruker. Et alternativ til direkte modifisering av filen er å kjøre useradd som root bruker mens man leverer ønskede modifikasjoner på kommandolinjen. Informasjon om hvordan du gjør dette finnes i useradd man side.

/etc/skel

For å komme i gang, opprette en /etc/skel katalog og sørg for at det bare kan skrives av systemadministratoren, vanligvis root. Opprette mappen som root er den beste veien å gå.

Modusen til alle filer fra denne delen av boken du legger i /etc/skel skal bare kunne skrives av eieren. Også siden det er umulig å si hva slags sensitiv informasjon en bruker kan plassere i sin kopi av disse filene, bør du gjør dem uleselige av "group" og "other".

Du kan også legge inn andre filer i /etc/skel og andre tillatelser kan være nødvendig for dem.

Bestem hvilke initialiseringsfiler som skal leveres i alle (eller de fleste) nye brukers hjemmemappe. Avgjørelsene du tar vil påvirke det du gjør i de neste to delene, Oppstartsfilene til Bash Skallet og Vimrc Filer. Noen eller alle disse filene vil være nyttig for root, noen allerede eksisterende brukere og nye brukere.

Filene fra de delene som du kanskje vil plassere i /etc/skel inkluderer .inputrc, .bash_profile, .bashrc, .bash_logout, .dircolors, og .vimrc. Hvis du er usikker på hvilken av disse som skal plasseres der, bare fortsett til følgende seksjoner, les hver seksjon og eventuelle referanser, og ta deretter avgjørelsen din.

Du vil kjøre et litt modifisert sett med kommandoer for filer som er plassert i /etc/skel. Hver seksjon vil minne deg på dette. Kort fortalt er bokens kommandoer skrevet for filer ikke lagt til /etc/skel og i stedet bare sender resultatene til brukerens hjemmemappe. Hvis filen skal være med i /etc/skel, endre bokens kommando(er) for å sende utdata dit i stedet og så er det bare å kopiere filen fra /etc/skel til de aktuelle mappene, som /etc, ~ eller hjemmemappen til en bruker som allerede er i systemet.

Når du Legger til en Bruker

Når du legger til en ny bruker med useradd, bruk -m parameteren, som forteller useradd om å opprette brukerens hjemmemappe og kopiere filer fra /etc/skel (kan bli overstyrt) til den nye brukerens hjemmemappe. For eksempel (utfør som root bruker):

useradd -m <newuser>

Hvis du deler et /home eller /usr/src med en annen Linux distro (for eksempel vertsdistroen som brukes til å bygge LFS), kan du opprette en bruker med samme UID (og samme primærgruppe-GID) for å holde fileierskapet konsistent på tvers av systemene. Først på den andre distroen, få UID til brukeren og GID for brukerens primære gruppe:

getent passwd <username> | cut -d ':' -f 3,4

Kommandoen skal gi ut UID og GID, atskilt med et kolon. Nå på BLFS systemet oppretter du primærgruppen og brukeren:

groupadd -g <GID> <username> &&
useradd -u <UID> -g <username> <username>

Om Systembrukere og Grupper

Gjennom BLFS installerer mange pakker programmer som kjører som nisser eller i en eller annen måte bør ha et bruker- eller gruppenavn tildelt. Generelt disse navnene brukes til å kartlegge en bruker-ID (uid) eller gruppe-ID (gid) for systembruk. Vanligvis er de spesifikke uid- eller gid-numrene som brukes av disse applikasjonene ikke viktig. Unntaket er selvfølgelig at root har en uid og gid på 0 (null) det er virkelig spesielt. Uid verdiene er lagret i /etc/passwd og gid verdiene finnes i /etc/group.

Vanligvis klassifiserer Unix systemer brukere og grupper i to kategorier: systembrukere og vanlige brukere. Systembrukere og grupper er gitt lave tall og vanlige brukere og grupper har numeriske verdier større enn alle systemverdiene. Skjæringspunktet for disse tallene finnes i to parametere i /etc/login.defs konfigurasjonfilen. Standard UID_MIN verdi er 1000 og standard GID_MIN verdi er 1000. Hvis en spesifikk uid- eller gid-verdi ikke er spesifisert når du oppretter en bruker med useradd eller en gruppe med groupadd verdiene som er tildelt vil alltid være over disse grenseverdiene.

I tillegg Linux Standard Base anbefaler at systemets uid og gid verdier skal være under 100.

Nedenfor er en tabell over foreslåtte uid/gid-verdier brukt i BLFS utover de definert i en basis LFS installasjon. Disse kan endres etter ønske, men gir et foreslått sett med konsistente verdier.

Tabell 3.1. UID/GID Foreslåtte Verdier

Navn uid gid
bin 1
lp 9
adm 16
atd 17 17
messagebus 18 18
lpadmin   19
named 20 20
gdm 21 21
fcron 22 22
systemd-journal 23 23
apache 25 25
smmsp 26 26
polkitd 27 27
rpc 28 28
exim 31 31
postfix 32 32
postdrop 33
sendmail 34
mail 34
vmailman 35 35
news 36 36
kdm 37 37
fetchmail 38
mariadb 40 40
postgres 41 41
dovecot 42 42
dovenull 43 43
ftp 45 45
proftpd 46 46
vsftpd 47 47
rsyncd 48 48
sshd 50 50
stunnel 51 51
dhcpcd 52 52
svn 56 56
svntest 57
git 58 58
games 60 60
kvm 61
wireshark 62
sddm 64 64
lightdm 65 65
scanner 70
colord 71 71
systemd-journal-gateway 73 73
systemd-journal-remote 74 74
systemd-journal-upload 75 75
systemd-network 76 76
systemd-resolve 77 77
systemd-timesync 78 78
systemd-coredump 79 79
uuidd 80 80
systemd-oom 81 81
ldap 83 83
avahi 84 84
avahi-autoipd 85 85
netdev 86
ntp 87 87
unbound 88 88
plugdev 90
wheel 97
anonymous 98
nobody 65534
nogroup 65534

Oppstartsfilene til Bash Skallet

Skallprogrammet /bin/bash (heretter referert til som bare "skallet") bruker en samling oppstartsfiler for å hjelpe til med å lage et miljø. Hver fil har en spesifikk bruk og kan påvirke innlogging og interaktive miljøer annerledes. Filene i /etc mappen gir generelt globale innstillinger. Hvis en tilsvarende fil finnes i hjemmemappen din, kan den overstyre de globale innstillingene.

Et interaktivt påloggingsskall startes etter en vellykket pålogging ved hjelp av /bin/login, ved å lese /etc/passwd filen. Denne skall påkallelsen leser normalt /etc/profile og dets private motsvar ~/.bash_profile (eller ~/.profile hvis kalt som /bin/sh) ved oppstart.

Et interaktivt ikke-påloggingsskall startes vanligvis på kommandolinjen ved å bruke et skallprogram (f.eks., [prompt]$/bin/bash) eller av /bin/su kommandoen. Et interaktivt ikke-påloggingsskall er også startet med et terminalprogram som f.eks xterm eller konsole fra et grafisk miljø. Denne typen av skallpåkalling kopierer normalt det overordnede miljøet og leser deretter brukerens fil ~/.bashrc for ytterligere oppstart konfigurasjonsinstruksjoner.

Et ikke-interaktivt skall er vanligvis til stede når et skallskript kjører. Det er ikke-interaktivt fordi det behandler et skript og ikke venter på brukerinndata mellom kommandoer. For disse skallpåkallelsene brukes kun miljøet arvet fra overordnet skall.

Filen ~/.bash_logout brukes ikke til en påkalling av skallet. Den leses og kjøres når en bruker går ut av et interaktivt påloggingsskall.

Mange distribusjoner bruker /etc/bashrc for hele systemets initialisering av skall som ikke er pålogget. Denne filen kalles vanligvis fra brukerens ~/.bashrc fil og er ikke bygget direkte inn i selve bash. Denne konvensjonen følges i denne seksjonen.

For mer informasjon se info bash -- Punkt: Bash Startup Files and Interactive Shells.

Notat

De fleste av instruksjonene nedenfor brukes til å lage filer som ligger i /etc mappestrukturen som krever at du utfører kommandoene som root bruker. Hvis du velger å opprette filer i brukerens hjemmekataloger i stedet, bør du kjøre kommandoene som en uprivilegert bruker.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/bash-shell-startup-files

/etc/profile

Her er en grunnleggende /etc/profile. Denne filen starter med å sette opp noen hjelpefunksjoner og noen grunnleggende parametere. Det spesifiserer noen bash historie parametere og, for sikkerhets formål, deaktiverer lagring av en permanent historikkfil for root bruker. Den kaller så små, enkeltformålsskripter i /etc/profile.d mappen for å gi det meste av initialiseringen.

cat > /etc/profile << "EOF"
# Begin /etc/profile
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# modifications by Dagmar d'Surreal <rivyqntzne@pbzpnfg.arg>

# System wide environment variables and startup programs.

# System wide aliases and functions should go in /etc/bashrc.  Personal
# environment variables and startup programs should go into
# ~/.bash_profile.  Personal aliases and functions should go into
# ~/.bashrc.

# Functions to help us manage paths.  Second argument is the name of the
# path variable to be modified (default: PATH)
pathremove () {
        local IFS=':'
        local NEWPATH
        local DIR
        local PATHVARIABLE=${2:-PATH}
        for DIR in ${!PATHVARIABLE} ; do
                if [ "$DIR" != "$1" ] ; then
                  NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
                fi
        done
        export $PATHVARIABLE="$NEWPATH"
}

pathprepend () {
        pathremove $1 $2
        local PATHVARIABLE=${2:-PATH}
        export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}"
}

pathappend () {
        pathremove $1 $2
        local PATHVARIABLE=${2:-PATH}
        export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
}

export -f pathremove pathprepend pathappend

# Set the initial path
export PATH=/usr/bin

# Attempt to provide backward compatibility with LFS earlier than 11
if [ ! -L /bin ]; then
        pathappend /bin
fi

if [ $EUID -eq 0 ] ; then
        pathappend /usr/sbin
        if [ ! -L /sbin ]; then
                pathappend /sbin
        fi
        unset HISTFILE
fi

# Set up some environment variables.
export HISTSIZE=1000
export HISTIGNORE="&:[bf]g:exit"

# Set some defaults for graphical systems
export XDG_DATA_DIRS=${XDG_DATA_DIRS:-/usr/share}
export XDG_CONFIG_DIRS=${XDG_CONFIG_DIRS:-/etc/xdg}
export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/tmp/xdg-$USER}

for script in /etc/profile.d/*.sh ; do
        if [ -r $script ] ; then
                . $script
        fi
done

unset script

# End /etc/profile
EOF

/etc/profile.d Mappen

Nå opprett /etc/profile.d mappen, hvor de individuelle initialiseringsskriptene er plassert:

install --directory --mode=0755 --owner=root --group=root /etc/profile.d

/etc/profile.d/extrapaths.sh

Dette skriptet legger til noen nyttige stier til PATH og kan brukes til å tilpasse andre PATH relaterte miljøvariabler (f.eks. LD_LIBRARY_PATH, etc) som kan være nødvendig for alle brukere.

cat > /etc/profile.d/extrapaths.sh << "EOF"
if [ -d /usr/local/lib/pkgconfig ] ; then
        pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH
fi
if [ -d /usr/local/bin ]; then
        pathprepend /usr/local/bin
fi
if [ -d /usr/local/sbin -a $EUID -eq 0 ]; then
        pathprepend /usr/local/sbin
fi

if [ -d /usr/local/share ]; then
        pathprepend /usr/local/share XDG_DATA_DIRS
fi

# Set some defaults before other applications add to these paths.
pathappend /usr/share/info INFOPATH
EOF

Notat

man programmet trekker automatisk ut søkebanen for manualsider ved å undersøke innholdet i PATH variabelen, se manpath(5) for detaljer. Innstilling av MANPATH variabel kan overstyre den automatiske utlederen, så BLFS redaksjonen anbefaler ikke å sette det. Hvis du må sette den av en eller annen grunn, er det bedre å starte verdien med et kolon (:), for eksempel MANPATH=:/opt/somepkg/share/man:/opt/otherpkg/share/man så stiene som er oppført i MANPATH variabeln vil legges til den automatisk utledede verdien i stedet for å overstyre det.

/etc/profile.d/readline.sh

Dette skriptet setter opp standard inputrc konfigurasjonsfil. Hvis brukeren ikke har individuelle innstillinger, brukes den globale filen.

cat > /etc/profile.d/readline.sh << "EOF"
# Set up the INPUTRC environment variable.
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then
        INPUTRC=/etc/inputrc
fi
export INPUTRC
EOF

/etc/profile.d/umask.sh

Innstilling av umask verdien er viktig for sikkerheten. Her er standard gruppe skrivetillatelser slått av for systemets brukere og når brukernavnet og gruppenavnet ikke er det samme.

cat > /etc/profile.d/umask.sh << "EOF"
# By default, the umask should be set.
if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then
  umask 002
else
  umask 022
fi
EOF

/etc/profile.d/i18n.sh

Dette skriptet setter en miljøvariabel som er nødvendig for støtte for morsmål. En full diskusjon om å bestemme denne variabelen kan finnes på siden Konfigurere systemlokaliteten siden.

cat > /etc/profile.d/i18n.sh << "EOF"
# Set up i18n variables
for i in $(locale); do
  unset ${i%=*}
done

if [[ "$TERM" = linux ]]; then
  export LANG=C.UTF-8
else
  export LANG=<ll>_<CC>.<charmap><@modifiers>
fi
EOF

Andre Initialiseringsverdier

Annen initialisering kan enkelt legges til profile ved å legge til flere skript i /etc/profile.d mappen.

/etc/bashrc

Her er en grunnleggende /etc/bashrc. Kommentarer i filen skal forklare alt du trenger.

cat > /etc/bashrc << "EOF"
# Begin /etc/bashrc
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# updated by Bruce Dubbs <bdubbs@linuxfromscratch.org>

# System wide aliases and functions.

# System wide environment variables and startup programs should go into
# /etc/profile.  Personal environment variables and startup programs
# should go into ~/.bash_profile.  Personal aliases and functions should
# go into ~/.bashrc

# Provides colored /bin/ls and /bin/grep commands.

if [ -f "/etc/dircolors" ] ; then
        eval $(dircolors -b /etc/dircolors)
fi

if [ -f "$HOME/.dircolors" ] ; then
        eval $(dircolors -b $HOME/.dircolors)
fi

alias ls='ls --color=auto'
alias grep='grep --color=auto'

# Provides prompt for interaktive shells, specifically shells started
# in the X environment. [Review the LFS archive thread titled
# PS1 Environment Variable for a great case study behind this script
# addendum.]

NORMAL="\[\e[0m\]"
RED="\[\e[1;31m\]"
GREEN="\[\e[1;32m\]"
if [[ $EUID == 0 ]] ; then
  PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
else
  PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
fi

unset RED GREEN NORMAL

# GnuPG wants this or it'll fail with pinentry-curses under some
# circumstances (for example signing a Git commit)
# Note that tty -s will "succeed" in LFS chroot environment so we cannot
# use -s instead of redirecting to /dev/null.
$(tty &>/dev/null) && export GPG_TTY=$(tty)

# End /etc/bashrc
EOF

Skriptet ovenfor bruker ~/.dircolors og /etc/dircolors filer for å kontrollere fargene på filnavn i en mappeliste. De kontrollerer fargelagt utdata for ting som ls --color. Forklaringen på hvordan man initialiserer disse filene finner du på slutten av denne delen. Innstillingen avhenger også av terminalen som brukes, så den må settes for hvert interaktive skall, i stedet for bare innloggingsskallet.

For mer informasjon om escape-sekvensene du kan bruke for prompten (dvs. PS1 miljøvariabelen) se info bash -- Node: Printing a Prompt.

~/.bash_profile

Her er en grunnleggende ~/.bash_profile. Hvis du vil ha at hver ny bruker skal få denne filen automatisk, bare endre utdataene til kommandoen til /etc/skel/.bash_profile og sjekk tillatelser etter at kommandoen er kjørt. Deretter kan du kopiere /etc/skel/.bash_profile til hjemmemappene til allerede eksisterende brukere, inkludert root, og angi eieren og gruppen riktig.

cat > ~/.bash_profile << "EOF"
# Begin ~/.bash_profile
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# updated by Bruce Dubbs <bdubbs@linuxfromscratch.org>

# Personal environment variables and startup programs.

# Personal aliases and functions should go in ~/.bashrc.  System wide
# environment variables and startup programs are in /etc/profile.
# System wide aliases and functions are in /etc/bashrc.

if [ -f "$HOME/.bashrc" ] ; then
  source $HOME/.bashrc
fi

if [ -d "$HOME/bin" ] ; then
  pathprepend $HOME/bin
fi

# Having . in the PATH is dangerous
#if [ $EUID -gt 99 ]; then
#  pathappend .
#fi

# End ~/.bash_profile
EOF

~/.profile

Her er en grunnleggende ~/.profile. Kommentarene og bruksanvisningen /etc/skel for .bash_profile ovenfor gjelder også her. Bare målfilnavnet er forskjellige.

cat > ~/.profile << "EOF"
# Begin ~/.profile
# Personal environment variables and startup programs.

if [ -d "$HOME/bin" ] ; then
  pathprepend $HOME/bin
fi

# Set up user specific i18n variables
#export LANG=<ll>_<CC>.<charmap><@modifiers>

# End ~/.profile
EOF

~/.bashrc

Her er en grunnleggende ~/.bashrc.

cat > ~/.bashrc << "EOF"
# Begin ~/.bashrc
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>

# Personal aliases and functions.

# Personal environment variables and startup programs should go in
# ~/.bash_profile.  System wide environment variables and startup
# programs are in /etc/profile.  System wide aliases and functions are
# in /etc/bashrc.

if [ -f "/etc/bashrc" ] ; then
  source /etc/bashrc
fi

# Set up user specific i18n variables
#export LANG=<ll>_<CC>.<charmap><@modifiers>

# End ~/.bashrc
EOF

~/.bash_logout

Dette er en tom ~/.bash_logout som kan brukes som en mal. Du vil legge merke til at grunnleggende ~/.bash_logout inkluderer ikke en clear kommando. Dette er fordi det clear håndteres i /etc/issue filen.

cat > ~/.bash_logout << "EOF"
# Begin ~/.bash_logout
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>

# Personal items to perform on logout.

# End ~/.bash_logout
EOF

/etc/dircolors

Hvis du ønsker å bruke dircolors kapasiteten, kjør følgende kommando. /etc/skel oppsettstrinn vist ovenfor kan også brukes her for å gi en ~/.dircolors fil når en ny bruker settes opp. Som før, bare endre utdatafilnavnet på følgende kommando og sikre at tillatelsene, eieren og gruppen er korrekte på filene opprettet og/eller kopiert.

dircolors -p > /etc/dircolors

Hvis du ønsker å tilpasse fargene som brukes for forskjellige filtyper, kan du redigere /etc/dircolors filen. Instruksjonene for å sette fargene er innebygd i filen.

Endelig har Ian Macdonald skrevet en utmerket samling tips og triks for å forbedre skallmiljøet ditt. Du kan lese den på nett https://caliban.org/bash/index.shtml.

/etc/vimrc og ~/.vimrc Filer

LFS boken installerer Vim som tekstredigerer. På dette tidspunktet bør det bemerkes at det er mange forskjellige redigeringsapplikasjoner der ute, inkludert Emacs, nano, Joe og mange flere. Alle som har vært rundt Internett (spesielt usenet) for en kort tid vil sikkert ha observert minst en flammekrig, vanligvis involvert Vim og Emacs brukere!

LFS boken skaper en grunnleggende vimrc fil. I denne seksjonen finner du et forsøk på å forbedre denne filen. Ved oppstart, vim leser den globale konfigurasjonsfilen (/etc/vimrc) samt en brukerspesifikk fil (~/.vimrc). En eller begge kan skreddersys for å passe behovene til ditt spesielle system.

Her er en litt utvidet .vimrc som du kan putte i ~/.vimrc for å gi brukerspesifikke effekter. Selvfølgelig, hvis du legger det i /etc/skel/.vimrc i stedet, vil den bli gjort tilgjengelig for brukere du legger til i systemet senere. Du kan også kopiere filen fra /etc/skel/.vimrc til hjemmemappen til brukere som allerede er på systemet, for eksempel root. Sørg for å angi tillatelser, eier, og grupper hvis du kopierer noe direkte fra /etc/skel.

" Begin .vimrc

set columns=80
set wrapmargin=8
set ruler

" End .vimrc

Merk at kommentartaggene er " i stedet for de mer vanlige # eller //. Dette er riktig, syntaksen for vimrc er litt uvanlig.

Nedenfor finner du en rask forklaring på hva hver av alternativene i denne eksempelfilen betyr her:

  • set columns=80: Dette setter ganske enkelt antall kolonner brukt på skjermen.

  • set wrapmargin=8: Dette er antallet tegn fra høyre vinduskant der linjebrytingen starter.

  • set ruler: Dette gjør at vim viser gjeldende rad og kolonne nederst til høyre på skjermen.

Mer informasjon om mange vim alternativer finner du ved å lese hjelpen inne i vim. Gjør dette ved å skrive :help i vim for å få generell hjelp, eller ved å skrive :help usr_toc.txt for å se Brukerhåndbokens Innholdsfortegnelse.

Tilpasse Påloggingen med /etc/issue

Første gang du starter opp ditt nye LFS system, vil påloggingsskjermen vises fin og vanlig (som det skal være i et basis system). Mange folk vil imidlertid at systemet deres skal vise noe informasjon i påloggings beskjeden. Dette kan gjøres ved å bruke filen /etc/issue.

/etc/issue filen er en ren tekstfil som også vil akseptere visse skiftesekvenser (se nedenfor) for å legge inn informasjon om systemet. Det er også filen issue.net som kan brukes ved ekstern pålogging. ssh vil imidlertid bare bruke det hvis du angir alternativet i konfigurasjonsfilen og vil ikke tolke skiftesekvensene vist nedenfor.

En av de vanligste tingene som folk ønsker å gjøre er å rydde skjermen ved hver pålogging. Den enkleste måten å gjøre det på er å sette en "clear" skiftesekvens inn i /etc/issue. En enkel måte å å gjøre dette er å gi kommandoen clear > /etc/issue. Dette vil sette inn den relevante skiftesekvensen i starten på /etc/issue filen. Merk at hvis du gjør dette, når du redigerer filen, bør du la tegnene på første linje (normalt '^[[H^[[2J') stå alene.

Notat

Terminal skiftesekvenser er spesielle koder som gjenkjennes av terminalen. ^[ representerer et ASCII ESC tegn. Sekvensen ESC [ H plasserer markøren i øvre venstre hjørne av skjermen og ESC 2 J sletter skjermen. For mer informasjon om terminal skiftesekvenser, se https://invisible-mirror.net/xterm/ctlseqs/ctlseqs.html

Følgende sekvenser gjenkjennes av agetty (programmet som vanligvis analyserer /etc/issue). Denne informasjon er fra man agetty hvor du kan finne ekstra informasjon om påloggingsprosessen.

issue filen kan inneholde visse tegn sekvenser for å vise forskjellig informasjon. Alle issue sekvenser består av en omvendt skråstrek (\) umiddelbart etterfulgt av en av bokstavene forklart nedenfor (så \d i /etc/issue vil sette inn gjeldende dato).

b   Setter inn baudraten til gjeldende linje.
d   Setter inn gjeldende dato.
s   Setter inn systemnavnet, navnet på operativsystemet.
l   Setter inn navnet på gjeldende tty linje.
m   Setter inn arkitekturidentifikatoren for maskinen, f.eks., i686.
n   Setter inn nodenavn på maskinen, også kjent som vertsnavnet.
o   Setter inn domenenavnet til maskinen.
r   Setter inn utgivelsesnummer for kjernen, f.eks., 2.6.11.12.
t   Setter inn nåværende tid.
u   Setter inn antall nåværende brukere pålogget.
U   Setter inn streng "1 bruker" eller "<n> brukere" hvor <n> er
     antall nåværende brukere pålogget.
v   Setter inn versjonen av OS, f.eks., byggedato osv.

Generering av Tilfeldige Tall

Linux kjernen leverer en tilfeldig tallgenerator som er tilgjengelig gjennom /dev/random og /dev/urandom. Programmer som bruker de tilfeldige og uvilkårlige enhetene, som f.eks OpenSSH, vil dra nytte av disse instruksjonene.

Når et Linux system starter opp uten mye operatørinteraksjon, vil entropi pool (data som brukes til å beregne et tilfeldig tall) være i en ganske forutsigbar tilstand. Dette skaper den reelle muligheten for at nummeret generert ved oppstart alltid kan være det samme. For å motvirke denne effekten, bør du bære informasjonen om entropipoolen på tvers av dine avslutninger og oppstarter.

Installer /etc/rc.d/init.d/random init skriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-random

Kapittel 4. Sikkerhet

Sikkerhet tar mange former i et datamiljø. Etter noen innledende diskusjon, gir dette kapittelet eksempler på tre ulike typer sikkerhet: tilgang, forebygging og deteksjon.

Tilgang for brukere håndteres vanligvis av login eller en applikasjon designet for å håndtere påloggingsfunksjonen. I dette kapittelet viser vi hvordan å forbedre login ved å sette retningslinjer med PAM moduler. Tilgang via nettverk kan også bli sikret med retningslinjer satt av iptables, vanlig referert til som en brannmur. Network Security Services (NSS) og Netscape Portable Runtime (NSPR) biblioteker kan installeres og deles blant de mange applikasjonene som krever dem. For applikasjoner som ikke tilbyr den beste sikkerheten, kan du bruke Stunnel pakke for å pakke inn en programnisse inn i en SSL tunnel.

Forebygging av brudd, som en trojaner, assisteres av applikasjoner som GnuPG, spesielt evnen til å bekrefte signerte pakker, som gjenkjenner modifikasjoner av tarballen etter at pakkeren har opprettet den.

Til slutt berører vi deteksjon med en pakke som lagrer "signaturer" av kritiske filer (definert av administratoren) og regenerer deretter disse "signaturer" og sammenligner for filer som er endret.

Sårbarheter

Om sårbarheter

All programvare har feil. Noen ganger kan en feil utnyttes, for eksempel til å la brukere få forbedrede privilegier (kanskje få et rootskall, eller bare få tilgang til eller slette andre brukere sine filer), eller å tillate et eksternt nettsted å krasje et program (denial of service), eller for tyveri av data. Disse feilene er merket som sårbarheter.

Det viktigste stedet hvor sårbarheter blir logget er cve.mitre.org. Dessverre, mange sårbarhetsnumre (CVE-yyyy-nnnn) er i utgangspunktet bare merket som "reservert" når distribusjoner begynner å gi feilrettinger. Også noen sårbarheter gjelder spesielle kombinasjoner av configure alternativer, eller bare gjelde for gamle versjoner av pakker som for lengst er oppdatert i BLFS.

BLFS skiller seg fra distribusjoner—det er ingen BLFS sikkerhetsteam, og redaktørene blir først oppmerksomme på sårbarheter etter at de er offentlige kunnskap. Noen ganger vil ikke en pakke med en sårbarhet bli oppdatert i boken på lenge. Problemer kan logges i Trac systemet, som kan øke hastigheten på løsningen.

Den normale måten for BLFS å fikse en sårbarhet på er, ideelt sett, å oppdatere boken til en ny fast utgivelse av pakken. Noen ganger skjer det selv før sårbarheten er offentlig kjent, så det er ingen garantier at den vil bli vist som en sårbarhetsfiks i endringsloggen. Alternativt, en sed kommando, eller en oppdatering hentet fra en distribusjon, kan være aktuelt.

Poenget er at du er ansvarlig for din egen sikkerhet, og for å vurdere den potensielle konsekvensen av eventuelle problemer.

Redaktørene utsteder nå sikkerhetsråd for pakker i BLFS (og LFS), som finnes på BLFS Security Advisories, og gradere alvorlighetsgraden etter hva oppstrøms rapporter, eller til det som vises på nvd.nist.gov hvis det har detaljer.

For å holde styr på hva som blir oppdaget, kan det være lurt å følge sikkerhetskunngjøringer av en eller flere distribusjoner. For eksempel Debian har Debian security. Fedoras lenker om sikkerhet er på the Fedora wiki. Detaljer om Gentoo linux sikkerhetskunngjøringer er diskutert på Gentoo security. Endelig er Slackware arkivene med sikkerhetskunngjøringer på Slackware security.

Den mest generelle engelske kilden er kanskje the Full Disclosure Mailing List, men vennligst les kommentaren på den siden. Hvis du bruke andre språk kanskje foretrekker du andre nettsteder som heise.de (Tysk) eller cert.hr (Kroatisk). Disse er ikke linux spesifikke. Det er også en daglig oppdatering på lwn.net for abonnenter (gratis tilgang til dataene etter 2 uker, men deres sårbarheter database på lwn.net/Alerts er ubegrenset).

For noen pakker, å abonnere på deres 'announce' lister vil gi umiddelbare nyheter om nyere versjoner.

make-ca-1.16.1

Introduksjon til make-ca

Offentlig nøkkelinfrastruktur (PKI) er en metode for å validere ektheten av en ellers ukjent enhet på tvers av uklarerte nettverk. PKI fungerer med å etablere en tillitskjede, i stedet for å stole på hver enkelt vert eller enhet eksplisitt. For å få et sertifikat presentert av en fjern enhet som skal stoles på, må sertifikatet presentere en komplett kjede av sertifikater som kan valideres ved hjelp av rotsertifikatet til en Sertifiseringsinstans (CA) som er klarert av den lokale maskinen.

Å etablere tillit med en CA innebærer å validere ting som selskap adresse, eierskap, kontaktinformasjon osv., og sikre at CA har fulgt beste praksis, som å gjennomgå periodiske sikkerhetsrevisjoner av uavhengige etterforskere og opprettholde en alltid tilgjengelig sertifikatopphevelsesliste. Dette er godt utenfor omfanget av BLFS (som det er for de fleste Linux distribusjoner). Sertifikatlageret som oppgis her er hentet fra Mozilla Foundation, som har etablert svært strenge retningslinjer for inkludering beskrevet her.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

Denne pakken sender et CA sertifikat for å validere identiteten til https://hg-edge.mozilla.org/. Hvis tillitskjeden til denne nettsiden har blitt endret etter utgivelsen av make-ca-1.16.1, det kan mislykkes å få revisjonen av certdata.txt fra serveren. Bruk en oppdatert make-ca utgivelse på the release page hvis dette problemet oppstår.

make-ca Avhengigheter

Påkrevd

p11-kit-0.26.2 (kjøretid, bygget etter libtasn1-4.21.0, kreves i de følgende instruksjoner for å generere sertifikatlagre fra tillitsankere, og hver gang make-ca kjøres)

Valgfri (kjøretid)

nss-3.120 (å generere en delt NSSDB)

Installasjon av make-ca og Generering av CA sertifikatlager

Fjern først -t alternativet fra mktemp kommandoer i skriptet. Dette alternativet er utdatert og kan forårsake uønskede effekter hvis TMPDIR er satt i miljøet:

sed '/mktemp/s/-t //' -i make-ca

make-ca skriptet vil laste ned og behandle sertifikatene som er inkludert i certdata.txt filen til bruk som tillitsankere for p11-kit-0.26.2 tillitsmodulen. I tillegg vil den generere systemsertifikatlagre som brukes av BLFS applikasjoner (hvis de anbefalte og valgfrie applikasjonene finnes på systemet). Eventuelle lokale sertifikater lagret i /etc/ssl/local vil bli importert til både tillitsankere og de genererte sertifikatlagrene (overstyrer Mozillas tillit). I tillegg vil eventuelle modifiserte tillitsverdier bli kopiert fra tillitsankere til /etc/ssl/local før evt oppdateringer, som bevarer tilpassede tillitsverdier som er forskjellige fra Mozilla når det brukes trust verktøy fra p11-kit for å operere på tillitslageret.

For å installere de forskjellige sertifikatlagrene, installer først make-ca skriptet til riktig plassering. Som root bruker:

make install &&
install -vdm755 /etc/ssl/local

Viktig

Teknisk sett er denne pakken allerede installert på dette tidspunktet. Men de fleste pakker som lister make-ca som en avhengighet krever faktisk at systemsertifikatlageret er satt opp av denne pakken, heller enn make-ca programmet i seg selv. Så instruksjonene for å bruke make-ca for å sette opp systemsertifikatlageret er inkludert i denne delen. Du bør sørge for at nødvendige kjøretidsavhengighet for make-ca er tilfredstilt nå, og fortsett å følge instruksjonene.

Som root bruker, last ned sertifikatkilden og klargjør for systembruk med følgende kommando:

Notat

Hvis du kjører skriptet en gang til med samme versjon av certdata.txt, for eksempel for å oppdatere lagre når make-ca er oppgradert, eller for å legge til flere lagre etter hvert som den nødvendige programvaren er installert, erstatt -g bryteren med -r bryter i kommandolinjen. Hvis innpakning, kjør make-ca --help for å se alle tilgjengelige kommandoers linjealternativer.

/usr/sbin/make-ca -g

Du bør periodisk oppdatere lagrene med kommandoen ovenfor, enten manuelt eller via en cron job. Hvis du har installert Fcron-3.4.0 og fullført avsnittet om periodiske jobber, kjør følgende kommandoer, som root bruker, for å opprette en ukentlig cron jobb:

cat > /etc/cron.weekly/update-pki.sh << "EOF" &&
#!/bin/bash
/usr/sbin/make-ca -g
EOF
chmod 754 /etc/cron.weekly/update-pki.sh

Konfigurere make-ca

For de fleste brukere er ingen ekstra konfigurasjon nødvendig, men standard certdata.txt filen levert av make-ca er hentet fra mozilla-release grenen, og er modifisert for å gi en Mercurial revisjon. Dette vil være riktig versjon for de fleste systemer. Det er flere andre varianter av filen tilgjengelig for bruk som kan foretrekkes av en eller annen grunn, inkludert filene som leveres med Mozilla produkter i denne boken. RedHat og OpenSUSE, for eksempel, bruker versjonen inkludert i nss-3.120. Ytterligere oppstrømsnedlastinger er tilgjengelig på lenkene som er inkludert i /etc/make-ca/make-ca.conf.dist. Bare kopier filen til /etc/make-ca.conf og rediger etter behov.

Om tillitsargumenter

Det er tre tillitstyper som er anerkjent av make-ca skriptet, SSL/TLS, S/Mime, og code signing. For OpenSSL, er disse serverAuth, emailProtection, og codeSigning henholdsvis. Hvis en av de tre tillitsargumentene er utelatt, er sertifikatet verken klarert, eller avvist for den rollen. Klienter som bruker OpenSSL eller NSS som støter på dette sertifikatet vil gi en advarsel til brukeren. Klienter som bruker GnuTLS uten p11-kit støtte er ikke klar over klarerte sertifikater. For å inkludere denne CA i ca-bundle.crt, email-ca-bundle.crt, eller objsign-ca-bundle.crt filer (GnuTLS gamle pakker), den må ha passende tillitsargumenter.

Legg til Flere CA Sertifikater

/etc/ssl/local mappen er tilgjengelig for å legge til flere CA sertifikater til systemtillitslageret. Denne katalogen brukes også til å lagre sertifikater som ble lagt til eller endret i systemtillitslageret av p11-kit-0.26.2 sånn at tillitsverdier opprettholdes på tvers av oppgraderinger. Filer i denne mappen må være i OpenSSL klarert sertifikatformat. Sertifikater importert ved hjelp av trust verktøyet fra p11-kit-0.26.2 vil bruke x509 Extended Key Usage verdiene for å tildele standard tillitsverdier for systemankrene.

Hvis du trenger å overstyre tillitsverdier, eller på annen måte trenger å opprette et OpenSSL klarert sertifikat manuelt fra en vanlig PEM kodet fil, må du legge til tillitsargumenter til openssl kommandoen, og opprette et nytt sertifikat. For eksempel ved å bruke CAcert roots, hvis du vil stole på begge for alle tre rollene, følgende kommandoer vil opprette passende OpenSSL klarerte sertifikater (kjør som root etter at Wget-1.25.0 er installert):

wget http://www.cacert.org/certs/root.crt &&
wget http://www.cacert.org/certs/class3.crt &&
openssl x509 -in root.crt -text -fingerprint -setalias "CAcert Class 1 root" \
        -addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \
        > /etc/ssl/local/CAcert_Class_1_root.pem &&
openssl x509 -in class3.crt -text -fingerprint -setalias "CAcert Class 3 root" \
        -addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \
        > /etc/ssl/local/CAcert_Class_3_root.pem &&
/usr/sbin/make-ca -r

Overstyrer Mozilla Tillit

Noen ganger kan det være tilfeller der du ikke er enig med Mozillas inkludering av en bestemt sertifiseringsinstans. Hvis du vil overstyre standardtilliten til en bestemt CA, lag ganske enkelt en kopi av det eksisterende sertifikatet i /etc/ssl/local med ulik tillitsargumenter. For eksempel, hvis du ønsker å mistro "Makebelieve_CA_Root" filen, kjør følgende kommandoer:

openssl x509 -in /etc/ssl/certs/Makebelieve_CA_Root.pem \
             -text \
             -fingerprint \
             -setalias "Disabled Makebelieve CA Root" \
             -addreject serverAuth \
             -addreject emailProtection \
             -addreject codeSigning \
       > /etc/ssl/local/Disabled_Makebelieve_CA_Root.pem &&
/usr/sbin/make-ca -r

Bruke make-ca med Python3

Når Python3 ble installert i LFS, inkluderte det pip3 modulen med forhandlersertifikater fra Certifi modulen. Det var nødvendig, men det betyr at når som helst pip3 brukes kan den referere til disse sertifikatene, først og fremst når du oppretter et virtuelt miljø eller når installere en modul med alle dens wheel avhengigheter på en gang.

Det anses generelt at systemadministratoren bør være ansvarlig for hvilke sertifikater som er tilgjengelige. Nå som make-ca-1.16.1 og p11-kit-0.26.2 har blitt installert og make-ca er konfigurert, er det mulig å få pip3 til å bruke systemsertifikatene.

Sertifikatene som er installert i LFS er et øyeblikksbilde fra når en trukket inn versjon av Certifi ble laget. Hvis du regelmessig oppdaterer systemsertifikatene, vil leverandørversjonen bli utdatert.

For å bruke systemsertifikatene i Python3, bør du sette _PIP_STANDALONE_CERT til å peke på dem, f.eks for bash skallet:

export _PIP_STANDALONE_CERT=/etc/pki/tls/certs/ca-bundle.crt

Advarsel

Hvis du har laget virtuelle miljøer, for eksempel når du tester moduler, og de inkluderer Requests og Certifi moduler i ~/.local/lib/python3.14/, da vil de lokale modulene bli brukt i stedet for systemsertifikatene med mindre du fjerner de lokale modulene.

For å bruke systemsertifikatene i Python3 med BLFS profilene, legg til følgende variabel til systemet eller personlig profil:

mkdir -pv /etc/profile.d &&
cat > /etc/profile.d/pythoncerts.sh << "EOF"
# Begin /etc/profile.d/pythoncerts.sh

export _PIP_STANDALONE_CERT=/etc/pki/tls/certs/ca-bundle.crt

# End /etc/profile.d/pythoncerts.sh
EOF

Innhold

Installerte Programmer: make-ca
Installerte Mapper: /etc/ssl/{certs,local} og /etc/pki/{nssdb,anchors,tls/{certs,java}}

Korte Beskrivelser

make-ca

er et skallskript som tilpasser en gjeldende versjon av certdata.txt, og gjør den klar til bruk som systemtillitslageret

CrackLib-2.10.3

Introduksjon til CrackLib

CrackLib pakken inneholder et bibliotek som brukes til å håndheve sterke passord ved å sammenligne valgte brukeres passord med ord i valgte ordlister.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Anbefalt ordliste for engelsktalende land (størrelse:

Det er flere ordlister tilgjengelig for nedlasting, for eksempel fra https://www.skullsecurity.org/wiki/Passwords. CrackLib kan bruke så mange eller så få ordlister du velger å installere.

Viktig

Brukere har en tendens til å basere passordene sine på vanlige ord fra det talte språk, og crackers vet det. CrackLib er ment å filtrere ut slike dårlige passord ved kilden ved å bruke en ordbok laget av ordlister. For å oppnå dette, ordliste(r) for bruk med CrackLib må være en uttømmende liste over ord og ordbaserte tastetrykkkombinasjoner brukere av systemet sannsynligvis velger som (gjettbare) passord.

Standardordlisten anbefalt ovenfor for nedlasting tilfredsstiller det meste denne rollen i engelsktalende land. I andre situasjoner, kan det være nødvendig å laste ned (eller til og med lage) flere ordlister.

Merk at ordlister som er egnet for stavekontroll ikke er brukbare som CrackLib ordlister i land med ikke-latinbaserte alfabeter, på grunn av «ordbaserte tastetrykk kombinasjoner» som lager dårlige passord.

Installasjon av CrackLib

Installer CrackLib ved å kjøre følgende kommandoer:

./configure --prefix=/usr               \
            --disable-static            \
            --with-default-dict=/usr/lib/cracklib/pw_dict &&
make

Nå, som root bruker:

make install

Kjør følgende kommandoer som root brukeren for å installere anbefalt ordliste og opprett CrackLib ordbok. Andre ordlister (tekstbasert, ett ord per linje) kan også brukes ved ganske enkelt å installere dem i /usr/share/dict og legger dem til create-cracklib-dict kommandoen.

xzcat ../cracklib-words-2.10.3.xz \
                       > /usr/share/dict/cracklib-words       &&
ln -v -sf cracklib-words /usr/share/dict/words                &&
echo $(hostname) >>      /usr/share/dict/cracklib-extra-words &&
install -v -m755 -d      /usr/lib/cracklib                    &&

create-cracklib-dict     /usr/share/dict/cracklib-words \
                         /usr/share/dict/cracklib-extra-words

Hvis ønskelig, kontroller at biblioteket fungerer som en uprivilegert bruker ved å kjøre følgende kommando:

make test

Om ønskelig, test Python modulen med:

python3 -c 'import cracklib; cracklib.test()'

Viktig

Hvis du installerer CrackLib etter at LFS systemet ditt er fullført og du har Shadow pakken installert, må du installere Shadow-4.19.3 på nytt hvis du ønsker å gi sterk passordstøtte på systemet ditt. Hvis du nå skal installere Linux-PAM-1.7.2 pakken, kan du se bort fra denne merknaden ettersom Shadow vil bli reinstallert etter Linux-PAM installasjonen.

Parameterforklaringer

--with-default-dict=/usr/lib/cracklib/pw_dict: Denne parameteren tvinger installasjonen av CrackLib ordboken til /lib hierarkiet.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

install -v -m644 -D ...: Denne kommandoen oppretter /usr/share/dict mappen (hvis den ikke eksisterer allerede) og installerer den komprimerte ordlisten der.

ln -v -s cracklib-words /usr/share/dict/words: ordliste er lenket til /usr/share/dict/words, historisk sett er words den primære ordlisten i /usr/share/dict mappen. Utelate denne kommandoen hvis du allerede har /usr/share/dict/words filen installert på systemet ditt.

echo $(hostname) >>...: Verdien av hostname er ekkoet til en fil kalt cracklib-extra-words. Denne ekstra filen er ment å være en nettstedsspesifikk liste som inkluderer enkle å gjette passord som f.eks som firma- eller avdelingsnavn, brukernavn, produktnavn, datamaskin navn, domenenavn osv.

create-cracklib-dict ...: Denne kommandoen oppretter CrackLib ordbok fra ordlistene. Endre kommandoen for å legge til eventuelle ekstra ordlister du har installert.

Innhold

Installerte Programmer: cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, cracklib-update, og create-cracklib-dict
Installerte Biblioteker: libcrack.so og _cracklib.so (Python modul)
Installerte Mapper: /usr/lib/cracklib, /usr/share/dict, og /usr/share/cracklib

Korte Beskrivelser

cracklib-check

brukes til å finne ut om et passord er sterkt

cracklib-format

brukes til å formatere tekstfiler (små bokstaver i alle ord, fjerner kontrolltegn og sorterer listene)

cracklib-packer

oppretter en database med ord lest fra standard inndata

cracklib-unpacker

viser på standard utdata den spesifiserte databasen

create-cracklib-dict

brukes til å lage CrackLib ordbok fra gitte ordliste(r)

libcrack.so

gir en rask ordbokoppslagsmetode for sterk passordhåndhevelse

cryptsetup-2.8.4

Introduksjon til cryptsetup

cryptsetup brukes til å sette opp transparent kryptering av blokkenheter ved å bruke kjernens krypterings API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

cryptsetup Avhengigheter

Påkrevd

JSON-C-0.18, LVM2-2.03.38, og popt-1.19

Valgfri

asciidoctor-2.0.26, libpwquality-1.4.5, argon2, libssh, mbedtls, og passwdqc

Kjernekonfigurasjon

Krypterte blokkenheter krever kjernestøtte. For å bruke det passende kjernekonfigurasjonsparametere må angis:

Device Drivers --->
  [*] Multiple devices driver support (RAID and LVM) --->                   [MD]
    <*/M> Device mapper support                                     [BLK_DEV_DM]
    <*/M>   Crypt target support                                      [DM_CRYPT]

-*- Cryptographic API --->                                              [CRYPTO]
  Block ciphers --->
    <*/M> AES (Advanced Encryption Standard)                        [CRYPTO_AES]
    # For tests:
    <*/M> Twofish                                               [CRYPTO_TWOFISH]
  Length-preserving ciphers and modes --->
    <*/M> XTS (XOR Encrypt XOR with ciphertext stealing)            [CRYPTO_XTS]
  Hashes, digests, and MACs --->
    <*/M> SHA-224 and SHA-256                                    [CRYPTO_SHA256]
  Userspace interface --->
    <*/M> Symmetric key cipher algorithms             [CRYPTO_USER_API_SKCIPHER]

Installasjon av cryptsetup

Installer cryptsetup ved å kjøre følgende kommandoer:

./configure --prefix=/usr       \
            --disable-ssh-token \
            --disable-asciidoc  &&
make

For å teste resultatet, kjør som root bruker: make check. Noen tester vil mislykkes hvis de riktige kjernekonfigurasjonsalternativene ikke er satt. Noen tilleggsalternativer som kan være nødvendige for tester er:

CONFIG_SCSI_LOWLEVEL,
CONFIG_SCSI_DEBUG,
CONFIG_BLK_DEV_DM_BUILTIN,
CONFIG_CRC_T10DIF,
CONFIG_CRYPTO_USER,
CONFIG_CRYPTO_CRYPTD,
CONFIG_CRYPTO_LRW,
CONFIG_CRYPTO_XTS,
CONFIG_CRYPTO_ESSIV,
CONFIG_CRYPTO_AES_TI,
CONFIG_CRYPTO_AES_NI_INTEL,
CONFIG_CRYPTO_BLOWFISH,
CONFIG_CRYPTO_CAST5,
CONFIG_CRYPTO_SERPENT,
CONFIG_CRYPTO_SERPENT_SSE2_X86_64,
CONFIG_CRYPTO_SERPENT_AVX_X86_64,
CONFIG_CRYPTO_SERPENT_AVX2_X86_64, and
CONFIG_CRYPTO_TWOFISH_X86_64

Nå, som root bruker:

make install

Parameterforklaringer

--disable-ssh-token: Dette alternativet er nødvendig hvis den valgfrie libssh avhengigheten ikke er installert.

--disable-asciidoc: Denne bryteren deaktiverer regenerering av manualsidene. Fjern denne bryteren hvis du har asciidoctor-2.0.26 installert og ønsker å regenerer manualsidene. Vær oppmerksom på at selv om denne bryteren brukes, de forhåndsgenererte manualsidene sendes i tarballen, og de vil fortsatt være installert.

Konfigurere cryptsetup

På grunn av antall mulige konfigurasjoner, oppsett av krypterte volumer ligger utenfor BLFS bokens omfang. Vennligst se konfigurasjonsveiledning i cryptsetup FAQ.

Innhold

Installerte Programmer: cryptsetup, integritysetup, og veritysetup
Installerte Biblioteker: libcryptsetup.so
Installerte Mapper: /usr/lib/cryptsetup

Korte Beskrivelser

cryptsetup

brukes til å konfigurere dm-crypt administrerte enhets mappetilordninger

integritysetup

er et verktøy for å administrere dm-integrity (blokknivåintegritet) volumer

veritysetup

brukes til å konfigurere dm-verity administrerte enhetsmappe tilordninger. Enhetskartlegging verifiseringsmål gir skrivebeskyttet transparent integritets kontroll av blokkenheter ved hjelp av kjernekrypterings API

Cyrus SASL-2.1.28

Introduksjon til Cyrus SASL

Cyrus SASL pakken inneholder en enkel autentiserings og sikkerhetslags implementering, en metode for å legge til autentiseringsstøtte til tilkoblingsbaserte protokoller. For å bruke SASL, protokollen inkluderer en kommando for å identifisere og autentisere en bruker til en server og for eventuelt å forhandle beskyttelse av etterfølgende protokoll interaksjoner. Hvis bruken er forhandlet, settes et sikkerhetslag inn mellom protokollen og forbindelsen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Cyrus SASL Avhengigheter

Anbefalt
Valgfri

Linux-PAM-1.7.2, MIT Kerberos V5-1.22.2, MariaDB-11.8.6 eller MySQL, OpenLDAP-2.6.12, PostgreSQL-18.2, sphinx-9.1.0, (nødvendig for å regenerere dokumentasjonen), Berkeley DB (deprecated), krb4, Dmalloc, og Pod::POM::View::Restructured (nødvendig for å regenerere dokumentasjonen)

Installasjon av Cyrus SASL

Notat

Denne pakken støtter ikke parallellbygging.

Først må du fikse pakken slik at den er kompatibel med gcc-15:

patch -Np1 -i ../cyrus-sasl-2.1.28-gcc15_fixes-1.patch &&
autoreconf -fiv

Rett også et problem som ble avslørt av gcc-14 og nyere:

sed '/saslint/a #include <time.h>'       -i lib/saslutil.c &&
sed '/plugin_common/a #include <time.h>' -i plugins/cram.c

Installer Cyrus SASL ved å kjøre følgende kommandoer:

./configure --prefix=/usr                       \
            --sysconfdir=/etc                   \
            --enable-auth-sasldb                \
            --with-dblib=lmdb                   \
            --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-sphinx-build=no              \
            --with-saslauthd=/var/run/saslauthd &&
make -j1

Denne pakken kommer ikke med en testpakke. Hvis du planlegger bruk av GSSAPI autentiseringsmekanismen, test det etter å ha installert pakken ved å bruke eksempelserveren og klient programmet som ble bygget i det foregående trinnet. Instruksjoner for å utføre testene finner du på https://www.linuxfromscratch.org/hints/downloads/files/cyrus-sasl.txt.

Nå, som root bruker:

make install &&
install -v -dm755                          /usr/share/doc/cyrus-sasl-2.1.28/html &&
install -v -m644  saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.28      &&
install -v -m644  doc/legacy/*.html        /usr/share/doc/cyrus-sasl-2.1.28/html &&
install -v -dm700 /var/lib/sasl

Parameterforklaringer

--with-dbpath=/var/lib/sasl/sasldb2: Denne bryteren tvinger sasldb database å bli opprettet i /var/lib/sasl i stedet for /etc.

--with-saslauthd=/var/run/saslauthd: Denne bryteren tvinger saslauthd å bruke FHS kompatibel mappe /var/run/saslauthd for variable kjøretidsdata.

--enable-auth-sasldb: Denne bryteren aktiverer SASLDB autentiseringsbakstykke.

--with-dblib=gdbm: Denne bryteren tvinger at GDBM skal brukes i stedet for LMDB.

--with-ldap: Denne bryteren aktiverer OpenLDAP støtte.

--enable-ldapdb: Denne bryteren aktiverer LDAPDB autentiseringsbakstykke.

--enable-login: Dette alternativet aktiverer ustøttet LOGIN autentisering.

--enable-ntlm: Dette alternativet aktiverer ustøttet NTLM autentisering.

install -v -m644 ...: Disse kommandoene installer dokumentasjon som ikke er installert av make install kommandoen.

install -v -m700 -d /var/lib/sasl: Denne mappen må eksistere ved oppstart av saslauthd eller ved bruk av sasldb programtillegget. Hvis du ikke skal kjøre nissen eller bruke programtillegg, kan du utelate opprettelsen av denne katalogen.

Konfigurere Cyrus SASL

Konfigurasjonsfiler

/etc/saslauthd.conf (for saslauthd LDAP konfigurasjon) og /etc/sasl2/Appnavn.conf (hvor "Appnavn" er det applikasjonsdefinerte navnet på applikasjonen)

Konfigurasjonsinformasjon

Se https://www.cyrusimap.org/sasl/sasl/sysadmin.html for informasjon om hva som skal inkluderes i programkonfigurasjonsfilene.

Se file:///usr/share/doc/cyrus-sasl-2.1.28/LDAP_SASLAUTHD for å konfigurere saslauthd med OpenLDAP.

Se https://www.cyrusimap.org/sasl/sasl/gssapi.html#gssapi for å konfigurere saslauthd med Kerberos.

Init Skript

Hvis du trenger å kjøre saslauthd nissen ved systemets oppstart, installer /etc/rc.d/init.d/saslauthd init skriptet inkludert i blfs-bootscripts-20251220 pakken ved å bruke følgende kommando:

make install-saslauthd

Notat

Du må modifiserer /etc/sysconfig/saslauthd og modifiserer AUTHMECH parameter med ønsket autentiseringsmekanisme.

Innhold

Installerte Programmer: pluginviewer, saslauthd, sasldblistusers2, saslpasswd2, og testsaslauthd
Installert Bibliotek: libsasl2.so
Installerte Mapper: /usr/include/sasl, /usr/lib/sasl2, /usr/share/doc/cyrus-sasl-2.1.28 og /var/lib/sasl

Korte Beskrivelser

pluginviewer

brukes til å liste opp lastbare SASL programtillegg og deres egenskaper

saslauthd

er SASL autentiseringsserveren

sasldblistusers2

brukes til å liste brukerne i SASL passorddatabasen sasldb2

saslpasswd2

brukes til å angi og slette en brukers SASL passord og mekanismespesifikke hemmeligheter i SASL passordets database sasldb2

testsaslauthd

er et testverktøy for SASL autentiseringsserveren

libsasl2.so

er en generell autentiseringsbibliotek for server og klientapplikasjoner

GnuPG-2.5.17

Introduksjon til GnuPG

GnuPG pakken er GNU sitt verktøy for sikker kommunikasjon og datalagring. Den kan brukes til å kryptere data og å lage digitale signaturer. Den inkluderer en avansert nøkkelstyringsadministrasjon og er i samsvar med den foreslåtte OpenPGP Internett standarden som beskrevet i RFC2440 og S/MIME-standarden som beskrevet av flere RFCer. GnuPG 2 er den stabile versjonen av GnuPG som integrerer støtte for OpenPGP og S/MIME.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GnuPG 2 Avhengigheter

Påkrevd

libassuan-3.0.2, libgcrypt-1.12.0, libksba-1.6.7, npth-1.8 og OpenLDAP-2.6.12

Anbefalt
Valgfri

cURL-8.18.0, Fuse-3.18.1, ImageMagick-7.1.2-13 (for convert verktøyet, brukes til å generere dokumentasjonen), libusb-1.0.29, en MTA, texlive-20250308 (or install-tl-unx), fig2dev (for å generere dokumentasjonen), og GNU adns

Installasjon av GnuPG

Installer GnuPG ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

../configure --prefix=/usr        \
             --localstatedir=/var \
             --sysconfdir=/etc    \
             --docdir=/usr/share/doc/gnupg-2.5.17 &&
make &&

makeinfo --html --no-split -I doc -o doc/gnupg_nochunks.html ../doc/gnupg.texi &&
makeinfo --plaintext       -I doc -o doc/gnupg.txt           ../doc/gnupg.texi &&
make -C doc html

Hvis du har texlive-20250308 installert og du ønsker å lage dokumentasjon i pdf formatet, utsted følgende kommando:

make -C doc pdf

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&

install -v -m755 -d /usr/share/doc/gnupg-2.5.17/html            &&
install -v -m644    doc/gnupg_nochunks.html \
                    /usr/share/doc/gnupg-2.5.17/html/gnupg.html &&
install -v -m644    ../doc/*.texi doc/gnupg.txt \
                    /usr/share/doc/gnupg-2.5.17 &&
install -v -m644    doc/gnupg.html/* \
                    /usr/share/doc/gnupg-2.5.17/html

Hvis du opprettet pdf formatet for dokumentasjonen, installer dem ved å bruke følgende kommando som root bruker:

install -v -m644 doc/gnupg.pdf \
                 /usr/share/doc/gnupg-2.5.17

Parameterforklaringer

mkdir build && cd build: Gnupg2 utviklere anbefaler å bygge pakken i en dedikert mappe.

--docdir=/usr/share/doc/gnupg-2.5.17: Denne bryteren endrer standard docdir til /usr/share/doc/gnupg-2.5.17.

--enable-all-tests: Denne bryteren tillater flere tester å kjøre med make check.

--enable-g13: Denne bryteren gjør det mulig å bygge g13 programmet.

Innhold

Installerte Programmer: addgnupghome, applygnupgdefaults, dirmngr, dirmngr-client, g13 (valgfri), gpg-agent, gpg-card, gpg-connect-agent, gpg, gpgconf, gpgparsemail, gpgscm, gpgsm, gpgsplit, gpgtar, gpgv, gpg-wks-client, gpg-wks-server, kbxutil, og watchgnupg
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/gnupg-2.5.17 og /usr/share/gnupg

Korte Beskrivelser

addgnupghome

brukes til å opprette og fylle ut en brukers ~/.gnupg mapper

applygnupgdefaults

er et innpakningsskript som brukes til å kjøre gpgconf med --apply-defaults parameter på alle brukerens GnuPG hjemmemapper

dirmngr

er et verktøy som tar seg av tilgang til OpenPGP nøkkelservere

dirmngr-client

er et verktøy for å kontakte en kjørende dirmngr og teste om et sertifikatet er tilbakekalt

g13

er et verktøy for å opprette, montere eller avmontere et kryptert filsystem sin beholder (valgfritt)

gpg-agent

er en nisse som brukes til å administrere hemmelige (private) nøkler uavhengig fra enhver protokoll. Den brukes som bakstykke for gpg og gpgsm i tillegg til til et par andre verktøy

gpg-card

er et verktøy for å administrere smartkort og symboler

gpg-connect-agent

er et verktøy som brukes til å kommunisere med en kjørende gpg-agent

gpg

er OpenPGP delen av GNU Privacy Guard (GnuPG). Det er et verktøy som brukes til å tilby digital kryptering og signeringstjenester ved hjelp av OpenPGP standarden

gpgconf

er et verktøy som brukes til å automatisk og rimelig sikkert spørre og endre konfigurasjonsfiler i ~/.gnupg hjemmemappe. Den er designet for ikke å bli påkalt manuelt av brukeren, men automatisk av grafiske brukergrensesnitt

gpgparsemail

er et verktøy som for øyeblikket bare er nyttig for feilsøking. Kjør den med --help for bruksinformasjon

gpgscm

kjører det gitte skjemaprogrammet eller skaper et interaktivt skall

gpgsm

er et verktøy som ligner på gpg brukes til å gi digital kryptering og signeringstjenester på X.509 sertifikater og CMS protokollen. Den brukes hovedsakelig som bakstykke for S/MIME postbehandling

gpgsplit

deler en OpenPGP melding i pakker

gpgtar

er et verktøy for å kryptere eller signere filer i et arkiv

gpgv

er en verifiser bare versjon av gpg

gpg-wks-client

er en klient for Web Key Service protokollen

gpg-wks-server

gir en server for Web Key Service protokollen

kbxutil

brukes til å liste, eksportere og importere Keybox data

watchgnupg

brukes til å lytte til en Unix Domain socket opprettet av noen GnuPG verktøy

GnuTLS-3.8.12

Introduksjon til GnuTLS

GnuTLS pakken inneholder biblioteker og brukerromsverktøy som gir et sikkert lag over et pålitelig transport lag. For tiden GnuTLS biblioteket implementerer de foreslåtte standardene av IETFs TLS arbeidsgruppe. Siterer fra TLS 1.3 protokollspesifikasjon :

« TLS lar klient/server-applikasjoner kommunisere over Internett på en måte som er utformet for å forhindre avlytting, tukling og meldingsforfalskning. »

GnuTLS gir støtte for TLS 1.3, TLS 1.2, TLS 1.1, TLS 1.0 og (valgfritt) SSL 3.0-protokoller. Den støtter også TLS utvidelser, inkludert servernavn og maksimal poststørrelse. I tillegg, støtter biblioteket autentisering ved hjelp av SRP protokollen, X.509 sertifikater og OpenPGP nøkler, sammen med støtte for TLS Pre-Shared-Keys (PSK) utvidelse, den indre applikasjonen (TLS/IA) utvidelse, og X.509 og OpenPGP sertifikathåndtering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GnuTLS Avhengigheter

Påkrevd

Nettle-3.10.2

Anbefalt
Valgfri

Brotli-1.2.0, Doxygen-1.16.1, GTK-Doc-1.35.1, libidn-1.43 eller libidn2-2.3.8, libseccomp-2.6.0, Net-tools-2.10 (brukt under testpakken), texlive-20250308 eller install-tl-unx, Unbound-1.24.2 (for å bygge DANE biblioteket), Valgrind-3.26.0 (brukt under testpakken), autogen, cmocka og datefudge (brukt under testpakken hvis DANE bibliteket er bygget), leancrypto, og Trousers (Trusted Platform Module støtte)

Notat

Merk at hvis du ikke installerer libtasn1-4.21.0, en versjon sendt i GnuTLS tarballen blir brukt i stedet.

Installasjon av GnuTLS

Installer GnuTLS ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --docdir=/usr/share/doc/gnutls-3.8.12 \
            --with-default-trust-store-pkcs11="pkcs11:" &&
make

For å teste resultatene, utsted nå: make check.

Installer nå pakken som root bruker:

make install

Parameterforklaringer

--with-default-trust-store-pkcs11="pkcs11:": Denne bryteren ber gnutls om å bruke PKCS #11 tillitslageret som standard tillit. Utelat denne bryteren hvis p11-kit-0.26.2 ikke er installert.

--with-default-trust-store-file=/etc/pki/tls/certs/ca-bundle.crt: Denne bryteren forteller configure hvor man finner eldre CA sertifikatbunter og bruke den i stedet for PKCS #11 modulen som standard. Bruk denne hvis p11-kit-0.26.2 ikke er installert.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

--enable-openssl-compatibility: Bruk denne bryteren hvis du ønsker å bygge OpenSSL kompatibilitetsbiblioteket.

--without-p11-kit: Bruk denne bryteren hvis du ikke har installert p11-kit-0.26.2..

--with-included-unistring: Denne bryteren bruker den medfølgende versjon av libunistring, i stedet for systems. Bruk denne bryteren hvis du ikke har installert libunistring-1.4.1.

--disable-dsa: Denne bryteren deaktiverer algoritmestøtte for DSA fullstendig.

Innhold

Installerte Programmer: certtool, danetool, gnutls-cli, gnutls-cli-debug, gnutls-serv, ocsptool, p11tool, psktool, og srptool
Installerte Biblioteker: libgnutls.so, libgnutls-dane.so, libgnutlsxx.so, og libgnutls-openssl.so (valgfri)
Installerte Mapper: /usr/include/gnutls og /usr/share/doc/gnutls-3.8.12

Korte Beskrivelser

certtool

brukes til å generere X.509 sertifikater, sertifikatforespørsler, og private nøkler

danetool

er et verktøy som brukes til å generere og sjekke DNS-ressursposter for DANE protokollen

gnutls-cli

er et enkelt klientprogram for å sette opp en TLS tilkobling til en annen datamaskin

gnutls-cli-debug

er et enkelt klientprogram for å sette opp en TLS-tilkobling til en annen datamaskin og gir svært detaljerte fremdriftsresultater

gnutls-serv

er et enkelt serverprogram som lytter til innkommende TLS forbindelser

ocsptool

er et program som kan analysere og skrive ut informasjon om OCSP forespørsler/svar, generere forespørsler og verifisere svar

p11tool

er et program som tillater håndtering av data fra PKCS #11 smartkort og sikkerhetsmoduler

psktool

er et enkelt program som genererer tilfeldige nøkler for bruk med TLS-PSK

srptool

er et enkelt program som emulerer programmene i Stanford SRP biblioteker (Secure Remote Password) som bruker GnuTLS

libgnutls.so

inneholder kjerne API funksjonene og X.509 sertifikat API funksjonene

gpgme-2.0.1

Introduksjon til gpgme

gpgme pakken er et C bibliotek som lar kryptografistøtte legges til et program. Den er designet for å gi tilgang til offentlig nøkkelkrypto motorer som GnuPG eller GpgSM lettere for applikasjoner. gpgme gir et høyt nivå krypto API for kryptering, dekryptering, signering, signaturverifisering og nøkkelhåndtering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gpgme Avhengigheter

Påkrevd

libassuan-3.0.2

Anbefalt
Valgfri

Doxygen-1.16.1

Installasjon av gpgme

Installer gpgme ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

../configure --prefix=/usr       \
             --disable-static    &&
make

For å teste resultatene, bør du ha GnuPG-2.5.17 installerte. I så fall, kjør:

make -k check

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-gpg-test: Bruk denne bryteren hvis GnuPG-2.5.17 ikke er installert.

Innhold

Installert Program: gnupg-key-manage, gpgme-json, og gpgme-tool
Installert Bibliotek: libgpgme.so
Installert Mappe: /usr/share/common-lisp/source/gpgme

Korte Beskrivelser

gnupg-key-manage

utfører en rekke operasjoner på GPG nøkler, inkludert å identifisere nøkler og slette dem

gpgme-json

sender gpgme kommandoer i JSON format

gpgme-tool

er en assuan server som avslører gpgme operasjoner, slik som å skrive ut fingeravtrykk og nøkkelkoder med nøkkelservere

libgpgme.so

inneholder gpgme API funksjoner

gpgmepp-2.0.0

Introduksjon til gpgmepp

gpgmepp pakken gir en C++ innpakning til gpgme-2.0.1.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gpgmepp Avhengigheter

Påkrevd

gpgme-2.0.1

Installasjon av gpgmepp

Installer gpgmepp ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr .. &&
make

Denne pakken leveres ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgpgmepp.so
Installerte Mapper: /usr/lib/cmake/Gpgmepp og /usr/include/gpgme++

Korte Beskrivelser

libgpgmepp.so

inneholder C++ gpgme API funksjoner

iptables-1.8.11

Introduksjon til iptables

iptables er et kommandolinjeprogram for brukerområdet som brukes til å konfigurere Linux 2.4 og nyere regelsett for kjernepakkefiltrering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

iptables Avhengigheter

Valgfri

libpcap-1.10.6 (kreves for BPFkompilator eller nfsynproxy støtte), bpf-utils (kreves for støtte for Berkeley Packet Filter), libnfnetlink (kreves for connlabel støtte), libnetfilter_conntrack (kreves for connlabel støtte), og nftables

Kjernekonfigurasjon

En brannmur i Linux oppnås gjennom netfilter grensesnittet. For å bruke iptables til å konfigurere netfilter Følgende kjernekonfigurasjonsparametere kreves:

[*] Networking support --->                                                [NET]
  Networking options --->
    [*] Network packet filtering framework (Netfilter) --->          [NETFILTER]
      [*] Advanced netfilter configuration                  [NETFILTER_ADVANCED]
      Core Netfilter Configuration --->
        <*/M> Netfilter connection tracking support               [NF_CONNTRACK]
        <*/M> Netfilter Xtables support (required for ip_tables)
                                                        ...  [NETFILTER_XTABLES]
        [*]     Netfilter legacy tables support       [NETFILTER_XTABLES_LEGACY]
        <*/M>   LOG target support                     [NETFILTER_XT_TARGET_LOG]
      IP: Netfilter Configuration --->
        <*/M> IP tables support (required for filtering/masq/NAT)
                                                           ...  [IP_NF_IPTABLES]
        <*/M>   iptables NAT support                                 [IP_NF_NAT]

Inkluder eventuelle tilkoblingssporingsprotokoller som vil bli brukt, så vel som eventuelle protokoller du ønsker å bruke for matchende støtte under "Core Netfilter Configuration" delen. Alternativene ovenfor er nok for kjøre Opprette en Personlig Brannmur med iptables under.

Installasjon av iptables

Notat

Installasjonen nedenfor inkluderer ikke å bygge noen spesialiserte utvidelsesbiblioteker som krever de rå deklarasjonene i Linux kildekoden. Hvis du ønsker å bygge ekstra utvidelser (hvis du ikke er sikker, så trenger du sannsynligvis ikke det), du kan se på INSTALL filen for å se et eksempel på hvordan å endre KERNEL_DIR= parameteren til å peke på Linux kildekoden. Merk at hvis du oppgradere kjerneversjonen, kan det hende at du også må kompilere iptables på nytt og at BLFS teamet ikke har testet ved hjelp av rå kjernedeklarasjoner.

Installer iptables ved å kjøre følgende kommandoer:

./configure --prefix=/usr      \
            --disable-nftables \
            --enable-libipq    &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-nftables: Denne bryteren deaktiverer bygging av nftables kompatibilitet.

--enable-libipq: Denne bryteren gjør det mulig å bygge libipq.so som kan brukes av noen pakker utenfor BLFS.

--enable-nfsynproxy: Denne bryteren muliggjør installasjon av nfsynproxy SYNPROXY konfigurasjonsverktøy.

Konfigurere iptables

Notat

I følgende eksempelkonfigurasjoner, LAN1 brukes for det interne LAN grensesnittet, og WAN1 brukes til det ytre grensesnittet koblet til Internett. Du må erstatte disse verdiene med passende grensesnittnavn for systemet ditt.

Personlig Brannmur

En Personlig Brannmur er designet for å gi deg tilgang til alle tjenester som tilbys på Internett mens du holder datamaskinen sikker og dataene dine private.

Nedenfor er en litt modifisert versjon av Rusty Russells anbefaling fra Linux 2.4 Packet Filtering HOWTO. Det gjelder fortsatt for Linux 6.x kjernene.

cat > /etc/rc.d/rc.iptables << "EOF"
#!/bin/sh

# Begin rc.iptables

# Insert connection-tracking modules
# (not needed if built into the kernel)
modprobe nf_conntrack
modprobe xt_LOG

# Enable broadcast echo Protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Disable Source Routed Packets
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 > /proc/sys/net/ipv4/conf/default/accept_source_route

# Enable TCP SYN Cookie Protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Disable ICMP Redirect Acceptance
echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects

# Do not send Redirect Messages
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects

# Drop Spoofed Packets coming in on an interface, where responses
# would result in the reply going out a different interface.
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

# Log packets with impossible addresses.
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/conf/default/log_martians

# be verbose on dynamic ip-addresses  (not needed in case of static IP)
echo 2 > /proc/sys/net/ipv4/ip_dynaddr

# disable Explicit Congestion Notification
# too many routers are still ignorant
echo 0 > /proc/sys/net/ipv4/tcp_ecn

# Set a known state
iptables -P INPUT   DROP
iptables -P FORWARD DROP
iptables -P OUTPUT  DROP

# These lines are here in case rules are already in place and the
# script is ever rerun on the fly. We want to remove all rules and
# pre-existing user defined chains before we implement new rules.
iptables -F
iptables -X
iptables -Z

iptables -t nat -F

# Allow local-only connections
iptables -A INPUT  -i lo -j ACCEPT

# Free output on any interface to any ip for any service
# (equal to -P ACCEPT)
iptables -A OUTPUT -j ACCEPT

# Permit answers on already established connections
# and permit new connections related to established ones
# (e.g. port mode ftp)
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Drop any incoming MULTICAST or BROADCAST packet before logging:
# The box outputs several of them when using netbios or mDNS, and those
# appear immediately as incoming, which clutters the log.
iptables -A INPUT -m addrtype --dst-type BROADCAST,MULTICAST -j DROP

# Log everything else.
iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT "

# End $rc_base/rc.iptables
EOF
chmod 700 /etc/rc.d/rc.iptables

Dette skriptet er ganske enkelt, det dropper all trafikk som kommer inn til datamaskinen din som ikke ble startet fra datamaskinen din, men så lenge du bare surfer på Internett er det usannsynlig at du overskride sine grenser.

Hvis du ofte møter visse forsinkelser ved tilgang til FTP servere, ta en titt på BusyBox with iptables example number 4.

Selv om du har nisser eller tjenester som kjører på systemet ditt, vil disse være utilgjengelige overalt bortsett fra datamaskinen selv. Hvis du vil tillate tilgang til tjenester på maskinen din, som f.eks ssh eller ping, se på Opprette BusyBox med iptables.

Maskering av Ruter

En nettverksbrannmur har to grensesnitt, ett koblet til et intranett, i dette eksemplet LAN1, og en koblet til Internett, her WAN1. For å gi maksimal sikkerhet for selve brannmuren, sørg for at det ikke er unødvendige servere som kjører på den, f.eks X11. Som et generelt prinsipp skal selve brannmuren ikke ha tilgang til enhver upålitelig tjeneste (tenk på en ekstern server som gir et svar som får en nisse på systemet til å krasjer, eller enda verre, som implementerer en orm via et buffer-overflow.

cat > /etc/rc.d/rc.iptables << "EOF"
#!/bin/sh

# Begin rc.iptables

echo
echo "You're using the example configuration for a setup of a firewall"
echo "from Beyond Linux From Scratch."
echo "This example is far from being complete, it is only meant"
echo "to be a reference."
echo "Firewall security is a complex issue, that exceeds the scope"
echo "of the configuration rules below."
echo "You can find additional information"
echo "about firewalls in Chapter 4 of the BLFS book."
echo "https://www.linuxfromscratch.org/blfs"
echo

# Insert iptables modules (not needed if built into the kernel).

modprobe nf_conntrack
modprobe nf_conntrack_ftp
modprobe xt_conntrack
modprobe xt_LOG
modprobe xt_state

# Enable broadcast echo Protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Disable Source Routed Packets
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

# Enable TCP SYN Cookie Protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Disable ICMP Redirect Acceptance
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

# Don't send Redirect Messages
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects

# Drop Spoofed Packets coming in on an interface where responses
# would result in the reply going out a different interface.
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

# Log packets with impossible addresses.
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians

# Be verbose on dynamic ip-addresses  (not needed in case of static IP)
echo 2 > /proc/sys/net/ipv4/ip_dynaddr

# Disable Explicit Congestion Notification
# Too many routers are still ignorant
echo 0 > /proc/sys/net/ipv4/tcp_ecn

# Set a known state
iptables -P INPUT   DROP
iptables -P FORWARD DROP
iptables -P OUTPUT  DROP

# These lines are here in case rules are already in place and the
# script is ever rerun on the fly. We want to remove all rules and
# pre-existing user defined chains before we implement new rules.
iptables -F
iptables -X
iptables -Z

iptables -t nat -F

# Allow local connections
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Allow forwarding if the initiated on the intranet
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD ! -i WAN1 -m conntrack --ctstate NEW       -j ACCEPT

# Do masquerading
# (not needed if intranet is not using private ip-addresses)
iptables -t nat -A POSTROUTING -o WAN1 -j MASQUERADE

# Log everything for debugging
# (last of all rules, but before policy rules)
iptables -A INPUT   -j LOG --log-prefix "FIREWALL:INPUT "
iptables -A FORWARD -j LOG --log-prefix "FIREWALL:FORWARD "
iptables -A OUTPUT  -j LOG --log-prefix "FIREWALL:OUTPUT "

# Enable IP Forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
EOF
chmod 700 /etc/rc.d/rc.iptables

Med dette skriptet skal intranettet ditt være rimelig sikkert mot ytre angrep. Ingen skal kunne sette opp en ny tilkobling til en hvilken som helst intern tjeneste, og hvis den er maskert, gjør intranettet ditt usynlig for Internett. Videre, brannmuren din skal være relativt trygg fordi det ikke finnes noen tjenester som kjører som en angriper kunne angripe.

BusyBox

Dette scenariet er ikke så forskjellig fra Opprette Maskering av Ruter med iptables, men tilbyr i tillegg noen tjenester til intranettet ditt. Eksempler på dette kan være når du ønsker å administrere brannmuren fra en annen vert på intranettet ditt eller bruke det som en proxy eller en navneserver.

Notat

Å skisserer spesifikt hvordan du beskytter en server som tilbyr tjenester på Internett går langt utover omfanget av dette dokumentet. Se referansene i «Ekstra Informasjon» for mer informasjon.

Vær forsiktig. Hver tjeneste du har aktivert gjør oppsettet ditt mer komplekst og brannmuren din mindre sikker. Du er utsatt for risikoen for feilkonfigurerte tjenester eller kjører en tjeneste med en utnyttbar feil. En brannmur bør generelt ikke kjøre noen ekstra tjenester. Se introduksjonen til Opprette Maskering av Ruter med iptables for flere detaljer.

Hvis du ønsker å legge til tjenester som intern Samba eller navneservere som ikke trenger tilgang til Internett selv, tilleggsutsagnene er ganske enkle og bør fortsatt være akseptabelt fra et sikkerhetssynspunkt. Bare legg til følgende linjer inn i skriptet før loggingsreglene.

iptables -A INPUT  -i ! WAN1  -j ACCEPT
iptables -A OUTPUT -o ! WAN1  -j ACCEPT

Hvis nisser, for eksempel squid, må få tilgang til Internett, kan du åpne OUTPUT generelt og begrense INPUT.

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT

Det er imidlertid generelt ikke tilrådelig å forlate OUTPUT ubegrenset. Du mister all kontroll over trojanere som vil "ringe hjem", og litt redundans i tilfelle du har (feil-)konfigurert en tjeneste slik at den kringkaster dens eksistens til verden.

For å oppnå dette bør du begrense INPUT og OUTPUT på alle porter unntatt de som er absolutt nødvendig å ha åpen. Hvilke porter du må åpne avhenger av dine behov: stort sett finner du dem ved å se etter mislykkede tilganger i loggfilene dine.

Ta en Titt på Følgende Eksempler:

  • Squid mellomlagrer nettet:

    iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT  -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED \
      -j ACCEPT
  • Din mellomlagrings navneserver (f.eks. named) gjør sine oppslag via UDP:

    iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
  • Du vil ha mulighet å pinge datamaskinen for å sikre at den fortsatt er i live:

    iptables -A INPUT  -p icmp -m icmp --icmp-type echo-request -j ACCEPT
    iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply   -j ACCEPT
  • Hvis du ofte bruker FTP servere eller liker å chatte, kan du merke forsinkelser fordi noen implementeringer av disse nissene spør en identd nisse på systemet ditt for å få brukernavn. Selv om det egentlig er lite skade i dette, å ha en identd kjørende er ikke anbefalt fordi mange sikkerhetseksperter føler tjenesten gir ut for mye tilleggsinformasjon.

    For å unngå disse forsinkelsene kan du avvise forespørslene med et 'tcp-reset' svar:

    iptables -A INPUT  -p tcp --dport 113 -j REJECT --reject-with tcp-reset
  • For å logge og droppe ugyldige pakker (pakker som kom inn etter netfilters tidsavbrudd eller noen typer nettverksskanninger) sett inn disse reglene øverst i kjeden:

    iptables -I INPUT 0 -p tcp -m conntrack --ctstate INVALID \
      -j LOG --log-prefix "FIREWALL:INVALID "
    iptables -I INPUT 1 -p tcp -m conntrack --ctstate INVALID -j DROP
  • Alt som kommer utenfra skal ikke ha en privat adresse, dette er et vanlig angrep kalt IP-spoofing:

    iptables -A INPUT -i WAN1 -s 10.0.0.0/8     -j DROP
    iptables -A INPUT -i WAN1 -s 172.16.0.0/12  -j DROP
    iptables -A INPUT -i WAN1 -s 192.168.0.0/16 -j DROP

    Det er andre adresser du kanskje også vil droppe: 0.0.0.0/8, 127.0.0.0/8, 224.0.0.0/3 (multicast og eksperimentell), 169.254.0.0/16 (Koble til lokale nettverk), og 192.0.2.0/24 (IANA definert testnettverk).

  • Hvis brannmuren din er en DHCP klient, må du tillate disse pakkene:

    iptables -A INPUT  -i WAN1 -p udp -s 0.0.0.0 --sport 67 \
       -d 255.255.255.255 --dport 68 -j ACCEPT
  • For å forenkle feilsøking og være rettferdig mot alle som vil ha tilgang til en tjeneste du har deaktivert, med vilje eller ved en feiltakelse, du kan AVVISE (REJECT) de pakkene som blir droppet.

    Åpenbart må dette gjøres direkte etter logging på siste linjer før pakkene droppes av retningslinjer::

    iptables -A INPUT -j REJECT

Dette er bare eksempler for å vise deg noen av egenskapene til brannmurkoden i Linux. Ta en titt på mansiden til iptables. Der finner du mye mer informasjon. Portnumrene som trengs for dette finner du i /etc/services, i tilfelle du ikke fant dem ved prøving og feiling i loggfilen din.

Oppstartsskript

For å sette opp iptables brannmuren ved oppstart, installer /etc/rc.d/init.d/iptables init skriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-iptables

Innhold

Installerte Programmer: ip6tables, ip6tables-apply, ip6tables-legacy, ip6tables-legacy-restore, ip6tables-legacy-save, ip6tables-restore, ip6tables-save, iptables, iptables-apply, iptables-legacy, iptables-legacy-restore, iptables-legacy-apply, iptables-restore, iptables-save, iptables-xml, nfsynproxy (valgfri), og xtables-multi
Installerte Biblioteker: libip4tc.so, libip6tc.so, libipq.so, libiptc.so, og libxtables.so
Installerte Mapper: /lib/xtables og /usr/include/libiptc

Korte Beskrivelser

iptables

brukes til å sette opp, vedlikeholde og inspisere tabellene til IP pakkefilterregler i Linux kjernen

iptables-apply

er en tryggere måte å oppdatere iptables eksternt

iptables-legacy

brukes til å samhandle med iptables ved å bruke det gamle kommandosettet

iptables-legacy-restore

brukes til å gjenopprette et sett med eldre iptables regler

iptables-legacy-save

brukes til å lagre et sett med eldre iptables regler

iptables-restore

brukes til å gjenopprette IP-tabeller fra data spesifisert på STDIN. Bruk I/O omdirigering levert av ditt skall for å lese fra en filen

iptables-save

brukes til å enkelt dumpe innholdet i en IP tabell parsebart format til STDOUT. Bruk I/O omdirigering levert av skallet ditt for å skrive til en fil

iptables-xml

brukes til å konvertere utdataene til iptables-save til et XML format. Å bruke iptables.xslt stilark konverterer XML tilbake til formatet til iptables-restore

ip6tables*

er et sett med kommandoer for IPV6 som er parallelle med iptables kommandoene ovenfor

nfsynproxy

(valgfritt) konfigurasjonsverktøy. SYNPROXY mål gjør håndtering av store SYN flommer mulig uten de store ytelsesstraffene pålagt av tilkoblingssporingen i slike tilfeller

xtables-multi

er en binær som oppfører seg i henhold til navnet sitt

Sette Opp en Nettverksbrannmur

Introduksjon til Opprettelse av Brannmur

Formålet med en brannmur er å beskytte en datamaskin eller et nettverk mot ondsinnet tilgang. I en perfekt verden hver nisse eller tjeneste, på hver maskin, er perfekt konfigurert og immun mot sikkerhetsfeil og alle brukere er implisitt klarert til å bruke utstyret som tiltenkt. Derimot, dette er sjelden eller aldri tilfelle. Nisser kan være feilkonfigurert, eller oppdateringer kan ikke ha blitt brukt for kjente utnyttelser mot essensielle tjenester. I tillegg kan det være lurt å velge hvilke tjenester som er tilgjengelig for visse maskiner eller brukere, eller du vil kanskje begrense hvilke maskiner eller applikasjoner som er tillatt ekstern tilgang. Alternativt kan du ganske enkelt ikke stole på noen av programmene eller brukerne dine. For disse grunner bør en nøye utformet brannmur være en viktig del av systemsikkerheten.

Selv om en brannmur i stor grad kan begrense omfanget av problemene ovenfor, ikke anta at det å ha en brannmur gjør nøye konfigurasjon overflødig, eller at enhver uaktsom feilkonfigurasjon er ufarlig. En brannmur forhindrer ikke utnyttelse av enhver tjeneste du tilbyr utenfor den. På tross av å ha en brannmur, må du holde applikasjoner og nisser riktig konfigurert og oppdatert.

Betydningen av Ordet "Brannmur"

Ordet brannmur kan ha flere forskjellige betydninger.

Personlig Brannmur

Dette er en maskinvareenhet eller programvare, beregnet på å sikre en hjemme- eller stasjonær datamaskin koblet til Internett. Denne typen brannmur er svært relevant for brukere som ikke vet hvordan deres datamaskiner kan nås via Internett eller hvordan de kan deaktivere denne tilgangen, spesielt hvis de alltid er pålogget og tilkoblet via bredbåndsforbindelser.

Et eksempel på konfigurasjon for en personlig brannmur er gitt på Opprette en Personlig Brannmur med iptables.

Maskering av Ruter

Dette er et system plassert mellom Internett og et intranett. For å minimere risikoen for å kompromittere selve brannmuren, bør den vanligvis bare ha en rolle—det å beskytte intranettet. Selv om det ikke er helt risikofritt, er oppgavene med å gjøre ruting og IP-maskering (omskriver IP-hoder for pakkene den ruter fra klienter med private IP-adresser på Internett slik at de virker å komme fra selve brannmuren) anses vanligvis som relativt sikre.

Et eksempel på konfigurasjon for en maskerende brannmur er gitt på Opprette Maskering av Ruter med iptables.

BusyBox

Dette er ofte en gammel datamaskin du kanskje har pensjonert og nesten har glemt, utfører maskerings- eller rutingfunksjoner, men tilbyr ikke brannmurtjenester som en web-cache eller e-post. Dette kan brukes for hjemmenettverk, men er ikke å anse som like sikker som en enkelt maskin som brannmur fordi kombinasjonen av server og ruter/brannmur på en maskin øker kompleksiteten til oppsettet.

Et eksempel på konfigurasjon for en BusyBox er gitt på Opprette BusyBox med iptables.

Brannmur med en Demilitarisert Sone

Denne typen brannmur utfører maskering eller ruting, men gir offentlig tilgang til en gren av nettverket ditt som er fysisk skilt fra ditt vanlige intranett og er i hovedsak et separat nettverk med direkte Internett tilgang. Serverne på dette nettverket er de som må være lett tilgjengelige fra både Internett og intranett. Brannmuren beskytter begge nettverkene. Denne typen brannmur har minimum tre nettverksgrensesnitt.

Pakkefilter

Denne typen brannmur gjør ruting eller maskering, men opprettholde ikke en tilstandstabell over pågående kommunikasjonsstrømmer. Den er rask, men ganske begrenset i sin evne til å blokkere uønskede pakker uten å blokkere ønskede pakker.

Konklusjon

Obs

Eksempelkonfigurasjonene som er gitt for iptables-1.8.11 er ikke ment å være en komplett guide til sikringssystemer. Brannmur er et komplekst problem som krever forsiktig konfigurasjon. Konfigurasjonene levert av BLFS er kun ment å gi eksempler på hvordan en brannmur fungerer. De er ikke ment å passe til noen bestemt konfigurasjon og gir kanskje ikke fullstendig beskyttelse mot et angrep.

BLFS gir et verktøy for å administrere kjernens Netfilter grensesnitt, iptables-1.8.11. Det har eksistert siden tidlige 2.4-kjerner, og har vært standard siden. Dette er sannsynligvis settet med verktøy som vil være mest kjent for eksisterende administratorer. Andre verktøy har vært utviklet mer nylig, se listen over ytterligere lesninger nedenfor for flere detaljer. Her finner du en liste over nettadresser som inneholder omfattende informasjon om bygging av brannmurer og ytterligere sikring av systemet ditt.

libcap-2.77 med PAM

Introduksjon til libcap with PAM

libcap pakken ble installert i LFS, men hvis Linux-PAM støtte ønskes, må PAM modulen bygges (etter installasjonen av Linux-PAM).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libcap Avhengigheter

Påkrevd

Linux-PAM-1.7.2

Installasjon av libcap

Notat

Hvis du oppgraderer libcap fra en tidligere versjon, bruk instruksjoner i LFS libcap siden for å oppgradere libcap. Hvis Linux-PAM-1.7.2 har vært bygget, vil PAM modulen bygges automatisk.

Installer libcap ved å kjøre følgende kommandoer:

make -C pam_cap

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

install -v -m755 pam_cap/pam_cap.so      /usr/lib/security &&
install -v -m644 pam_cap/capability.conf /etc/security

Konfigurere Libcap

For å tillate Linux-PAM å gi privilegier basert på POSIX funksjoner, må du legge til libcap modulen i begynnelsen av /etc/pam.d/system-auth filen. Gjør de nødvendige endringene med følgende kommandoer:

mv -v /etc/pam.d/system-auth{,.bak} &&
cat > /etc/pam.d/system-auth << "EOF" &&
# Begin /etc/pam.d/system-auth

auth      optional    pam_cap.so
EOF
tail -n +3 /etc/pam.d/system-auth.bak >> /etc/pam.d/system-auth

I tillegg må du endre /etc/security/capability.conf filen for å gi nødvendige rettigheter til brukere, og bruke setcap verktøyet for å angi funksjoner på spesifikke verktøy etter behov. Se man 8 setcap og man 3 cap_from_text for ytterligere informasjon.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: pam_cap.so
Installerte Mapper: Ingen

Linux-PAM-1.7.2

Introduksjon til Linux PAM

Linux PAM pakken inneholder pluggbare autentiseringsmoduler brukt av den lokale systemadministratoren for å kontrollere hvordan applikasjonsprogrammer autentiseres brukere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Valgfri Dokumentasjon

Linux PAM Avhengigheter

Valgfri

libnsl-2.0.1, libtirpc-1.3.7, rpcsvc-proto-1.4.4, Berkeley DB (deprecated), libaudit, og libeconf

Valgfri (For å bygge Dokumentasjonen og Manualsider)

docbook-xml-5.0, docbook-xsl-ns-1.79.2, fop-2.11 (for PDF format), libxslt-1.1.45, og Lynx-2.9.2 (for ren tekstformat)

Notat

Shadow-4.19.3 installeres på nytt og rekonfigurert etter installasjon og konfigurering av Linux PAM.

Kjernekonfigurasjon

For PAM modulen pam_loginuid.so (henvist av PAM konfigurasjonsfilen system-session hvis elogind-255.22 er bygget senere) for å virke, en kjernekonfigurasjonsparameter må angis, ellers vil modulen bare gjøre ingenting:

General setup --->
  [*] Auditing support                                                   [AUDIT]

Installasjon av Linux PAM

Hvis du har installert docbook-xml-5.0, docbook-xsl-ns-1.79.2, libxslt-1.1.45, og Lynx-2.9.2 og du ønsker å generere rent tekstformat av dokumentasjonen, endre meson.build til å bruke Lynx-2.9.2 i stedet for W3m eller Elinks som BLFS ikke gir:

sed -e "s/'elinks'/'lynx'/"                       \
    -e "s/'-no-numbering', '-no-references'/      \
          '-force-html', '-nonumbers', '-stdin'/" \
    -i meson.build

Kompiler og link Linux PAM med å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..        \
  --prefix=/usr       \
  --buildtype=release \
  -D docdir=/usr/share/doc/Linux-PAM-1.7.2 &&

ninja

For å teste resultatene, må en passende /etc/pam.d/other konfigurasjonsfil eksistere.

Reinstallering eller Oppgradering av Linux PAM

Hvis du har et system med Linux PAM installert og som fungerer, vær forsiktig når du endrer filene i /etc/pam.d, siden systemet ditt kan bli helt ubrukelig. Hvis du vil kjøre testene, trenger du ikke å lage en annen /etc/pam.d/other fil. Eksisterende fil kan brukes til testene.

For førstegangsinstallasjon oppretter du en konfigurasjonsfil ved å kjøre følgende kommandoer som root bruker:

install -v -m755 -d /etc/pam.d &&

cat > /etc/pam.d/other << "EOF"
auth     required       pam_deny.so
account  required       pam_deny.so
password required       pam_deny.so
session  required       pam_deny.so
EOF

Kjør nå testene ved å kjøre ninja test. Pass på at testene ikke produserer noe feil før du fortsetter installasjonen.

For førstegangsinstallasjon fjerner du konfigurasjonsfilen opprettet tidligere ved å utstede følgende kommando som root bruker:

rm -fv /etc/pam.d/other

Nå, som root bruker:

ninja install &&
chmod -v 4755 /usr/sbin/unix_chkpwd

Fjern nå en unødvendig mappe som root:

rm -rf /usr/lib/systemd

Hvis du ikke har de valgfrie avhengighetene installert for å bygge dokumentasjonen og lastet ned den valgfrie forhåndsbygde dokumentasjonen, igjen som root bruker:

tar -C / -xvf ../../Linux-PAM-1.7.2-docs.tar.xz

Konfigurere Linux-PAM

Konfigurasjonsfiler

/etc/security/* og /etc/pam.d/*

Konfigurasjonsinformasjon

Konfigurasjonsinformasjon er plassert i /etc/pam.d/. Her er en eksempelfil:

# Begin /etc/pam.d/other

auth            required        pam_unix.so     nullok
account         required        pam_unix.so
session         required        pam_unix.so
password        required        pam_unix.so     nullok

# End /etc/pam.d/other

Lag nå noen generiske konfigurasjonsfiler. Som root bruker:

install -vdm755 /etc/pam.d &&
cat > /etc/pam.d/system-account << "EOF" &&
# Begin /etc/pam.d/system-account

account   required    pam_unix.so

# End /etc/pam.d/system-account
EOF

cat > /etc/pam.d/system-auth << "EOF" &&
# Begin /etc/pam.d/system-auth

auth      required    pam_unix.so

# End /etc/pam.d/system-auth
EOF

cat > /etc/pam.d/system-session << "EOF" &&
# Begin /etc/pam.d/system-session

session   required    pam_unix.so

# End /etc/pam.d/system-session
EOF

cat > /etc/pam.d/system-password << "EOF"
# Begin /etc/pam.d/system-password

# use yescrypt hash for encryption, use shadow, and try to use any
# previously defined authentication token (chosen password) set by any
# prior module.
password  required    pam_unix.so       yescrypt shadow try_first_pass

# End /etc/pam.d/system-password
EOF

Hvis du ønsker å aktivere sterk passordstøtte, installer libpwquality-1.4.5, og følg instruksjoner på siden for å konfigurere pam_pwquality PAM modulen med sterk passordstøtte.

Deretter legger du til en restriktiv /etc/pam.d/other konfigurasjonsfil. Med denne filen vil programmer som er klar over PAM ikke kjøre med mindre en konfigurasjonsfil spesifikt for det programmet finnes.

cat > /etc/pam.d/other << "EOF"
# Begin /etc/pam.d/other

auth        required        pam_warn.so
auth        required        pam_deny.so
account     required        pam_warn.so
account     required        pam_deny.so
password    required        pam_warn.so
password    required        pam_deny.so
session     required        pam_warn.so
session     required        pam_deny.so

# End /etc/pam.d/other
EOF

PAM man side (man pam) gir et godt utgangspunkt for å lære om de flere feltene og tillatte oppføringer. Linux-PAM System Administrators' Guide på /usr/share/doc/Linux-PAM-1.7.0/Linux-PAM_SAG.txt anbefales for ytterligere informasjon.

Viktig

Du bør nå installere på nytt Shadow-4.19.3 pakken.

Innhold

Installerte Programmer: faillock, mkhomedir_helper, pam_namespace_helper, pam_timestamp_check, pwhistory_helper, and unix_chkpwd
Installerte Biblioteker: libpam.so, libpamc.so og libpam_misc.so
Installerte Mapper: /etc/security, /usr/lib/security, /usr/include/security og /usr/share/doc/Linux-PAM-1.7.2

Korte Beskrivelser

faillock

viser og endrer registreringsfilene for autentiseringsfeil

mkhomedir_helper

er en hjelpebinær som lager hjemmemapper

pam_namespace_helper

er et hjelpeprogram som brukes til å konfigurere et privat navneområde for en brukerøkt

pwhistory_helper

er et hjelpeprogram som overfører passordhasher fra passwd eller shadow til opasswd

pam_timestamp_check

brukes til å sjekke om standard tidsstempel er gyldig

unix_chkpwd

er en hjelpebinær som bekrefter passordet til gjeldende bruker

libpam.so

gir grensesnittene mellom applikasjoner og PAM moduler

liboauth-1.0.3

Introduksjon til liboauth

liboauth er en samling av POSIX-C funksjoner implementere OAuth Core RFC 5849 standarden. Liboaut tilbyr funksjoner for å unnslippe og kode parametere i henhold til OAuth spesifikasjon og tilbyr funksjonalitet på høyt nivå for å signere forespørsler eller verifisere OAuth signaturer samt utføre HTTP forespørsler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

liboauth Avhengigheter

Påkrevd

cURL-8.18.0

Valgfri

nss-3.120 og Doxygen-1.16.1 (for å bygge dokumentasjon)

Installasjon av liboauth

Bruk en oppdatering for gjeldende versjon av openssl:

patch -Np1 -i ../liboauth-1.0.3-openssl-1.1.0-3.patch

Installer liboauth ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du ønsker å bygge dokumentasjonen (trenger Doxygen-1.16.1), kjør:

make dox

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Hvis du tidligere har bygget dokumentasjonen, installer den ved å kjører følgende kommandoer som root bruker:

install -v -dm755 /usr/share/doc/liboauth-1.0.3 &&
cp -rv doc/html/* /usr/share/doc/liboauth-1.0.3

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-nss: Bruk denne bryteren hvis du vil bruk Mozilla NSS i stedet for OpenSSL.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: liboauth.so
Installerte Mapper: /usr/share/doc/liboauth-1.0.3

Korte Beskrivelser

liboauth.so

gir funksjoner for å unnslippe og kode strenger i henhold til OAuth spesifikasjoner og tilbyr funksjonalitet på høyt nivå bygget på toppen for å signere forespørsler eller verifisere signaturer ved å bruke enten NSS eller OpenSSL for beregning av hash/signaturer

libpwquality-1.4.5

Introduksjon til libpwquality

libpwquality pakken gir vanlige funksjoner for kvalitetskontroll av passord og også poengsum basert på deres tilsynelatende tilfeldighet. Biblioteket gir også en funksjon for å generere tilfeldige passord med god uttalbarhet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libpwquality Avhengigheter

Avhengigheter

CrackLib-2.10.3

Anbefalt

Installasjon av libpwquality

Installer libpwquality ved å kjøre følgende kommandoer:

./configure --prefix=/usr                      \
            --disable-static                   \
            --with-securedir=/usr/lib/security \
            --disable-python-bindings          &&
make &&
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD/python

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
pip3 install --no-index --find-links dist --no-user pwquality

Parameterforklaringer

--disable-python-bindings: Denne parameteren deaktiverer bygging av Python bindinger med de foreldede python3 setup.py build kommando. Eksplisitte instruksjon for å bygge Python 3 bindingen med pip3 wheel kommandoen er gitt.

Konfigurere libpwquality

libpwquality er ment å være en funksjonell erstatning for den nå foreldede pam_cracklib.so PAM modulen. For å konfigurere systemet å bruke pam_pwquality modulen, kjør følgende kommandoer som root bruker:

mv /etc/pam.d/system-password{,.orig} &&
cat > /etc/pam.d/system-password << "EOF"
# Begin /etc/pam.d/system-password

# check new passwords for strength (man pam_pwquality)
password  required    pam_pwquality.so   authtok_type=UNIX retry=1 difok=1 \
                                         minlen=8 dcredit=0 ucredit=0      \
                                         lcredit=0 ocredit=0 minclass=1    \
                                         maxrepeat=0 maxsequence=0         \
                                         maxclassrepeat=0 gecoscheck=0     \
                                         dictcheck=1 usercheck=1           \
                                         enforcing=1 badwords=""           \
                                         dictpath=/usr/lib/cracklib/pw_dict

# use yescrypt hash for encryption, use shadow, and try to use any
# previously defined authentication token (chosen password) set by any
# prior module.
password  required    pam_unix.so        yescrypt shadow try_first_pass

# End /etc/pam.d/system-password
EOF

Innhold

Installerte Programmer: pwscore og pwmake
Installerte Biblioteker: pam_pwquality.so og libpwquality.so
Installerte Mapper: /usr/lib/python3.11/site-packages/pwquality-1.4.5.dist-info

Korte Beskrivelser

pwmake

er et enkelt konfigurerbart verktøy for å generere tilfeldig og relativt lett uttalbare passord

pwscore

er et enkelt verktøy for å sjekke kvaliteten på et passord

libpwquality.so

inneholder API funksjoner for å sjekke passordkvaliteten

pam_pwquality.so

er en Linux PAM modul som brukes til å utføre kvalitetskontroll av passord

MIT Kerberos V5-1.22.2

Introduksjon til MIT Kerberos V5

MIT Kerberos V5 er en gratis implementering av Kerberos 5. Kerberos er en nettverksautentiseringsprotokoll. Den sentraliserer autentiseringsdatabasen og bruker kerberized applikasjoner som fungerer med servere eller tjenester som støtter Kerberos tillater enkeltpålogginger og kryptert kommunikasjon over intern nettverk eller Internett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://kerberos.org/dist/krb5/1.22/krb5-1.22.2.tar.gz

  • Nedlasting MD5 sum: 42472b11771d074329e0cc776d2eb5fd

  • Nedlastingsstørrelse: 8.4 MB

  • Estimert diskplass som kreves: 149 MB (med tester)

  • Estimert byggetid: 0.4 SBU (Bruker parallellisme=4; legg til 3.8 SBU for tester)

Ytterligere Nedlastinger

MIT Kerberos V5 Avhengigheter

Valgfri

BIND Utilities-9.20.18, CrackLib-2.10.3 (/usr/share/dict/words referert av noen tester), keyutils-1.6.3, OpenLDAP-2.6.12, Valgrind-3.26.0 (brukt under testpakken), yasm-1.3.0, libedit, cmocka, kdcproxy, pyrad, og resolv_wrapper

Notat

En slags tidssynkroniseringsfunksjon på systemet ditt (som ntp-4.2.8p18) er nødvendig siden Kerberos ikke vil autentisere hvis det er en tidsforskjell mellom en kerberisert klient og KDC serveren.

Installasjon av MIT Kerberos V5

Først, fiks et problem identifisert av glibc-2.43:

patch -Np1 -i ../mitkrb-1.22.2-upstream_fix-1.patch

Bygg MIT Kerberos V5 ved å kjøre følgende kommandoer:

cd src &&
sed -i -e '/eq 0/{N;s/12 //}' plugins/kdb/db2/libdb2/test/run.test &&

./configure --prefix=/usr            \
            --sysconfdir=/etc        \
            --localstatedir=/var/lib \
            --runstatedir=/run       \
            --with-system-et         \
            --with-system-ss         \
            --with-system-verto=no   \
            --enable-dns-for-realm   \
            --disable-rpath          &&
make

For å teste bygget, utsted make -j1 -k check. Noen tester kan mislykkes med den nyeste versjonen av dejagnu og glibc. Noen tester kan henge seg lenge og mislykkes hvis systemet ikke er koblet til et nettverk. Én test, t_kadm5srv, er kjent for å mislykkes. Hvis keyutils-1.6.3 er installert, men Keyutils Kjernekonfigurasjon ikke er fornøyd, noen tester vil mislykkes ved å klage keyctl failed with code 1.

Nå, som root bruker:

make install &&
cp -vfr ../doc -T /usr/share/doc/krb5-1.22.2

Parameterforklaringer

sed kommandoene fjerner en test som er kjent for å mislykkes.

--localstatedir=/var/lib: Dette alternativet brukes slik at Kerberos variablens kjøretidsdata er plassert i /var/lib i stedet for /usr/var.

--runstatedir=/run: Dette alternativet brukes slik at informasjonen om Kerberos kjøretidstilstand er plassert i /run istedenfor det foreldede /var/run.

--with-system-et: Denne bryteren gjør at bygget bruker de systeminstallerte versjonene av feiltabell støtte programvaren.

--with-system-ss: Denne bryteren gjør at bygget bruker de systeminstallerte versjonene av undersystemets kommandolinje grensesnitt programvaren.

--with-system-verto=no: Denne bryteren fikser en feil i pakken der byggesystemet ikke gjenkjenner sitt eget Verto bibliotek hvis denne pakken har blitt installert før. Dette er ikke et problem hvis du installerer den samme versjonen på nytt, men kan være problematisk hvis du oppdaterer fordi den gamle versjonen av Verto biblioteket vil bli brukt i stedet for å installere den nyere versjonen.

--enable-dns-for-realm: Denne bryteren tillater realms som skal løses ved hjelp av DNS serveren.

--disable-rpath: Denne bryteren forhindrer hardkodende biblioteksøkestier (rpath) inn i den binære kjørbare filen og delte biblioteker. Denne pakken trenger ikke rpath for en installasjon på standardplasseringen, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

--with-ldap: Bruk denne bryteren hvis du vil kompilere OpenLDAP database bakstykke modul.

Konfigurere MIT Kerberos V5

Konfigurasjonsfiler

/etc/krb5.conf og /var/lib/krb5kdc/kdc.conf

Konfigurasjonsinformasjon

Kerberos Konfigurasjon

Tips

Du bør vurdere å installere en slags passordkontroll ordbok slik at du kan konfigurere installasjonen til kun å godta sterke passord. En passende ordbok å bruke installeres i CrackLib-2.10.3 bruksanvisninger. Merk at kun en fil kan brukes, men du kan sette sammen mange filer til en. Konfigurasjonsfilen vist nedenfor forutsetter at du har installert en ordbok i /usr/share/dict/words.

Opprett Kerberos konfigurasjonsfilen med følgende kommandoer kjørt som root bruker:

cat > /etc/krb5.conf << "EOF"
# Begin /etc/krb5.conf

[libdefaults]
    default_realm = <EXAMPLE.ORG>
    encrypt = true

[realms]
    <EXAMPLE.ORG> = {
        kdc = <belgarath.example.org>
        admin_server = <belgarath.example.org>
        dict_file = /usr/share/dict/words
    }

[domain_realm]
    .<example.org> = <EXAMPLE.ORG>

[logging]
    kdc = SYSLOG:INFO:AUTH
    admin_server = SYSLOG:INFO:AUTH
    default = SYSLOG:DEBUG:DAEMON

# End /etc/krb5.conf
EOF

Du må erstatte domenet ditt og det riktige vertsnavnet for forekomster av <belgarath> og <example.org> navn.

default_realm skal være navnet på ditt domene endret til ALL STORE BOKSTAVER. Dette er ikke nødvendig, men både Heimdal og MIT anbefaler det.

encrypt = true gir kryptering av all trafikk mellom kerberiserte klienter og servere. Det er ikke nødvendig og kan bli utelatt. Hvis du lar det være av, kan du kryptere all trafikk fra klienten til serveren ved hjelp av en bryter på klientprogrammet i stedet.

[realms] parametere forteller klientprogrammene hvor de skal se etter KDC autentiseringstjenestene.

[domain_realm] seksjonen kartlegger et domene til realm.

Neste, opprett KDC databasen:

kdb5_util create -r <EXAMPLE.ORG> -s

Nå bør du fylle databasen med databaseprinsipper (brukere). For nå er det bare å bruke ditt vanlige påloggingsnavn eller root.

kadmin.local
kadmin.local: add_policy dict-only
kadmin.local: addprinc -policy dict-only <loginname>

KDC serveren og enhver maskin som kjører kerberisert servernisser må ha en vertsnøkkel installert:

kadmin.local: addprinc -randkey host/<belgarath.example.org>

Etter å ha valgt standardinnstillingene når du blir bedt om det, må du eksporter dataene til en keytab fil:

kadmin.local: ktadd host/<belgarath.example.org>

Dette burde ha opprettet en fil i /etc navngitt krb5.keytab (Kerberos 5). Denne filen skal ha 600 (root rw bare) tillatelser. Å holde keytab filene fra offentlig tilgang er avgjørende for den generelle sikkerheten til Kerberos installasjonen.

Gå ut av kadmin programmet (bruk quit eller exit) og returner tilbake til skall ledeteksten. Start KDC nissen manuelt, bare for å teste installasjonen:

/usr/sbin/krb5kdc

Forsøk å få en billett med følgende kommando:

kinit <loginname>

Du vil bli bedt om passordet du opprettet. Etter at du har fått billetten din, kan du liste den med følgende kommando:

klist

Informasjon om billetten skal vises på skjermen.

For å teste funksjonaliteten til keytab filen, kjør følgende kommando som root bruker:

ktutil
ktutil: rkt /etc/krb5.keytab
ktutil: l

Dette bør dumpe en liste over vertens fullmakt, sammen med krypteringsmetodene som brukes for å få tilgang til fullmakter.

Opprett en tom ACL fil som kan endres senere:

touch /var/lib/krb5kdc/kadm5.acl

På dette tidspunktet, hvis alt har vært vellykket så langt, kan du føle deg ganske trygg på installasjon og konfigurasjon av pakken.

Tilleggsinformasjon

For ytterligere informasjon se dokumentasjon for krb5-1.22.2 hvor ovennevnte instruksjoner er basert på.

Init Skript

Hvis du vil starte Kerberos tjenester ved oppstart, installer /etc/rc.d/init.d/krb5 init skriptet inkludert i blfs-bootscripts-20251220 pakke ved hjelp av følgende kommando:

make install-krb5

Innhold

Installerte Programmer: gss-client, gss-server, k5srvutil, kadmin, kadmin.local, kadmind, kdb5_ldap_util (valgfri), kdb5_util, kdestroy, kinit, klist, kpasswd, kprop, kpropd, kproplog, krb5-config, krb5-send-pr, krb5kdc, ksu, kswitch, ktutil, kvno, sclient, sim_client, sim_server, sserver, uuclient, og uuserver
Installerte Biblioteker: libgssapi_krb5.so, libgssrpc.so, libk5crypto.so, libkadm5clnt_mit.so, libkadm5clnt.so, libkadm5srv_mit.so, libkadm5srv.so, libkdb_ldap.so (valgfri), libkdb5.so, libkrad.so, libkrb5.so, libkrb5support.so, libverto.so, og noen programtillegg under /usr/lib/krb5 treet
Installerte Mapper: /usr/include/{gssapi,gssrpc,kadm5,krb5}, /usr/lib/krb5, /usr/share/{doc/krb5-1.22.2,examples/krb5}, /var/lib/krb5kdc, og /run/krb5kdc

Korte Beskrivelser

gss-client

er en GSSAPI testklient

gss-server

er en GSSAPI testserver

k5srvutil

er et vertsnøkkeltabellmanipulasjonsverktøy

kadmin

er et verktøy som brukes til å gjøre endringer til Kerberos databasen

kadmin.local

er et verktøy som ligner på kadmin, men hvis databasen er db2, den lokale klienten kadmin.local, er ment å kjøre direkte på master KDC uten Kerberos autentisering

kadmind

er en server for administrativ tilgang til en Kerberos database

kdb5_ldap_util (optional)

lar en administrator administrere realms, Kerberos tjenester og billettpolitikk

kdb5_util

er KDC databaseverktøyet

kdestroy

fjerner gjeldende sett med billetter

kinit

brukes til å autentisere til Kerberos serveren som en fullmakt og anskaffe en billettbevilgningsbillett som senere kan brukes til å skaffe billetter til andre tjenester

klist

leser og viser gjeldende billetter i legitimasjonsbufferen

kpasswd

er et program for å endre Kerberos 5 passord

kprop

tar en hoveddatabase i et spesifisert format og konverterer den til en strøm av databaseposter

kpropd

mottar en database sendt av kprop og skriver den som en lokal database

kproplog

viser innholdet i KDC databaseoppdateringsloggen til standard utgang

krb5-config

gir informasjon om hvordan man kobler programmer mot Kerberos 5 biblioteker

krb5kdc

er Kerberos 5 server

krb5-send-pr

sender en problemrapport (PR) til en sentral støtteside

ksu

er superbrukerprogrammet som bruker Kerberos protokollen. Det krever en riktig konfigurert /etc/shells og ~/.k5login som inneholder fullmakt autorisert til å bli superbrukere

kswitch

gjør den spesifiserte legitimasjonsbufferen til primær buffer for samlingen, hvis en buffer samling er tilgjengelig

ktutil

er et program for å administrere Kerberos keytabs

kvno

skriver ut nøkkelversjonsnummer for Kerberos fullmakter

sclient

brukes til å kontakte en eksempelserver og autentisere til den ved å bruke Kerberos 5 billetter, og viser deretter serverens respons

sim_client

er et enkelt UDP-basert eksempelklientprogram, for demonstrasjon

sim_server

er en enkel UDP-basert serverapplikasjon for demonstrasjonsformål

sserver

er en eksempel på Kerberos 5 server

uuclient

er en annen eksempelklient

uuserver

er en annen eksempelserver

libgssapi_krb5.so

inneholder Generisk sikkerhetstjenesteapplikasjonsprogrammering Grensesnitt (GSSAPI) funksjoner som gir sikkerhetstjenester til kallere på en generisk måte, støttes med en rekke underliggende mekanismer og teknologier og dermed tillate kildenivå portabilitet av applikasjoner til forskjellige miljøer

libkadm5clnt.so

inneholder administrativ autentisering og passordkontrolls funksjoner som kreves av Kerberos 5 klientsideprogrammer

libkadm5srv.so

inneholder administrativ autentisering og passord sjekke funksjoner som kreves av Kerberos 5 servere

libkdb5.so

er en Kerberos 5 autentiserings-/autorisasjonsdatabase tilgang til biblioteket

libkrad.so

inneholder det interne støttebiblioteket for RADIUS funksjonalitet

libkrb5.so

er et allsidig formåls Kerberos 5 bibliotek

Nettle-3.10.2

Introduksjon til Nettle

Nettle pakken inneholder et lavt nivå kryptografisk bibliotek som er designet for å passe lett inn i mange sammenhenger.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/nettle/nettle-3.10.2.tar.gz

  • Nedlasting MD5 sum: b28bcbf6f045ff007940a9401673600d

  • Nedlastingsstørrelse: 2.5 MB

  • Estimert diskplass som kreves: 102 MB (med tester)

  • Estimert byggetid: 0.2 SBU (med tester; begge bruker parallellisme=4)

Nettle Avhengigheter

Valgfri

Valgrind-3.26.0 (Valgfri for testene)

Installasjon av Nettle

Installer Nettle ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
chmod   -v   755 /usr/lib/lib{hogweed,nettle}.so &&
install -v -m755 -d /usr/share/doc/nettle-3.10.2 &&
install -v -m644 nettle.{html,pdf} /usr/share/doc/nettle-3.10.2

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: nettle-hash, nettle-lfib-stream, nettle-pbkdf2, pkcs1-conv og sexp-conv
Installerte Biblioteker: libhogweed.so og libnettle.so
Installerte Mapper: /usr/include/nettle og /usr/share/doc/nettle-3.10.2

Korte Beskrivelser

nettle-hash

beregner en hashverdi ved hjelp av en spesifisert algoritme

nettle-lfib-stream

sender ut en sekvens av pseudorandom (ikke-kryptografiske) byte, ved hjelp av Knuths lagged fibonacci-generator. Strømmen er nyttig for testing, men skal ikke brukes til å generere kryptografiske nøkler eller alt annet som trenger ekte tilfeldighet

nettle-pbkdf2

er en passordbasert nøkkelavledningsfunksjon som tar et passord eller en passordfrase som inndata og returnerer et styrket passord, som er beskyttet mot forhåndsberegningsangrep ved å bruke salting og andre kostbare beregninger.

pkcs1-conv

konverterer private og offentlige RSA-nøkler fra PKCS #1 format til sexp format

sexp-conv

konverterer et s-uttrykk til en annen koding

NSS-3.120

Introduksjon til NSS

Nettverkssikkerhetstjenester (NSS) pakken er et sett med biblioteker designet for å støtte utvikling på tvers av plattformer med sikkerhetsaktiverte klient- og serverapplikasjoner. Applikasjoner bygget med NSS kan støtte SSL v2 og v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 sertifikater og andre sikkerhetsstandarder. Dette er nyttig for implementering av SSL og S/MIME eller andre Internett sikkerhetsstandarder inn i en applikasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

NSS Avhengigheter

Påkrevd

NSPR-4.38.2

Anbefalt

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/nss

Installasjon av NSS

Installer NSS ved å kjøre følgende kommandoer:

patch -Np1 -i ../nss-standalone-1.patch &&

cd nss &&

make BUILD_OPT=1                  \
  NSPR_INCLUDE_DIR=/usr/include/nspr  \
  USE_SYSTEM_ZLIB=1                   \
  ZLIB_LIBS=-lz                       \
  NSS_ENABLE_WERROR=0                 \
  NSS_USE_SYSTEM_SQLITE=1             \
  $([ $(uname -m) = x86_64 ] && echo USE_64=1)

For å kjøre testene, kjør følgende kommandoer:

cd tests &&
HOST=localhost DOMSUF=localdomain ./all.sh
cd ../

Notat

Litt informasjon om testene:

  • HOST=localhost og DOMSUF=localdomain er påkrevd. Uten disse variablene kreves er en FQDN spesifisert og denne generiske måten bør fungere for alle, gitt localhost.localdomain er definert i /etc/hosts, som gjort i LFS boken.

  • Testene tar lang tid å kjøre. Om ønskelig er det informasjon i all.sh skriptet om kjøring av delsett av total testpakke.

  • Når du avbryter testene, testpakken klarer ikke å avslutte testservere som kjøres. Dette fører til en uendelig løkke i testene der testpakken prøver å drepe en server som ikke eksisterer lenger fordi den bruker feil PID.

  • Testresultater (i HTML-format!) finner du på ../../test_results/security/localhost.1/results.html

  • Noen få tester kan mislykkes på noen Intel maskiner av ukjente årsaker.

Nå, som root bruker:

cd ../dist                                                          &&

install -v -m755 Linux*/lib/*.so              /usr/lib              &&
install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib              &&

install -v -m755 -d                           /usr/include/nss      &&
cp -v -RL {public,private}/nss/*              /usr/include/nss      &&

install -v -m755 Linux*/bin/{certutil,nss-config,pk12util} /usr/bin &&

install -v -m644 Linux*/lib/pkgconfig/nss.pc  /usr/lib/pkgconfig

Parameterforklaringer

BUILD_OPT=1: Dette alternativet sendes til make slik at byggingen utføres uten feilsøkingssymboler innebygd i binærfiler og standard kompilatoroptimaliseringer er brukt.

NSPR_INCLUDE_DIR=/usr/include/nspr: Dette alternativet angir plasseringen av nspr deklarasjonene.

USE_SYSTEM_ZLIB=1: Dette alternativet sendes til make for å sikre at libssl3.so biblioteket er knyttet til systemets installerte zlib i stedet for versjon i pakken.

ZLIB_LIBS=-lz: Dette alternativet gir linkerflagg som trengs for å koble til systemets zlib.

$([ $(uname -m) = x86_64 ] && echo USE_64=1): USE_64=1 alternativet er påkrevd på x86_64, ellers vil make prøve (og mislykkes) å lage 32-bits objekter. [ $(uname -m) = x86_64 ] testen sikrer at det ikke har noe effekt på et 32-bitssystem.

([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1): Dette tester om sqlite er installert og i så fall echoer det valget NSS_USE_SYSTEM_SQLITE=1 til make sånn at libsoftokn3.so vil lenke mot systemversjonen av sqlite.

NSS_DISABLE_GTESTS=1: Hvis du ikke trenger å kjøre NSS testpakken, legg til dette alternativet til make kommandoen, for å forhindre kompilering av tester og spare litt byggetid.

Konfigurere NSS

Hvis p11-kit-0.26.2 er installert, p11-kit tillitsmodul (/usr/lib/pkcs11/p11-kit-trust.so) kan brukes som en erstatning for /usr/lib/libnssckbi.so for å gjøre systems CA tilgjengelig på en transparent måte for NSS bevisste applikasjoner, snarere enn de statiske bibliotekene levert av /usr/lib/libnssckbi.so. Somm root bruker, utføre følgende kommando:

ln -sfv ./pkcs11/p11-kit-trust.so /usr/lib/libnssckbi.so

I tillegg for avhengige applikasjoner som ikke bruker den interne databasen (/usr/lib/libnssckbi.so), /usr/sbin/make-ca skriptet inkludert på make-ca-1.16.1 siden kan generere en systemomfattende NSS DB med -n bryteren, eller ved å endre /etc/make-ca/make-ca.conf filen.

Innhold

Installerte Programmer: certutil, nss-config, og pk12util
Installerte Biblioteker: libcrmf.a, libfreebl3.so, libfreeblpriv3.so, libnss3.so, libnssckbi.so, libnssckbi-testlib.so, libnssdbm3.so, libnsssysinit.so, libnssutil3.so, libpkcs11testmodule.so, libsmime3.so, libsoftokn3.so, og libssl3.so
Installerte Mapper: /usr/include/nss

Korte Beskrivelser

certutil

er Mozilla Certificate Database Tool. Det er et kommandolinje verktøy som kan opprette og endre Netscape Communicator cert8.db og key3.db databasefiler. Den kan også liste, generere, endre eller slette sertifikater i cert8.db-filen og opprette eller endre passordet, generer nye offentlige og private nøkkelpar, vise innholdet i nøkkeldatabasen, eller slette nøkkelpar innenfor filen key3.db

nss-config

brukes til å bestemme NSS bibliotekinnstillingene for de installerte NSS bibliotekene

pk12util

er et verktøy for å importere sertifikater og nøkler fra pkcs #12 filer inn i NSS eller eksportere dem. Den kan også liste sertifikater og nøkler i slike filer

OpenSSH-10.2p1

Introduksjon til OpenSSH

OpenSSH pakken inneholder ssh klienter og sshd nissen. Dette er nyttig for kryptering av autentisering og påfølgende trafikk over et nettverk. ssh og scp kommandoene er sikre implementeringer av telnet og rcp henholdsvis.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

OpenSSH Avhengigheter

Valgfri

GDB-17.1 (for tester), Linux-PAM-1.7.2 (PAM konfigurasjonsfiler fra Shadow-4.19.3 brukes til å lage openssh sine), Xorg Applikasjoner (eller Xorg build environment, se Parameterforklaringer), MIT Kerberos V5-1.22.2, Which-2.23 (for tester), libedit, LibreSSL Portable, OpenSC, og libsectok

Valgfri kjøretid (brukes kun for å samle entropi)

Net-tools-2.10, og Sysstat-12.7.9

Installasjon av OpenSSH

OpenSSH kjører som to prosesser ved tilkobling til andre datamaskiner. Den første prosessen er en privilegert prosess og kontroller utstedelse av privilegier etter behov. Den andre prosessen kommuniserer med nettverket. Ytterligere installasjonstrinn er nødvendig for å sette opp det riktige miljøet, som utføres ved å kjøre følgende kommandoer som root bruker:

install -v -g sys -m700 -d /var/lib/sshd &&

groupadd -g 50 sshd        &&
useradd  -c 'sshd PrivSep' \
         -d /var/lib/sshd  \
         -g sshd           \
         -s /bin/false     \
         -u 50 sshd

Installer OpenSSH ved å kjøre følgende kommandoer:

./configure --prefix=/usr                            \
            --sysconfdir=/etc/ssh                    \
            --with-privsep-path=/var/lib/sshd        \
            --with-default-path=/usr/bin             \
            --with-superuser-path=/usr/sbin:/usr/bin \
            --with-pid-dir=/run                      &&
make

For å teste resultatene, utsted: make -j1 tests.

Nå, som root bruker:

make install &&
install -v -m755    contrib/ssh-copy-id /usr/bin     &&

install -v -m644    contrib/ssh-copy-id.1 \
                    /usr/share/man/man1              &&
install -v -m755 -d /usr/share/doc/openssh-10.2p1     &&
install -v -m644    INSTALL LICENCE OVERVIEW README* \
                    /usr/share/doc/openssh-10.2p1

Parameterforklaringer

--sysconfdir=/etc/ssh: Dette forhindrer at konfigurasjonsfiler blir installert i /usr/etc.

--with-default-path=/usr/bin og --with-superuser-path=/usr/sbin:/usr/bin: Dette setter PATH i samsvar med LFS og BLFS Shadow pakke.

--with-pid-dir=/run: Dette forhindrer OpenSSH fra å referere til utdaterte /var/run.

--with-pam: Denne parameteren aktiverer Linux-PAM støtte i bygget.

--with-xauth=$XORG_PREFIX/bin/xauth: Angi standard plassering for xauth binære for X autentisering. Miljøvariabelen XORG_PREFIX bør settes ved å følge Xorg build environment. Denne kan også styres fra sshd_config med nøkkelordet XAuthLocation. Du kan se bort fra denne bryteren hvis xauth (en Xorg Applikasjoner) allerede er installert.

--with-kerberos5=/usr: Dette alternativet brukes til å inkludere Kerberos 5 støtte i bygget.

--with-libedit: Dette alternativet aktiverer linjeredigering og historiefunksjoner for sftp.

Konfigurere OpenSSH

Konfigurasjonsfiler

~/.ssh/*, /etc/ssh/ssh_config, og /etc/ssh/sshd_config

Det er ingen nødvendige endringer i noen av disse filene. Derimot, du ønsker kanskje å se /etc/ssh/ filer og lag eventuelle endringer som passer for sikkerheten til systemet ditt. En anbefalt endring er at du deaktiverer root innlogging via ssh. Utfør følgende kommando som root bruker for å deaktivere root innlogging via ssh:

echo "PermitRootLogin no" >> /etc/ssh/sshd_config

Hvis du vil kunne logge inn uten å skrive inn passordet ditt, først opprett ~/.ssh/id_rsa og ~/.ssh/id_rsa.pub med ssh-keygen og kopier deretter ~/.ssh/id_rsa.pub til ~/.ssh/authorized_keys på den eksterne datamaskinen du vil logge på. Du må endre REMOTE_USERNAME og REMOTE_HOSTNAME for brukernavnet og vertsnavnet til den eksterne datamaskin, og du må også skrive inn passordet for kommandoen ssh-copy-id for å lykkes:

ssh-keygen &&
ssh-copy-id -i ~/.ssh/id_ed25519.pub REMOTE_USERNAME@REMOTE_HOSTNAME

Når du først har fått passordløse pålogginger til å fungere, er det faktisk sikrere enn å logge på med et passord (da den private nøkkelen er mye lengre enn de flestes passord). Hvis du vil deaktivere passordpålogginger, som root bruker:

echo "PasswordAuthentication no" >> /etc/ssh/sshd_config &&
echo "KbdInteractiveAuthentication no" >> /etc/ssh/sshd_config

Hvis du har lagt til Linux-PAM støtte og du ønsker at ssh bruker den, må du legge til en konfigurasjonsfil for sshd og muliggjør bruk av LinuxPAM. Merk at ssh bare bruker PAM for å sjekke passord, hvis du har deaktivert passordpålogging er ikke behov for disse kommandoene. Hvis du vil bruke PAM, utfør følgende kommandoer som root bruker:

sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd &&
chmod 644 /etc/pam.d/sshd &&
echo "UsePAM yes" >> /etc/ssh/sshd_config

Ytterligere konfigurasjonsinformasjon finnes i mansider for sshd, ssh og ssh-agent.

Oppstartsskript

For å starte SSH serveren ved systemoppstart, installer /etc/rc.d/init.d/sshd init skriptet inkludert i blfs-bootscripts-20251220 pakken.

Notat

Endring av innstillingen for ListenAddress i /etc/sshd/sshd_config er ikke støttet med BLFS sshd bootscript.

make install-sshd

Innhold

Installerte Programmer: scp, sftp, ssh, ssh-add, ssh-agent, ssh-copy-id, ssh-keygen, ssh-keyscan, og sshd
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/ssh, /usr/share/doc/openssh-10.2p1, og /var/lib/sshd

Korte Beskrivelser

scp

er et filkopieringsprogram som fungerer som rcp unntatt at den bruker en kryptert protokoll

sftp

er et FTP lignende program som fungerer over SSH1 og SSH2 protokollene

ssh

er en rlogin/rsh lignende klientprogram bortsett fra at det bruker en kryptert protokoll

sshd

er en nisse som lytter etter ssh påloggingsforespørsler

ssh-add

er et verktøy som legger til nøkler til ssh-agent

ssh-agent

er en autentiseringsagent som kan lagre private nøkler

ssh-copy-id

er et skript som muliggjør pålogging på eksterne maskiner ved hjelp av lokale nøkler

ssh-keygen

er et nøkkelgenereringsverktøy

ssh-keyscan

er et verktøy for å samle offentlige vertsnøkler fra en rekke verter

p11-kit-0.26.2

Introduksjon til p11-kit

p11-kit pakken gir en måte å laste og telle opp PKCS #11 (en Cryptographic Token Interface Standard) moduler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

p11-kit Avhengigheter

Anbefalt
Anbefalt (kjøretid)
Valgfri

GTK-Doc-1.35.1, libxslt-1.1.45, og nss-3.120 (kjøretid)

Installasjon av p11-kit

Klargjør den distribusjonsspesifikke ankerkroken:

sed '20,$ d' -i trust/trust-extract-compat &&

cat >> trust/trust-extract-compat << "EOF"
# Copy existing anchor modifications to /etc/ssl/local
/usr/libexec/make-ca/copy-trust-modifications

# Update trust stores
/usr/sbin/make-ca -r
EOF

Installer p11-kit ved å kjøre følgende kommandoer:

mkdir p11-build &&
cd    p11-build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D trust_paths=/etc/pki/anchors &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install &&
ln -sfv /usr/libexec/p11-kit/trust-extract-compat \
        /usr/bin/update-ca-certificates

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D trust_paths=/etc/pki/anchors: denne bryteren angir plasseringen av klarerte sertifikater som brukes av libp11-kit.so.

-D hash_impl=freebl: Bruk denne bryteren hvis du vil bruke Freebl biblioteket fra NSS for SHA1 og MD5 hashing.

-D gtk_doc=true: Bruk denne bryteren hvis du har installert GTK-Doc-1.35.1 og libxslt-1.1.45 og ønsker å bygge dokumentasjonen på nytt og generere manualsider.

Konfigurere p11-kit

p11-kit tillitsmodul (/usr/lib/pkcs11/p11-kit-trust.so) kan brukes som en drop-in erstatning for /usr/lib/libnssckbi.so til å gjøre system CA-ene på en transparent måte tilgjengelig for NSS bevisste applikasjoner, snarere enn den statiske listen levert av /usr/lib/libnssckbi.so. Som root bruker, kjør følgende kommandoer:

ln -sfv ./pkcs11/p11-kit-trust.so /usr/lib/libnssckbi.so

Innhold

Installerte Programmer: p11-kit, trust, og update-ca-certificates
Installerte Biblioteker: libp11-kit.so og p11-kit-proxy.so
Installerte Mapper: /etc/pkcs11, /usr/include/p11-kit-1, /usr/lib/pkcs11, /usr/libexec/p11-kit, /usr/share/gtk-doc/html/p11-kit, og /usr/share/p11-kit

Korte Beskrivelser

p11-kit

er et kommandolinjeverktøy som kan brukes til å utføre operasjoner på PKCS#11 moduler konfigurert på systemet

trust

er et kommandolinjeverktøy for å undersøke og endre den delte trust policy store

update-ca-certificates

er et kommandolinjeverktøy for både å trekke ut lokale sertifikater fra en oppdatert ankerlager, og regenerer alle ankere og sertifikater lagret på systemet. Dette gjøres ubetinget på BLFS ved hjelp av --force og --get flagg til make-ca og bør sannsynligvis ikke brukes for automatiserte oppdateringer

libp11-kit.so

inneholder funksjoner som brukes til å koordinere initialisering og sluttføring av enhver PKCS#11 modul

p11-kit-proxy.so

er PKCS#11 proxy modulen

Polkit-127

Introduksjon til Polkit

Polkit er et verktøysett for å definere og håndtere autorisasjoner. Den brukes for å tillate uprivilegerte prosesser å kommunisere med privilegerte prosesser.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Polkit Avhengigheter

Påkrevd

duktape-2.7.0 og GLib-2.86.4 (GObject Introspection anbefalt)

Anbefalt

Notat

Siden elogind bruker PAM til å registrere brukerøkter, er det en god idé å bygge Polkit med PAM støtte så elogind kan spore Polkit økter.

Valgfri

GTK-Doc-1.35.1 og dbusmock-0.38.1 (påkrevd for tester)

Valgfrie Kjøretidsavhengigheter

Én polkit autentiseringsagent for bruk av polkit i et grafiske miljø: polkit-kde-agent i Plasma-6.5.2 for KDE, agenten bygd inn gnome-shell-49.4 for GNOME3, polkit-gnome-0.105 for XFCE, og lxqt-policykit-2.3.0 for LXQt

Notat

Hvis libxslt-1.1.45 er installert, da er docbook-xml-4.5 og docbook-xsl-nons-1.79.2 nødvendig. Hvis du har installert libxslt-1.1.45, men du ikke ønsker å installere noen av DocBook pakkene som er nevnt, vil du trenge å bruke -D man=false i instruksjonene under.

Kjernekonfigurasjon

Noen tester trenger namespace. Hvis du skal kjøre testpakken, aktiver støtten og kompiler kjernen på nytt om nødvendig:

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]

Installasjon av Polkit

Det bør være en dedikert bruker og gruppe til å ta kontroll på polkitd nissen etter at det er startet. Utfør følgende kommandoer som root bruker:

groupadd -fg 27 polkitd &&
useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 \
        -g polkitd -s /bin/false polkitd

Installer Polkit ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                     \
      --prefix=/usr                \
      --buildtype=release          \
      -D man=true                  \
      -D session_tracking=elogind  \
      -D systemdsystemunitdir=/tmp \
      -D tests=true

Bygg pakken:

ninja

For å teste resultatene, sørg først for at systemets D-Bus nisse kjører, og både D-Bus Python-1.4.0 og dbusmock-0.38.1 er installert. Kjør så ninja test.

Nå, som root bruker:

ninja install

Fjern noen filer som ikke er nyttige på et SysV system som root bruker:

rm -v /tmp/*.service                 &&
rm -rf /usr/lib/{sysusers,tmpfiles}.d 

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D tests=true: Denne bryteren lar deg kjøre testpakken av denne pakken. Siden Polkit er brukt for autorisasjoner, kan integriteten påvirke systemsikkerheten. Så det anbefales å kjøre testpakken som bygger denne pakken.

-D os_type=lfs: Bruk denne bryteren hvis du ikke opprettet /etc/lfs-release filen ellers vil distribusjons automatiske deteksjon mislykkes, og du vil ikke kunne bruke Polkit.

-D authfw=shadow: Denne bryteren aktiverer pakken til å bruke Shadow i stedet for Linux PAM Autentiseringsrammeverk. Bruk det hvis du ikke har installert Linux PAM.

-D introspection=false: Bruk dette alternativet hvis du er sikker på at du ikke trenger gobject-introspection filer for polkit, eller ikke har installert GLib-2.86.4 med GObject Introspection.

-D man=false: Bruk dette alternativet til å deaktivere generering og installasjon av manualsider. Dette er nyttig hvis libxslt ikke er installert.

-D examples=true: Bruk dette alternativet til å bygge eksempel programmer.

-D gtk_doc=true: Bruk dette alternativet for å aktivere bygging og installering av API dokumentasjonen.

Innhold

Installerte Programmer: pkaction, pkcheck, pkexec, pkttyagent, og polkitd
Installerte Biblioteker: libpolkit-agent-1.so og libpolkit-gobject-1.so
Installerte Mapper: /etc/polkit-1, /usr/include/polkit-1, /usr/lib/polkit-1, /usr/share/gtk-doc/html/polkit-1, og /usr/share/polkit-1

Korte Beskrivelser

pkaction

brukes til å innhente informasjon om registrerte PolicyKit handlinger

pkcheck

brukes til å sjekke om en prosess er autorisert for handling

pkexec

lar en autorisert bruker utføre en kommando som en annen bruker

pkttyagent

brukes til å starte en tekstlig autentiseringsagent for emnet

polkitd

gir org.freedesktop.PolicyKit1 D-Bus tjeneste på systemmeldingsbussen

libpolkit-agent-1.so

inneholder Polkit autentiseringagent API funksjoner

libpolkit-gobject-1.so

inneholder Polkit autentiserings API funksjoner

polkit-gnome-0.105

Introduksjon til Polkit GNOME

Polkit GNOME pakken gir en Autentiseringsagent for Polkit som integreres godt med GNOME Skrivebordsmiljø.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Polkit GNOME Avhengigheter

Påkrevd

AccountsService-23.13.9, GTK-3.24.51, og Polkit-127

Installasjon av Polkit GNOME

Først, bruk noen rettelser som gjør at det riktige brukerikonet kan brukes, samt noen sikkerhetsrettinger:

patch -Np1 -i ../polkit-gnome-0.105-consolidated_fixes-1.patch

Installer Polkit GNOME ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Konfigurere Polkit GNOME

Automatisk Oppstart

For at autentiseringsrammeverket skal fungere, må polkit-gnome-authentication-agent-1 bli startet. Imidlertid, make install installerte ikke en oppstartsfil for Polkit GNOME så du må lage den selv.

Utfør følgende kommandoer som root bruker for å opprette en oppstartsfil for Polkit GNOME:

mkdir -p /etc/xdg/autostart &&
cat > /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop << "EOF"
[Desktop Entry]
Name=PolicyKit Authentication Agent
Comment=PolicyKit Authentication Agent
Exec=/usr/libexec/polkit-gnome-authentication-agent-1
Terminal=false
Type=Application
Categories=
NoDisplay=true
OnlyShowIn=GNOME;XFCE;Unity;
AutostartCondition=GNOME3 unless-session gnome
EOF

Innhold

Installert Program: polkit-gnome-authentication-agent-1
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

polkit-gnome-authentication-agent-1

er Polkit autentiseringsagent

Shadow-4.19.3

Introduksjon til Shadow

Shadow ble faktisk installert i LFS og det er det ingen grunn til å installere den på nytt med mindre du har installert Linux-PAM etter at LFS systemet ditt ble fullført. Med Linux-PAM installert, installere Shadow på nytt vil tillate programmer som f.eks login og su å bruke PAM.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Shadow Avhengigheter

Påkrevd

Linux-PAM-1.7.2

Valgfri

libbsd og tcb

Installasjon av Shadow

Viktig

Installasjonskommandoene vist nedenfor er for installasjoner hvor Linux-PAM er installert og Shadow blir reinstallert for å støtte Linux-PAM installasjon.

Installer Shadow på nytt ved å kjøre følgende kommandoer:

sed -i 's/groups$(EXEEXT) //' src/Makefile.in          &&

find man -name Makefile.in -exec sed -i 's/groups\.1 / /'   {} \; &&
find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; &&
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /'   {} \; &&

sed -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD YESCRYPT@' \
    -e 's@/var/spool/mail@/var/mail@'                   \
    -e '/PATH=/{s@/sbin:@@;s@/bin:@@}'                  \
    -i etc/login.defs                                   &&

./configure --sysconfdir=/etc   \
            --disable-static    \
            --without-libbsd    \
            --disable-logind    \
            --with-{b,yes}crypt &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make exec_prefix=/usr pamddir= install

Mansidene ble installert i LFS, men hvis ominstallering er ønsket, kjør (som root bruker):

make -C man install-man

Parameterforklaringer

sed -i 's/groups$(EXEEXT) //' src/Makefile.in: Denne sed brukes til å undertrykke installasjonen av groups programmet ettersom versjonen fra Coreutils pakken installert under LFS foretrekkes.

find man -name Makefile.in -exec ... {} \;: Den første kommandoen brukes til å undertrykke installasjonen av groups mansider slik at de eksisterende installert fra Coreutils pakken ikke blir erstattet. De to andre kommandoene forhindrer installasjon av manual sider som allerede er installert av Man-pages i LFS.

sed -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD YESCRYPT@' -e 's@/var/spool/mail@/var/mail@' -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' -i etc/login.defs: I stedet for å bruke standard 'DES' metoden, endrer denne kommandoen installasjonen til å bruke den mye mer sikre 'YESCRYPT' metode for hashing passord, som også tillater passord lengre enn åtte tegn. Kommandoen endrer også utdaterte /var/spool/mail plasseringen for brukerpostkasser som Shadow bruker som standard til /var/mail plasseringen. Det endrer også standardbanen for å være i samsvar med det satt i LFS.

--without-libbsd: Hindrer å lete etter readpassphrase funksjon, som bare finnes i libbsd, som vi ikke har i BLFS. En intern implementasjon av readpassphrase brukes i stedet.

--disable-logind: Dette alternativet er påkrevd for ikke-systemd bygg.

pamddir=: Hindrer installasjon av de leverte PAM konfigurasjonsfiler til /etc/pam.d. Den sendte konfigurasjonen fungerer ikke med BLFS PAM konfigurasjonen og vi vil opprette disse konfigurasjonsfilene eksplisitt.

Konfigurere Linux-PAM til å fungere med Shadow

Notat

Resten av denne siden er viet til å konfigurere Shadow å virke skikkelig med Linux-PAM.

Konfigurasjonsfiler

/etc/pam.d/* eller alternativt /etc/pam.conf, /etc/login.defs og /etc/security/*

Konfigurasjonsinformasjon

Konfigurere systemet ditt til å bruke Linux-PAM kan være en kompleks oppgave. Informasjonen nedenfor vil gi et grunnleggende oppsett sånn at Shadow sin innlogging og passord funksjonalitet vil fungere effektivt med Linux-PAM. Se gjennom informasjonen og lenkene på Linux-PAM-1.7.2 side for videre konfigurasjons informasjon. For informasjon spesifikk for å integrere Shadow, Linux-PAM og libpwquality, kan du besøke følgende lenke:

Konfigurere /etc/login.defs

login programmet utfører for tiden mange funksjoner som Linux-PAM modulene skal håndtere. Følgende sed kommandoen vil kommentere ut passende linjer i /etc/login.defs, og stoppe login fra å utføre disse funksjonene (en sikkerhetskopi fil navngitt /etc/login.defs.orig er også opprettet for å bevare originalfilens innhold). Kjør følgende kommandoer som root bruker:

install -v -m644 /etc/login.defs /etc/login.defs.orig &&
for FUNCTION in FAIL_DELAY               \
                FAILLOG_ENAB             \
                LASTLOG_ENAB             \
                MAIL_CHECK_ENAB          \
                OBSCURE_CHECKS_ENAB      \
                PORTTIME_CHECKS_ENAB     \
                QUOTAS_ENAB              \
                CONSOLE MOTD_FILE        \
                FTMP_FILE NOLOGINS_FILE  \
                ENV_HZ PASS_MIN_LEN      \
                SU_WHEEL_ONLY            \
                PASS_CHANGE_TRIES        \
                PASS_ALWAYS_WARN         \
                CHFN_AUTH ENCRYPT_METHOD \
                ENVIRON_FILE
do
    sed -i "s/^${FUNCTION}/# &/" /etc/login.defs
done
Konfigurere /etc/pam.d/ Files

Som nevnt tidligere i Linux-PAM instruksjonene, Linux-PAM har støtte for to metoder for konfigurasjon. Kommandoene nedenfor antar at du har valgt å bruke en mappebasert konfigurasjon, hvor hvert program har sin egen konfigurasjonsfil. Du kan valgfritt bruke en singel /etc/pam.conf konfigurasjonsfilen ved å bruke tekst fra filene nedenfor, og oppgi programnavnet som en ekstra første felt for hver linje.

Som root bruker, opprett følgende Linux-PAM konfigurasjonsfiler i /etc/pam.d/ mappen (eller legg til innholdet i /etc/pam.conf filen) ved å bruke følgende kommandoer:

'login'
cat > /etc/pam.d/login << "EOF"
# Begin /etc/pam.d/login

# Set failure delay before next prompt to 3 seconds
auth      optional    pam_faildelay.so  delay=3000000

# Check to make sure that the user is allowed to login
auth      requisite   pam_nologin.so

# Check to make sure that root is allowed to login
# Disabled by default. You will need to create /etc/securetty
# file for this module to function. See man 5 securetty.
#auth      required    pam_securetty.so

# Additional group memberships - disabled by default
#auth      optional    pam_group.so

# include system auth settings
auth      include     system-auth

# check access for the user
account   required    pam_access.so

# include system account settings
account   include     system-account

# Set default environment variables for the user
session   required    pam_env.so

# Set resource limits for the user
session   required    pam_limits.so

# Display the message of the day - Disabled by default
#session   optional    pam_motd.so

# Check user's mail - Disabled by default
#session   optional    pam_mail.so      standard quiet

# include system session and password settings
session   include     system-session
password  include     system-password

# End /etc/pam.d/login
EOF
'passwd'
cat > /etc/pam.d/passwd << "EOF"
# Begin /etc/pam.d/passwd

password  include     system-password

# End /etc/pam.d/passwd
EOF
'su'
cat > /etc/pam.d/su << "EOF"
# Begin /etc/pam.d/su

# always allow root
auth      sufficient  pam_rootok.so

# Allow users in the wheel group to execute su without a password
# disabled by default
#auth      sufficient  pam_wheel.so trust use_uid

# include system auth settings
auth      include     system-auth

# limit su to users in the wheel group
# disabled by default
#auth      required    pam_wheel.so use_uid

# include system account settings
account   include     system-account

# Set default environment variables for the service user
session   required    pam_env.so

# include system session settings
session   include     system-session

# End /etc/pam.d/su
EOF
'chpasswd' og 'newusers'
cat > /etc/pam.d/chpasswd << "EOF"
# Begin /etc/pam.d/chpasswd

# always allow root
auth      sufficient  pam_rootok.so

# include system auth and account settings
auth      include     system-auth
account   include     system-account
password  include     system-password

# End /etc/pam.d/chpasswd
EOF

sed -e s/chpasswd/newusers/ /etc/pam.d/chpasswd >/etc/pam.d/newusers
'chage'
cat > /etc/pam.d/chage << "EOF"
# Begin /etc/pam.d/chage

# always allow root
auth      sufficient  pam_rootok.so

# include system auth and account settings
auth      include     system-auth
account   include     system-account

# End /etc/pam.d/chage
EOF
Andre shadow verktøy
for PROGRAM in chfn chgpasswd chsh groupadd groupdel \
               groupmems groupmod useradd userdel usermod
do
    install -v -m644 /etc/pam.d/chage /etc/pam.d/${PROGRAM}
    sed -i "s/chage/$PROGRAM/" /etc/pam.d/${PROGRAM}
done

Advarsel

På dette tidspunktet bør du gjøre en enkel test for å se om Shadow fungerer som forventet. Åpne en annen terminal og logg på som root, og kjør så login og logg inn som en annen bruker. Hvis du ikke ser noen feil, så er alt bra og du bør fortsette med resten av konfigurasjonen. Hvis du fikk feil, stopp nå og dobbeltsjekk konfigurasjonsfilene ovenfor manuelt. Enhver feil er et tegn på en feil i prosedyren ovenfor. Du kan også kjøre testpakken fra Linux-PAM pakken for å hjelpe deg med å finne problemet. Hvis du ikke finner og fikser feilen, bør du kompilere Shadow på nytt å legge til --without-libpam bryteren til configure kommandoen i instruksjonene ovenfor (flytt også /etc/login.defs.orig sikkerhetskopifil til /etc/login.defs). Hvis du ikke klarer å gjøre dette og feilene gjenstår, vil du ikke kunne logge inn på ditt system.

Konfigurere Innloggings Adgang

I stedet for å bruke /etc/login.access filen for å kontrollere tilgangen til systemet, Linux-PAM bruker pam_access.so modulen sammen med /etc/security/access.conf filen. Gi nytt navn til /etc/login.access filen ved hjelp av følgende kommando:

if [ -f /etc/login.access ]; then mv -v /etc/login.access{,.NOUSE}; fi
Konfigurere Ressursgrenser

I stedet for å bruke /etc/limits filen for å begrense bruken av systemressurser, Linux-PAM bruker pam_limits.so modulen sammen med /etc/security/limits.conf filen. Gi nytt navn til /etc/limits filen ved å bruke følgende kommando:

if [ -f /etc/limits ]; then mv -v /etc/limits{,.NOUSE}; fi

Obs

Sørg for å teste påloggingsmulighetene til systemet før du logger ut. Feil i konfigurasjonen kan forårsake en permanent utestengelse som krever oppstart fra en ekstern kilde for å korrigere problemet.

Innhold

En liste over de installerte filene, sammen med deres korte beskrivelser kan bli funnet på ../../../../lfs/view/development/chapter08/shadow.html#contents-shadow.

ssh-askpass-10.2p1

Introduksjon til ssh-askpass

ssh-askpass er et generisk kjørbart navn for mange pakker, med lignende navn, som gir en interaktiv X-tjeneste til å hente passord for pakker som krever administrative rettigheter for å kjøres. Den spør brukeren med en vindusboks hvor det nødvendige passordet kan bli satt inn. Her velger vi Damien Millers pakke distribuert i OpenSSH tarball.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ssh-askpass Avhengigheter

Påkrevd

GTK-3.24.51, Sudo-1.9.17p2 (kjøretid), Xorg Biblioteker, og et grafiske miljø (kjøretid)

Installasjon av ssh-askpass

Installer ssh-askpass ved å kjøre følgende kommandoer:

cd contrib &&
make gnome-ssh-askpass3

Nå, som root bruker:

install -v -d -m755                    /usr/libexec/openssh/contrib  &&
install -v -m755    gnome-ssh-askpass3 /usr/libexec/openssh/contrib  &&
ln -sv -f contrib/gnome-ssh-askpass3   /usr/libexec/openssh/ssh-askpass

Bruken av /usr/libexec/openssh/contrib og en symbolkobling er rettferdiggjort av eventuell nødvendighet av et annet program for den tjenesten.

Konfigurere ssh-askpass

Konfigurasjonsinformasjon

Som root bruker, konfigurer Sudo-1.9.17p2 til å bruke ssh-askpass:

cat >> /etc/sudo.conf << "EOF" &&
# Path to askpass helper program
Path askpass /usr/libexec/openssh/ssh-askpass
EOF
chmod -v 0644 /etc/sudo.conf

Dersom en gitt grafisk <applikasjon> krever administrative privilegier, bruk sudo -A <application> fra en x-terminal, fra en Vindusbehandler meny og/eller erstatt "Exec=<application> ..." med "Exec=sudo -A <application> ..." i <application>.skrivebordsfilen.

Innhold

Installerte Programmer: gnome-ssh-askpass3, ssh-askpass (symbolkobling til gnome-ssh-askpass3)
Installert Bibliotek: Ingen
Installert Mappe: /usr/libexec/openssh/contrib

stunnel-5.76

Introduksjon til stunnel

stunnel pakken inneholder et program som lar deg kryptere vilkårlige TCP tilkoblinger i SSL (Secure Sockets Layer) slik at du enkelt kan kommunisere med klienter over en sikker kanal. stunnel kan også brukes til å tunnelere PPP over nettverkskontakter uten endringer i serverpakkens kildekode.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

stunnel Avhengigheter

Valgfri

libnsl-2.0.1, netcat (nødvendig for tester), tcpwrappers, og TOR

Installasjon av stunnel

stunnel nissen vil bli kjørt i et chroot fengsel av en uprivilegert bruker. Opprett en ny bruker og gruppe ved å bruke følgende kommandoer som root bruker:

groupadd -g 51 stunnel &&
useradd -c "stunnel Daemon" -d /var/lib/stunnel \
        -g stunnel -s /bin/false -u 51 stunnel

Notat

Et signert SSL sertifikat og en privat nøkkel er nødvendig for å kjøre stunnel nissen. Etter at pakken er installert, er det instruksjoner for å generere dem. Men hvis du eier eller allerede har opprettet et signert SSL sertifikat du ønsker å bruke, kopier det til /etc/stunnel/stunnel.pem før du starter å bygge (bare sikre at root har lese- og skrivetilgang). .pem filen må formateres som vist nedenfor:

-----BEGIN PRIVATE KEY-----
<many encrypted lines of private key>
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
<many encrypted lines of certificate>
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
<encrypted lines of dh parms>
-----END DH PARAMETERS-----

Installer stunnel ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-systemd    &&
make

Hvis du har installert den valgfrie netcat applikasjonen, regresjonstester kan kjøres med make check.

Nå, som root bruker:

make docdir=/usr/share/doc/stunnel-5.76 install

Hvis du ikke allerede har et signert SSL sertifikat og privat nøkkel, opprett stunnel.pem filen i /etc/stunnel mappen ved å bruke kommandoen nedenfor. Du vil bli bedt om å angi nødvendig informasjon. Sørg for at du svarer på

Common Name (FQDN of your server) [localhost]:

ledeteksten med navnet eller IP adressen du skal bruke for å få tilgang til tjenesten(e).

For å generere et sertifikat, som root bruker, kjør:

make cert

Parameterforklaringer

--disable-systemd: Denne bryteren deaktiverer systemd socket aktiveringsstøtte som ikke er tilgjengelig i BLFS.

make docdir=... install: Denne kommandoen installerer pakken og endrer dokumentasjonsinstallasjonsmappen til standard navnekonvensjoner.

Konfigurere stunnel

Konfigurasjonsfiler

/etc/stunnel/stunnel.conf

Konfigurasjonsinformasjon

Som root bruker, opprett mappen som brukes til .pid fil opprettet når stunnel nissen startet:

install -v -m750 -o stunnel -g stunnel -d /var/lib/stunnel/run &&
chown stunnel:stunnel /var/lib/stunnel

Deretter lager du en grunnleggende /etc/stunnel/stunnel.conf konfigurasjonsfil ved å bruke følgende kommandoer som root bruker:

cat > /etc/stunnel/stunnel.conf << "EOF"
; File: /etc/stunnel/stunnel.conf

; Note: The pid and output locations are relative to the chroot location.

pid    = /run/stunnel.pid
chroot = /var/lib/stunnel
client = no
setuid = stunnel
setgid = stunnel
cert   = /etc/stunnel/stunnel.pem

;debug = 7
;output = stunnel.log

;[https]
;accept  = 443
;connect = 80
;; "TIMEOUTclose = 0" is a workaround for a design flaw in Microsoft SSL
;; Microsoft implementations do not use SSL close-notify alert and thus
;; they are vulnerable to truncation attacks
;TIMEOUTclose = 0

EOF

Til slutt legger du til tjenesten(e) du ønsker å kryptere til konfigurasjonsfilen. Formatet er som følger:

[<service>]
accept  = <hostname:portnumber>
connect = <hostname:portnumber>

For en fullstendig forklaring av kommandoene og syntaksen som brukes i konfigurasjonsfilen, kjør man stunnel.

Oppstartsskript

For å starte automatisk stunnel nissen når systemet startet opp, installer /etc/rc.d/init.d/stunnel oppstartsskript fra blfs-bootscripts-20251220 pakken.

make install-stunnel

Innhold

Installerte Programmer: stunnel og stunnel3
Installert Bibliotek: libstunnel.so
Installerte Mapper: /{etc,lib,var/lib}/stunnel og /usr/share/doc/stunnel-5.76

Korte Beskrivelser

stunnel

er et program utviklet for å fungere som en SSL krypteringsinnpakning mellom eksterne klienter og lokale eller eksterne servere

stunnel3

er et Perl innpakningsskript for å bruke stunnel 3.x syntaks med stunnel 4.05 eller senere

libstunnel.so

inneholder API funksjonene som kreves av stunnel

Sudo-1.9.17p2

Introduksjon til Sudo

Sudo pakken tillater en systemadministrator å gi visse brukere (eller grupper av brukere) muligheten til å kjøre noen (eller alle) kommandoer som root eller en annen bruker mens kommandoer og argumenter logges.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.sudo.ws/dist/sudo-1.9.17p2.tar.gz

  • Nedlasting MD5 sum: dcbf46f739ae06b076e1a11cbb271a10

  • Nedlastingsstørrelse: 5.2 MB

  • Estimert diskplass som kreves: 54 MB (legg til 10 MB for tester)

  • Estimert byggetid: 0.2 SBU (med parallellitet=4; legg til 0,1 SBU for tester)

Sudo Avhengigheter

Valgfri

Linux-PAM-1.7.2, MIT Kerberos V5-1.22.2, OpenLDAP-2.6.12, MTA (som gir en sendmail kommando), AFS, libaudit, Opie, og Sssd

Installasjon av Sudo

Installer Sudo ved å kjøre følgende kommandoer:

./configure --prefix=/usr         \
            --libexecdir=/usr/lib \
            --with-secure-path    \
            --with-env-editor     \
            --docdir=/usr/share/doc/sudo-1.9.17p2 \
            --with-passprompt="[sudo] password for %p: " &&
make

For å teste resultatene, utsted: env LC_ALL=C make check |& tee make-check.log. Sjekk resultatene med grep failed make-check.log.

Nå, som root bruker:

make install

Parameterforklaringer

--libexecdir=/usr/lib: Denne bryteren kontrollerer hvor private programmer er installert. Alt i den mappen er et bibliotek, så de hører under /usr/lib i stedet for /usr/libexec.

--with-secure-path: Denne bryteren legger transparent til /sbin og /usr/sbin mappene til PATH miljøvariabelen.

--with-env-editor: Denne bryteren muliggjør bruk av miljøvariabel EDITOR for visudo.

--with-passprompt: Denne bryteren angir passordforespørselen. %p utvides til navnet på brukeren hvis passord blir bedt om.

--without-pam: Denne bryteren unngår bygging av Linux-PAM støtte når Linux-PAM er installert på systemet.

--with-all-insults: Denne bryteren inkluderer alle sudo insult sett. Insults skrives ut hvis brukeren skriver en dårlig passord, og hvis aktivert i /etc/sudoers. Bruk --with-insults for å ha dem aktivert som standard. Ulike sett med insults kan velges med noen andre brytere.

Notat

Det er mange alternativer til sudo sin configure kommandoen. Undersøk configure --help utdata for en fullstendig liste.

Konfigurere Sudo

Konfigurasjonsfil

/etc/sudoers

Konfigurasjonsinformasjon

sudoers fil kan være ganske komplisert. Den er sammensatt av to typer oppføringer: aliaser (i utgangspunktet variabler) og brukerspesifikasjoner (som spesifiserer hvem som kan kjøre hva). Installasjonen installerer en standardkonfigurasjon som ikke har noen rettigheter installert for noen bruker.

Et par vanlige konfigurasjonsendringer er å angi banen for superbruker og for å tillate medlemmer av wheel gruppen å utføre alle kommandoer etter å ha oppgitt sin egen legitimasjon. Bruk følgende kommandoer for å lage /etc/sudoers.d/00-sudo konfigurasjonsfilen som root bruker:

cat > /etc/sudoers.d/00-sudo << "EOF"
Defaults secure_path="/usr/sbin:/usr/bin"
%wheel ALL=(ALL) ALL
EOF

Notat

I svært enkle installasjoner hvor det kun er en bruker, kan det være lettere å bare redigere /etc/sudoers filen direkte. I så fall secure_path oppføring er kanskje ikke nødvendig og bruke sudo -E ... kan importer den ikke-privilegerte brukerens fullstendige miljø inn i privilegert økt.

Filene i /etc/sudoers.d mappen analyseres i sortert leksikalsk rekkefølge. Vær forsiktig med at oppføringer i en tillagt fil ikke overskriv tidligere oppføringer.

For detaljer, se man sudoers.

Notat

Sudo utviklere anbefaler på det sterkeste å bruke visudo programmet for å redigere sudoers filen. Dette vil gi grunnleggende tilregnelighetssjekk som syntaksanalyse og filtillatelse for å unngå noen mulige feil som kan føre til en sårbar konfigurasjon.

Hvis PAM er installert på systemet, Sudo er bygget med PAM støtte. Kjør i så fall følgende kommando som root bruker for å opprette PAM konfigurasjonsfil:

cat > /etc/pam.d/sudo << "EOF"
# Begin /etc/pam.d/sudo

# include the default auth settings
auth      include     system-auth

# include the default account settings
account   include     system-account

# Set default environment variables for the service user
session   required    pam_env.so

# include system session defaults
session   include     system-session

# End /etc/pam.d/sudo
EOF
chmod 644 /etc/pam.d/sudo

Innhold

Installerte Programmer: cvtsudoers, sudo, sudo_logsrvd, sudo_sendlog, sudoedit (symbollenke), sudoreplay, og visudo
Installerte Biblioteker: audit_json.so, group_file.so, libsudo_util.so, sudoers.so, sudo_intercept.so, sudo_noexec.so, og system_group.so
Installerte Mapper: /etc/sudoers.d, /usr/lib/sudo, /usr/share/doc/sudo-1.9.17p2, og /var/lib/sudo

Korte Beskrivelser

cvtsudoers

konverterer mellom sudoers filformater

sudo

utfører en kommando som en annen bruker som tillatt av /etc/sudoers konfigurasjonsfil

sudo_logsrvd

er en sudo hendelse og I/O loggserver

sudo_sendlog

sender sudo I/O logger til loggserveren

sudoedit

er en symbolkobling til sudo som innebærer -e alternativet for å påkalle et skriveprogram som en annen bruker

sudoreplay

brukes til å spille av eller vise utdataens logger opprettet av sudo

visudo

gir mulighet for sikrere redigering av sudoers filen

Tripwire-2.4.3.7

Introduksjon til Tripwire

Tripwire pakken inneholder programmer som brukes til å verifisere integriteten til filene på et gitt system.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Tripwire Avhengigheter

Valgfri

MTA

Installasjon av Tripwire

Kompilere Tripwire ved å kjøre følgende kommandoer:

sed -e '/^CLOBBER/s/false/true/'         \
    -e 's|TWDB="${prefix}|TWDB="/var|'   \
    -e '/TWMAN/ s|${prefix}|/usr/share|' \
    -e '/TWDOCS/s|${prefix}/doc/tripwire|/usr/share/doc/tripwire-2.4.3.7|' \
    -i installer/install.cfg                               &&

find . -name Makefile.am | xargs                           \
    sed -i 's/^[[:alpha:]_]*_HEADERS.*=/noinst_HEADERS =/' &&

sed '/dist/d' -i man/man?/Makefile.am                      &&
autoreconf -fi                                             &&

./configure --prefix=/usr --sysconfdir=/etc/tripwire       &&
make CPPFLAGS=-std=c++11

Notat

Standardkonfigurasjonen er å bruke en lokal MTA. Hvis du ikke har en MTA installert og ikke ønsker å installere en, endre install/install.cfg å bruke en SMTP server i stedet. Ellers vil installasjonen mislykkes.

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
cp -v policy/*.txt /usr/share/doc/tripwire-2.4.3.7

Notat

I løpet av make install, flere spørsmål blir spurt, inkludert passord. Hvis du vil lage et skript, må du anvende en sed før du kjører make install:

sed -i -e 's@installer/install.sh@& -n -s <site-password> -l <local-password>@' Makefile

Selvfølgelig bør du gjøre dette med dummy passord og endre dem seinere.

Et annet problem ved skripting er at installasjonsprogrammet avsluttes når standard inngang ikke er en terminal. Du kan deaktivere denne oppførselen med følgende sed:

sed '/-t 0/,+3d' -i installer/install.sh

Parameterforklaringer

sed ... installer/install.cfg: Denne kommandoen forteller pakken å installere programdatabasen og rapporter i /var/lib/tripwire og setter inn riktig plassering for mansider og dokumentasjon.

find ..., sed ..., og autoreconf -fi: Byggesystemet er ubrukelig som det er, og må endres for at byggingen skal lykkes.

CPPFLAGS=-std=c++11: Innstilling av C++ forprosessorens flagg til versjon 11 er nødvendig for å forhindre konflikt med standardversjon som er c++17 i nyere versjon av gcc.

make install: Denne kommandoen oppretter Tripwire sikkerhetsnøkler samt installerer binærfilene. Det er to nøkler: en stedsnøkkel og en lokal nøkkel som er lagret i /etc/tripwire/.

cp -v policy/*.txt /usr/doc/tripwire-2.4.3.7: Denne kommandoen installerer tripwire eksempel regelfiler med den andre tripwire dokumentasjonen.

Konfigurere Tripwire

Konfigurasjonsfiler

/etc/tripwire/*

Konfigurasjonsinformasjon

Tripwire bruker en regelfil til å finne ut hvilke filer som er integritetssjekket. Standard regelfil (/etc/tripwire/twpol.txt) er for en standardinstallasjon og må oppdateres for ditt system.

Regelfiler bør skreddersys til hver enkelt distribusjon og/eller installasjon. Noen eksempler på regelfiler kan finnes i /usr/share/doc/tripwire/.

Hvis ønskelig, kopier regelfilen du vil prøve til /etc/tripwire/ i stedet for å bruke standard regelfil, twpol.txt. Det er imidlertid anbefalt at du redigerer regelfilen. Få ideer fra eksempler ovenfor og les /usr/share/doc/tripwire/policyguide.txt for tilleggsinformasjon. twpol.txt er en god regelfil for å lære om Tripwire da den vil merke eventuelle endringer i filsystemet og til og med kan brukes som en irriterende måte å holde styr på endringer for avinstallering av programvare.

Etter at regelfilen din er redigert til din tilfredshet kan du starte konfigurasjonstrinnene (kjør som root) bruker:

twadmin --create-polfile --site-keyfile /etc/tripwire/site.key \
    /etc/tripwire/twpol.txt &&
tripwire --init

Avhengig av systemet ditt og innholdet i regelfilen, vil initialiseringsfasen ovenfor kan ta relativt lang tid.

Bruksinformasjon

Tripwire vil identifisere filendringer i de kritiske systemfilene som er spesifisert i regelfilen. Bruk av Tripwire mens du gjør hyppige endringer i disse mappene vil flagge alle disse endringene. Det er mest nyttig etter at et system har nådd en konfigurasjon som brukeren vurderer stabil.

Å bruke Tripwire etter å ha opprettet en regelfil for å kjøre en rapport, bruk følgende kommando:

tripwire --check > /etc/tripwire/report.txt

Se utdataene for å sjekke integriteten til filene dine. En automatisk integritetsrapport kan produseres ved å bruke en cron fasilitet for å planlegge kjøringene.

Rapporter lagres binært og om ønskelig kryptert. Se rapporter, som root bruker, med:

twprint --print-report -r /var/lib/tripwire/report/<report-name.twr>

Etter at du har kjørt en integritetssjekk, bør du undersøke rapporten (eller e-posten) og endre deretter Tripwire database for å gjenspeile de endrede filene på systemet ditt. Dette er for at Tripwire vil ikke varsle deg kontinuerlig om filer du har endret med vilje er et sikkerhetsbrudd. Å gjøre dette må du først ls -l /var/lib/tripwire/report/ og legg merke til navnet på den nyeste filen som starter med systemnavnet ditt som presentert av kommandoen uname -n og ender med .twr. Disse filene ble opprettet under rapportoppretting og den nyeste er nødvendig for å oppdatere Tripwire databasen til systemet ditt. Som root bruker, skriv inn følgende kommando og bruk det riktige rapportnavnet:

tripwire --update --twrfile /var/lib/tripwire/report/<report-name.twr>

Du vil bli plassert i Vim med en kopi av rapporten foran deg. Hvis alle endringene var gode, så bare skriv :wq og etter å ha tastet inn din lokale nøkkel, databasen vil bli oppdatert. Hvis det er filer du fortsatt vil bli advart om, fjern 'x' før filnavnet i rapporten og skriv :wq.

Endre regelfilen

Hvis du er misfornøyd med regelfilen din og ønsker å endre den eller bruke en ny, endre regelfilen og utfør deretter følgende kommandoer som root bruker:

twadmin --create-polfile /etc/tripwire/twpol.txt &&
tripwire --init

Innhold

Installerte Programmer: siggen, tripwire, twadmin, og twprint
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/tripwire, /var/lib/tripwire, og /usr/share/doc/tripwire-2.4.3.7

Korte Beskrivelser

siggen

er et signaturinnsamlingsverktøy som viser hash funksjonsverdiene for de angitte filene

tripwire

er hovedprogrammet for kontroll av filintegritet

twadmin

administrativt og verktøy som brukes til å utføre visse administrative funksjoner knyttet til Tripwire filer og konfigurasjons alternativer

twprint

printer Tripwire database- og rapportfiler i klartekstformat

Kapittel 5. Filsystemer og Diskbehandling

Journalføring av filsystemer reduserer tiden det tar å gjenopprette et filsystem som ikke var riktig avmontert. Selv om dette kan være ekstremt viktig i å redusere nedetid for servere, har det også blitt populært for skrivebordsmiljøer. Dette kapittelet inneholder andre journalføringsfilsystemer du kan bruke i stedet for standard LFS utvidet filsystem (ext2/3/4). Det gir også introduksjonsmateriell om administrasjon av diskmatriser.

Om initramfs

Det eneste formålet med en initramfs er å montere root filsystemet. initramfs er et komplett sett med mapper som du finner på et normalt root filsystem. Den er samlet i et enkelt cpio arkiv og komprimert med en av flere komprimeringsalgoritmer.

Ved oppstart laster oppstartslasteren inn kjernen og initramfs bildet inn i minnet og starter kjernen. Kjernen sjekker tilstedeværelsen av initramfs og, hvis funnet, monterer den som / og kjører /init. Init programmet er vanligvis et skallskript. Merk at oppstartsprosessen tar lengre tid, muligens betydelig lengre, hvis en initramfs brukes.

For de fleste distribusjoner er kjernemoduler den største grunnen til å ha en initramfs. I en generell distribusjon er det mange ukjente slikt som filsystemtyper og diskoppsett. På en måte er dette det motsatte av LFS hvor systemkapasiteten og oppsettet er kjent og en tilpasset kjerne er normalt bygget. I denne situasjonen er det sjeldent behov for initramfs.

Det er bare fire primære grunner til å ha en initramfs i et LFS miljø: laste rootfs fra et nettverk, laste det fra et LVM logisk volum, ha en kryptert rootfs der et passord kreves, eller for enkelhets skyld å spesifisere rootfs som en LABEL eller UUID. Hva som helst annet betyr vanligvis at kjernen ikke var riktig konfigurert.

Bygge en initramfs

Hvis du bestemmer deg for å bygge en initramfs, vil følgende skript gi et grunnlag for å gjøre det. Skriptene vil tillate å spesifisere en rootfs via partisjon UUID eller partisjon LABEL eller en rootfs på en LVM logisk volum. De støtter ikke et kryptert rootfilsystem eller montering rootfs over et nettverkskort. For en mer fullstendig funksjon se LFS Hint eller dracut.

For å installere disse skriptene, kjør følgende kommandoer som root bruker:

cat > /usr/sbin/mkinitramfs << "EOF"
#!/bin/bash
# This file based in part on the mkinitramfs script for the LFS LiveCD
# written by Alexander E. Patrakov and Jeremy Huntwork.

copy()
{
  local file

  if [ "$2" = "lib" ]; then
    file=$(PATH=/usr/lib type -p $1)
  else
    file=$(type -p $1)
  fi

  if [ -n "$file" ] ; then
    cp $file $WDIR/usr/$2
  else
    echo "Missing required file: $1 for directory $2"
    rm -rf $WDIR
    exit 1
  fi
}

if [ -z $1 ] ; then
  INITRAMFS_FILE=initrd.img-no-kmods
else
  KERNEL_VERSION=$1
  INITRAMFS_FILE=initrd.img-$KERNEL_VERSION
fi

if [ -n "$KERNEL_VERSION" ] && [ ! -d "/usr/lib/modules/$1" ] ; then
  echo "No modules directory named $1"
  exit 1
fi

printf "Creating $INITRAMFS_FILE... "

binfiles="sh cat cp dd killall ls mkdir mknod mount "
binfiles="$binfiles umount sed sleep ln rm uname"
binfiles="$binfiles readlink basename"

# Systemd installs udevadm in /bin. Other udev implementations have it in /sbin
if [ -x /usr/bin/udevadm ] ; then binfiles="$binfiles udevadm"; fi

sbinfiles="modprobe blkid switch_root"

# Optional files and locations
for f in mdadm mdmon udevd udevadm; do
  if [ -x /usr/sbin/$f ] ; then sbinfiles="$sbinfiles $f"; fi
done

# Add lvm if present (cannot be done with the others because it
# also needs dmsetup
if [ -x /usr/sbin/lvm ] ; then sbinfiles="$sbinfiles lvm dmsetup"; fi

unsorted=$(mktemp /tmp/unsorted.XXXXXXXXXX)

DATADIR=/usr/share/mkinitramfs
INITIN=init.in

# Create a temporary working directory
WDIR=$(mktemp -d /tmp/initrd-work.XXXXXXXXXX)

# Create base directory structure
mkdir -p $WDIR/{dev,run,sys,proc,usr/{bin,lib/{firmware,modules},sbin}}
mkdir -p $WDIR/etc/{modprobe.d,udev/rules.d}
touch $WDIR/etc/modprobe.d/modprobe.conf
ln -s usr/bin  $WDIR/bin
ln -s usr/lib  $WDIR/lib
ln -s usr/sbin $WDIR/sbin
ln -s lib      $WDIR/lib64

# Create necessary device nodes
mknod -m 640 $WDIR/dev/console c 5 1
mknod -m 664 $WDIR/dev/null    c 1 3

# Install the udev configuration files
if [ -f /etc/udev/udev.conf ]; then
  cp /etc/udev/udev.conf $WDIR/etc/udev/udev.conf
fi

for file in $(find /etc/udev/rules.d/ -type f) ; do
  cp $file $WDIR/etc/udev/rules.d
done

# Install any firmware present
cp -a /usr/lib/firmware $WDIR/usr/lib

# Copy the RAID configuration file if present
if [ -f /etc/mdadm.conf ] ; then
  cp /etc/mdadm.conf $WDIR/etc
fi

# Install the init file
install -m0755 $DATADIR/$INITIN $WDIR/init

if [  -n "$KERNEL_VERSION" ] ; then
  if [ -x /usr/bin/kmod ] ; then
    binfiles="$binfiles kmod"
  else
    binfiles="$binfiles lsmod"
    sbinfiles="$sbinfiles insmod"
  fi
fi

# Install basic binaries
for f in $binfiles ; do
  ldd /usr/bin/$f | sed "s/\t//" | cut -d " " -f1 >> $unsorted
  copy /usr/bin/$f bin
done

for f in $sbinfiles ; do
  ldd /usr/sbin/$f | sed "s/\t//" | cut -d " " -f1 >> $unsorted
  copy $f sbin
done

# Add udevd libraries if not in /usr/sbin
if [ -x /usr/lib/udev/udevd ] ; then
  ldd /usr/lib/udev/udevd | sed "s/\t//" | cut -d " " -f1 >> $unsorted
elif [ -x /usr/lib/systemd/systemd-udevd ] ; then
  ldd /usr/lib/systemd/systemd-udevd | sed "s/\t//" | cut -d " " -f1 >> $unsorted
fi

# Add module symlinks if appropriate
if [ -n "$KERNEL_VERSION" ] && [ -x /usr/bin/kmod ] ; then
  ln -s kmod $WDIR/usr/bin/lsmod
  ln -s kmod $WDIR/usr/bin/insmod
fi

# Add lvm symlinks if appropriate
# Also copy the lvm.conf file
if  [ -x /usr/sbin/lvm ] ; then
  ln -s lvm $WDIR/usr/sbin/lvchange
  ln -s lvm $WDIR/usr/sbin/lvrename
  ln -s lvm $WDIR/usr/sbin/lvextend
  ln -s lvm $WDIR/usr/sbin/lvcreate
  ln -s lvm $WDIR/usr/sbin/lvdisplay
  ln -s lvm $WDIR/usr/sbin/lvscan

  ln -s lvm $WDIR/usr/sbin/pvchange
  ln -s lvm $WDIR/usr/sbin/pvck
  ln -s lvm $WDIR/usr/sbin/pvcreate
  ln -s lvm $WDIR/usr/sbin/pvdisplay
  ln -s lvm $WDIR/usr/sbin/pvscan

  ln -s lvm $WDIR/usr/sbin/vgchange
  ln -s lvm $WDIR/usr/sbin/vgcreate
  ln -s lvm $WDIR/usr/sbin/vgscan
  ln -s lvm $WDIR/usr/sbin/vgrename
  ln -s lvm $WDIR/usr/sbin/vgck
  # Conf file(s)
  cp -a /etc/lvm $WDIR/etc
fi

# Install libraries
sort $unsorted | uniq | while read library ; do
# linux-vdso and linux-gate are pseudo libraries and do not correspond to a file
# libsystemd-shared is in /lib/systemd, so it is not found by copy, and
# it is copied below anyway
  if [[ "$library" == linux-vdso.so.1 ]] ||
     [[ "$library" == linux-gate.so.1 ]] ||
     [[ "$library" == libsystemd-shared* ]]; then
    continue
  fi

  copy $library lib
done

if [ -d /usr/lib/udev ]; then
  cp -a /usr/lib/udev $WDIR/usr/lib
fi
if [ -d /usr/lib/systemd ]; then
  cp -a /usr/lib/systemd $WDIR/usr/lib
fi
if [ -d /usr/lib/elogind ]; then
  cp -a /usr/lib/elogind $WDIR/usr/lib
fi

# Install the kernel modules if requested
if [ -n "$KERNEL_VERSION" ]; then
  find \
     /usr/lib/modules/$KERNEL_VERSION/kernel/{crypto,fs,lib}                      \
     /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/{block,ata,nvme,md,firewire} \
     /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/{scsi,message,pcmcia,virtio} \
     /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/usb/{host,storage}           \
     -type f 2> /dev/null | cpio --make-directories -p --quiet $WDIR

  cp /usr/lib/modules/$KERNEL_VERSION/modules.{builtin,order} \
            $WDIR/usr/lib/modules/$KERNEL_VERSION
  if [ -f /usr/lib/modules/$KERNEL_VERSION/modules.builtin.modinfo ]; then
    cp /usr/lib/modules/$KERNEL_VERSION/modules.builtin.modinfo \
            $WDIR/usr/lib/modules/$KERNEL_VERSION
  fi

  depmod -b $WDIR $KERNEL_VERSION
fi

( cd $WDIR ; find . | cpio -o -H newc --quiet | gzip -9 ) > $INITRAMFS_FILE

# Prepare early loading of microcode if available
if ls /usr/lib/firmware/intel-ucode/* >/dev/null 2>&1 ||
   ls /usr/lib/firmware/amd-ucode/*   >/dev/null 2>&1; then

# first empty WDIR to reuse it
  rm -r $WDIR/*

  DSTDIR=$WDIR/kernel/x86/microcode
  mkdir -p $DSTDIR

  if [ -d /usr/lib/firmware/amd-ucode ]; then
    cat /usr/lib/firmware/amd-ucode/microcode_amd*.bin > $DSTDIR/AuthenticAMD.bin
  fi

  if [ -d /usr/lib/firmware/intel-ucode ]; then
    cat /usr/lib/firmware/intel-ucode/* > $DSTDIR/GenuineIntel.bin
  fi

  ( cd $WDIR; find . | cpio -o -H newc --quiet ) > microcode.img
  cat microcode.img $INITRAMFS_FILE > tmpfile
  mv tmpfile $INITRAMFS_FILE
  rm microcode.img
fi

# Remove the temporary directories and files
rm -rf $WDIR $unsorted
printf "done.\n"

EOF

chmod 0755 /usr/sbin/mkinitramfs
mkdir -p /usr/share/mkinitramfs &&
cat > /usr/share/mkinitramfs/init.in << "EOF"
#!/bin/sh

PATH=/usr/bin:/usr/sbin
export PATH

problem()
{
   printf "Encountered a problem!\n\nDropping you to a shell.\n\n"
   sh
}

no_device()
{
   printf "The device %s, which is supposed to contain the\n" $1
   printf "root file system, does not exist.\n"
   printf "Please fix this problem and exit this shell.\n\n"
}

no_mount()
{
   printf "Could not mount device %s\n" $1
   printf "Sleeping forever. Please reboot and fix the kernel command line.\n\n"
   printf "Maybe the device is formatted with an unsupported file system?\n\n"
   printf "Or maybe filesystem type autodetection went wrong, in which case\n"
   printf "you should add the rootfstype=... parameter to the kernel command line.\n\n"
   printf "Available partitions:\n"
}

do_mount_root()
{
   mkdir /.root
   [ -n "$rootflags" ] && rootflags="$rootflags,"
   rootflags="$rootflags$ro"

   case "$root" in
      /dev/*    ) device=$root ;;
      UUID=*    ) eval $root; device="/dev/disk/by-uuid/$UUID" ;;
      PARTUUID=*) eval $root; device="/dev/disk/by-partuuid/$PARTUUID" ;;
      LABEL=*   ) eval $root; device="/dev/disk/by-label/$LABEL" ;;
      ""        ) echo "No root device specified." ; problem ;;
   esac

   while [ ! -b "$device" ] ; do
       no_device $device
       problem
   done

   if ! mount -n -t "$rootfstype" -o "$rootflags" "$device" /.root ; then
       no_mount $device
       cat /proc/partitions
       while true ; do sleep 10000 ; done
   else
       echo "Successfully mounted device $root"
   fi
}

do_try_resume()
{
   case "$resume" in
      UUID=* ) eval $resume; resume="/dev/disk/by-uuid/$UUID"  ;;
      LABEL=*) eval $resume; resume="/dev/disk/by-label/$LABEL" ;;
   esac

   if $noresume || ! [ -b "$resume" ]; then return; fi

   ls -lH "$resume" | ( read x x x x maj min x
       echo -n ${maj%,}:$min > /sys/power/resume )
}

init=/sbin/init
root=
rootdelay=
rootfstype=auto
ro="ro"
rootflags=
device=
resume=
noresume=false

mount -n -t devtmpfs devtmpfs /dev
mount -n -t proc     proc     /proc
mount -n -t sysfs    sysfs    /sys
mount -n -t tmpfs    tmpfs    /run

read -r cmdline < /proc/cmdline

for param in $cmdline ; do
  case $param in
    init=*      ) init=${param#init=}             ;;
    root=*      ) root=${param#root=}             ;;
    rootdelay=* ) rootdelay=${param#rootdelay=}   ;;
    rootfstype=*) rootfstype=${param#rootfstype=} ;;
    rootflags=* ) rootflags=${param#rootflags=}   ;;
    resume=*    ) resume=${param#resume=}         ;;
    noresume    ) noresume=true                   ;;
    ro          ) ro="ro"                         ;;
    rw          ) ro="rw"                         ;;
  esac
done

# udevd location depends on version
if [ -x /sbin/udevd ]; then
  UDEVD=/sbin/udevd
elif [ -x /lib/udev/udevd ]; then
  UDEVD=/lib/udev/udevd
elif [ -x /lib/systemd/systemd-udevd ]; then
  UDEVD=/lib/systemd/systemd-udevd
else
  echo "Cannot find udevd nor systemd-udevd"
  problem
fi

${UDEVD} --daemon --resolve-names=never
udevadm trigger
udevadm settle

if [ -f /etc/mdadm.conf ] ; then mdadm -As                       ; fi
if [ -x /sbin/vgchange  ] ; then /sbin/vgchange -a y > /dev/null ; fi
if [ -n "$rootdelay"    ] ; then sleep "$rootdelay"              ; fi

do_try_resume # This function will not return if resuming from disk
do_mount_root

killall -w ${UDEVD##*/}

exec switch_root /.root "$init" "$@"

EOF

Bruke en initramfs

Påkrevde Kjøretids Avhengigheter

cpio-2.15

Andre Kjøretids Avhengigheter

LVM2-2.03.38 og/eller mdadm-4.4 må installeres før generering av initramfs, hvis systempartisjonen bruker dem.

For å bygge en initramfs, kjør følgende som root bruker:

mkinitramfs [KERNEL VERSION]

Det valgfrie argumentet er mappen der de aktuelle kjernenmodulene er plassert. Dette må være en undermappe av /lib/modules. Hvis ingen moduler er spesifisert, så blir initramfs navngitt initrd.img-no-kmods. Hvis en kjerneversjon er spesifisert, får initrd navnet initrd.img-$KERNEL_VERSION og er bare passende for den spesifiserte kjernen. Utdatafilen vil bli plassert i gjeldende mappe.

Hvis tidlig lasting av mikrokode er nødvendig (se «Mikrokodeoppdateringer for CPUer»), du kan installere passende blob eller beholder i /lib/firmware. Den blir automatisk lagt til initrd når mkinitramfs kjøres.

Etter å ha generert initrd, kopier den til /boot mappen.

Rediger nå /boot/grub/grub.cfg og legg til en ny menyinngang. Nedenfor er flere eksempler.

# Generic initramfs and root fs identified by UUID
menuentry "LFS Dev (LFS-7.0-Feb14) initrd, Linux 3.0.4"
{
  linux  /vmlinuz-3.0.4-lfs-20120214 root=UUID=54b934a9-302d-415e-ac11-4988408eb0a8 ro
  initrd /initrd.img-no-kmods
}
# Generic initramfs and root fs on LVM partition
menuentry "LFS Dev (LFS-7.0-Feb18) initrd lvm, Linux 3.0.4"
{
  linux  /vmlinuz-3.0.4-lfs-20120218 root=/dev/mapper/myroot ro
  initrd /initrd.img-no-kmods
}
# Specific initramfs and root fs identified by LABEL
menuentry "LFS Dev (LFS-7.1-Feb20) initrd label, Linux 3.2.6"
{
  linux  /vmlinuz-3.2.6-lfs71-120220 root=LABEL=lfs71 ro
  initrd /initrd.img-3.2.6-lfs71-120220
}

Til slutt starter du systemet på nytt og velger ønsket system.

btrfs-progs-6.17.1

Introduksjon til btrfs-progs

btrfs-progs pakken inneholder administrasjons- og feilsøkingsverktøy for B-tree filsystemet (btrfs).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Btrfs-progs Avhengigheter

Påkrevd

LZO-2.10

Valgfri

LVM2-2.03.38 (dmsetup brukes i tester), sphinx-9.1.0 og sphinx_rtd_theme-3.1.0 (kreves for å bygge dokumentasjonen), og reiserfsprogs (for tester).

Kjernekonfigurasjon

Aktiver følgende alternativ i kjernekonfigurasjonen og kompiler kjernen på nytt:

File systems --->
  <*/M> Btrfs filesystem support                                      [BTRFS_FS]

I tillegg til ovennevnte og til alternativene som kreves for LVM2-2.03.38, må følgende alternativer være aktivert for å kjøre tester. Alternativene som er merket som tomme bør ikke velges fordi de er for utviklere og får noen tester til å mislykkes.

File systems --->
  <*/M> Btrfs filesystem support                                      [BTRFS_FS]
  [*]     Btrfs POSIX Access Control Lists                  [BTRFS_FS_POSIX_ACL]
  [ ]     Btrfs will run sanity tests upon loading   [BTRFS_FS_RUN_SANITY_TESTS]
  [ ]     Btrfs debugging support                                  [BTRFS_DEBUG]
  [ ]     Btrfs assert support                                    [BTRFS_ASSERT]
  [ ]     Btrfs with the ref verify tool compiled in       [BTRFS_FS_REF_VERIFY]

Installasjon av btrfs-progs

Installer btrfs-progs ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --disable-static        \
            --disable-documentation &&
make

Før du kjører tester, bygg et støtteprogram:

make fssum

Fjern nå en test som er kjent for å mislykkes. Som root:

rm -rf tests/fuzz-tests/010-simple-sb

For å teste resultatene, kjør (som root bruker):

pushd tests
   ./fsck-tests.sh
   ./mkfs-tests.sh
   ./cli-tests.sh
   ./convert-tests.sh
   ./misc-tests.sh
   ./fuzz-tests.sh
popd

Notat

Hvis de ovennevnte kjernealternativene ikke er aktivert, vil noen tester mislykkes, og forhindre at alle gjenværende tester fra å kjøre fordi testens diskbilde ikke er rent avmontert. Pass også på at btrfs kjernemodulen er lastet inn.

Installer pakken som root bruker:

make install

Hvis du har sendt --disable-documentation til configure og du trenger manualsidene, installer dem ved å kjøre, som root bruker:

for i in 5 8; do
   install Documentation/*.$i /usr/share/man/man$i
done

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-documentation: Denne bryteren deaktiverer gjenoppbygging av manuelle sider, fordi det krever sphinx-9.1.0.

Innhold

Installerte Programmer: btrfs, btrfs-convert, btrfs-find-root, btrfs-image, btrfs-map-logical, btrfs-select-super, btrfsck (lenker til btrfs), btrfstune, fsck.btrfs, og mkfs.btrfs
Installerte Biblioteker: libbtrfs.so og libbtrfsutil.so
Installerte Mapper: /usr/include/btrfs

Korte Beskrivelser

btrfs

er hovedgrensesnittet i btrfs filsystemoperasjoner

btrfs-convert

konverterer fra et ext2/3/4 eller reiserfs filsystem til btrfs

btrfs-find-root

er et filter for å finne btrfs root

btrfs-map-logical

kartlegger btrfs logiske utstrekning til fysisk utstrekning

btrfs-select-super

overskriver den primære superblokken med en sikkerhetskopi

btrfstune

justerer ulike filsystemparametere

fsck.btrfs

gjør ingenting, men er tilstede for konsistens med fstab

mkfs.btrfs

oppretter et btrfs filsystem

dosfstools-4.2

Introduksjon til dosfstools

dosfstools pakken inneholder ulike verktøy for bruk med FAT familien av filsystemer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Kjernekonfigurasjon

Aktiver følgende alternativ i kjernekonfigurasjonen og kompiler kjernen på nytt hvis du trenger å montere et FAT familie filsystem:

File systems --->
  DOS/FAT/EXFAT/NT Filesystems --->
    < /*/M> MSDOS fs support                                          [MSDOS_FS]
    <*/M>   VFAT (Windows-95) fs support                               [VFAT_FS]

Merk at CONFIG_MSDOS_FS bevisst ikke støtter lange filnavn. CONFIG_VFAT_FS bør brukes i stedet med mindre du virkelig ønsker å håndheve DOS stilen «8.3» filnavn.

Du kan montere et FAT familie filsystem når kjernen støtter det. Hvis du ikke trenger å opprette, sjekke eller ommerke et FAT familiesystem, kan du hoppe over denne pakken.

Installasjon av dosfstools

Installer dosfstools ved å kjøre følgende kommandoer:

./configure --prefix=/usr            \
            --enable-compat-symlinks \
            --mandir=/usr/share/man  \
            --docdir=/usr/share/doc/dosfstools-4.2 &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-compat-symlinks: Denne bryteren oppretter dosfsck, dosfslabel, fsck.msdos, fsck.vfat, mkdosfs, mkfs.msdos, og mkfs.vfat symbolkoblinger som kreves av enkelte programmer.

Innhold

Installerte Programmer: fatlabel, fsck.fat, og mkfs.fat

Korte Beskrivelser

fatlabel

setter eller henter en MS-DOS filsystemetikett fra en gitt enhet

fsck.fat

sjekker og reparerer MS-DOS filsystemer

mkfs.fat

oppretter et MS-DOS filsystem under Linux

Fuse-3.18.1

Introduksjon til Fuse

FUSE (Filesystem in Userspace) er en enkel grensesnitt for brukerromsprogrammer for å eksportere et virtuelt filsystem til Linux kjernen. Fuse har også som mål å gi en sikker metode for ikke-privilegerte brukere å lage og montere sine egne filsystemimplementeringer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Fuse Avhengigheter

Optional

Doxygen-1.16.1 (for å gjenoppbygge API dokumentasjonen) pytest-9.0.2 (nødvendig for tester) og looseversion (for tester)

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]

Tegnenheter i brukerområdet bør også være aktivert for å kjøre tester:

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]
  <*/M>   Character device in Userspace support                           [CUSE]

Installasjon av Fuse

Installer Fuse ved å kjøre følgende kommandoer:

sed -i '/^udev/,$ s/^/#/' util/meson.build &&

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

API dokumentasjonen er inkludert i pakken, men hvis du har Doxygen-1.16.1 installert og ønsker å bygge det det om, kjør:

pushd .. &&
  doxygen doc/Doxyfile &&
popd

For å teste resultatene, utsted følgende kommandoer (som root bruker):

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install looseversion                      &&
python3 -m pytest
deactivate

pytest-9.0.2 Python modulen er nødvendig for testene. En test navngitt test_cuse vil mislykkes hvis CONFIG_CUSE konfigurasjonselementet ikke ble aktivert når kjernen ble bygget. En test, test/util.py, vil gi en advarsel på grunn av bruken av en ukjent mark i pytest.

Nå, som root bruker:

ninja install                  &&
chmod u+s /usr/bin/fusermount3 &&

cd ..                          &&
cp -Rv doc/html -T /usr/share/doc/fuse-3.18.1 &&
install -v -m644   doc/{README.NFS,kernel.txt} \
                   /usr/share/doc/fuse-3.18.1

Parameterforklaringer

sed ... util/meson.build: Denne kommandoen deaktiverer installasjonen av et oppstartsskript og en udev regel som ikke er nødvendig.

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

--system-site-packages: Tillater at Python3 venv modulen å få tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

Konfigurere fuse

Konfigurasjonsfiler

Noen alternativer angående monteringsregler kan angis i filen /etc/fuse.conf. For å installere filen, kjør følgende kommando som root bruker:

cat > /etc/fuse.conf << "EOF"
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000

# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
#user_allow_other
EOF

Ytterligere informasjon om betydningen av konfigurasjonalternativene finnes på man siden.

Innhold

Installerte Programmer: fusermount3 og mount.fuse3
Installerte Biblioteker: libfuse3.so
Installerte Mapper: /usr/include/fuse3 og /usr/share/doc/fuse-3.18.1

Korte Beskrivelser

fusermount3

er et suid root program for å montere og avmontere Fuse filsystemer

mount.fuse3

er kommandoen mount kaller å montere et Fuse filsystem

libfuse3.so

inneholder FUSE API funksjoner

jfsutils-1.1.15

Introduksjon til jfsutils

jfsutils pakken inneholder administrasjon og feilsøkingsverktøy for jfs filsystemet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere nedlastinger

Kjernekonfigurasjon

Aktiver følgende alternativ i kjernekonfigurasjonen og kompiler kjernen på nytt:

File systems --->
  <*/M> JFS filesystem support                                          [JFS_FS]

Installasjon av jfsutils

Først, fiks noen problemer avdekket av GCC 10 og senere:

patch -Np1 -i ../jfsutils-1.1.15-gcc10_fix-1.patch

Installer jfsutils ved å kjøre følgende kommandoer:

sed -i "/unistd.h/a#include <sys/types.h>"    fscklog/extract.c &&
sed -i "/ioctl.h/a#include <sys/sysmacros.h>" libfs/devices.c   &&

./configure &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sed ...: Fikser bygging med glibc 2.28.

Innhold

Installerte Programmer: fsck.jfs, jfs_debugfs, jfs_fsck, jfs_fscklog, jfs_logdump, jfs_mkfs, jfs_tune, mkfs.jfs
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

fsck.jfs

brukes til å spille av JFS transaksjonsloggen på nytt, sjekk en JFS formatert enhet for feil, og fiks eventuelle feil funnet

jfs_fsck

er en hard link til fsck.jfs

mkfs.jfs

konstruerer et JFS filsystem

jfs_mkfs

er en hard link til mkfs.jfs

jfs_debugfs

er et program som kan brukes til å utføre ulike lavnivå handlinger på en JFS formatert enhet

jfs_fscklog

trekker ut en JFS fsck tjenestelogg til en fil og/eller formater og viser den utpakkede filen

jfs_logdump

dumper innholdet i journalloggen fra den spesifiserte JFS formaterte enheten til utdatafil ./jfslog.dmp

jfs_tune

justerer justerbare filsystemparametere på JFS filsystemer

LVM2-2.03.38

Introduksjon til LVM2

LVM2 pakken er et sett med verktøy som administrerer logiske partisjoner. Det tillater spenning over filsystemer på tvers av flere fysiske disker og diskpartisjoner og sørger for dynamisk vekst eller krymping av logiske partisjoner, speiling og lavt lagringsfotavtrykk av øyeblikksbilder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://sourceware.org/ftp/lvm2/LVM2.2.03.38.tgz

  • Nedlasting MD5 sum: a661c55b5a1fcaa068b9e4a561c35f36

  • Nedlastingsstørrelse: 2.9 MB

  • Estimert diskplass som kreves: 56 MB (legg til opptil 300 MB for midlertidige filer for tester i /tmp mappen)

  • Estimert byggetid: 0.4 SBU (legg til 9 til 48 SBU for tester, avhengig av diskhastighet og alternativer aktivert i kjernen)

LVM2 Avhengigheter

Påkrevd

libaio-0.3.113

Valgfri for tester

btrfs-progs-6.17.1, dosfstools-4.2, jfsutils-1.1.15, mdadm-4.4, parted-3.6, Valgrind-3.26.0, Which-2.23, xfsprogs-6.18.0, reiserfsprogs, thin-provisioning-tools, og vdo

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt:

Notat

Det finnes flere andre alternativer for enhetstilordning i kjernen utover de som er oppført nedenfor. For å få rimelige resultater hvis du kjører regresjonstestene, må alle være aktivert enten internt eller som en modul. Alle testene vil få tidsavbrudd hvis Magic SysRq nøkkelen ikke er aktivert.

I tillegg krever de fleste valgfrie pakkene for tester kjernealternativer som er nødvendige. Hvis de valgfrie pakkene eller kjernealternativene ikke er installert, vil testene bli flagget som enten mislykket eller hoppet over på en inkonsekvent måte.

Device Drivers --->
  [*] Block devices --->                                               [BLK_DEV]
    <*/M> RAM block device support                                 [BLK_DEV_RAM]
  [*] Multiple devices driver support (RAID and LVM) --->                   [MD]
    <*/M> Device mapper support                                     [BLK_DEV_DM]
    <*/M>   Crypt target support                                      [DM_CRYPT]
    <*/M>   Snapshot target                                        [DM_SNAPSHOT]
    <*/M>   Thin provisioning target                      [DM_THIN_PROVISIONING]
    <*/M>   Cache target (EXPERIMENTAL)                               [DM_CACHE]
    <*/M>   Mirror target                                            [DM_MIRROR]
    <*/M>   Zero target                                                [DM_ZERO]
    <*/M>   I/O delaying target                                       [DM_DELAY]

Kernel hacking --->
  Generic Kernel Debugging Instruments --->
    [*] Magic SysRq key                                            [MAGIC_SYSRQ]

Installasjon av LVM2

Installer LVM2 ved å kjøre følgende kommandoer:

PATH+=:/usr/sbin                \
./configure --prefix=/usr       \
            --enable-cmdlib     \
            --enable-pkgconfig  \
            --enable-udev_sync  &&
make

Testene bruker udev for logisk volum synkronisering, så LVM udev reglene og noen verktøy trenger å installeres før testene kjøres. Hvis du installerer LVM2 for første gang, og ikke ønsker å installere hele pakken før du kjører testene, minimum sett med verktøy kan installeres ved å kjøre følgende instruksjoner som root bruker:

make -C tools install_tools_dynamic &&
make -C udev  install               &&
make -C libdm install

For å teste resultatene, kjør, som root bruker:

LC_ALL=en_US.UTF-8 make check_local

Noen tester kan henge. I dette tilfellet kan de hoppes over ved å legge til S=<testname> til make kommandoen. Andre mål er tilgjengelige og kan listes med make -C test help. Testtiden er veldig avhengig av hastigheten til disken(e), og på antall aktiverte kjernealternativer.

Testene implementerer ikke «expected fail» mulighet og noen testfeil forventes av oppstrømsleverandører.

  • De fleste tester vil mislykkes hvis kjernen ikke har alle enhetsdriverne som er oppført ovenfor.

  • Flere feil kan oppstå fordi noen kjernealternativer mangler. For eksempel mangelen på dm-delay enhetskartleggermålet forklarer noen feil.

  • Noen tester kan mislykkes hvis det ikke er nok ledig plass i partisjonen med /tmp mappen. Minst én test mislykkes hvis 16 TB ikke er tilgjengelig.

  • Noen tester er flagget «warned» hvis thin-provisioning-tools ikke er installert. En løsning er å legge til følgende flagg til configure:

     --with-thin-check=    \
     --with-thin-dump=     \
     --with-thin-repair=   \
     --with-thin-restore=  \
     --with-cache-check=   \
     --with-cache-dump=    \
     --with-cache-repair=  \
     --with-cache-restore= \

Noen tester kan henge. De kan fjernes om nødvendig, for eksempel: rm test/shell/lvconvert-raid-reshape.sh. Testene generere mange kjernemeldinger, som kan rote til terminalen din. Du kan deaktivere dem ved å utstede dmesg -D før du kjører testene (ikke glem å utstede dmesg -E når testene er ferdig).

Notat

Kontrollene oppretter enhetsnoder i /tmp mappen. Tester vil mislykkes hvis /tmp er montert med nodev alternativet.

Nå, som root bruker:

make install
rm -fv /usr/lib/udev/rules.d/69-dm-lvm.rules

Parameterforklaringer

PATH+=:/usr/sbin: Stien må inneholde /usr/sbin for riktig systemverktøy påvisning av configure skriptet. Denne instruksen sikrer at PATH er riktig satt selv om du bygger som en uprivilegert bruker.

--enable-cmdlib: Denne bryteren aktiverer bygging av det delte kommandobiblioteket. Det kreves når du bygger hendelsesnissen.

--enable-pkgconfig: Denne bryteren aktiverer installasjon av pkg-config støttefiler.

--enable-udev_sync: Denne bryteren aktiverer synkronisering med Udev prosessering.

--enable-dmeventd: Denne bryteren aktiverer bygging av Device Mapper hendelsesnisse.

rm .../69-dm-lvm.rules: Under visse omstendigheter, denne udev regelen kaller systemd-run, som ikke er tilgjengelig på sysv. Den utfører handlinger som gjøres av en annen oppstartsskript uansett, så det er ikke nødvendig.

Innhold

Installerte Programmer: blkdeactivate, dmeventd (valgfri), dmsetup, fsadm, lvm, lvmdump, og lvm_import_vdo. Det er også mange symbolske lenker til lvm som implementerer spesifikke funksjoner
Installerte Biblioteker: libdevmapper.so og liblvm2cmd.so; valgfri: libdevmapper-event.so, libdevmapper-event-lvm2.so, libdevmapper-event-lvm2mirror.so, libdevmapper-event-lvm2raid.so, libdevmapper-event-lvm2snapshot.so, libdevmapper-event-lvm2thin.so, og libdevmapper-event-lvm2vdo.so
Installerte Mapper: /etc/lvm og /usr/lib/device-mapper (valgfri)

Korte Beskrivelser

blkdeactivate

er et verktøy for å deaktivere blokkenheter

dmeventd

(valgfri) er Device Mapper hendelsesnissen

dmsetup

er et logisk volum styringsverktøy på lavt nivå

fsadm

er et verktøy som brukes til å endre størrelse på eller sjekke filsystemet på en enhet

lvm

gir kommandolinjeverktøy for LVM2. Kommandoer implementeres via symbolske lenker til dette programmet for å administrere fysiske enheter (pv*), volumgrupper (vg*) og logiske volumer (lv*)

lvmdump

er et verktøy som brukes til å dumpe diverse informasjon om LVM2

vgimportclone

brukes til å importere en duplisert VG (f.eks. maskinvare øyeblikksbilde)

libdevmapper.so

inneholder Device Mapper API funksjoner

Om Logisk Volumstyring (LVM)

LVM administrerer diskstasjoner. Den tillater at flere stasjoner og partisjoner blir kombinert til større volumgrupper, bistår i å lage sikkerhetskopier gjennom et øyeblikksbilde, og gir rom for dynamisk volumendring. Det kan også gi speiling tilsvarende et RAID 1 matrise.

En fullstendig diskusjon av LVM er utenfor rammen av denne introduksjonen, men grunnleggende konsepter presenteres nedenfor.

For å kjøre noen av kommandoene som presenteres her, må LVM2-2.03.38 pakken installeres. Alle kommandoer må kjøres som root bruker.

Administrering av disker med lvm utføres ved å bruke følgende konsepter:

fysiske volumer

Dette er fysiske disker eller partisjoner som f.eks /dev/sda3 eller /dev/sdb.

volumgrupper

Disse er navngitte grupper av fysiske volumer som kan manipuleres av administratoren. Antall fysiske volumer som utgjør en volumgruppe er vilkårlige. Fysiske volumer kan dynamisk legges til eller fjernes fra en volumgruppe.

logiske volumer

Volumgrupper kan deles inn i logiske volumer. Hvert logisk volum kan deretter formateres individuelt som om det var en vanlig Linux partisjon. Logiske volumer kan endres dynamisk etter administratorens behov.

For å gi et konkret eksempel, anta at du har to 2 TB disker. Også anta at det kreves veldig mye plass for en veldig stor database, montert på /srv/mysql. Slik vil det første settet med partisjoner se ut:

Partition  Use    Size      Partition Type
/dev/sda1  /boot  100MB     83 (Linux)
/dev/sda2  /       10GB     83 (Linux)
/dev/sda3  swap     2GB     82 (Swap)
/dev/sda4  LVM    remainder 8e (LVM)
/dev/sdb1  swap     2GB     82 (Swap)
/dev/sdb2  LVM    remainder 8e (LVM)

Initialiser først de fysiske volumene:

pvcreate /dev/sda4 /dev/sdb2

Notat

En full disk kan brukes som en del av et fysisk volum, men pass på at pvcreate kommando vil ødelegge all partisjonsinformasjon på den disken.

Deretter oppretter du en volumgruppe med navnet lfs-lvm:

vgcreate lfs-lvm /dev/sda4  /dev/sdb2

Statusen til volumgruppen kan kontrolleres ved å kjøre kommandoen vgscan. Lag nå de logiske volumene. Siden det er ca 3900 GB tilgjengelig, la ca 900 GB være ledig for utvidelse. Merk at det logiske volumet som heter mysql er større enn hvilken som helst fysisk disk.

lvcreate --name mysql --size 2500G lfs-lvm
lvcreate --name home  --size  500G lfs-lvm

Til slutt kan de logiske volumene formateres og monteres. I dette eksempel filsystemet jfs (jfsutils-1.1.15) brukes for demonstrasjonsformål.

mkfs -t ext4 /dev/lfs-lvm/home
mkfs -t jfs  /dev/lfs-lvm/mysql
mount /dev/lfs-lvm/home /home
mkdir -p /srv/mysql
mount /dev/lfs-lvm/mysql /srv/mysql

Det kan være nødvendig å aktivere de logiske volumene, for at de skal vises i /dev. De kan alle aktiveres samtidig ved å kjøre, som root bruker:

vgchange -a y

LFS oppstartsskriptene gjør disse logiske volumene tilgjengelige for systemet i udev skriptet automatisk. Rediger /etc/fstab filen etter behov for å montere dem automatisk.

Et LVM logisk volum kan være vert for et rootfilsystem, men krever bruk av initramfs (opprinnelig RAM filsystem). Initramfs foreslått i «Om initramfs» lar lvm volumet sende inn root= bryteren til kjernekommandolinjen.

For mer informasjon om LVM, se LVM HOWTO og lvm mansidene. En god dybde veiledning er tilgjengelig fra RedHat®, selv om det noen ganger refererer til proprietære verktøy.

Om RAID

Lagringsteknologien kjent som RAID (Redundant Array of Independent Disks) kombinerer flere fysiske disker til en logisk enhet. Stasjonene kan vanligvis kombineres for å gi data redundans eller for å utvide størrelsen på logiske enheter utover funksjonen til de fysiske diskene eller begge deler. Teknologien gir også mulighet for vedlikehold av maskinvare uten å slå av systemet.

Typene RAID organisering er beskrevet i RAID Wiki.

Merk at mens RAID gir beskyttelse mot diskfeil, er det ikke en erstatning for sikkerhetskopiering. En fil slettet er fortsatt slettet på alle diskene i en RAID matrise. Moderne sikkerhetskopier gjøres vanligvis via rsync-3.4.1.

Det er tre hovedtyper av RAID implementering: Maskinvare RAID, BIOS-basert RAID og programvare RAID.

Maskinvare RAID

Maskinvarebasert RAID gir kapasitet gjennom proprietær maskinvare og dataoppsett. Kontrollen og konfigurasjonen er generelt gjort via fastvare i forbindelse med kjørbare programmer gjort tilgjengelig av enhetsprodusenten. Mulighetene leveres vanligvis via et PCI-kort, selv om det er noen forekomster av RAID komponenter integrert i hovedkortet. Hardware RAID kan også være tilgjengelig i et frittstående kabinett.

En fordel med maskinvarebasert RAID er at stasjonene tilbys til operativsystemet som en logisk stasjon og ingen operativsystemavhengig konfigurasjon er nødvendig.

Ulemper inkluderer vanskeligheter med å overføre stasjoner fra ett system til et annet, oppdatere fastvare eller erstatte ødelagt RAID-maskinvare.

BIOS-basert RAID

Noen datamaskiner tilbyr en maskinvarelignende RAID-implementering i system-BIOS. Noen ganger blir dette referert til som "falsk" RAID siden funksjoner vanligvis er integrert i fastvare uten maskinvare akselerasjon.

Fordelene og ulempene med BIOS-basert RAID er generelt det samme som hardware RAID med den ekstra ulempen at det ikke er maskinvareakselerasjon.

I noen tilfeller er BIOS-basert RAID-fastvare aktivert som standard (f.eks. noen DELL systemer). Hvis programvare RAID er ønsket, må dette alternativet være eksplisitt deaktivert i BIOS.

Programvare RAID

Programvarebasert RAID er den mest fleksible formen for RAID. Det er enkelt å installere og oppdatere og gir full kapasitet på alle eller del av alle stasjoner som er tilgjengelige for systemet. I BLFS, RAID-programvaren finnes i mdadm-4.4.

Det er enkelt å konfigurere en RAID enhet mdadm. Vanligvis opprettes enheter i /dev mappen som /dev/mdx hvor x er et heltall.

Det første trinnet i å lage en RAID matrise er å bruke partisjoneringsprogramvare som for eksempel fdisk eller parted-3.6 til å definere partisjonene som trengs for matrisen. Vanligvis vil det være en partisjon på hver stasjon som deltar i RAID matrisen, men det er ikke strengt nødvendig. For dette eksemplet vil det være fire harddisker: /dev/sda, /dev/sdb, /dev/sdc, og /dev/sdd. De vil bli delt opp som følger:

Partition Size     Type                Use
sda1:     100 MB   fd Linux raid auto  /boot    (RAID 1) /dev/md0
sda2:      10 GB   fd Linux raid auto  /        (RAID 1) /dev/md1
sda3:       2 GB   83 Linux swap       swap
sda4      300 GB   fd Linux raid auto  /home    (RAID 5) /dev/md2

sdb1:     100 MB   fd Linux raid auto  /boot    (RAID 1) /dev/md0
sdb2:      10 GB   fd Linux raid auto  /        (RAID 1) /dev/md1
sdb3:       2 GB   83 Linux swap       swap
sdb4      300 GB   fd Linux raid auto  /home    (RAID 5) /dev/md2

sdc1:      12 GB   fd Linux raid auto  /usr/src (RAID 0) /dev/md3
sdc2:     300 GB   fd Linux raid auto  /home    (RAID 5) /dev/md2

sdd1:      12 GB   fd Linux raid auto  /usr/src (RAID 0) /dev/md3
sdd2:     300 GB   fd Linux raid auto  /home    (RAID 5) /dev/md2 

I dette arrangementet opprettes en egen oppstartspartisjon som første RAID matrise og et rootfilsystem som den andre RAID matrisen, begge speilet. Den tredje partisjonen er en stor (omtrent 1 TB) matrise for /home mappen. Dette gir en evne til å stripe data på tvers av flere enheter, og forbedre hastigheten for både lesing og skriving av store filer. Til slutt opprettes en fjerde matrise som kobler sammen to partisjoner til en større enhet.

Notat

Alle mdadm kommandoer må kjøres som root bruker.

For å opprette disse RAID matrisene er kommandoene:

/sbin/mdadm -Cv /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
/sbin/mdadm -Cv /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
/sbin/mdadm -Cv /dev/md3 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1
/sbin/mdadm -Cv /dev/md2 --level=5 --raid-devices=4 \
        /dev/sda4 /dev/sdb4 /dev/sdc2 /dev/sdd2 

Enhetene som er opprettet kan undersøkes enhet for enhet. For eksempel, å se detaljene om /dev/md1, bruk /sbin/mdadm --detail /dev/md1:

        Version : 1.2
  Creation Time : Tue Feb  7 17:08:45 2012
     Raid Level : raid1
     Array Size : 10484664 (10.00 GiB 10.74 GB)
  Used Dev Size : 10484664 (10.00 GiB 10.74 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Tue Feb  7 23:11:53 2012
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : core2-blfs:0  (local to host core2-blfs)
           UUID : fcb944a4:9054aeb2:d987d8fe:a89121f8
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

Fra dette tidspunktet kan partisjonene formateres med filsystemet du velger (f.eks. ext3, ext4, xfsprogs-6.18.0, etc). De formaterte partisjonene kan da bli montert. /etc/fstab filen kan bruke enhetene som er opprettet for montering ved oppstart og linux kommandolinjen i /boot/grub/grub.cfg kan spesifisere root=/dev/md1.

Notat

vekselminnet bør spesifiseres i /etc/fstab filen som normalt. Kjernen striper normalt vekselminnets data på tvers av flere vekselminnefiler og bør ikke lages som del av en RAID matrise.

For ytterligere alternativer og administrasjonsdetaljer for RAID enheter, se man mdadm.

Ytterligere detaljer for å overvåke RAID matriser og håndtere problemer finner du på Linux RAID Wiki.

mdadm-4.4

Introduksjon til mdadm

mdadm pakken inneholder verktøy for å administrere programvare RAID.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

mdadm Avhengigheter

Valgfri

En MTA

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig. Bare de ønskede RAID typene err påkrevd.

Device Drivers --->
  [*] Multiple devices driver support (RAID and LVM) --->                   [MD]
    <*/M>   RAID support                                            [BLK_DEV_MD]
    [*]       Autodetect RAID arrays during kernel boot          [MD_AUTODETECT]
    # Only the RAID types desired are required:
    < /*/M> RAID-0 (striping) mode                                    [MD_RAID0]
    < /*/M> RAID-1 (mirroring) mode                                   [MD_RAID1]
    < /*/M> RAID-10 (mirrored striping) mode                         [MD_RAID10]
    < /*/M> RAID-4/RAID-5/RAID-6 mode                               [MD_RAID456]

Installasjon av mdadm

Rett en byggefeil introdusert av gcc-15::

sed -e "s/__u8 signature\[4\]/& __attribute__ ((nonstring))/" \
    -i platform-intel.h

Bygg mdadm ved å kjøre følgende kommandoer:

make

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make BINDIR=/usr/sbin install

Parameterforklaringer

make everything: Dette valgfrie målet skaper ekstra programmer, spesielt en statisk koblet versjon av mdadm. Disse må installeres manuelt.

Innhold

Installerte Programmer: mdadm og mdmon
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

mdadm

administrerer MD enheter, også kjent som Linux Software RAID

mdmon

overvåker MD eksterne metadatamatriser

ntfs-3g-2022.10.3

Introduksjon til Ntfs-3g

Notat

En ny lese-skrive driver for NTFS, kalt NTFS3, er lagt til inn i Linux kjernen siden 5.15 utgivelsen. Ytelsen til NTFS3 er mye bedre enn ntfs-3g. For å aktivere NTFS3, aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt hvis nødvendig:

File systems --->
  DOS/FAT/EXFAT/NT Filesystems --->
    <*/M> NTFS Read-Write file system support                         [NTFS3_FS]
    # This makes the kernel use NTFS3 when the userspace requests the old
    # read-only NTFS driver:
    <*/M> NTFS file system support                                     [NTFS_FS]

Med kjernestøtten tilgjengelig, er ntfs-3g bare nødvendig hvis du trenger verktøyene fra den (for eksempel for å lage eller sjekke NTFS filsystemer).

Ntfs-3g pakken inneholder en stabil, lese-skrive åpen kildekodedriver for NTFS partisjoner. NTFS partisjoner brukes av de fleste Microsoft operativsystemer. Ntfs-3g lar deg montere NTFS partisjoner i lese-skrivemodus fra Linux systemet. Den bruker FUSE kjernemodul for å kunne implementere NTFS støtte i brukerrom. Pakken inneholder også forskjellige verktøy som er nyttige for å manipulere NTFS partisjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ntfs-3g Avhengigheter

Valgfri

fuse 2.x (dette deaktiverer brukermontering)

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]

Merk at det kun er nødvendig for å montere NTFS partisjoner med ntfs-3g. Hvis du vil bruke NTFS3 driveren i kjernen for å montere NTFS partisjoner (som BLFS redaktørene anbefaler) i stedet, kan du hoppe over dette konfigurasjonselementet.

Installasjon av Ntfs-3g

Installer Ntfs-3g ved å kjøre følgende kommandoer:

./autogen.sh &&

./configure --prefix=/usr        \
            --disable-static     \
            --with-fuse=internal \
            --docdir=/usr/share/doc/ntfs-3g-2022.10.3 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Det anbefales å bruke NTFS3 driveren i kjernen for å montere NTFS filsystemer, i stedet for ntfs-3g (se notatet i begynnelsen av denne siden). Men hvis du vil bruke ntfs-3g for å montere NTFS filsystemer uansett, lag en symbolkobling for mount kommandoen:

ln -svf ../bin/ntfs-3g /usr/sbin/mount.ntfs &&
ln -svf ntfs-3g.8 /usr/share/man/man8/mount.ntfs.8

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-fuse=internal: Denne bryteren dynamisk tvinger ntfs-3g å bruke en intern kopi av fuse-2.x biblioteket. Dette kreves hvis du ønsker å tillate brukere å montere NTFS partisjoner.

--disable-ntfsprogs: Deaktiverer installasjon av diverse verktøy som brukes til å manipulere NTFS partisjoner.

chmod -v 4755 /usr/bin/ntfs-3g: Gjør at mount.ntfs setuid root lar ikke-rootbrukere montere NTFS partisjoner.

Bruke Ntfs-3g

For å montere en Windows partisjon ved oppstart, legg inn en linje som denne i /etc/fstab:

/dev/sda1 /mnt/windows auto defaults 0 0

For å tillate brukere å montere en usb-pinne med et NTFS filsystem på, sett inn en linje som ligner på denne (endre sdc1 til hva en usb-pinne vil være på ditt system) i /etc/fstab:

/dev/sdc1 /mnt/usb auto user,noauto,umask=0,utf8 0 0

For at en bruker skal kunne montere usb-pinnen, trenger de å kunne skrive til /mnt/usb, så som root bruker:

chmod -v 777 /mnt/usb

Innhold

Installerte Programmer: lowntfs-3g, mkfs.ntfs, mkntfs, mount.lowntfs-3g, mount.ntfs, mount.ntfs-3g, ntfs-3g, ntfs-3g.probe, ntfscat, ntfsclone, ntfscluster, ntfscmp, ntfscp, ntfsfix, ntfsinfo, ntfslabel, ntfsls, ntfsresize og ntfsundelete
Installert Bibliotek: libntfs-3g.so
Installerte Mapper: /usr/include/ntfs-3g og /usr/share/doc/ntfs-3g

Korte Beskrivelser

lowntfs-3g

ligner på ntfs-3g, men bruker Fuse grensesnittet på lavt nivå

mkfs.ntfs

er en symbolkobling til mkntfs

mkntfs

oppretter et NTFS filsystem

mount.lowntfs-3g

er en symbolkobling til lowntfs-3g

mount.ntfs

monterer er NTFS filsystem

mount.ntfs-3g

er en symbolkobling til to ntfs-3g

ntfs-3g

er en NTFS driver, som kan opprette, fjerne, gi nytt navn, flytte filer, mapper, harde lenker og strømmer. Den kan også lese og skrive filer, inkludert strømmer, sparsomme filer og transparent komprimerte filer. Den kan også håndtere spesielle filer som symbolske lenker, enheter og FIFOer; dessuten gir det standard administrasjon av fileierskap og tillatelser, inkludert POSIX tilgangskontrollister

ntfs-3g.probe

tester om et NTFS volum kan monteres skrivebeskyttet eller lese-skrive, og avsluttes med en tilsvarende statusverdi. Volumet kan være en blokkenhet eller bildefil

ntfscluster

identifiserer filer i et spesifisert område av et NTFS volum

ntfscp

kopierer en fil til et NTFS volum

ntfsfix

løser vanlige feil og tvinger Windows til å sjekke en NTFS partisjon

ntfsls

viser mappeinnhold på et NTFS filsystem

ntfscat

skriver ut NTFS filer og strømmer på standardutgangen

ntfsclone

kloner et NTFS filsystem

ntfscmp

sammenligner to NTFS filsystemer og viser forskjellene

ntfsinfo

dumper en fils attributter

ntfslabel

viser eller endrer etiketten på et ntfs filsystem

ntfsresize

endrer størrelse på et NTFS filsystem uten tap av data

ntfsundelete

gjenoppretter en slettet fil fra et NTFS volum

libntfs-3g.so

inneholder Ntfs-3g API funksjoner

gptfdisk-1.0.10

Introduksjon til gptfdisk

gptfdisk pakken er et sett med programmer for opprettelse og vedlikehold av GUID Partition Table (GPT) diskstasjoner. En GPT partisjonert disk kreves for stasjoner større enn 2 TB og er en moderne erstatning for eldre PC-BIOS partisjonerte diskstasjoner som bruker en Master Boot Record (MBR). Hovedprogrammet, gdisk, har et grensesnitt som ligner det klassiske fdisk programmet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere nedlastinger

gptfdisk Avhengigheter

Påkrevd

popt-1.19

Valgfri

ICU-78.2

Installasjon av gptfdisk

gptfdisk pakken kommer med en grunnleggende Makefile. Først oppdaterer vi den for å gi et enkelt bygge- og installeringsgrensesnitt og fikse plassering av en deklarasjonsfil og fikse noen mindre plasseringsproblemer. Installer gptfdisk ved å kjøre følgende kommandoer:

patch -Np1 -i ../gptfdisk-1.0.10-convenience-1.patch &&
sed -i 's|ncursesw/||' gptcurses.cc &&
sed -i 's|sbin|usr/sbin|' Makefile  &&

make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

patch -Np1 ...: Denne oppdateringen endrer Makefile filen slik at den gir et «install» mål.

Innhold

Installerte Programmer: cgdisk, gdisk, fixparts, og sgdisk

Korte Beskrivelser

cgdisk

er et ncurses basert verktøy for å manipulere GPT partisjoner

gdisk

er et interaktivt tekstmodusverktøy for å manipulere GPT partisjoner

fixparts

reparerer feilformaterte MBR baserte diskpartisjoner

sgdisk

er et partisjonsmanipuleringsprogram for GPT partisjoner som ligner på sfdisk

parted-3.6

Introduksjon til parted

Parted pakken er et verktøy for diskpartisjonering og endre størrelsen på en partisjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/parted/parted-3.6.tar.xz

  • Nedlasting MD5 sum: 93d2d8f22baebc5eb65b85da05a79e4e

  • Nedlastingsstørrelse: 1.8 MB

  • Estimert diskplass som kreves: 29 MB (ytterligere 3 MB for testene og ytterligere 2 MB for valgfri PDF- og Postscript-dokumentasjon)

  • Estimert byggetid: 0.3 SBU (i tillegg 3,6 SBU for testene)

Parted Avhengigheter

Anbefalt
Valgfri

dosfstools-4.2, texlive-20250308 (eller install-tl-unx), og Digest::CRC (for testene)

Valgfri Kjernekonfigurasjon for Tester

Omtrent 20 % flere tester kjøres hvis følgende kjernemodul er bygget:

Device Drivers --->
  SCSI device support --->
    [*] SCSI low-level drivers --->                              [SCSI_LOWLEVEL]
      <M> SCSI debugging host and device simulator                  [SCSI_DEBUG]

Installasjon av parted

Først må du gjøre pakken kompatibel med gcc-15:

sed -i 's/do_version ()/do_version (PedDevice** dev, PedDisk** diskp)/' parted/parted.c

Installer Parted ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make &&

make -C doc html                                       &&
makeinfo --html      -o doc/html       doc/parted.texi &&
makeinfo --plaintext -o doc/parted.txt doc/parted.texi

Hvis du har texlive-20250308 installert og ønsker å lage PDF og Postscript dokumentasjon kjør følgende kommandoer:

cp build-aux/texinfo.tex doc               &&
texi2pdf -o doc/parted.pdf doc/parted.texi &&
texi2dvi -o doc/parted.dvi doc/parted.texi &&
dvips    -o doc/parted.ps  doc/parted.dvi

For å teste resultatene, utsted, som root bruker:

make check

Notat

Mange tester blir hoppet over hvis de ikke kjøres som root bruker.

Nå, som root bruker:

make install &&
install -v -m755 -d /usr/share/doc/parted-3.6/html &&
install -v -m644    doc/html/* \
                    /usr/share/doc/parted-3.6/html &&
install -v -m644    doc/{FAT,API,parted.{txt,html}} \
                    /usr/share/doc/parted-3.6

Installer den valgfrie PDF- og Postscript-dokumentasjonen ved å kjøre følgende kommando som root bruker:

install -v -m644 doc/FAT doc/API doc/parted.{pdf,ps,dvi} \
                    /usr/share/doc/parted-3.6

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-device-mapper: Dette alternativet deaktiverer støtte for enhetskartlegging. Legg til denne parameteren hvis du ikke har installert LVM2.

Innhold

Installerte Programmer: parted og partprobe
Installerte Biblioteker: libparted.so og libparted-fs-resize.so
Installerte Mapper: /usr/include/parted og /usr/share/doc/parted-3.6

Korte Beskrivelser

parted

er et partisjonsmanipuleringsprogram

partprobe

informerer OS om endringer i partisjonstabellen

libparted.so

inneholder Parted API funksjoner

smartmontools-7.5

Introduksjon til smartmontools

smartmontools pakken inneholder verktøyprogrammer (smartctl, smartd) for å kontrollere/overvåke lagringssystemer ved hjelp av System for selvovervåking, analyse og rapporteringsteknologi (S.M.A.R.T.) innebygd i de fleste moderne ATA- og SCSI-disker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

smartmontools Avhengigheter

Valgfri (kjøretid)

cURL-8.18.0 eller Lynx-2.9.2 eller Wget-1.25.0 (nedlastingsverktøy), og GnuPG-2.5.17 (krypterte harddisker)

Installasjon av smartmontools

Installer smartmontools ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --sysconfdir=/etc       \
            --with-initscriptdir=no \
            --with-libsystemd=no    \
            --docdir=/usr/share/doc/smartmontools-7.5 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--with-initscriptdir=no: Denne bryteren undertrykker standard initialiseringsskript. Se nedenfor for BLFS skriptet.

--with-libsystemd=no: Denne bryteren deaktiverer støtte for sd-notify varslingssystemet levert av systemd.

Konfigurere smartmontools

Konfigurasjonsfil

/etc/smartd.conf

Konfigurasjonsinformasjon

Se de innebygde kommentarene i /etc/smartd.conf for detaljerte instruksjoner om tilpasning av smartd nissen.

Oppstartsskript

Hvis du vil ha smartd nissen til å starte automatisk når systemet startes opp, installer /etc/rc.d/init.d/smartd init skript inkludert i blfs-bootscripts-20251220 pakken.

make install-smartd

Innhold

Installerte Programmer: smartctl, smartd, og update-smart-drivedb
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/smartmontools, /usr/share/doc/smartmontools-7.5, og /etc/smartd_warning.d

Korte Beskrivelser

smartctl

er kontroll- og overvåkingsverktøyet for SMART disker

smartd

er SMART diskovervåkingsnissen

update-smart-drivedb

er oppdateringsverktøyet for smartmontools stasjonsdatabase

sshfs-3.7.5

Introduksjon til Sshfs

Sshfs pakken inneholder en filsystemklient basert på SSH File Transfer Protocol. Dette er nyttig for å montere en ekstern datamaskin som du har ssh tilgang til som et lokalt filsystem. Dette lar deg dra og slippe filer eller kjøre skallkommandoer på de eksterne filene som om de var på din lokale datamaskin.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Sshfs Avhengigheter

Påkrevd

Fuse-3.18.1, GLib-2.86.4, og OpenSSH-10.2p1.

Valgfri

docutils-0.22.4 (kreves for å bygge mansiden)

Installasjon av Sshfs

Installer Sshfs ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Bruke Sshfs

For å montere en ssh server må du kunne logge på serveren. For eksempel for å montere den eksterne hjemmemappen til den lokale ~/eksempelsti (denne mappen må eksistere og du må ha tillatelser for å skrive til den):

sshfs eksempel.no:/home/userid ~/eksempelsti

Når du er ferdig med arbeidet og vil demontere den igjen:

fusermount3 -u ~/eksempel

Du kan også montere et sshfs filsystem ved oppstart ved å legge til en oppføring som ligner på følgende i /etc/fstab filen:

userid@eksempel.no:/path /media/path fuse.sshfs _netdev,IdentityFile=/home/userid/.ssh/id_rsa 0 0

Se man 1 sshfs og man 8 mount.fuse3 for alle tilgjengelige monteringsalternativer.

Innhold

Installert Program: sshfs
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

sshfs

monterer en ssh server som et lokalt filsystem

xfsprogs-6.18.0

Introduksjon til xfsprogs

xfsprogs pakken inneholder administrasjons- og feilsøkingsverktøy for XFS filsystemet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xfsprogs Avhengigheter

Påkrevd

inih-62 og liburcu-0.15.6

Valgfri

ICU-78.2 (for unicode navneskanning i xfs_scrub)

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt:

File systems --->
  <*/M> XFS filesystem support                                          [XFS_FS]

Installasjon av xfsprogs

Installer xfsprogs ved å kjøre følgende kommandoer:

make DEBUG=-DNDEBUG     \
     INSTALL_USER=root  \
     INSTALL_GROUP=root \
     LOCAL_CONFIGURE_OPTIONS="--localstatedir=/var"

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PKG_DOC_DIR=/usr/share/doc/xfsprogs-6.18.0 install     &&
make PKG_DOC_DIR=/usr/share/doc/xfsprogs-6.18.0 install-dev &&

rm -rfv /usr/lib/libhandle.{a,la}

Parameterforklaringer

DEBUG=-DNDEBUG: Slår av feilsøkingssymboler.

INSTALL_USER=root INSTALL_GROUP=root: Dette angir eieren og gruppen av de installerte filene.

LOCAL_CONFIGURE_OPTIONS="--localstatedir=/var": Dette setter tilstandsmappen til /var, som forhindrer at /usr/var blir opprettet.

OPTIMIZER="...": Legge denne parameteren til slutten av make kommandoen overstyrer standard optimaliseringsinnstillinger.

Innhold

Installerte Programmer: fsck.xfs, mkfs.xfs, xfs_admin, xfs_bmap, xfs_copy, xfs_db, xfs_estimate, xfs_freeze, xfs_fsr, xfs_growfs, xfs_info, xfs_io, xfs_logprint, xfs_mdrestore, xfs_metadump, xfs_mkfile, xfs_ncheck, xfs_property, xfs_protofile, xfs_quota, xfs_repair, xfs_rtcp, xfs_scrub, xfs_scrub_all, og xfs_spaceman
Installerte Biblioteker: libhandle.so
Installerte Mapper: /usr/include/xfs, /usr/lib/xfsprogs, /usr/share/xfsprogs, og /usr/share/doc/xfsprogs-6.18.0

Korte Beskrivelser

fsck.xfs

avsluttes ganske enkelt med nullstatus, siden XFS partisjoner kontrolleres ved montering

mkfs.xfs

konstruerer et XFS filsystem

xfs_admin

endrer parametrene til et XFS filsystem

xfs_bmap

skriver ut blokkkartlegging for en XFS fil

xfs_copy

kopierer innholdet i et XFS filsystem til ett eller flere mål parallelt

xfs_estimate

for hvert mappeargument, estimerer plassen den mappen ville tatt hvis den ble kopiert til et XFS filsystem (krysser ikke monteringspunkter)

xfs_db

brukes til å feilsøke et XFS filsystem

xfs_freeze

suspenderer tilgang til et XFS filsystem

xfs_fsr

gjelder kun for XFS filsystemer, forbedrer organiseringen av monterte filsystemer, opererer omorganiseringsalgoritmen på en fil om gangen, komprimere eller på annen måte forbedre utformingen av filomfang (sammenhengende blokker med fildata)

xfs_growfs

utvider et XFS filsystem

xfs_info

tilsvarer å påberope xfs_growfs, men spesifisere at ingen endring i filsystemet skal gjøres

xfs_io

er et feilsøkingsverktøy som xfs_db, men er rettet mot å undersøke den vanlige I/O banen for filen i stedet for det rå XFS volumet

xfs_logprint

skriver ut loggen til et XFS filsystem

xfs_mdrestore

gjenoppretter et XFS metadumpbilde til et filsystembilde

xfs_metadump

kopierer XFS filsystemmetadata til en fil

xfs_mkfile

oppretter en XFS fil, polstret med nuller som standard

xfs_ncheck

genererer banenavn fra inodenumre for et XFS filsystem

xfs_property

undersøker og redigerer egenskaper for XFS filsystem

xfs_protofile

oppretter en protofil for bruk med mkfs.xfs

xfs_quota

er et verktøy for rapportering og redigering av ulike aspekter ved filsystemkvoter

xfs_repair

reparerer korrupte eller skadede XFS filsystemer

xfs_rtcp

kopierer en fil til sanntidspartisjonen på et XFS filsystem

xfs_scrub

sjekker og reparerer innholdet i en montert XFS filsystem

xfs_scrub_all

skrubber alle monterte XFS filsystemer

xfs_spaceman

rapporterer og kontrollerer ledig plassbruk i et XFS filsystem

libhandle.so

inneholder XFS spesifikke funksjoner som gir en måte å utføre visse filsystemoperasjoner uten å bruke en filbeskrivelse for tilgang til filsystemobjekter

Pakker for UEFI oppstart

efivar-39

Introduksjon til efivar

efivar pakken gir verktøy og biblioteker for å manipulere EFI variabler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

efivar Avhengigheter

Valgfri

mandoc (for manualsidene til efisecdb)

Installasjon av

Notat

Denne pakken kan ikke fungere ordentlig på et 32-bitssystem med en 64-biters UEFI implementering. Ikke installer denne pakken (eller efibootmgr) på 32-bits system med mindre du er helt sikker på at du har en 32-biters UEFI implementering, som er svært sjelden i praksis.

Bygg efivar med følgende kommandoer:

make ENABLE_DOCS=0

Testpakken til denne pakken er farlig. Å kjøre den kan utløse fastvarefeil og gjøre systemet ditt ubrukelig uten å bruke en spesielle maskinvare for å omprogrammere fastvaren.

Nå, som root bruker:

make install ENABLE_DOCS=0 LIBDIR=/usr/lib

For å unngå en hard avhengighet av mandoc bruker vi ENABLE_DOCS=0, men det forårsaker alle manualsidene blir hoppet over av installasjonen selv om de fleste faktisk ikke trenger mandoc. Fortsatt som root bruker, installer disse manualsidene:

install -vm644 docs/efivar.1 /usr/share/man/man1 &&
install -vm644 docs/*.3      /usr/share/man/man3

Parameterforklaringer

ENABLE_DOCS=0: Deaktiver generering av manualsider, for å tillate å bygge denne pakken uten mandoc installert.

LIBDIR=/usr/lib: Dette alternativet overstyrer standard bibliotekmappe for pakken (/usr/lib64, som ikke brukes av LFS).

Innhold

Installerte Programmer: efisecdb og efivar
Installerte Biblioteker: libefiboot.so, libefisec.so, og libefivar.so
Installerte Mapper: /usr/include/efivar

Korte Beskrivelser

efisecdb

er et verktøy for å administrere UEFI signaturlister

efivar

er et verktøy for å manipulere UEFI variabler

libefiboot.so

er et bibliotek som brukes av efibootmgr

libefisec.so

er et bibliotek for å administrere UEFI signaturlister

libefivar.so

er et bibliotek for manipulering av EFI variabler

efibootmgr-18

Introduksjon til

efibootmgr pakken gir verktøy og biblioteker for å manipulere EFI variabler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

efibootmgr Avhengigheter

Påkrevd

efivar-39 og popt-1.19

Installasjon av efibootmgr

Bygg efibootmgr med følgende kommandoer:

make EFIDIR=LFS EFI_LOADER=grubx64.efi

Denne pakken har ikke en testpakke.

Nå, som root bruker:

make install EFIDIR=LFS

Parameterforklaringer

EFIDIR=LFS: Dette alternativet spesifiserer distroens undermappenavn under /boot/efi/EFI. Byggesystemet til denne pakken trenger at det angis eksplisitt.

EFI_LOADER=grubx64.efi: Dette alternativet spesifiserer navnet på standard EFI oppstartslasteren. Det er satt til å samsvare EFI oppstartslasteren levert av GRUB.

Innhold

Installerte Programmer: efibootdump og efibootmgr

Short Descriptions

efibootdump

er et verktøy for å vise individuelle UEFI oppstartsalternativer, fra en fil eller en UEFI variabel

efibootmgr

er et verktøy for å manipulere UEFI Oppstartsbehandler

GRUB-2.14 for EFI

Introduksjon til GRUB

GRUB pakken gir GRand Unified Bootloader. På denne siden vil den bygges med UEFI støtte, som ikke er aktivert for GRUB innebygd i LFS.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/grub/grub-2.14.tar.xz

  • Nedlasting MD5 sum: 383f9effad01c235d2535357ff717543

  • Nedlastingsstørrelse: 7.4 MB

  • Estimert diskplass som kreves: 176 MB (med valgfrie avhengigheter og nedlasting)

  • Estimert byggetid: 1.0 SBU

Ytterligere nedlastinger

Valgfri Unicode skriftdata for GRUB menyen (bare nyttig hvis FreeType er installert)

GRUB Avhengigheter

Anbefalt
Valgfri

FreeType-2.14.1, Fuse-3.18.1, og LVM2-2.03.38

Hvis du bygger GRUB for et 32-biters LFS system for å starte det på en 64-biters UEFI fastvare, gjenoppbygg GCC-15.2.0 med --enable-targets=all bryteren lagt til ../configure kommandoen.

Installasjon av GRUB

Installer først skriftdata som root bruker hvis du har lastet det ned og du har installert den valgfrie avhengigheten FreeType-2.14.1:

mkdir -pv /usr/share/fonts/unifont &&
zcat ../unifont-17.0.01.pcf.gz > /usr/share/fonts/unifont/unifont.pcf

Advarsel

Fjern eventuelle miljøvariabler som kan påvirke byggingen:

unset {C,CPP,CXX,LD}FLAGS

Ikke prøv å «tilpasse» denne pakken med tilpassete kompilasjonsflagg: denne pakken er en oppstartslaster, med lav nivå operasjoner i kildekoden som sannsynligvis vil bli ødelagt av aggressive optimaliseringer.

Bygg GRUB med følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --disable-efiemu     \
            --with-platform=efi  \
            --target=x86_64      \
            --disable-werror     &&
make

Denne pakken har ikke en testpakke som gir meningsfulle resultater.

Nå, hvis du har hoppet over LFS GRUB pakken, som root bruker, installer GRUB og hopp over de resterende instruksjonene i denne delen:

make install &&
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions

Hvis du ikke har hoppet over LFS GRUB pakken, som root bruker, installer bare komponentene som ikke er installert fra LFS GRUB pakken i stedet:

make -C grub-core install

Hvis du har installert de valgfrie skriftdataene og FreeType-2.14.1, installer grub-mkfont programmet og skriftdatafilene (uten skriftdatafilene kan GRUB fortsatt fungere normalt, men oppstartsmenyen vil vises med en grov skrift eller i en mindre område på skjermen).

install -vm755 grub-mkfont /usr/bin/ &&
install -vm644 ascii.h widthspec.h *.pf2 /usr/share/grub/

Hvis både Fuse-3.18.1 og LVM2-2.03.38 er installert, installer også grub-mount programmet:

install -vm755 grub-mount /usr/bin/

Parameterforklaringer

--with-platform=efi: Sikrer å bygge GRUB med EFI aktivert.

--target=x86_64: Sikrer at GRUB bygges for x86_64 selv om du bygger på et 32-bits LFS system. De fleste EFI fastvare på x86_64 støtter ikke 32-biters oppstartslastere.

--target=i386: Noen få 32-bits x86 plattformer har EFI støtte. Og noen x86_64 plattformer har en 32-biters EFI implementering, men de er veldig gamle og sjeldne. Bruk dette i stedet for --target=x86_64 hvis du er helt sikker på at LFS kjører på et slikt system.

Konfigurere GRUB

Å bruke GRUB for å gjøre LFS systemet oppstartbart på UEFI plattformen vil bli diskutert i Bruke GRUB til å sette opp oppstartsprosessen med UEFI.

Innhold

En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/development/chapter08/grub.html#contents-gRUB.

Listet nedenfor er de nylig installerte programmene sammen med korte beskrivelser.

Installerte Programmer: grub-mkfont and grub-mount (optional)
Installerte Mapper: /usr/lib/grub/x86_64-efi

Korte Beskrivelser

grub-mkfont

konverterer vanlige fontfilformater til PF2

grub-mount

er et feilsøkingsverktøy for filsystemdriver

Bruke GRUB til å sette opp oppstartsprosessen med UEFI

Slå Av Sikker Oppstart

BLFS har ikke de nødvendige pakkene for å støtte Sikker Oppstart. Til å sette opp oppstartsprosessen med GRUB og UEFI i BLFS, Sikker Oppstart må slås av fra konfigurasjonsgrensesnittet til fastvaren. Les dokumentasjonen fra produsenten av dtt system for å finne ut hvordan.

Kjernekonfigurasjon for UEFI støtte

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

Processor type and features --->
  [*] EFI runtime service support                                          [EFI]
  [*]   EFI stub support                                              [EFI_STUB]

-*- Enable the block layer --->                                          [BLOCK]
  Partition Types --->
    [ /*] Advanced partition selection                      [PARTITION_ADVANCED]
    [*]     EFI GUID Partition support                           [EFI_PARTITION]

File systems --->
  DOS/FAT/EXFAT/NT Filesystems --->
    <*/M> VFAT (Windows-95) fs support                                 [VFAT_FS]
  Pseudo filesystems --->
    <*/M> EFI Variable filesystem                                    [EFIVAR_FS]
  -*- Native language support --->                                         [NLS]
    <*/M> Codepage 437 (United States, Canada)                [NLS_CODEPAGE_437]
    <*/M> NLS ISO 8859-1  (Latin 1; Western European Languages)  [NLS_ISO8859_1]

Betydningen av konfigurasjonsalternativene:

CONFIG_PARTITION_ADVANCED

Hvis det ikke er aktivert, CONFIG_EFI_PARTITION vil bli aktivert automatisk. Men når den er aktivert, må du stille inn CONFIG_EFI_PARTITION til å aktiveres også.

Opprett en Nødoppstartsdiskett

Sørg for at en nødoppstartsdiskett er klar til å «redde» systemet i tilfelle systemet blir uoppstartbart. Å lage en nødoppstartsdisk med GRUB for et EFI basert system, finn en ekstra USB flashstasjon og opprett et vfat filsystemet på den. Installer dosfstools-4.2 først, som root bruker:

Advarsel

Følgende kommando vil slette alle mapper og filer på partisjonen. Sørg for at USB flashstasjonen ikke inneholder data som du trenger, og endre sdx1 til enhetsnoden som tilsvarer den første partisjonen til USB flashstasjonen. Vær forsiktig så du ikke overskriver harddisken med en skrivefeil!

mkfs.vfat /dev/sdx1

Fortsatt som root bruker, bruk fdisk verktøyet for å sette den første partisjonen av USB flashstasjonen til å være en «EFI system» partisjon (endre sdx til enhetsnoden tilsvarende til USB flashstasjonen):

fdisk /dev/sdx

Welcome to fdisk (util-linux 2.39.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): t
Partition number (1-9, default 9): 1
Partition type or alias (type L to list all): uefi
Changed type of partition 'Linux filesystem' to 'EFI System'.

Command (m for help): w
The partition table has been altered.
Syncing disks.

Fortsatt som root bruker, opprette et monteringspunkt for EFI partisjonen på USB flashstasjonen og monter den:

mount --mkdir -v -t vfat /dev/sdx1 -o codepage=437,iocharset=iso8859-1 /mnt/rescue

Installer GRUB for EFI på partisjonen:

grub-install --target=x86_64-efi --removable \
             --efi-directory=/mnt/rescue --boot-directory=/mnt/rescue

Avmonter partisjonen:

umount /mnt/rescue

Nå kan USB flashstasjonen brukes som en nødoppstartsdisk på hvilken som helst x86-64 UEFI plattform. For å lære hvordan du velger denne flashstasjonen som oppstartsenhet. les bruksanvisningen til hovedkortet eller den bærbare datamaskinen. Det vil starte opp systemet og vise GRUB skallet. Så du kan skrive kommandoer for å starte operativsystemet fra harddisken.

Finn eller Opprett EFI Systempartisjonen

På EFI baserte systemer er oppstartslastere installert i en spesiell FAT32 partisjon kalt EFI System Partition (ESP). Hvis systemet ditt støtter EFI, og en nyere versjon av en Linux distribusjon eller Windows er forhåndsinstallert, er det sannsynlig at ESP allerede er opprettet. Som root bruker, list opp alle partisjoner på harddisken (erstatt sda med enheten som tilsvarer den aktuelle harddisken):

fdisk -l /dev/sda

The «Type» kolonnen i ESP skal være EFI System.

Hvis systemet eller harddisken er ny, eller det er den første installasjon av et UEFI oppstartet OS på systemet, kan det hende at ESP ikke eksisterer. Installer i så fall dosfstools-4.2 først. Deretter oppretter du en ny partisjon, lag et vfat filsystem på den, og sett partisjonstypen til «EFI system.» Se instruksjoner for nødoppstartsenheten ovenfor som referanse.

Advarsel

Noen (gamle) UEFI implementeringer kan kreve at ESP er den første partisjon på disken.

Nå, som root bruker, lag monteringspunktet for ESP, og monter det (erstatt sda1 med enhetsnoden som tilsvarer ESP):

mount --mkdir -v -t vfat /dev/sda1 -o codepage=437,iocharset=iso8859-1 /boot/efi

Hvis du vil montere ESP automatisk under systemoppstart, som root bruker, legg til en oppføring for ESP i /etc/fstab:

cat >> /etc/fstab << EOF
/dev/sda1 /boot/efi vfat codepage=437,iocharset=iso8859-1 0 1
EOF

Minimal Oppstartskonfigurasjon med GRUB og EFI

På UEFI baserte systemer fungerer GRUB ved å installere en EFI applikasjon (en spesiell type kjørbar) inn i ESP. EFI fastvaren vil søke oppstartslastere i EFI applikasjoner fra registrerte oppstartsoppføringer i EFI variabler, og i tillegg en hardkodet bane EFI/BOOT/BOOTX64.EFI. Vanligvis en oppstartslaster som skal installeres i en tilpasset bane, og banen skal registreres i EFI variablene. Bruken av den hardkodede banen bør unngås hvis mulig. Men i noen tilfeller må vi bruke den hardkodede banen:

  • Systemet er ikke oppstartet med EFI ennå, noe som gjør EFI variabler utilgjengelig.

  • EFI fastvaren er 64-bit, men LFS-systemet er 32-bit, noe som gjør EFI variabler utilgjengelige fordi kjernen ikke kan påkalle EFI kjøretidstjenester med en annen virtuell adresselengde.

  • LFS er bygget for en Live USB, så vi kan ikke stole på EFI variabler, som er lagret i NVRAM eller EEPROM på den lokale maskinen.

  • Du er ikke i stand til eller vil ikke installere efibootmgr for å manipulere oppstartsoppføringer i EFI variabler.

I disse tilfellene, følg disse instruksjonene for å installere GRUB EFI applikasjonen inn i den hardkodede banen og lag en minimal oppstartskonfigurasjon. Ellers er det bedre å gå videre og sette opp oppstartskonfigurasjon normalt.

For å installere GRUB med EFI applikasjonen i den hardkodede banen EFI/BOOT/BOOTX64.EFI, sørg først for at oppstartspartisjonen er montert som /boot og ESP er montert som /boot/efi. Deretter, som root bruker, kjør kommandoen:

Notat

Denne kommandoen vil overskrive /boot/efi/EFI/BOOT/BOOTX64.EFI. Det kan ødelegge en oppstartslaster allerede installert der. Sikkerhetskopier den hvis du ikke er sikker.

grub-install --target=x86_64-efi --removable

Denne kommandoen vil installere GRUB EFI applikasjonen i den hardkodede banen /boot/efi/EFI/BOOT/BOOTX64.EFI, så EFI fastvaren kan finne og laste den. De resterende GRUB filene er installert i /boot/grub mappen og vil bli lastet av BOOTX64.EFI under systemoppstart.

Notat

EFI fastvaren foretrekker vanligvis EFI applikasjonene med en bane lagret i EFI variabler til EFI applikasjon på den hardkodede banen. Så du må kanskje påkalle oppstartsmeny eller fastvareinnstillingsgrensesnitt for å velge den nyinstallert GRUB manuelt ved neste oppstart. Les manualen til hovedkortet eller den bærbare datamaskinen for å lære hvordan.

Hvis du har fulgt instruksjonene i denne delen og satt opp en minimal oppstartskonfigurasjon, hopp nå videre til seksjonen Opprette GRUB Konfigurasjonsfilen.

Monter EFI Variabelt Filsystem

Installasjonen av GRUB på en UEFI plattform krever at et EFI variabelt filsystem, efivarfs, er montert. Som root bruker, monter det hvis det ikke allerede er montert:

mountpoint /sys/firmware/efi/efivars || mount -v -t efivarfs efivarfs /sys/firmware/efi/efivars

Legg nå til en oppføring for efivarfs i /etc/fstab så den monteres automatisk under systemoppstart:

cat >> /etc/fstab << EOF
efivarfs /sys/firmware/efi/efivars efivarfs defaults 0 0
EOF

Advarsel

Hvis systemet ikke er startet opp med UEFI, vil mappen /sys/firmware/efi mangle. I dette tilfellet bør du starte systemet i UEFI modus med nødoppstartsdisken eller ved å bruke en minimal oppstartskonfigurasjon opprettet som over, og monter deretter efivarfs og fortsett.

Sette Opp Konfigurasjonen

På UEFI baserte systemer fungerer GRUB ved å installere en EFI applikasjon (en spesiell type kjørbar) i /boot/efi/EFI/[id]/grubx64.efi, hvor /boot/efi er monteringspunktet til ESP, og [id] erstattes med en identifikator spesifisert i grub-install kommandolinjen. GRUB vil opprette en oppføring i EFI variablene som inneholder banen EFI/[id]/grubx64.efi så EFI fastvaren kan finne grubx64.efi og laste den.

grubx64.efi er veldig lite (136 KB med GRUB-2.06), så den vil ikke bruke mye plass i ESP. En typisk ESP størrelse er 100 MB (for Windows oppstartsbehandler, som bruker omtrent 50 MB i ESP). Med en gang grubx64.efi har blitt lastet av fastvare, vil den laste GRUB moduler fra oppstartspartisjonen. Standardplasseringen er /boot/grub.

Som root bruker, installer GRUB filer i /boot/efi/EFI/LFS/grubx64.efi og /boot/grub. Sett deretter opp oppstartsoppføringer i EFI variablene:

grub-install --bootloader-id=LFS --recheck

Hvis installasjonen er vellykket, bør utdataen være:

Installing for x86_64-efi platform.
Installation finished. No error reported.

Kjør efibootmgr | cut -f 1 kommandoen for å kontrollere EFI oppstarskonfigurasjonen på nytt. Et eksempel på utdataen er:

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0005,0000,0002,0001,0003,0004
Boot0000* ARCH
Boot0001* UEFI:CD/DVD Drive
Boot0002* Windows Boot Manager
Boot0003* UEFI:Removable Device
Boot0004* UEFI:Network Device
Boot0005* LFS

Merk at 0005 er den første i BootOrder, og Boot0005 er LFS. Dette betyr at på neste oppstart, vil versjonen av GRUB installert av LFS bli brukt til å starte opp systemet.

Opprette GRUB Konfigurasjonsfilen

Generer /boot/grub/grub.cfg for å konfigurere oppstartsmenyen for GRUB:

cat > /boot/grub/grub.cfg << EOF
# Begin /boot/grub/grub.cfg
set default=0
set timeout=5

insmod part_gpt
insmod ext2
set root=(hd0,2)

insmod efi_gop
insmod efi_uga
if loadfont /boot/grub/fonts/unicode.pf2; then
  terminal_output gfxterm
fi

menuentry "GNU/Linux, Linux 6.16.1-lfs-12.4" {
  linux   /boot/vmlinuz-6.16.1-lfs-12.4 root=/dev/sda2 ro
}

menuentry "Firmware Setup" {
  fwsetup
}
EOF

Referer til LFS boken for grunnleggende kunnskap om grub.cfg filen. (hd0,2), sda2, og 6.16.1-lfs-12.4 må stemme overens med din konfigurasjon.

insmod efi_gop og insmod efi_uga direktiver laster to moduler for EFI basert videostøtte. På de fleste systemer er efi_gop modulen nok. efi_uga modulen er bare nyttig for eldre systemer, men det er ufarlig å laste den uansett. Videostøtten er nødvendig for at terminal_output gfxterm direktivet egentlig skal virke.

terminal_output gfxterm direktivet endrer skjermoppløsningen til GRUB menyen for å matche skjermenheten din. Det vil bryte gjengivelsen hvis unicode.pf2 fontdatafilen ikke er lastet inn, så den er beskyttet av et if direktiv.

Notat

Fra GRUB sitt perspektiv er filene i forhold til partisjonene brukt. Hvis du brukte en separat /bootpartisjon, fjern /boot fra overstående stier (til kjernen og til unicode.pf2). Du må også endre "set root" linjen for å peke til oppstartspartisjonen.

Fastvareoppsett oppføringen (fwsetup) kan brukes til å gå inn i konfigurasjonsgrensesnittet som leveres av systemets fastvare (noen ganger kalt «BIOS konfigurasjon»).

Oppstart sammen med Windows

Legg til en menyoppføring for Windows i grub.cfg:

cat >> /boot/grub/grub.cfg << EOF
# Begin Windows addition

menuentry "Windows 11" {
  insmod fat
  insmod chain
  set root=(hd0,1)
  chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
EOF

(hd0,1) bør erstattes med det GRUB utpekte navnet for ESP. chainloader direktivet kan brukes til å fortelle GRUB om å kjøre en annen EFI kjørbar, i dette tilfellet Windows Boot Manager. Du kan bruke mer brukbare verktøy i EFI kjørbart format (for eksempel et EFI skall) inn i ESP og lage GRUB oppføringer for dem også.

Kapittel 6. Redigeringsprogrammer

Dette kapittelet er referert i LFS boken for de som ønsker å bruke andre skriveprogrammer på deres LFS system. Du blir også vist hvordan noen LFS installerte programmer drar nytte av å bli rekompilert etter at GUI biblioteker har blitt installert.

Bluefish-2.4.0

Introduksjon til Bluefish

Bluefish er en GTK+ tekstredigerer rettet mot programmerere og webdesignere, med mange muligheter for å skrive nettsider, skript og programmeringskode. Bluefish støtter mange programmerings- og markup-språk, og den fokuserer på redigering av dynamiske og interaktive nettsider.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Bluefish Avhengigheter

Påkrevd

GTK-3.24.51

Anbefalt
Valgfri

enchant-2.8.14 (for stavekontroll), Gucharmap-17.0.1, og Jing

Installasjon av Bluefish

Installer Bluefish ved å kjøre følgende kommandoer:

./configure --prefix=/usr --docdir=/usr/share/doc/bluefish-2.4.0 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/icon-theme.cache og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen du må ha desktop-file-utils-0.28 (for skrivebordsbufferen) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -t -f --include-image-data /usr/share/icons/hicolor &&
update-desktop-database

Innhold

Installert Program: bluefish
Installerte Biblioteker: flere under /usr/lib/bluefish/
Installerte Mapper: /usr/lib/bluefish, /usr/share/bluefish, /usr/share/doc/bluefish-2.4.0, og /usr/share/xml/bluefish

Korte Beskrivelser

bluefish

er en GTK+ tekstredigerer for markup og programmering

Ed-1.22.4

Introduksjon til Ed

Ed er en linjeorientert tekstredigerer. Den brukes til å lage, vise, endre og på annen måte manipulere tekstfiler, både interaktivt og via skallskript. Ed er ikke noe mange folk bruker. Det er beskrevet her fordi det kan brukes av oppdateringsprogrammet hvis du støter på en ed basert oppdateringsfil. Dette skjer sjelden fordi diff baserte oppdateringer foretrekkes i disse dager.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ed Avhengigheter

Påkrevd for å pakke ut tarballen

libarchive-3.8.5 (for bsdtar)

Installasjon av of Ed

Installer Ed ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: ed og red
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

ed

er en linjeorientert tekstredigerer

red

er en begrenset ed—den kan bare redigere filer i gjeldende mappe og kan ikke utføre skallkommandoer

Emacs-30.2

Introduksjon til Emacs

Emacs pakken inneholder en utvidbar, tilpassbar, selvdokumenterende sanntidsvisningsredigerer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Emacs Avhengigheter

Anbefalt
Valgfri

et grafiske miljø, alsa-lib-1.2.15.3, Cairo-1.18.4, dbus-1.16.2, GLib-2.86.4 (med GObject Introspection), gsettings-desktop-schemas-49.1, GPM-1.20.7, GTK-3.24.51, ImageMagick-7.1.2-13, Little CMS-2.18, libjpeg-turbo-3.1.3, libpng-1.6.55, librsvg-2.61.4, libseccomp-2.6.0, libwebp-1.6.0, libxml2-2.15.1, MIT Kerberos V5-1.22.2, Valgrind-3.26.0, intlfonts, libungif, libotf, og m17n-lib - til å riktig vise så komplekse skript som Indic og Khmer, og også for skript som krever arabisk formingsstøtte (Arabic og Farsi), mailutils, og libXaw3d

Installasjon av Emacs

Installer Emacs ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke. Hvis make lykkes, kan du teste resultatet ved å kjøre src/emacs -Q, hvilket er det programmet som vil bli installert, med tilleggsfiler. Dette burde starte og vise applikasjonens åpningsskjerm.

Nå, som root bruker:

make install &&
chown -v -R root:root /usr/share/emacs/30.2 &&
rm -vf /usr/lib/systemd/user/emacs.service

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme. For å utføre oppdateringen må du ha GTK-3.24.51 installert og utstede følgende kommando som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor

Parameterforklaringer

--with-imagemagick: Bruk denne hvis du har installert ImageMagick-7.1.2-13 og ønsker å lenke mot det.

--with-gif=no: Bruk denne hvis du ikke har installert giflib-5.2.2 eller libungif.

--with-tiff=no: Bruk denne hvis du ikke har installert libtiff-4.7.1.

--with-gnutls=no: Bruk denne hvis du ikke har installert GnuTLS-3.8.12.

--without-harfbuzz: Bruk denne hvis du ikke har installert harfBuzz-12.3.2.

--with-json=no: Bruk denne hvis du ikke har installert jansson-2.15.0.

--with-kerberos5: Bruk dette alternativet hvis du har installert MIT Kerberos V5-1.22.2 og må bruke den til autentisering i Emacs' innebygde e-postklient.

Innhold

Installerte Programmer: ctags, ebrowse, emacs (symlink), emacs-30.2, emacsclient, og etags
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/libexec/emacs og /usr/share/emacs

Korte beskrivelser

ctags

oppretter kryssreferanse tagfil-databasefiler for kildekode

ebrowse

tillater surfing av C++ klassehierarkier fra emacs

emacs

er en tekstredigerer

emacsclient

fester en emacs økt til en allerede kjørende emacsserver forekomst

etags

er et annet program for å generere kildekode kryssreferanse tagfiler

Gedit-48.1

Introduksjon til Gedit

Gedit pakken inneholder en lettvekts UTF-8 tekstredigerer for GNOME skrivebordet. Den trenger en gruppe pakker som skal installeres før Gedit. Denne siden vil installere alle pakkene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere nedlastinger

Gedit krever flere biblioteker:

Gedit Avhengigheter

Påkrevd

gsettings-desktop-schemas-49.1, GTK-3.24.51, libhandy-1.8.3, libpeas-1.36.0, og libxml2-2.15.1 libpeas-1.36.0

Anbefalt
Valgfri

GTK-Doc-1.35.1 (for dokumentasjon), Vala-0.56.18, Valgrind-3.26.0, og zeitgeist

Installasjon av Gedit

Den første oppgaven er å installere de nødvendige bibliotekene. Siden alle pakker har samme byggeinstruksjoner, kan de bygges en gang ved hjelp av en løkke.

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Alle pakkene kommer med en testpakke. Hvis du ønsker å utføre dem, enten kommentere ut rm -rf ... nedenfor, slik at, etter at alle pakkene er installert, kan du komme tilbake til tilsvarende mappe og utstede ninja test, eller gjør individuelle bygginger, kjøre testene for hver av pakkene. Alternativt kan du fjerne kommentaren til linjen #ninja test ..., og på slutten, sjekk testresultatene med:

grep -A5 Ok: *test.log

Start først et underskall som avsluttes ved feil:

bash -e

Rekkefølgen på byggingen er viktig. Installer Gedit og avhengigheter ved å kjøre følgende kommandoer:

for package in \
   libgedit-amtk-5.9.2.tar.bz2            \
   libgedit-gtksourceview-299.5.0.tar.bz2 \
   libgedit-gfls-0.3.1.tar.bz2            \
   libgedit-tepl-6.13.0.tar.bz2
do
  packagedir=${package%.tar*}

  echo "Building $packagedir"
  tar -xf ../$package
  pushd $packagedir
    cd build

    meson setup ..            \
          --prefix=/usr       \
          --buildtype=release \
          -D gtk_doc=false
    ninja

    #ninja test 2>&1 | tee ../../$packagedir-test.log

    as_root ninja install
  popd

  rm -rf $packagedir
done

Til slutt går du ut av skallet som ble startet tidligere:

exit

Nå installer gedit ved å kjøre følgende kommandoer:

cd build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D gtk_doc=false    &&
ninja

For å teste resultatene, kjør ninja test.

Nå som root bruker:

ninja install

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtk_doc=false: Denne bryteren deaktiverer genereringen av API dokumentasjonen. Utelat denne bryteren hvis du har GTK-Doc-1.35.1 installert og ønsker å generere API dokumentasjon.

Innhold

Installert Program: gedit
Installerte Biblioteker: libgedit-48.so, libgedit-amtk-5.so, libgedit-gfls-1.so, libgedit-gtksourceview-300.so, og libgedit-tepl-6.so
Installerte Mapper: /usr/include/gedit-48, /usr/include/libgedit-amtk-5, /usr/include/libgedit-gfls-1, /usr/include/libgedit-gtksourceview-300, /usr/include/libgedit-tepl-6, /usr/share/gtk-doc/html/libgedit-amtk-5.0, /usr/share/libgedit-gtksourceview-300, og /usr/{lib,share,share/help/*}/gedit

Korte beskrivelser

gedit

er en lett tekstredigerer integrert med GNOME skrivebordet

libgedit-48.so

inneholder alle funksjonene som brukes av hoved Gedit applikasjonen

libgedit-amtk-5.so

gir en grunnleggende GTKUIManager erstatnings API basert på GAction

libgedit-gfls-1.so

gir funksjoner for å laste og lagre filer

libgedit-gtksourceview-300.so

inneholder bekvemmelighetsfunksjoner for tekstredigering

libgedit-tepl-6.so

er et tekstredigeringsrammeverk for GTK tekstredigerere og IDE-er

JOE-4.6

Introduksjon til JOE

JOE (Joe's own editor) er en liten tekst tekstredigerer som er i stand til å emulere WordStar, Pico, og Emacs.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av JOE

Installer JOE ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/joe-4.6 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&

install -vm 755 joe/util/{stringify,termidx,uniproc} /usr/bin

Konfigurere JOE

Konfigurasjonsfiler

/etc/joe/jmacsrc, /etc/joe/joerc, /etc/joe/jpicorc, /etc/joe/jstarrc, /etc/joe/rjoerc, og ~/.joerc

Innhold

Installerte Programmer: jmacs, joe, jpico, jstar, rjoe, stringify, termidx, og uniproc
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/joe, /usr/share/joe, og /usr/share/doc/joe-4.6

Korte beskrivelser

jmacs

er en symbolsk kobling til joe brukt til å starte Emacs emuleringsmodus

joe

er et lite tekstredigeringsprogram som kan emulere WordStar, Pico, og Emacs

jpico

er en symbolsk kobling til joe brukt til å starte Pico emuleringsmodus

jstar

er en symbolsk kobling til joe brukt til å starte WordStar emuleringsmodus

rjoe

er en symbolsk kobling til joe som begrenser JOE til å redigere bare filer som er spesifisert på kommandolinjen

stringify

er et program som brukt av joe for å konvertere rc og .jsf-filer til en C-fil (se /usr/share/doc/joe-4.6/util/README)

termidx

er et program som brukt av joe for å generere termcap indeksfil (se /usr/share/doc/joe-4.6/util/README)

uniproc

er et program som brukt av joe for å generere joe's unicode database filen unicat.c fra Blocks.txt CaseFolding.txt EastAsianWidth.txt og UnicodeData.txt (finn dem på /usr/share/doc/joe-4.6/util; se usr/share/doc/joe-4.6/util/README)

kate-25.08.3

Introduksjon til Kate

Kate pakken inneholder en avansert KF6 basert grafisk tekstredigerer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Kate Avhengigheter

Påkrevd

KDE Frameworks-6.20.0

Installasjon av Kate

Installer Kate ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX  \
      -D CMAKE_BUILD_TYPE=Release          \
      -D BUILD_TESTING=OFF                 \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: kate og kwrite
Installerte Biblioteker: Flere programtillegg under $KF6_PREFIX/lib/plugins
Installerte Mapper: $KF6_PREFIX/lib/plugins/ktexteditor, $KF6_PREFIX/lib/plugins/plasma/dataengine, $KF6_PREFIX/share/doc/HTML/*/{kate,katepart,kwrite}, $KF6_PREFIX/share/{kateproject,katexmltools}, og $KF6_PREFIX/share/plasma/plasmoids/org.kde.plasma.katesessions

Korte beskrivelser

kate

er et avansert tekstredigeringsprogram for KDE

kwrite

er et tekstredigeringsprogram for KDE, som er en lett versjon av kate

Mousepad-0.6.5

Introduksjon til Mousepad

Mousepad er en enkel GTK tekstredigerer for Xfce skrivebordsmiljøet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Mousepad Avhengigheter

Påkrevd

gtksourceview4-4.8.4 og libxfce4ui-4.20.2

Anbefalt

Installasjon av Mousepad

Installer Mousepad ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release &&

ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D gspell-plugin=no: Bruk dette alternativet for å deaktivere bygging av gspell-1.14.2 programtillegget hvis du ikke har installert gspell.

Innhold

Installert Program: mousepad
Installerte Biblioteker: libmousepad.so
Installerte Mapper: Ingen

Korte Beskrivelser

mousepad

er en enkel GTK tekstredigerer

Nano-8.7.1

Introduksjon til Nano

Nano pakken inneholder en liten, enkel tekstredigerer som tar sikte på å erstatte Pico, standardredigeringsprogrammet i Pine pakken.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Nano

Installer Nano ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --enable-utf8     \
            --docdir=/usr/share/doc/nano-8.7.1 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -m644 doc/{nano.html,sample.nanorc} /usr/share/doc/nano-8.7.1

Parameterforklaringer

--enable-utf8: Denne bryteren muliggjør unicode støtte i Nano.

Konfigurere nano

Konfigurasjonsfiler

/etc/nanorc og ~/.nanorc

Konfigurasjonsinformasjon

Eksempelkonfigurasjon (opprett som systemomfattende /etc/nanorc eller en personlig ~/.nanorc fil)

set autoindent
set constantshow
set fill 72
set historylog
set multibuffer
set nohelp
set positionlog
set quickblank
set regexp

Sjekk sample.nanorc filen i den installerte dokumentasjonsmappen. Den inkluderer fargekonfigurasjoner og har noe dokumentasjon inkludert i kommentarene.

Syntaksutheving er gitt for flere filtyper, i /usr/share/nano/ mappen. For eksempel for skallskript kan du sette inn include /usr/share/nano/sh.nanorc i det personlige eller globalw konfigurasjonsfilen. Hvis du ønsker fremheving for alle som støttede filer, bruk include /usr/share/nano/*.nanorc. Denne inkluderingen går ikke ned i extra mappen. Flytt nødvendige filer ett nivå opp.

Innhold

Installerte Programmer: nano og rnano (symbolkobling)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/nano og /usr/share/doc/nano-8.7.1

Korte Beskrivelser

nano

er en liten, enkel tekstredigeringsprogram som tar sikte på å erstatte Pico, standardredigeringsprogrammet i Pine pakken

rnano

er en begrenset modus for nano

Vim-9.1.2144

Introduksjon til Vim

Vim pakken, som er en forkortelse for VI IMproved, inneholder en vi klone med ekstra funksjoner sammenlignet med originalen vi.

Standard LFS instruksjoner installerer vim som en del av basissystemet. Hvis du foretrekker å linke vim imot X, du bør kompilere vim på nytt for å aktivere GUI modus. Det er ikke behov for spesielle instruksjoner siden X støtte oppdages automatisk.

Notat

Versjonen av vim endres daglig. For å få den siste versjonen, gå til https://github.com/vim/vim/releases.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Vim Avhengigheter

Anbefalt
Valgfri

cURL-8.18.0 (eller Wget-1.25.0, kreves av noen tester), GPM-1.20.7, libcanberra-0.30, Lua-5.4.8, Ruby-4.0.1, rsync-3.4.1, og libsodium

Installasjon av Vim

Notat

Hvis du rekompilerer Vim for å linke mot X og dine X biblioteker ikke er på root partisjonen, vil du ikke lenger ha vim for bruk i nødstilfeller. Du kan velge å installere en ekstra tekstredigerer, ikke lenke Vim mot X, eller flytt den gjeldende vim kjørbare til /bin mappen under et annet navn som f.eks vi.

Installer Vim ved å kjøre følgende kommandoer:

Notat

Hvis du har tenkt å kjøre testene og ikke har installert Xorg i /usr, legg til LDFLAGS='-L$XORG_PREFIX/lib' til konfigureringslinjen nedenfor.

echo '#define SYS_VIMRC_FILE  "/etc/vimrc"' >>  src/feature.h &&
echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h &&

./configure --prefix=/usr        \
            --with-features=huge \
            --enable-gui=gtk3    \
            --with-tlib=ncursesw &&
make

Notat

Hvis den globale konfigurasjonsfilen /etc/vimrc refererer til VIMRUNTIME miljøvariabel, noen tester kan klage på at de ikke kan finne tilsvarende mappe og vente på brukerinndata. Hvis dette er tilfelle, bør denne filen lagres og fjernes før testene kjøres. Eller hvis bubblewrap-0.11.0 er installert, er det også mulig å lage et lett containermiljø der denne filen er skjult og kjør testene i beholderen.

For å teste resultatene, utsted: make -j1 test. Testfeil, hvis noen, vil produsere filen test.log i src/testdir. De resterende testene vil fortsatt bli utført. Hvis alt går bra, vil loggen rapportere ALL DONE. Noen tester merket som «flaky» kan av og til mislykkes og kan ignoreres. Testene er kjent for å mislykkes hvis utdata blir omdirigert til en fil, og også hvis de kjøres i en 'screen' økt.

Notat

Hvis du kjører testene med bubblewrap-0.11.0 og /etc/vimrc skjult, bruk bwrap --dev-bind / / --dev-bind /dev/null /etc/vimrc make -j1 test.

Notat

Noen fargetester forventer å bli utført under xterm terminalemulator.

Nå, som root bruker:

make install

Som standard er Vims dokumentasjon installert i /usr/share/vim. Følgende symbolkobling tillater dokumentasjonen å bli nådd via /usr/share/doc/vim-9.1.2144, som gjør at det samsvarer med plasseringen av dokumentasjonen for andre pakker:

ln -snfv ../vim/vim91/doc /usr/share/doc/vim-9.1.2144

Hvis du ønsker å oppdatere kjøretidsfiler, utfør følgende kommando (krever rsync-3.4.1) for å laste den ned:

rsync -avzcP --exclude="/dos/" --exclude="/spell/" \
    ftp.nluug.nl::Vim/runtime/ ./runtime/

Og installer deretter de oppdaterte kjøretidsfilene og regener tags filene, som root bruker kjør:

make -C src installruntime &&
vim -c ":helptags /usr/share/doc/vim-9.1.2144" -c ":q"

Parameterforklaringer

--with-features=huge: Denne bryteren aktiverer alle tilleggsfunksjonene som er tilgjengelige i Vim, inkludert støtte for multibyte tegn.

--with-tlib=ncursesw: Denne bryteren tvinger Vim til å lenke mot libncursesw biblioteket.

--enable-gui=no: Dette vil forhindre kompilering av GUI. Vim vil fortsatt lenke mot X, slik at noen funksjoner som f.eks klient-servermodell eller x11-utvalg (utklippstavle) fortsatt er tilgjengelig.

--without-x: Hvis du foretrekker å ikke linke Vim mot X, bruk denne bryteren.

--enable-luainterp, --enable-perlinterp, --enable-python3interp=dynamic, --enable-tclinterp --with-tclsh=tclsh, --enable-rubyinterp: Disse alternativene inkluderer Lua-, Perl-, Python3-, Tcl- eller Ruby-tolkene som tillater bruk av annen applikasjonskode i vim skript. Alle --enable-* alternativene kan godta =dynamic å dynamisk laste tolken etter behov. Dette kreves for Python 3 for å forhindre segmenteringsfeil. Til tcl, er det nødvendig å angi navnet på tclsh kjørbare, siden configure bare søker versjonerte navn med gamle versjoner.

Konfigurere Vim

Konfigurasjonsfiler

/etc/vimrc og ~/.vimrc

Konfigurasjonsinformasjon

Vim har en integrert stavekontroll som du kan aktivere ved å utstede følgende i et vim vindu:

:setlocal spell spelllang=ru

Denne innstillingen vil aktivere stavekontroll for russisk språk for gjeldende økt.

Som standard, Vim installerer kun språkfiler for det engelske språket. Hvis en språkfil ikke er tilgjengelig for et språk vil Vim kalle $VIMRUNTIME/plugin/spellfile.vim programtillegget og vil prøve å få tak i *.spl og eventuelt *.sug fra vim ftp serveren, ved å bruke $VIMRUNTIME/plugin/netrwPlugin.vim programtillegget.

Alternativt kan du laste ned *.spl- og *.sug-filene manuelt fra: https://github.com/vim/vim/tree/master/runtime/spell og lagre dem til ~/.vim/spell eller i /usr/share/vim/vim91/spell/.

For å finne ut hva som er nytt i Vim-9.1.2144 kjør følgende kommando:

:help version-9.1.2144

For ytterligere informasjon om oppsett av Vim konfigurasjonsfiler, se Vimrc Filer og https://vim.fandom.com/wiki/Example_vimrc.

Innhold

En liste over de reinstallerte filene, sammen med deres korte beskrivelser finner du i LFS Vim Installasjonsinstruksjoner.

Installerte Programmer: gview, gvim, gvimdiff, gvimtutor, rgview, og rgvim
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/vim

Korte Beskrivelser

gview

starter gvim i skrivebeskyttet modus

gvim

er redigeringsprogrammet som kjører under X og inkluderer en GUI

gvimdiff

redigerer to eller tre versjoner av en fil med gvim og viser forskjellene

gvimtutor

lærer de grunnleggende tastene og kommandoene til gvim

rgview

er en begrenset versjon av gview

rgvim

er en begrenset versjon av gvim

Kapittel 7. Skall

Vi er alle kjent med Bourne Again SHell, men det er to andre brukergrensesnitt som anses som nyttige moderne skall – Berkeley Unix C skallet og Korn skallet. Dette kapittelet installerer pakker som er kompatible med disse ekstra skalltypene.

Dash-0.5.13.1

Introduksjon til Dash

Dash er et POSIX kompatibelt skall. Det kan bli installert som /bin/sh eller som standard skall for både root eller en annen bruker med bruker-ID på 0. Det avhenger av færre biblioteker enn Bash skallet og er derfor mindre sannsynlig at det blir påvirket av et oppgraderingsproblem eller diskfeil. Dash er også nyttig for å kontrollere at et skript er fullstendig kompatibelt med POSIX syntakset.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Dash Avhengigheter

Valgfri

libedit (kommandolinjeredigeringsbibliotek)

Installasjon av Dash

Installer Dash ved å kjøre følgende kommandoer:

./configure --bindir=/bin --mandir=/usr/share/man &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du vil gjøre dash standard sh, gjenskap /bin/sh symbolkobling som root bruker:

Notat

Hvis du oppretter den symbolske lenken fra dash til sh, må du tilbakestille lenken til bash for å bygge LFS.

ln -svf dash /bin/sh

Parameterforklaringer

--bindir=/bin: Denne parameteren plasserer dash binær inn i rotfilsystemet.

--with-libedit: For å kompilere Dash med libedit støtte.

Konfigurere Dash

Konfigurasjonsfiler

Dash kilder /etc/profile og ~/.profile

Konfigurasjonsinformasjon

Oppdater /etc/shells for å inkludere Dash skallet ved å utstede følgende kommando som root bruker:

cat >> /etc/shells << "EOF"
/bin/dash
EOF

Innhold

Installert Program: dash
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte beskrivelser

dash

er et POSIX kompatibelt skall

Tcsh-6.24.16

Introduksjon til Tcsh

Tcsh pakken inneholder «en forbedret, men fullstendig kompatibel versjon av Berkeley Unix C skallet (csh).» Dette er nyttig som et alternativt skall for de som foretrekker C syntaksen fremfor bash skallet, og også fordi noen programmer krever C skallet for å kunne utføre installasjonsoppgaver.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://astron.com/pub/tcsh/tcsh-6.24.16.tar.gz

  • Nedlasting MD5 sum: 448f53f12544abb627c9f078373b8ff5

  • Nedlastingsstørrelse: 936 KB

  • Estimert diskplass som kreves: 11 MB (med tester)

  • Estimert byggetid: 0.2 SBU (med tester)

Installasjon av Tcsh

Installer Tcsh ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install install.man &&

ln -v -sf tcsh   /bin/csh &&
ln -v -sf tcsh.1 /usr/share/man/man1/csh.1

Parameterforklaringer

ln -v -sf tcsh /bin/csh: FHS opplyser at hvis det er et C skall installert, bør det være en symbolkobling fra /bin/csh til det. Dette skaper den symbolkoblingen.

Konfigurere Tcsh

Konfigurasjonsfiler

Det er mange konfigurasjonsfiler for C skallet. Eksempler på disse er /etc/csh.cshrc, /etc/csh.login, /etc/csh.logout, ~/.tcshrc, ~/.cshrc, ~/.history, ~/.cshdirs, ~/.login, og ~/.logout. Mer informasjon om disse filene finnes i tcsh(1) manualside.

Parameterforklaringer

Oppdater /etc/shells til å inkludere C skallets programnavn (som root bruker):

cat >> /etc/shells << "EOF"
/bin/tcsh
/bin/csh
EOF

Følgende ~/.cshrc gir to alternative fargemeldinger og farget ls utdata. Hvis du foretrekker en global modifikasjon, utsted kommandoen som root bruker, erstatt ~/.cshrc med /etc/csh.cshrc.

cat > ~/.cshrc << "EOF"
# Original at:
# https://www.cs.umd.edu/~srhuang/teaching/code_snippets/prompt_color.tcsh.html

# Modified by the BLFS Development Team.

# Add these lines to your ~/.cshrc (or to /etc/csh.cshrc).

# Colors!
set     red="%{\033[1;31m%}"
set   green="%{\033[0;32m%}"
set  yellow="%{\033[1;33m%}"
set    blue="%{\033[1;34m%}"
set magenta="%{\033[1;35m%}"
set    cyan="%{\033[1;36m%}"
set   white="%{\033[0;37m%}"
set     end="%{\033[0m%}" # This is needed at the end...

# Setting the actual prompt.  Two separate versions for you to try, pick
# whichever one you like better, and change the colors as you want.
# Just don't mess with the ${end} guy in either line...  Comment out or
# delete the prompt you don't use.

set prompt="${green}%n${blue}@%m ${white}%~ ${green}%%${end} "
set prompt="[${green}%n${blue}@%m ${white}%~ ]${end} "

# This was not in the original URL above
# Provides coloured ls
alias ls ls --color=always

# Clean up after ourselves...
unset red green yellow blue magenta cyan yellow white end
EOF

Innhold

Installert Program: tcsh
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte beskrivelser

tcsh

er en forbedret, men fullstendig kompatibel versjon av Berkeley Unix C skallet, csh. Den er brukbar som både et interaktivt skall og en skriptprosessor

zsh-5.9

Introduksjon til zsh

zsh pakken inneholder en kommando tolk (skall) som kan brukes som et interaktivt påloggingsskall og som en skallscript kommandoprosessor. Av standard skall, zsh ligner mest på ksh men inkluderer mange forbedringer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.zsh.org/pub/zsh-5.9.tar.xz

  • Nedlasting MD5 sum: 182e37ca3fe3fa6a44f69ad462c5c30e

  • Nedlastingsstørrelse: 3.2 MB

  • Estimert diskplass som kreves: 48 MB (inkluderer dokumentasjon og tester)

  • Estimert byggetid: 1.6 SBU (Bruker parallellisme=4; inkludert dokumentasjon og tester)

Notat

Når det er en ny zsh utgivelse, gamle filer vist ovenfor flyttes til en ny servermappe: https://www.zsh.org/pub/old/.

zsh Avhengigheter

Valgfri

Valgrind-3.26.0 og yodl

Installasjon av zsh

Tilpass dokumentasjonsbyggesystemet for texinfo-7.0 eller nyere:

sed -e 's/set_from_init_file/texinfo_&/' \
    -i Doc/Makefile.in

Noen programmer ble levert i byggesystemet for å oppdage systemfunksjoner bruker pre-C99 syntaks som er avvist av GCC-14.1 og nyere. Fiks dem fordi ellers vil Zsh bli konfigurert feil og ikke klarer å bygge på annen måte:

sed -e 's/^main/int &/'      \
    -e 's/exit(/return(/'    \
    -i aczsh.m4 configure.ac &&

sed -e 's/test = /&(char**)/' \
    -i configure.ac           &&

autoconf

Dokumentasjonsfilene inneholder referanser til zsh konfigurasjon filer i /etc, men vi vil bruke /etc/zsh for å holde disse konfigurasjonsfiler i stedet. Byggesystemet vil oppdatere disse referansene hvis yodl pakken er tilgjengelig, men det er utenfor omfanget av BLFS. Som et resultat må vi fikse referansene manuelt:

sed -e 's|/etc/z|/etc/zsh/z|g' \
    -i Doc/*.*

Installer zsh ved å kjøre følgende kommandoer:

./configure --prefix=/usr            \
            --sysconfdir=/etc/zsh    \
            --enable-etcdir=/etc/zsh \
            --enable-cap             \
            --enable-gdbm            &&
make                                 &&

makeinfo  Doc/zsh.texi --html      -o Doc/html &&
makeinfo  Doc/zsh.texi --plaintext -o zsh.txt  &&
makeinfo  Doc/zsh.texi --html --no-split --no-headers -o zsh.html

Hvis du har texlive-20250308 installert, kan du bygge dokumentasjonen i PDF format ved å kjøre følgende kommando:

texi2pdf  Doc/zsh.texi -o Doc/zsh.pdf

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install                                                    &&
make infodir=/usr/share/info install.info                       &&
make htmldir=/usr/share/doc/zsh-5.9/html install.html           &&
install -v -m644 zsh.{html,txt} Etc/FAQ /usr/share/doc/zsh-5.9

Hvis du har bygget PDF formatet til dokumentasjonen, installer den ved å kjøre følgende kommando som root bruker:

install -v -m644 Doc/zsh.pdf /usr/share/doc/zsh-5.9

Parameterforklaringer

--sysconfdir=/etc/zsh og --enable-etcdir=/etc/zsh: Disse parameterne brukes slik at alle zsh konfigurasjonsfiler er konsolidert inn i /etc/zsh mappen. Utelat disse parameterne hvis du ønsker å beholde historisk kompatibilitet ved å ha alle filene plassert i /etc mappen.

--enable-cap: Dette alternativet aktiverer POSIX funksjoner.

--enable-gdbm: Dette alternativet aktiverer bruk av GDBM biblioteket.

Konfigurerere zsh

Konfigurasjonsfiler

Det finnes en hel rekke konfigurasjonsfiler for zsh Inkludert /etc/zsh/zshenv, /etc/zsh/zprofile, /etc/zsh/zshrc, /etc/zsh/zlogin og /etc/zsh/zlogout. Du finner mer informasjon om disse i zsh(1) og relaterte manualsider.

Første gang zsh kjøres, vil du bli spurt av meldinger som spør flere spørsmål. Svarene vil bli brukt til å lage en ~/.zshrc fil. Hvis du ønsker å kjøre disse spørsmålene igjen, kjør zsh /usr/share/zsh/5.9/functions/zsh-newuser-install -f.

Det er flere innebygde avanserte ledetekster. I zsh skallet, start avansert støtte med autoload -U promptinit, deretter promptinit. Tilgjengelige ledetekstnavn er oppført med prompt -l. Velg en bestemt med prompt <prompt-name>. Vis alle tilgjengelige ledetekster med prompt -p. Bortsett fra listen og viste kommandoer ovenfor, kan du sette inn de andre i ~/.zshrc sånn at de utføres automatisk når skallet starter, med ledeteksten du valgte.

Konfigurasjonsinformasjon

Oppdater /etc/shells å inkludere zsh navn på skallprogram (som root bruker):

cat >> /etc/shells << "EOF"
/bin/zsh
EOF

Innhold

Installerte Programmer: zsh og zsh-5.9 (hardlenket til hverandre)
Installerte Biblioteker: Tallrike hjelpemoduler for programtillegg under /usr/lib/zsh/5.9/
Installerte Mapper: /usr/{lib,share}/zsh og /usr/share/doc/zsh-5.9

Korte beskrivelser

zsh

er et skall som har kommandolinjeredigering, innebygd stavemåte korreksjon, programmerbar kommandofullføring, skallfunksjoner (med automatisk lasting), en historiemekanisme og en rekke andre funksjoner

Kapittel 8. Virtualisering

Virtualisering gjør det mulig å kjøre et komplett operativsystem, eller virtuell maskin (VM), innenfor et annet driftsmiljø som en oppgave. Det er flere kommersielle og åpen kildekodemiljøer som enten emulerer en annet prosessor eller bruke maskinvarevirtualiseringsfunksjonene til vertens prosessor.

qemu-10.2.1

Introduksjon til qemu

qemu er en full virtualiseringsløsning for Linux på x86 maskinvare som inneholder virtualiseringsutvidelser (Intel VT eller AMD-V).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.qemu.org/qemu-10.2.1.tar.xz

  • Nedlasting MD5 sum: 35ddfb6690f75db207924a9fdb30f0ed

  • Nedlastingsstørrelse: 135 MB

  • Estimert diskplass som kreves: 2.8 GB (468 MB installert)

  • Estimert byggetid: 1.3 SBU (legg til 0.8 SBU for tester, begge med parallellisme=4)

Qemu Avhengigheter

Påkrevd

GLib-2.86.4 og Pixman-0.46.4

Anbefalt

Notat

hvis dtc-1.7.2 ikke er installert, byggesystemet vil prøve å laste ned en kopi av dtc kildekoden fra Internett.

Valgfri

pipewire-1.4.10 eller PulseAudio-17.0 (kan brukes i stedet for alsa-lib), BlueZ-5.86, cURL-8.18.0, Cyrus SASL-2.1.28, Fuse-3.18.1, GnuTLS-3.8.12, GTK-3.24.51, keyutils-1.6.3, libaio-0.3.113, libusb-1.0.29, libgcrypt-1.12.0, libjpeg-turbo-3.1.3, libseccomp-2.6.0, libssh2-1.11.1, libpng-1.6.55, libtasn1-4.21.0, Linux-PAM-1.7.2, LZO-2.10, Nettle-3.10.2, Mesa-25.3.5, VTE-0.82.3, capstone, ceph, daxctl, JACK, glusterfs, libbpf, libcacard, libcap-ng, libdw, libiscsi, libnfs, libpmem, libssh, libu2f-emu, lzfse, netmap, numactl, rdma-core, SELinux, snappy, spice, usbredir, og VDE

Valgfri (Kjøretid)

elogind-255.22

Valgfri (for å bygge dokumentasjonen)

sphinx_rtd_theme-3.1.0

Notat

Denne valgfrie avhengighetslisten er ikke uttømmende. Se utdataen fra ./configure --help for en mer komplett liste.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/qemu

KVM Forutsetninger

Før byggingen av qemu, sjekk for å se om prosessoren din støtter virtualiseringsteknologi (VT):

grep -E '^flags.*(vmx|svm)' /proc/cpuinfo

Hvis du får noe utdata, har du VT teknologi (vmx for Intel prosessorer og svm for AMD prosessorer). Du må da gå inn i din system BIOS og sørge for at den er aktivert. Etter å ha aktivert den, start på nytt din LFS forekomst.

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

[*] Virtualization --->                                         [VIRTUALIZATION]
  <*/M>   Kernel-based Virtual Machine (KVM) support                       [KVM]
  # Enable the option for your CPU:
  < /*/M>   KVM for Intel (and compatible) processors support        [KVM_INTEL]
  < /*/M> KVM for AMD processors support                               [KVM_AMD]

Begge Intel- eller AMD-innstillingene er ikke nødvendige, men den som samsvarer din systemprosessor er nødvendig.

For å bruke «bridge» nettverksenhet, som forklart nedenfor, Sjekk at bridge-utils-1.7.1 er installert og følgende alternativer i kjernekonfigurasjonen er aktivert:

[*] Networking support --->                                                [NET]
  Networking options --->
    <*/M> 802.1d Ethernet Bridging                                      [BRIDGE]

Device Drivers --->
  [*] Network device support --->                                   [NETDEVICES]
    [*]   Network core driver support                                 [NET_CORE]
    <*/M>   Universal TUN/TAP device driver support                        [TUN]

Installasjon av qemu

Udev regelen til LFS tillater bare root bruker, brukerne som eier en lokal påloggingsøkt støttet av den valgfrie kjøretidsavhengigheten elogind-255.22 eller brukerne i kvm gruppen å bruke KVM enheten. Som root bruker, legg til eventuelle ikke-root brukere som kan bruke KVM enheten enten uten elogind-255.22 installert eller eksternt (via en SSH tilkobling) til kvm gruppen:

usermod -a -G kvm <username>

Installer qemu ved å kjøre følgende kommandoer:

Notat

Qemu er i stand til å kjøre mange mål. Byggeprosessen er også i stand til å bygge flere mål samtidig i en kommadelt liste tilordnet --target-list. Kjør ./configure --help for å få en fullstendig liste over tilgjengelige mål.

if [ $(uname -m) = i686 ]; then
   QEMU_ARCH=i386-softmmu
else
   QEMU_ARCH=x86_64-softmmu
fi


mkdir -vp build &&
cd        build &&

../configure --prefix=/usr            \
             --sysconfdir=/etc        \
             --localstatedir=/var     \
             --target-list=$QEMU_ARCH \
             --audio-drv-list=alsa    \
             --disable-pa             \
             --enable-slirp           \
             --docdir=/usr/share/doc/qemu-10.2.1 &&

unset QEMU_ARCH &&

make

qemu bruker ninja som en delprosess ved byggingen. For å kjøre testene, kjør: ninja test.

Nå, som root bruker:

make install

Endre tillatelsene og eierskapet til et hjelpeskript, som er nødvendig når du bruker «bridge» nettverksenhet (se nedenfor). En gang til som root bruker, kjør:

Notat

Du må legge til brukere som kan bruke «bridge» nettverksenhet i kvm gruppen selv om elogind-255.22 er installert.

chgrp kvm  /usr/libexec/qemu-bridge-helper &&
chmod 4750 /usr/libexec/qemu-bridge-helper

Notat

For enkelhets skyld kan det være lurt å lage en symbolsk lenke for å kjøre det installerte programmet. For eksempel (som root bruker):

ln -sv qemu-system-`uname -m` /usr/bin/qemu

Parameterforklaringer

--audio-drv-list=alsa: Denne bryteren setter lyddriveren til ALSA. Se nedenfor for å aktivere andre lyddrivere.

--disable-pa: selv om pa ikke er i --audio-drv-list listen, pulseaudio driveren blir bygget, med mindre den er deaktivert av denne parameteren.

--enable-slirp: Denne bryteren tvinger byggesystemet å se etter Libslirp-4.9.1. Fjern den hvis du ikke trenger -netdev user støtte.

--audio-drv-list=pa --disable-alsa: Denne bryteren setter lyddriveren til pulsaudio. For andre drivere se --audio-drv-list valg i utdaten fra ./configure --help. Standard lyddriver er OSS. For å aktivere støtte for både alsa og pulsaudio, bruk --audio-drv-list=alsa,pa.

Bruke Qemu

Siden bruk av qemu betyr å bruke en virtuell datamaskin, trinnene for å sette opp den virtuelle maskinen er i nær analogi med de for å sette opp en ekte datamaskin. Du må ta avgjørelser om CPU, minne, disk, USB enheter, nettverkskort(er), skjermstørrelse osv. Når «maskinvaren» er bestemt, må du for eksempel velge hvordan du kobler til maskinenen til internett og/eller for å installere et OS. I den følgende delen viser vi grunnleggende måter å utføre disse trinnene på. Imidlertid er qemu mye kraftigere enn dette, og det anbefales på det sterkeste å lese qemu dokumentasjonen i /usr/share/doc/qemu-10.2.1/qemu-doc.html.

Notat

Det er standard praksis å navngi datamaskinen som kjører qemu «host» og den emulerte maskinen som kjører under qemu «guest.» Vi bruker disse notasjonene i teksten nedenfor.

Notat

Følgende instruksjoner forutsetter at den valgfrie symbolske lenken, qemu, har blitt opprettet. I tillegg, qemu skal kjøres i et grafisk miljø. Det er også mulig å bruke qemu «headless» eller gjennom SSH. Se dokumentasjonen for de ulike mulighetene.

Disk

En virtuell disk kan settes opp på følgende måte:

VDISK_SIZE=50G
VDISK_FILENAME=vdisk.img
qemu-img create -f qcow2 $VDISK_FILENAME $VDISK_SIZE

Den virtuelle diskstørrelsen og filnavnet bør justeres etter ønske. Den faktiske størrelse på filen vil være mindre enn spesifisert, men vil utvides etter behov, så det er trygt å sette en høy verdi.

Operativsystem

For å installere et operativsystem, last ned et iso bilde fra din foretrukne Linux distribusjon. For formålet med dette eksemplet vil vi bruke Fedora-16-x86_64-Live-LXDE.iso i gjeldende mappe. Kjør følgende:

qemu -enable-kvm                           \
     -drive file=$VDISK_FILENAME           \
     -cdrom Fedora-16-x86_64-Live-LXDE.iso \
     -boot d                               \
     -m 1G

Følg de vanlige installasjonsprosedyrene for den valgte distribusjonen. -boot alternativet spesifiserer oppstartsrekkefølgen til stasjoner som en streng med stasjonsbokstaver. Gyldige stasjonsbokstaver er: a, b (diskett 1 og 2), c (første harddisk), og d (første CD-ROM). -m alternativet er mengden minne som skal brukes til den virtuelle maskinen. Valget avhenger av belastningen til verten. Moderne distribusjoner bør være komfortable med 4 GB. -enable-kvm alternativet tillater maskinvare akselerasjon. Uten denne bryteren er emuleringen mye tregere.

Definere den virtuelle maskinvaren

Den virtuelle maskinvaren er definert av kommandolinjen til qemu. En eksempelkommando er gitt nedenfor:

qemu -enable-kvm                  \
     -smp 4                       \
     -cpu host                    \
     -m 1G                        \
     -drive file=$VDISK_FILENAME  \
     -cdrom grub-img.iso          \
     -boot order=c,once=d,menu=on \
     -net nic,netdev=net0         \
     -netdev user,id=net0         \
     -device ac97                 \
     -vga std                     \
     -serial mon:stdio            \
     -name "fedora-16"

Betydningen av kommandolinjealternativene

-enable-kvm: aktiver full KVM virtualisering støtte. På noen maskinvare kan det være nødvendig å legge til det udokumenterte -machine smm=off alternativet for å aktivere KVM.

-smp <N>: muliggjør symmetrisk multiprosessering med <N> CPUer.

-cpu <model>: simulere CPU <model>. Listen over støttede modeller kan fås med -cpu help.

-drive file=<filename>: definerer en virtuell disk hvis bildet er lagret på <filename>.

-cdrom grub-img.iso: definerer en ISO formatert fil for å bruke som en cdrom. Her bruker vi en grub redningsskive, som kan bli nyttig hvis noe går galt ved oppstart.

-boot order=c,once=d,menu=on: definerer oppstarts rekkefølgen for den virtuelle BIOS.

-net nic,netdev=<netid>: definerer et nettverkskort koblet til nettverksenheten med id <netid>.

-netdev user,id=<netid>: definerer nettverkets «bruker» enhet. Dette er et virtuelt lokalt nettverk med adresser 10.0.2.0/24, hvor verten har adressen 10.0.2.2 og fungerer som en inngangsport til internett, og med en navneserver på adressen 10.0.2.3, og en smb server på adressen 10.0.2.4. En innebygd DHCP server kan tildele adresser mellom 10.0.2.15 og 10.0.2.31.

-soundhw <model>: definerer lydkortets modell. Listen kan fås med -soundhw help.

-vga <type>: definerer typen VGA kort å etterligne. For -vga std, hvis du bygger en Linuxkjerne som gjest, anbefales det å aktivere CONFIG_DRM_BOCHS (som en del av kjernen eller en kjerne modul) for å drive alle funksjonene til det emulerte VGA kortet, og CONFIG_FB for å vise Linux konsollen på den. Det andre <type> verdier er ikke testet av redaktører og kan kreve ytterligere avhengigheter.

-serial mon:stdio: sender serieporten til gjesten (/dev/ttyS0 på linux gjester), multiplekset med qemu monitoren, til standardinngangen og -utgangen til qemu prosesser.

-name <name>: angir navnet på gjesten. Dette navnet vises i gjestevinduets bildetekst. Det kan være nyttig hvis du kjører flere gjester samtidig.

-drive if=pflash,format=raw,readonly=on,file=/usr/share/qemu/edk2-x86_64-code.fd: Last en forhåndsbygd EDK2 UEFI fastvare, i stedet for standard PC BIOS. Bruk dette alternativet hvis du vil starte gjesteOS med UEFI.

-drive file=<filename>,if=virtio: Gir et Virtio grensesnittet til gjestekjernen for tilgang til diskbildet, i stedet for å simulere en ekte diskmaskinvare. Dette kan forbedre disk I/O ytelse, men det krever en Virtio driver i gjestekjernen. Bruk det i stedet for en vanlig -drive hvis gjestekjernen støtter Virtio. For å bygge en Linuxkjerne med Virtio støtte for gjest, bruk make defconfig && make kvm_guest.config til opprette en innledende kjernekonfigurasjon med Virtio drivere aktivert, deretter gjør din tilpasning. Og hvis gjestekjernen er Linux, vil virtuelle disker som bruker Virtio grensesnittet bli navngitt vdx i devtmpfs, i stedet for sdx.

-net nic,netdev=net0,model=virtio-net-pci: Gir et Virtio grensesnittet til gjestekjernen for tilgang til nettverkets grensesnitt, i stedet for å simulere et ekte nettverkskort. Dette kan forbedre nettverkets I/O ytelse, men det krever en Virtio driver i gjestekjernen. Bruk den i stedet for den vanlige -net hvis gjestekjernen støtter Virtio.

Kontrollere den Emulerte Skjermen

For å angi oppløsningen til den emulerte skjermen for en Xorg server som kjører i et gjeste Linux system, les «Finjustere Skjerminnstillinger».

Nettverk

Ovennevnte løsning for nettverk lar gjesten få tilgang til det lokale nettverket gjennom verten (og muligens for å få tilgang til internett via lokale rutere), men det motsatte er ikke sant. Ikke engang verten kan få tilgang til gjesten, med mindre portvideresending er aktivert. Og hvis flere gjester kjører, kan de ikke kommunisere med hverandre. Andre nettverksenheter kan brukes til dette formålet. For eksempel det er «socket» enheten, som lar flere gjester dele et felles virtuelt nettverk. I det følgende avsnittet beskriver vi i mer detaljer hvordan du setter opp «bridge» enheten, som tillater gjestene til å se ut som om de er koblet til det lokale nettverket. Alle kommandoene nedenfor skal kjøres som root bruker.

Sette opp brobygging med bridge-utils-1.7.1. Bare det fysiske grensesnitt(er) bør settes opp ved oppstart. Det eller de virtuelle grensesnittene vil bli lagt til etter behov når qemu startes.

Sett opp en nødvendig konfigurasjonsfil:

install -vdm 755 /etc/qemu &&
echo allow br0 > /etc/qemu/bridge.conf

Bytt bryteren i qemu kommandolinjen ovenfor -netdev user,... med -netdev bridge,....

Innhold

Installerte Programmer: elf2dmp, qemu (symlink), qemu-edid, qemu-ga, qemu-img, qemu-io, qemu-keymap, qemu-nbd, qemu-pr-helper, qemu-storage-daemon, qemu-system-<arch>, og qemu-vmsr-helper
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/qemu og /usr/share/doc/qemu-10.2.1 (valgfri)

Korte beskrivelser

elf2dmp

konverterer filer fra elf til dmp format

qemu-edid

er et testverktøy for qemu EDID generatoren

qemu-ga

implementerer støtte for QMP (QEMU Monitor Protocol) kommandoer og hendelser som avsluttes og oppstår henholdsvis hos gjesten bruker en agent bygget som en del av QEMU

qemu-img

gir kommandoer for å administrere QEMU diskbilder

qemu-io

er et diagnose- og manipuleringsprogram for (virtuelt) minne media. Det er fortsatt på et tidlig stadium av utviklingen

qemu-keymap

genererer qemu reverse tastaturoppsett fra xkb tastaturoppsetter, som kan brukes med kommandolinjebryteren qemu "-k".

qemu-nbd

eksporterer Qemu diskbilder ved hjelp av QEMU Disk Network Block Enhetsprotokoll (NBD).

qemu-pr-helper

Implementerer den vedvarende reservasjonshjelperen for QEMU

qemu-storage-daemon

lar en bruker endre diskbilder ved hjelp av QEMU Monitor Protocol (QMP) uten å kjøre en VM

qemu-system-x86_64

er QEMU PC System emulatoren

qemu-vmsr-helper

er en virtuell RAPL MSR hjelper for qemu

Del III. Generelle Biblioteker og Verktøy

Kapittel 9. Generelle biblioteker

Biblioteker inneholder kode som ofte kreves av flere enn ett program. Dette har fordelen at hvert program ikke trenger å duplisere kode (og risikerer å introdusere feil), den må bare kalle funksjoner fra bibliotekene som er installert på systemet. Det mest åpenbare eksempel på et sett med biblioteker er Glibc som er installert i LFS boken. Denne inneholder alt av C bibliotekfunksjoner som programmer bruker.

Det finnes to typer biblioteker: statiske og delte. Delte biblioteker (som oftest libXXX.so) lastes inn i minnet fra en delt kopi ved kjøring (derav navnet). Statiske biblioteker ( libXXX.a) er faktisk i seg selv koblet inn i programmets kjørbare fil, og dermed gjør programfilen større. Ganske ofte vil du finne både statiske og delte kopier av det samme biblioteket på systemet ditt.

Vanligvis trenger du bare å installere biblioteker når du installerer programvare som trenger funksjonaliteten de leverer. I BLFS boken, hver pakke presenteres med en liste over (kjente) avhengigheter. Dermed kan du finne ut hvilke biblioteker du må ha før du installerer programmet. Hvis du installerer noe uten å bruke BLFS instruksjoner, vanligvis README eller INSTALL filen vil inneholde detaljer om programmets krav.

Det er visse biblioteker som nesten alle vil trenge på et tidspunkt. I dette kapitlet er disse og noen andre listet opp og det er forklart hvorfor du kanskje vil installere dem.

Abseil-cpp-20260107.1

Introduksjon til Abseil-cpp

Abseil-cpp pakken inneholder en serie med biblioteker designet for å utvide C++ standardbiblioteket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Abseil-cpp Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av Abseil-cpp

Installer Abseil-cpp ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr   \
      -D CMAKE_BUILD_TYPE=Release    \
      -D CMAKE_SKIP_INSTALL_RPATH=ON \
      -D ABSL_PROPAGATE_CXX_STD=ON   \
      -D BUILD_SHARED_LIBS=ON        \
      -G Ninja ..                    &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D ABSL_PROPAGATE_CXX_STD=ON: Denne parameteren gjør det mulig å spre C++-funksjoner til mål som kobler til denne pakkens biblioteker.

-D BUILD_SHARED_LIBS=ON: Denne parameteren bygger delte versjoner av bibliotekene levert av denne pakken i stedet for statiske biblioteker.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libabsl_bad_any_cast_impl.so, libabsl_bad_optional_access.so, libabsl_bad_variant_access.so, libabsl_base.so, libabsl_city.so, libabsl_civil_time.so, libabsl_cord_internal.so, libabsl_cord.so, libabsl_cordz_functions.so, libabsl_cordz_handle.so, libabsl_cordz_info.so, libabsl_cordz_sample_token.so, libabsl_crc32c.so, libabsl_crc_cord_state.so, libabsl_crc_cpu_detect.so, libabsl_crc_internal.so, libabsl_debugging_internal.so, libabsl_decode_rust_punycode.so, libabsl_demangle_internal.so, libabsl_demangle_rust.so, libabsl_die_if_null.so, libabsl_examine_stack.so, libabsl_exponential_biased.so, libabsl_failure_signal_handler.so, libabsl_flags_commandlineflag_internal.so, libabsl_flags_commandlineflag.so, libabsl_flags_config.so, libabsl_flags_internal.so, libabsl_flags_marshalling.so, libabsl_flags_parse.so, libabsl_flags_private_handle_accessor.so, libabsl_flags_program_name.so, libabsl_flags_reflection.so, libabsl_flags_usage_internal.so, libabsl_flags_usage.so, libabsl_graphcycles_internal.so, libabsl_hash.so, libabsl_hashtablez_sampler.so, libabsl_int128.so, libabsl_kernel_timeout_internal.so, libabsl_leak_check.so, libabsl_log_entry.so, libabsl_log_flags.so, libabsl_log_globals.so, libabsl_log_initalize.so, libabsl_log_internal_check_op.so, libabsl_log_internal_conditions.so, libabsl_log_internal_fnmatch.so, libabsl_log_internal_format.so, libabsl_log_internal_globals.so, libabsl_log_internal_log_sink_set.so, libabsl_log_internal_message.so, libabsl_log_internal_nullguard.so, libabsl_log_internal_proto.so, libabsl_log_severity.so, libabsl_log_sink.so, libabsl_malloc_internal.so, libabsl_periodic_sampler.so, libabsl_poison.so, libabsl_random_distributions.so, libabsl_random_internal_distribution_test_util.so, libabsl_random_internal_platform.so, libabsl_random_internal_pool_urbg.so, libabsl_random_internal_randen_hwaes_impl.so, libabsl_random_internal_randen_hwaes.so, libabsl_random_internal_randen_slow.so, libabsl_random_internal_randen.so, libabsl_random_internal_seed_material.so, libabsl_random_seed_gen_exception.so, libabsl_random_seed_sequences.so, libabsl_raw_hash_set.so, libabsl_raw_logging_internal.so, libabsl_scoped_set_env.so, libabsl_spinlock_wait.so, libabsl_stacktrace.so, libabsl_statusor.so, libabsl_status.so, libabsl_strerror.so, libabsl_str_format_internal.so, libabsl_strings_internal.so, libabsl_strings.so, libabsl_string_view.so, libabsl_symbolize.so, libabsl_synchronization.so, libabsl_throw_delegate.so, libabsl_time.so, libabsl_time_zone.so, libabsl_utf8_for_code_point.so, og libabsl_vlog_config_internal.so
Installerte Mapper: /usr/include/absl, /usr/lib/cmake/absl

AppStream-1.1.2

Introduksjon til AppStream

AppStream pakken inneholder et bibliotek og verktøy som er nyttig for å hente programvaremetadata og gjøre det lett tilgjengelig for programmer som trenger det.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

AppStream Avhengigheter

Påkrevd

cURL-8.18.0, elogind-255.22, itstool-2.0.7, libfyaml-0.9.4, libxml2-2.15.1, libxmlb-0.3.25, og libxslt-1.1.45

Anbefalt
Valgfri

Gi-DocGen-2026.1, Qt-6.10.2, DAPS, og libstemmer

Installasjon av AppStream

Installer AppStream ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr            \
            --buildtype=release      \
            -D apidocs=false         \
            -D bash-completion=false \
            -D stemming=false    .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install &&
mv -v /usr/share/doc/appstream{,-1.1.2}

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D apidocs=false: Denne bryteren deaktiverer bygging av API dokumentasjon. Fjern den hvis du har Gi-DocGen-2026.1 installert og ønsker å regenerere API dokumentasjonen. Når API dokumentasjonen ikke er regenerert, en forhåndsbygd kopi er installert uansett.

-D bash-completion=false: Denne bryteren deaktiverer støtte for bash-completion, som ikke finnes i BLFS.

-D stemming=false: Denne bryteren deaktiverer stemming støtte. Fjern denne bryteren hvis du har libstemmer installert og ønsker raskere søk.

-D qt=true: Bruk dette alternativet hvis du har Qt-6.10.2 installert og du ønsker å bygge støtte for Qt6 applikasjoner inn i denne pakken.

-D man=false: Denne bryteren deaktiverer byggingen av manualsidene. Legg den til hvis du ikke har docbook-xsl-nons-1.79.2 installert.

Konfigurere AppStream

Konfigurasjonsfiler

/usr/share/metainfo/org.linuxfromscratch.lfs.xml

Konfigurasjonsinformasjon

AppStream forventer en operativsystem metainfo fil som beskriver GNU/Linux-distribusjonen. Som root bruker, opprette filen som beskriver LFS:

install -vdm755 /usr/share/metainfo &&
cat > /usr/share/metainfo/org.linuxfromscratch.lfs.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<component type="operating-system">
  <id>org.linuxfromscratch.lfs</id>
  <name>Linux From Scratch</name>
  <summary>Et tilpasset Linux-system bygget utelukkende fra kildekoden</summary>
  <description>
    <p>
      Linux From Scratch (LFS) er et prosjekt som gir deg 
          trinnvise instruksjoner for å bygge ditt eget tilpassede 
          Linux-system helt fra kildekoden.
    </p>
  </description>
  <url type="homepage">https://www.linuxfromscratch.org/lfs/</url>
  <metadata_license>MIT</metadata_license>
  <developer id='linuxfromscratch.org'>
    <name>The Linux From Scratch Editors</name>
  </developer>

  <releases>
    <release version="12.4" type="stable" date="01.09.2025">
      <description>
        <p>Inneholder nå Binutils 2.45, GCC-15.2.0, Glibc-2.42,
        Linux kernel 6.16, og tolv sikkerhetsoppdateringer.</p>
      </description>
    </release>

    <release version="12.3" type="stable" date="05.03.2025">
      <description>
        <p>Inneholder nå Binutils 2.44, GCC-14.2.0, Glibc-2.41, og
        Linux Kernel 6.13, og tre sikkerhetsoppdateringer.</p>
      </description>
    </release>
  </releases>
</component>
EOF

Innhold

Installerte Programmer: appstreamcli
Installerte Biblioteker: libappstream.so og libAppStreamQt.so (hvis Qt6 støtte er aktivert)
Installerte Mapper: /usr/include/appstream, /usr/include/AppStreamQt (hvis Qt6 støtte er aktivert), /usr/lib/cmake/AppStreamQt (hvis Qt6 støtte er aktivert), /usr/share/doc/appstream-1.1.2, og /usr/share/installed-tests/appstream

Korte Beskrivelser

appstreamcli

spør etter informasjon fra AppStream metadata og fra AppStream komponentindeks

libappstream.so

inneholder funksjoner som håndterer AppStream metadataspørringer og å be om informasjon fra AppStream komponentindeksen

libAppStreamQt.so

inneholder funksjoner som lar Qt6 applikasjoner håndtere AppStream metadataforespørsler og lar dem be om informasjon fra AppStream komponentindeksen

appstream-glib-0.8.3

Introduksjon til appstream-glib

appstream-glib gir GObjects og hjelpemetoder for å gjøre det enkelt å lese og skrive AppStream metadata. Det gir også en enkel DOM (Document Object Model) implementering som gjør det enkelt å redigere noder og konvertere til og fra standardisert XML-representasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

appstream-glib Avhengigheter

Påkrevd

cURL-8.18.0, gdk-pixbuf-2.44.5, GTK-3.24.51, libarchive-3.8.5, og libyaml-0.2.5

Valgfri

docbook-xml-4.5, docbook-xsl-nons-1.79.2, GTK-Doc-1.35.1, og libxslt-1.1.45

Installasjon av appstream-glib

Installer appstream-glib ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D rpm=false        &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: appstream-builder, appstream-compose, og appstream-util
Installerte Biblioteker: libappstream-glib.so
Installerte Mapper: /usr/include/libappstream-glib, /usr/lib/asb-plugins-5, and /usr/share/installed-tests/appstream-glib

Korte Beskrivelser

appstream-builder

bygger AppStream metadata

appdata-compose

genererer AppStream metadata

appstream-util

Er et styringsverktøy for appstream-builder

libappstream-glib.so

inneholder API funksjoner

Apr-1.7.6

Introduksjon til Apr

Apache Portable Runtime (APR) er et støttebibliotek for Apache nettserver. Den gir et sett med applikasjonsprogrammeringsgrensesnitt (APIer) som tilordnes det underliggende operativsystemet (OS). Hvor OS ikke støtter en bestemt funksjon, vil APR gi en emulering. Dermed kan programmerere bruke APR til å gjøre et program flyttbar på tvers av forskjellige plattformer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://archive.apache.org/dist/apr/apr-1.7.6.tar.bz2

  • Nedlasting MD5 sum: 2ebb58910e426e5a83af97bc94cae66d

  • Nedlastingsstørrelse: 879 KB

  • Estimert diskplass som kreves: 11 MB (ytterligere 4 MB for testene)

  • Estimert byggetid: 0.2 SBU (legg til 1,7 SBU for tester)

Installasjon av Apr

Installer Apr ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --with-installbuilddir=/usr/share/apr-1/build &&
make

For å teste resultatene, kjør: make test.

Nå, somroot bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: apr-1-config
Installert Bibliotek: libapr-1.so
Installerte Mapper: /usr/include/apr-1 og /usr/share/apr-1

Korte Beskrivelser

apr-1-config

er et skallskript som brukes til å hente informasjon om apr biblioteket i systemet. Det brukes vanligvis til å kompilere og lenke mot biblioteket

libapr-1.so

er Apache flyttbart kjøretids bibliotek

Apr-Util-1.6.3

Introduksjon til Apr Util

Apache Portable Runtime Utility Library gir en forutsigbar og konsistent grensesnitt til underliggende klientbiblioteksgrensesnitt. Denne applikasjonsprogrammeringsgrensesnittet sikrer forutsigbar om ikke identisk oppførsel uavhengig av hvilke biblioteker som er tilgjengelige på en gitt plattform.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://archive.apache.org/dist/apr/apr-util-1.6.3.tar.bz2

  • Nedlasting MD5 sum: b6e8c9b31d938fe5797ceb0d1ff2eb69

  • Nedlastingsstørrelse 423 KB

  • Estimert diskplass som kreves: 7.6 MB (legg til 1.4 MB for tester)

  • Estimert byggetid: mindre enn 0.1 SBU (legg til 0.3 SBU for tester)

Apr Util Avhengigheter

Påkrevd

Apr-1.7.6

Valgfri

FreeTDS, MariaDB-11.8.6 eller MySQL, OpenLDAP-2.6.12, PostgreSQL-18.2, unixODBC-2.3.14, og Berkeley DB (deprecated)

Installasjon av Apr Util

Installer Apr Util ved å kjøre følgende kommandoer:

./configure --prefix=/usr       \
            --with-apr=/usr     \
            --with-gdbm=/usr    \
            --with-openssl=/usr \
            --with-crypto &&
make

For å teste resultatene, kjør: make -j1 test. En test, testdbm, er kjent for å mislykkes.

Nå som root bruker:

make install

Parameterforklaringer

--with-gdbm=/usr: Denne bryteren aktiverer apr_dbm_gdbm-1.so programtillegget.

--with-openssl=/usr --with-crypto: Disse bryterene aktiverer apr_crypto_openssl-1.so programtillegget.

--with-berkeley-db=/usr: Hvis du har installert Berkeley DB (deprecated), bruk denne bryteren for å kompilere apr_dbm_db-1.so programtillegget.

--with-ldap: Hvis du har installert OpenLDAP-2.6.12, bruk denne bryteren for å kompilere apr_ldap.so programtillegget.

Innhold

Installert Program: apu-1-config
Installert Bibliotek: libaprutil-1.so
Installert Mappe: /usr/lib/apr-util-1

Korte Beskrivelser

apu-1-config

er et APR-util skript designet for å gi enkel kommandolinjetilgang til APR-util konfigurasjonsparametere

libaprutil-1.so

inneholder funksjoner som gir en forutsigbar og konsistent grensesnitt til underliggende klientbiblioteksgrensesnitt

Aspell-0.60.8.2

Introduksjon til Aspell

Aspell pakken inneholder et interaktivt stavekontrollprogram og Aspell biblioteker. Aspell kan enten brukes som et bibliotek eller som en uavhengig stavekontroll.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Du må laste ned minst én ordbok. Den engelske ordboken er gitt som et eksempel nedenfor. Ordbøker på mange andre språk kan bli funnet på https://ftpmirror.gnu.org/aspell/dict.

Aspell Avhengigheter

Påkrevd

Which-2.23 (for ordbøkene)

Installasjon av Aspell

Installer Aspell ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
ln -svfn aspell-0.60 /usr/lib/aspell &&

install -v -m755 -d /usr/share/doc/aspell-0.60.8.2/aspell{,-dev}.html &&

install -v -m644 manual/aspell.html/* \
    /usr/share/doc/aspell-0.60.8.2/aspell.html &&

install -v -m644 manual/aspell-dev.html/* \
    /usr/share/doc/aspell-0.60.8.2/aspell-dev.html

Hvis du ikke planlegger å installere Ispell, kopier da innpakningsskriptet ispell:

install -v -m 755 scripts/ispell /usr/bin/

Hvis du ikke planlegger å installere Spell, kopier da innpakningsskriptet spell:

install -v -m 755 scripts/spell /usr/bin/

Parameterforklaringer

ln -svfn aspell-0.60 /usr/lib/aspell: Denne kommandoen er nyttig for konfigurering av andre applikasjoner, for eksempel enchant-2.8.14.

Konfigurere Aspell

Konfigurasjonsinformasjon

Etter at Aspell er installert, må du sette opp minst én ordbok. Installer den engelske ordboken ved å kjøre følgende kommandoer:

tar xf ../aspell6-en-2020.12.07-0.tar.bz2 &&
cd aspell6-en-2020.12.07-0                &&

./configure &&
make

Nå, som root bruker:

make install

Andre ordbøker kan installeres med samme instruksjoner.

Innhold

Installerte Programmer: aspell, aspell-import, precat, preunzip, prezip, prezip-bin, pspell-config, run-with-aspell, word-list-compress og valgfritt, ispell og spell.
Installerte Biblioteker: libaspell.so og libpspell.so
Installerte Mapper: /usr/include/pspell og /usr/lib/aspell-0.60

Korte Beskrivelser

aspell

er et verktøy som kan fungere som en ispell -a erstatning, som en uavhengig stavekontroll, som et testverktøy for å teste ut Aspell funksjoner, og som et verktøy for å administrere ordbøker

ispell

er en innpakning rundt aspell for å påkalle det i ispell kompatibel modus

spell

er en innpakning rundt aspell for å påkalle det i spell kompatibel modus

aspell-import

importerer gamle personlige ordbøker til Aspell

precat

dekomprimerer en prezipped fil til stdout

preunzip

dekomprimerer en prezipped fil

prezip

er en prefiks delta kompressor, brukt til å komprimere sorterte ordlister eller andre lignende tekstfiler

prezip-bin

kalles av de forskjellige innpakningsskriptene for å utføre selve komprimeringen og dekomprimeringen

pspell-config

viser informasjon om libpspell installasjon, mest for bruk i byggeskript

run-with-aspell

er et skript for å hjelpe å bruke Aspell som en ispell erstatning

word-list-compress

komprimerer eller dekomprimerer sorterte ordlister for bruk med Aspell stavekontroll

libaspell.so

inneholder stavekontroll API funksjoner

libpspell.so

er et grensesnitt til libaspell biblioteket. Alle stavekontrollfunksjonaliteten er nå i libaspell men dette biblioteket er inkludert for bakoverkompatibilitet

boost-1.90.0

Introduksjon til Boost

Boost gir et sett med gratis fagfellevurderte flyttbare C++ kildebiblioteker. Det inkluderer biblioteker for lineær algebra, generering av pseudotilfeldig tall, flertråding, bildebehandling, vanlige uttrykk og enhetstesting.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Notat

Denne pakken vil pakke ut til boost-1.90.0/ mappen.

Pakkeinformasjon

Boost Avhengigheter

Anbefalt
Valgfri

ICU-78.2, NumPy-2.4.2, og Open MPI

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/boost

Installasjon av Boost

Først fiks et byggeproblem som oppstår i stacktrace biblioteket. Dette problemet er spesifikt for i686-systemer.

case $(uname -m) in
   i?86)
      sed -e "s/defined(__MINGW32__)/& || defined(__i386__)/" \
          -i ./libs/stacktrace/src/exception_headers.h ;;
esac

Denne pakken kan bygges med flere jobber som kjører parallelt. I instruksjonene nedenfor brukes alle tilgjengelige logiske kjerner. Bytt ut $(nproc) med antall logiske kjerner du vil bruke hvis du ikke vil bruke alle. Installer Boost ved å kjøre følgende kommandoer:

./bootstrap.sh --prefix=/usr --with-python=python3 &&
./b2 stage -j$(nproc) threading=multi link=shared

For å kjøre Boost.Build's regresjonstester, utsted pushd tools/build/test; python3 test_all.py; popd.

Notat

Boost installerer mange versjonsmapper i /usr/lib/cmake. Hvis en ny versjon av Boost er installert over en tidligere versjon, må de eldre cmake mappene bli eksplisitt fjernet. For å gjøre dette, kjør som root bruker:

rm -rf /usr/lib/cmake/[Bb]oost*

før du installerer den nye versjonen.

Nå som root bruker:

./b2 install threading=multi link=shared

Parameterforklaringer

threading=multi: Denne parameteren sikrer at Boost er bygget med støtte for flere tråder.

link=shared: Denne parameteren sikrer at bare delte biblioteker opprettes, bortsett fra libboost_exception og libboost_test_exec_monitor som er opprettet som statiske. Folk flest vil ikke trenge de statiske bibliotekene, og de fleste programmer som bruker Boost bruker kun deklarasjonene. Utelate denne parameteren hvis du trenger statiske biblioteker.

--with-python=python3: Denne bryteren sikrer at Python blir oppdaget riktig.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libboost_atomic.so, libboost_charconv.so, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_contract.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost_fiber.so, libboost_filesystem.so, libboost_graph.so, libboost_iostreams.so, libboost_json.so, libboost_locale.so, libboost_log_setup.so, libboost_log.so, libboost_math_c99.so, libboost_math_c99f.so, libboost_math_c99l.so, libboost_math_tr1.so, libboost_math_tr1f.so, libboost_math_tr1l.so, libboost_nowide.so, libboost_numpy314.so, libboost_prg_exec_monitor.so, libboost_process.so, libboost_program_options.so, libboost_python314.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so, libboost_stacktrace_from_exception.so, libboost_stacktrace_noop.so, libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.so, libboost_type_erasure.so, libboost_unit_test_framework.so, libboost_url.so, libboost_wave.so, and libboost_wserialization.so
Installert Mappe: /usr/include/boost and /usr/share/boost_predef

Korte Beskrivelser

libboost_*.so

inneholder biblioteker som tilbyr en rekke funksjoner, inkludert innpakninger for NumPy, lineær algebra, generering av pseudotilfeldige tall, flertråding, bildebehandling, regulære uttrykk, enhetstesting, lokaliteter, JSON, logging, grafer og feilsøking

brotli-1.2.0

Introduksjon til Brotli

Brotli gir en generell tapsfri komprimeringsalgoritme som komprimerer data ved å bruke en kombinasjon av en moderne variant av LZ77 algoritmen, Huffman koding og 2. orden kontekstmodellering. Bibliotekene brukes spesielt til WOFF2 fonter på nettsider.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Brotli Avhengigheter

Påkrevd

CMake-4.2.3

Valgfri

pytest-9.0.2 (for testing av Python3 bindinger)

Installasjon av Brotli

Installer brotli ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -G Ninja .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Bygg om ønskelig Python3 bindinger:

cd .. &&

sed -e '/libraries +=/s/=.*/= [required_system_library[3:]]/' \
    -e '/package_configuration/d'                             \
    -e '/pkgconfig/d'                                         \
    -i setup.py                                               &&

USE_SYSTEM_BROTLI=1 \
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Installer Python3 bindinger som root bruker:

pip3 install --no-index --find-links dist --no-user Brotli

For å teste Python3 binding, utsted: pytest.

Parameterforklaringer

sed ... -i setup.py: Tillat å bygge Python3 bindinger med USE_SYSTEM_BROTLI=1 men uten Python 3 pkgconfig modulen (som BLFS ikke tilbyr) installert.

USE_SYSTEM_BROTLI=1: Stoppe setup.py fra å gjenoppbygge hele pakken igjen, bruk de allerede installerte bibliotekene for Python3 binding i stedet.

Innhold

Installerte Programmer: brotli
Installerte Biblioteker: libbrotlicommon.so, libbrotlidec.so, og libbrotlienc.so
Installerte Mapper: /usr/include/brotli og /usr/lib/python3.14/site-packages/Brotli-1.2.0.dist-info (hvis du bygde og installerte Python3 bindingene)

Korte Beskrivelser

brotli

kan komprimere eller dekomprimere filer, eller teste integriteten til komprimerte filer

libbrotlicommon{-static.a,.so}

er Brotli felles ordbokbibliotek

libbrotlidec{-static.a,.so}

er Brotli dekoderbiblioteket

libbrotlienc{-static.a,.so}

er Brotli vanlige koderbibliotek

CLucene-2.3.3.4

Introduksjon til CLucene

CLucene er en C++ versjon av Lucene, en tekstsøkemotor med høy ytelse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

CLucene Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt

Installasjon av CLucene

Installer CLucene ved å kjøre følgende kommandoer:

patch -Np1 -i ../clucene-2.3.3.4-contribs_lib-1.patch &&

sed -i '/Misc.h/a #include <ctime>' src/core/CLucene/document/DateTools.cpp &&

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_POLICY_VERSION_MINIMUM=3.5 \
      -D BUILD_CONTRIBS_LIB=ON            \
      -W no-dev ..                        &&
make

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_POLICY_VERSION_MINIMUM=3.5: Denne bryteren gjør at denne pakken kan bygges med cmake-4.0 eller nyere.

-D BUILD_CONTRIBS_LIB=ON: Denne cmake variabelen gjør det mulig å bygge CLucene bidragsbiblioteket som er nødvendig for å kjøre applikasjoner som bruker språkspesifikke tekstanalysatorer som for eksempel LibreOffice.

-W no-dev: Denne parameteren deaktiverer flere advarsler kun beregnet på prosjektutviklere.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libclucene-contribs-lib.so, libclucene-core.so, og libclucene-shared.so
Installerte Mapper: /usr/include/CLucene og /usr/lib/CLuceneConfig.cmake

dbus-glib-0.114

Introduksjon til D-Bus GLib

D-Bus GLib pakken inneholder GLib grensesnittet til D-Bus API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

D-Bus GLib Avhengigheter

Påkrevd

dbus-1.16.2 og GLib-2.86.4

Valgfri

GTK-Doc-1.35.1

Installasjon av D-Bus GLib

Installer D-Bus GLib ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  &&
make

For å teste resultatene, utsted: make check. Merk at mer omfattende tester kan kjøres ved å følge samme metode som brukes i D-Bus instruksjoner, som krever å bygge pakken to ganger.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installert Program: dbus-binding-tool
Installert Bibliotek: libdbus-glib-1.so
Installerte Mapper: /usr/share/gtk-doc/html/dbus-glib

Korte Beskrivelser

dbus-binding-tool

er et verktøy som brukes til å kommunisere med D-Bus API

libdbus-glib-1.so

inneholder GLib grensesnittfunksjoner til D-Bus API

Double-conversion-3.4.0

Introduksjon til Double-conversion

Double-conversion pakken inneholder en bibliotek som forenkler binær-til-desimal og desimal-til-binære rutiner for IEEE doubles.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Double-conversion Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av Double-conversion

Installer Double-conversion ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_POLICY_VERSION_MINIMUM=3.5 \
      -D BUILD_SHARED_LIBS=ON             \
      -D BUILD_TESTING=ON                 \
      ..                                  &&
make

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_POLICY_VERSION_MINIMUM=3.5: Denne bryteren gjør at denne pakken kan bygges med cmake-4.0 eller nyere.

-D BUILD_SHARED_LIBS=ON: Denne bryteren tvinger cmake til å bygge en delt versjon av biblioteket i stedet for den statiske versjonen.

-D BUILD_TESTING=ON: Denne bryteren bygger testprogrammene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libdouble-conversion.so
Installerte Mapper: /usr/include/double-conversion

Korte Beskrivelser

libdouble-conversion.so

gir binær-til-desimal og desimal-til-binær rutiner for IEEE doubles

duktape-2.7.0

Introduksjon til duktape

duktape er en innebyggbar Javascript motor, med fokus på portabilitet og kompakt fotavtrykk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://duktape.org/duktape-2.7.0.tar.xz

  • Nedlasting MD5 sum: b3200b02ab80125b694bae887d7c1ca6

  • Nedlastingsstørrelse: 1003 KB

  • Estimert diskplass som kreves: 25 MB

  • Estimert byggetid: 0.3 SBU

Installasjon av duktape

Installer duktape ved å kjøre følgende kommandoer:

sed -i 's/-Os/-O2/' Makefile.sharedlibrary
make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr

Nå, som root bruker:

make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libduktape.so og libduktaped.so
Installerte Mapper: Ingen

Korte Beskrivelser

libduktape.so

er en innebyggbar Javascript motor

libduktaped.so

er en feilsøkingsversjon av libduktape.so

enchant-2.8.14

Introduksjon til enchant

enchant pakken gir et generisk grensesnitt inn i ulike eksisterende stavekontrollbiblioteker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

enchant Avhengigheter

Påkrevd

Aspell-0.60.8.2, GLib-2.86.4, og Vala-0.56.18

Valgfri

dbus-glib-0.114, Doxygen-1.16.1, Hspell, Hunspell, Nuspell, Voikko, og unittest-cpp (påkrevd for testene)

Installasjon av enchant

Installer enchant ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --docdir=/usr/share/doc/enchant-2.8.14 &&
make

For å kjøre tester må unittest-cpp være installert og --enable-relocatable alternativet sendt til configure ovenfor. Hvis disse forholdene er tilstede, kan testene kjøres med make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Konfigurere enchant

Konfigurasjonsfiler

~/.enchant og /usr/share/enchant/enchant.ordering

Konfigurasjonsinformasjon

Du kan teste installasjonen og konfigurasjonen ved å lage en testfil og kjøre følgende kommandoer (du kan erstatte en_GB ordboken med andre lastet ned ved installasjonen av Aspell-0.60.8.2):

cat > /tmp/test-enchant.txt << "EOF"
Tel me more abot linux
Ther ar so many commads
EOF

enchant-2 -d en_GB -l /tmp/test-enchant.txt &&
enchant-2 -d en_GB -a /tmp/test-enchant.txt

Du vil se en liste over feilstavede ord etterfulgt av en liste over alternativer for dem.

Se flere detaljer i enchant manualsiden.

Innhold

Installerte Programmer: enchant-2 og enchant-lsmod-2
Installerte Biblioteker: libenchant-2.so
Installerte Mapper: /usr/include/enchant-2, /usr/lib/enchant-2, /usr/share/enchant, and /usr/share/doc/enchant-2.8.14

Korte Beskrivelser

enchant-2

er en stavekontroll

enchant-lsmod-2

viser tilgjengelige bakstykker, språk og ordbøker

libenchant-2.so

inneholder API funksjoner for stavekontrollgrensesnittet

Exempi-2.6.6

Introduksjon til Exempi

Exempi er en implementering av XMP (Adobe sin utvidbare metadataplattform).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://libopenraw.freedesktop.org/download/exempi-2.6.6.tar.xz

  • Nedlasting MD5 sum: f955e63dbd7b91c016f802c678e0e773

  • Nedlastingsstørrelse: 2.7 MB

  • Estimert diskplass som kreves: 319 MB (legg til 245 MB for testene)

  • Estimert byggetid: 0.4 SBU (legg til 0.5 SBU for testene; begge bruker parallellisme=4)

Exempi Avhengigheter

Påkrevd

Boost-1.90.0

Valgfri

Valgrind-3.26.0

Installasjon av Exempi

Hvis du har tenkt å kjøre regresjonstestene, fjern først en test som avhenger av en proprietær Adobe SDK:

sed -i -r '/^\s?testadobesdk/d' exempi/Makefile.am &&
autoreconf -fiv

Installer Exempi ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: exempi
Installert Bibliotek: libexempi.so
Installert Mappe: /usr/include/exempi-2.0

Korte Beskrivelser

exempi

er et kommandolinjeverktøy for å manipulere XMP metadata

libexempi.so

er et bibliotek som brukes til å analysere XMP metadata

fast_float-8.2.3

Introduksjon til Fast_float

Fast_float gir et sett med C++ deklarasjonsfiler for effektive streng-til-flytende operasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Fast_float Avhengigheter

Påkrevd

CMake-4.2.3

Valgfri

git-2.53.0 (for å laste ned noen tester)

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av Fast_float

Installer fast_float ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -G Ninja ..

Nå, som root bruker:

ninja install

For å teste resultatene, utsted: cmake .. -D FASTFLOAT_TEST=ON && ninja && ninja test. Merk at det vil laste ned noen testfiler fra internett, og de filene ville blitt installert hvis testpakken hadde blitt kjørt før ninja install. Så ikke kjør testpakken før installasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/fast_float og /usr/share/cmake/FastFloat

fftw-3.3.10

Introduksjon til fftw

FFTW er et C subrutinebibliotek for å beregne den diskrete Fourier transform (DFT) i en eller flere dimensjoner, av vilkårlig inngangsstørrelse, og av både reelle og komplekse data (så vel som partall/oddetallsdata, dvs diskrete cosinus/sinus transformasjoner eller DCT/DST).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.fftw.org/fftw-3.3.10.tar.gz

  • Nedlasting MD5 sum: 8ccbf6a5ea78a16dbc3e1306e234cc5c

  • Nedlastingsstørrelse: 4.0 MB

  • Estimert diskplass som kreves: 59 MB

  • Estimert byggetid: 1.6 SBU (legg til 3,4 SBU for tester, begge med parallellisme=4)

Installasjon av fftw

Notat

Vi bygger fftw tre ganger for ulike biblioteker i ulike numeriske presisjoner: standard flytepunkt med dobbel presisjon, den eldre 32-biters (enkel presisjon) versjon kalt float som ofrer presisjon for hastighet, og den lange doble som tilbyr økt presisjon på bekostning av tregere utførelse.

Det første bygget er for aritmetikk med dobbel presisjon. Installere fftw ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-sse2    \
            --enable-avx     \
            --enable-avx2    &&
make

For å teste resultatene, utsted: make check. På 32-bits systemer kan testene ta betydelig lengre tid enn de ville på 64-bits maskiner.

Nå, som root bruker:

make install

Bygg nå enkeltpresisjon:

make clean &&

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-sse2    \
            --enable-avx     \
            --enable-avx2    \
            --enable-float   &&
make

Som root bruker:

make install

Bygg til slutt lang dobbel presisjon:

make clean &&

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-long-double &&
make

Som root bruker:

make install

Parameterforklaringer

--enable-shared --disable-static: Bruk delte biblioteker i stedet for statiske biblioteker.

--enable-threads: Dette aktiverer libfftw3_threads.so til å bli kompilert. Det brukes av f.eks. gimp programtillegget fra G'MIC.

--enable-{sse2,avx,avx2}: Disse aktiverer bygging av de optimaliserte rutinene ved å bruke SSE2, AVX og AVX2 instruksjoner. FFTW vil sjekke om disse rutinene virkelig kan brukes på gjeldende CPU når FFTW biblioteket er lastet, så et FFTW bygg med disse rutinene aktivert kan fortsatt kjøre på en CPU uten SSE2, AVX eller AVX2. Disse alternativene er ikke kompatible med --enable-long-double.

--enable-float: Dette aktiverer bygging av biblioteket som bruker enkeltpresisjon flytepunktaritmetikk. Det er raskere, men mindre presis enn standard dobbel presisjonsbibliotek. Biblioteket blir kalt libfftw3f.so som trengs av PulseAudio-17.0.

--enable-long-double: Dette aktiverer bygging av biblioteket som bruker høyere presisjon lang-dobbel flytende punkt-aritmetikk. Biblioteket blir kalt libfftw3l.so.

--enable-avx512: Dette aktiverer bygging av optimaliserte rutiner ved hjelp av AVX512F instruksjoner. FFTW vil sjekke om disse rutinene virkelig kan brukes på gjeldende CPU når FFTW biblioteket er lastet, så et FFTW bygg med disse rutinene aktivert kan fortsatt kjøres på en CPU uten AVX512F. Bruk dette alternativet hvis FFTW bygget skal brukes på en CPU med AVX512F. Dette alternativet er ikke kompatibelt med --enable-long-double.

Innhold

Installerte Programmer: fftw-wisdom og fftw-wisdom-to-conf
Installerte Biblioteker: libfftw3.so, libfftw3_threads.so, libfftw3f.so, libfftw3f_threads.so, libfftw3l.so og libfftw3l_threads.so
Installerte Mapper: Ingen

Korte Beskrivelser

fftw-wisdom

er et verktøy for å generere FFTW wisdomfiler, som inneholder lagrede informasjon om hvordan man optimalt kan beregne (Fourier) transformasjoner av ulike størrelser

fftw-wisdom-to-conf

er et verktøy for å generere C konfigurasjonsrutiner fra FFTW wisdom filer, der sistnevnte inneholder lagret informasjon om hvordan beregne (Fourier) transformasjoner av forskjellige størrelser optimalt

libfftw3.so

er Fast Fourier Transform biblioteket

libfftw3_threads.so

er det trådete Fast Fourier Transform biblioteket

libfftw3f.so

er enkeltpresisjon Fast Fourier Transform biblioteket, beskrevet som «float» av historiske årsaker

libfftw3f_threads.so

er det trådete enkeltpresisjon Fast Fourier Transform biblioteket

libfftw3l.so

er det lange doble Fast Fourier Transform biblioteket

libfftw3l_threads.so

er det trådete lange doble Fast Fourier Transform biblioteket

fmt-12.1.0

Introduksjon til fmt

fmt pakken er en åpen kildekode formaterings bibliotek som gir et raskt og trygt alternativ til C stdio og C++ iostreams.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Fmt Avhengigheter

Påkrevd

CMake-4.2.3

Valgfri

Doxygen-1.16.1, glib-networking-2.80.1 (for tester), GnuTLS-3.8.12 (for tester), libxslt-1.1.45, og mm-common

Installasjon av fmt

Installer fmt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr     \
      -D CMAKE_INSTALL_LIBDIR=/usr/lib \
      -D BUILD_SHARED_LIBS=ON          \
      -D FMT_TEST=OFF                  \
      -G Ninja ..                      &&
ninja

Hvis du har aktivert tester, utsted:

cmake -D FMT_TEST=ON .. &&
ninja                   &&
ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

-D FMT_TEST=OFF: Denne bryteren initialiserer pakketestene. Den vil bli overstyrt hvis instruksjonene for å kjøre testpakken brukes.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libfmt.so
Installerte Mapper: /usr/include/fmt and /usr/lib/cmake/fmt

GLib-2.86.4

Introduksjon til GLib

GLib pakken inneholder lavt nivå biblioteker som er nyttige for å gi datastrukturhåndtering for C, portabilitet innpakninger og grensesnitt for slik kjøretidsfunksjonalitet som en hendelsesløkke, tråder, dynamisk lasting og et objektsystem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gnome.org/sources/glib/2.86/glib-2.86.4.tar.xz

  • Nedlasting MD5 sum: f2233a826c952aaae42b4a61611a06a4

  • Nedlastingsstørrelse: 5.4 MB

  • Estimert diskplass som kreves: 206 MB (legg til 20 MB for tester)

  • Estimert byggetid: 0.9 SBU (legg til 0.5 SBU for tester; begge bruker parallellisme=4)

Ytterligere Nedlastinger

GObject Introspection (Recommended)

Oppdatering for loggnivåvalg (valgfritt)

GLib Avhengigheter

Anbefalt
Valgfri

Cairo-1.18.4 (for noen GObject Introspection tester), dbus-1.16.2 (for noen tester), Fuse-3.18.1 og bindfs (begge trengs for en testt), GDB-17.1 (for bindinger), Gjs-1.86.0 (for noen GObject Introspection tester), GTK-Doc-1.35.1 (for GObject Introspection dokumentasjon), docbook-xml-4.5, docbook-xsl-nons-1.79.2, Gi-DocGen-2026.1 (for å bygge API dokumentasjonen), glib-networking-2.80.1 (for noen tester, men dette er en sirkulær avhengighet), Mako-1.3.10 og Markdown-3.10.2 (begge for g-ir-doc-tool), og sysprof

Ytterligere Kjøretids Avhengigheter

Installasjon av GLib

Hvis ønskelig, bruk den valgfrie oppdateringen. I mange tilfeller applikasjoner som bruker dette biblioteket, enten direkte eller indirekte via andre biblioteker som f.eks som GTK-3.24.51, gi ut mange advarsler når du kjører fra kommandolinjen. Denne oppdateringen muliggjør bruk av en miljøvariabel, GLIB_LOG_LEVEL, som undertrykker uønskede meldinger. Verdien av variabelen er et siffer som tilsvarer:

1 Varsling
2 Kritisk
3 Feil
4 Advarsel
5 Merknad

For eksempel export GLIB_LOG_LEVEL=4 vil hoppe over utdata av advarsels- og varselmeldinger (og info/feilsøkingsmeldinger hvis de er slått på). Hvis GLIB_LOG_LEVEL ikke er definert, normal meldingsutdata vil ikke bli påvirket.

patch -Np1 -i ../glib-skip_warnings-1.patch

Advarsel

Hvis en tidligere versjon av glib er installert, flytter du deklarasjonene ut av veien slik at senere pakker ikke møter konflikter:

if [ -e /usr/include/glib-2.0 ]; then
    rm -rf /usr/include/glib-2.0.old &&
    mv -vf /usr/include/glib-2.0{,.old}
fi

Installer GLib ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                  \
      --prefix=/usr             \
      --buildtype=release       \
      -D introspection=disabled \
      -D glib_debug=disabled    \
      -D man-pages=enabled      \
      -D sysprof=disabled       &&
ninja

GLib testpakken krever desktop-file-utils for noen tester. Derimot, desktop-file-utils krever GLib for å kompilere; derfor må du først installere GLib og deretter kjøre testpakken.

Som root bruker, installer denne pakken for første gang for å tillate bygging av GObject Introspection:

ninja install

Bygg GObject Introspection:

tar xf ../../gobject-introspection-1.86.0.tar.xz &&

meson setup gobject-introspection-1.86.0 gi-build \
            --prefix=/usr --buildtype=release     &&
ninja -C gi-build

For å teste resultatene av GObject Introspection, utsted: ninja -C gi-build test.

Som root bruker, installer GObject Introspection for å genere introspeksjonsdataene til GLib biblioteker (påkrevd av forskjellige pakker som bruker Glib, spesielt noen GNOME pakker):

ninja -C gi-build install

Generer nå introspection dataene:

meson configure -D introspection=enabled &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "/docs_dir =/s|$| / 'glib-' + meson.project_version()|" \
    -i ../docs/reference/meson.build                        &&
meson configure -D documentation=true                       &&
ninja

Advarsel

Ikke kjør testpakken som root da vil noen tester mislykkes uventet og la noen ikke-FHS kompatible mapper være i /usr hierarkiet.

Notat

Hvis miljøvariabelen GLIB_LOG_LEVEL er satt, må du fjerne den før du kjører testene. I tillegg må én fil som ble opprettet i den første installasjonsinstruksjonen ovenfor være skrivbar. Som root bruker, kjør chmod a+rw .ninja_log.

For å teste resultatene utsted: LC_ALL=C ninja test som en ikke-root bruker.

Som root bruker, installer denne pakken på nytt for introspection data (og eventuelt dokumentasjonen):

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D man-pages=enabled: Denne bryteren gjør at bygget lager og installerer pakkens manualsider.

-D glib_debug=disabled: Denne bryteren gjør at bygget inkluderer ikke noen dyre sjekker for feilsøking i byggeprogrammene og bibliotekene.

-D sysprof=disabled: Denne bryteren deaktiverer sporingsstøtte for sysprof. Fjern dette alternativet hvis du vil ha sporingsstøtte. Merk at hvis sysprof ikke er installert, å fjerne dette alternativet vil føre til at byggesystemet laster ned en kopi av sysprof fra Internett.

Innhold

GLib Innhold

Installerte Programmer: gapplication, gdbus, gdbus-codegen, gi-compile-repository, gi-decompile-typelib, gi-inspect-typelib gio, gio-querymodules, glib-compile-resources, glib-compile-schemas, glib-genmarshal, glib-gettextize, glib-mkenums, gobject-query, gresource, gsettings, gtester, og gtester-report
Installerte Biblioteker: libgio-2.0.so, libgirepository-2.0.so, libglib-2.0.so, libgmodule-2.0.so, libgobject-2.0.so, og libgthread-2.0.so
Installerte Mapper: /usr/include/gio-unix-2.0, /usr/include/glib-2.0, /usr/lib/gio, /usr/lib/glib-2.0, /usr/share/glib-2.0, and /usr/share/doc/glib-2.86.4 (optional)

GObject Introspection Innhold

Installert Program: g-ir-annotation-tool, g-ir-compiler, g-ir-doc-tool (optional), g-ir-generate, g-ir-inspect, og g-ir-scanner
Installerte Biblioteker: libgirepository-1.0.so og _giscanner.cpython-314-<arch>-linux-gnu.so
Installerte Mapper: /usr/include/gobject-introspection-1.0, /usr/lib/girepository-1.0, /usr/lib/gobject-introspection, /usr/share/gir-1.0, og /usr/share/gobject-introspection-1.0

Korte Beskrivelser

gapplication

kan brukes til å starte applikasjoner og sende meldinger til allerede kjørende økter av andre applikasjoner

gdbus

er et enkelt verktøy som brukes til å jobbe med D-Bus objekter

gdbus-codegen

brukes til å generere kode og/eller dokumentasjon for en eller flere D-Bus grensesnitt

gi-compile-repository

konverterer en eller flere GIR filer til en eller flere typelib filer

gi-decompile-typelib

er en GIR dekompilator som bruker repository API

gi-inspect-typelib

er et verktøy som gir informasjon om en GI typelib

gio

er et verktøy som gjør mange GIO funksjoner tilgjengelig fra kommandolinjen

gio-querymodules

brukes til å opprette en giomodule.cache fil i de listede mappene. Denne filen viser den implementerte utvidelsen punktet for hver modul som er funnet

glib-compile-resources

brukes til å lese ressursbeskrivelsen fra en fil og filene den refererer til for å lage en binær ressurs bunt som er egnet for bruk med GResource API

glib-compile-schemas

brukes til å kompilere alle XML skjemafilene for GSettings i en mappe til en binær fil med navnet gschemas.compiled som kan brukes av GSettings

glib-genmarshal

er et C kode marshaller genereringsverktøy for GLib lukkinger

glib-gettextize

er en variant av gettext internasjonaliseringsverktøyet

glib-mkenums

er et verktøy for generering av enumbeskrivelse i C språk

gobject-query

er et lite verktøy som tegner et tre med typer

gresource

tilbyr et enkelt kommandolinjegrensesnitt til GResource

gsettings

tilbyr et enkelt kommandolinjegrensesnitt til GSettings

gtester

er et testverktøy

gtester-report

er et testrapportformateringsverktøy

libgio-2.0.so

er et bibliotek som gir nyttige klasser for generell I/O, nettverk, IPC, innstillinger og andre høynivåapplikasjoners funksjonalitet

libgirepository-2.0.so

er et bibliotek som gir tilgang til typelibs og introspection data som beskriver C APIs

libglib-2.0.so

er et flyttbart verktøybibliotek for generell bruk, som tilbyr mange nyttige datatyper, makroer, typekonverteringer, streng verktøy, filverktøy, en hovedloopabstraksjon og så videre

libgmodule-2.0.so

gir flyttbar API for dynamisk lasting av moduler

libgobject-2.0.so

gir GLib basetypesystem og objektklasse

libgthread-2.0.so

er et skjelettbibliotek for bakoverkompatibilitet; det pleide være GLib trådbiblioteket, men funksjonaliteten har blitt sammenslått inn i libglib-2.0

g-ir-annotation-tool

oppretter eller trekker ut merknadsdata fra GI typelibs

g-ir-compiler

er et motstykke til gi-compile-repository for de gamle libgirepository-1.0 API

g-ir-doc-tool

genererer Mallard filer som kan vises med yelp eller gjengitt til HTML med yelp-build fra yelp-tools

g-ir-inspect

er et motstykke til gi-inspect-typelib for de gamle libgirepository-1.0 API

g-ir-generate

er et motstykke til gi-decompile-typelib for de gamle libgirepository-1.0 API

g-ir-scanner

er et verktøy som genererer GIR XML filer ved å analysere overskrifter og introspekterende GObject baserte biblioteker

libgirepository-1.0.so

er et motstykke til libgirepository-2.0 for de gamle 1.0 API

GLibmm-2.66.8

Introduksjon til GLibmm

GLibmm pakken er et sett med C++ bindinger for GLib.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GLibmm Avhengigheter

Påkrevd

GLib-2.86.4 og libsigc++-2.12.1

Valgfri

Doxygen-1.16.1, glib-networking-2.80.1 (for tester), GnuTLS-3.8.12 (for tester), libxslt-1.1.45, og mm-common

Installasjon av GLibmm

Installer GLibmm ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgiomm-2.4.so, libglibmm-2.4.so og libglibmm_generate_extra_defs-2.4.so
Installerte Mapper: /usr/lib/g{io,lib}mm-2.4 og /usr/include/g{io,lib}mm-2.4

Korte Beskrivelser

libgiomm-2.4.so

inneholder GIO API klasser

libglibmm-2.4.so

inneholder GLib API klasser

GLibmm-2.86.0

Introduksjon til GLibmm

GLibmm pakken er et sett med C++ bindinger for GLib. Denne versjonen er en del av et nytt API for å støtte gtkmm-4.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GLibmm Avhengigheter

Påkrevd

GLib-2.86.4 og libsigc++-3.6.0

Valgfri

Doxygen-1.16.1, glib-networking-2.80.1 (for tester), GnuTLS-3.8.12 (for tester), libxslt-1.1.45, og mm-common

Installasjon av GLibmm

Installer GLibmm ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgiomm-2.68.so, libglibmm-2.68.so, og libglibmm_generate_extra_defs-2.68.so
Installerte Mapper: /usr/lib/g{io,lib}mm-2.68 og /usr/include/g{io,lib}mm-2.68

Korte Beskrivelser

libgiomm-2.68.so

inneholder GIO API klasser

libglibmm-2.68.so

inneholder GLib API klasser

GMime-3.2.15

Introduksjon til GMime

GMime pakken inneholder et sett med verktøy for å analysere og lage meldinger ved hjelp av Multipurpose Internet Mail Extension (MIME) som definert av gjeldende RFC-er. Se GMime nettside for RFC-ene som har ressurser. Dette er nyttig siden det gir en API som følger MIME spesifikasjonen så nært som mulig samtidig som den gir programmerere et ekstremt brukervennlig grensesnitt til API funksjonene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GMime Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt) og libgpg-error-1.58

Valgfri

DocBook-utils-0.6.14, gpgme-2.0.1, GTK-Doc-1.35.1, libnsl-2.0.1, Vala-0.56.18, og Gtk# (krever Mono)

Installasjon av GMime

Installer GMime ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check. To tester, test-pgp og test-pgpmime, er kjent for å mislykkes.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgmime-3.0.so
Installerte Mapper: /usr/include/gmime-3.0 og /usr/share/gtk-doc/html/gmime-3.0

Korte Beskrivelser

libgmime-3.0.so

inneholder API funksjoner som brukes av programmer som må overholde MIME standardene

gmmlib-22.8.2

Introduksjon til gmmlib

gmmlib pakken inneholder Intel Grafikk Minneadministrasjonsbibliotek, som gir enhetsspesifikt minne og bufferadministrasjonsfunksjoner for Intel Mediadriver for VAAPI og Intel Grafikk Datamaskinkjøretid for OpenCL (TM).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

På GitHub har vi splittet oppstrømsdepotet til vårt eget lfs-book navneområde og gjenskapte en tagg for utgivelsen. Dette gjøres for å sikre at den nedlastede tarball filnavnet er korrekt og konsistent (dvs. det skal ikke endres når du bruker nettleseren i stedet for et verktøy som wget). Taggen vår og oppstrømsutgivelseskoden er på samme commit, så vi har ikke introdusert noen endring i tarball innholdet bortsett fra navnet på toppnivåmappen (som Git ikke sporer).

gmmlib Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av gmmlib

Installer gmmlib ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D BUILD_TYPE=Release        \
      -G Ninja                     \
      -W no-dev ..                 &&
ninja

Testpakken kjøres normalt av ninja med mindre -D RUN_TEST_SUITE=NO sendes til cmake.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libigdgmm.so
Installerte Mapper: /usr/include/igdgmm

Korte Beskrivelser

libigdgmm.so

inneholder funksjoner som gir minneadministrasjonsfunksjoner for Intel Grafikk Drivere

gsl-2.8

Introduksjon til Gsl

GNU Vitenskapelige Bibliotek (GSL) er et numerisk bibliotek for C og C++ programmerere. Det gir et bredt spekter av matematiske rutiner som f.eks tilfeldige tallgeneratorer, spesialfunksjoner og minstekvadrattilpasning.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/gsl/gsl-2.8.tar.gz

  • Nedlasting MD5 sum: 182ec03204f164e67238c9116591a37d

  • Nedlastingsstørrelse: 8.6 MB

  • Estimert diskplass som kreves: 223 MB (med tester, uten dokumenter)

  • Estimert byggetid: 1.0 SBU (Bruker parallellisme=4; med tester, uten dokumenter)

Gsl Avhengigheter

Valgfri

sphinx_rtd_theme-3.1.0

Installasjon av Gsl

Installer Gsl ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du har sphinx_rtd_theme-3.1.0 installert, bygg dokumentasjonen med:

make html

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Hvis du bygde dokumentasjonen, installer den (som root) med:

mkdir                   /usr/share/doc/gsl-2.8 &&
cp -R doc/_build/html/* /usr/share/doc/gsl-2.8

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: gsl-config, gsl-histogram, og gsl-randist
Installerte Biblioteker: libgslcblas.so og libgsl.so
Installert Mappe: /usr/include/gsl og /usr/share/doc/gsl-2.8

Korte Beskrivelser

gsl-config

er et skallskript for å få versjonsnummeret og kompilatorflaggene til det installerte Gsl biblioteket

gsl-histogram

er et demonstrasjonsprogram for GNU Vitenskapelige Biblioteket som beregner et histogram fra data hentet fra stdin

gsl-randist

er et demonstrasjonsprogram for GNU Vitenskapelige Biblioteket som genererer tilfeldige utvalg fra ulike distribusjoner

libgslcblas.so

inneholder funksjoner som implementerer et C grensesnitt til Grunnleggende Lineær Algebra underprogrammer

libgsl.so

inneholder funksjoner som gir en samling numeriske rutiner for vitenskapelig databehandling

gspell-1.14.2

Introduksjon til gspell

gspell pakken gir en fleksibel API for å legge til stavekontroll i en GTK+ applikasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gspell Avhengigheter

Påkrevd

enchant-2.8.14, ICU-78.2, og GTK-3.24.51

Valgfri

GLib-2.86.4 (med GObject Introspection), GTK-Doc-1.35.1, Vala-0.56.18, Valgrind-3.26.0, og Hunspell (for tester)

Installasjon av gspell

Installer gspell ved å kjøre følgende kommandoer:

mkdir gspell-build &&
cd    gspell-build &&

meson setup --prefix=/usr --buildtype=release -D gtk_doc=false .. &&
ninja

For å teste resultatene, utsted: ninja test. Testene må kjøres i en X økt. En test, test-checker, er kjent for å mislykkes hvis den eksterne pakken Hunspell ikke er installert.

Nå, som root bruker:

ninja install

Command Explanations

-D gtk_doc=false: Hindrer å bygge dokumentasjon. Fjern denne hvis du har GTK-Doc installert og ønsker å bygge dokumentasjonen.

Innhold

Installerte Programmer: gspell-app1
Installerte Biblioteker: libgspell-1.so
Installerte Mapper: /usr/include/gspell-1 og /usr/share/gtk-doc/html/gspell-1.0

Korte Beskrivelser

gspell-app1

kontrollerer stavemåten til en tekst som er skrevet inn i et vindu

libgspell-1.so

er gspell API biblioteket

highway-1.3.0

Introduksjon til highway

highway pakken inneholder et C++ bibliotek som gir flyttbart SIMD/vektor innhold.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

highway Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av highway

Installer highway ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_TESTING=OFF         \
      -D BUILD_SHARED_LIBS=ON      \
      -G Ninja ..                  &&
ninja

Denne pakken kommer med en testpakke, men den krever gtest, som ikke er i BLFS.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D BUILD_TESTING=OFF: Denne parameteren deaktiverer testpakken fra å bygges pga gtest ikke er en del av BLFS. Uten denne parameteren vil CMake laste ned denne pakken under konfigurasjonsprosessen. Hvis du ønsker å kjøre testene, installer gtest og så fjern denne parameteren.

-D BUILD_SHARED_LIBS=ON: Denne parameteren aktiverer bygging av delte versjoner av bibliotekene i stedet for statiske versjoner.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libhwy.so, libhwy_contrib.so, og libhwy_test.so
Installerte Mapper: /usr/include/hwy og /usr/lib/cmake/hwy

Korte Beskrivelser

libhwy.so

inneholder funksjoner som gir flyttbar SIMD/vektor innhold

libhwy_contrib.so

inneholder flere tillegg til Highway, inkludert en rekke dot produkt, bilde, matte og sorterings rutiner

libhwy_test.so

inneholder testhjelpere for Highway

icu-78.2

Introduksjon til ICU

Internasjonale Komponenter for Unicode (ICU) pakken er et modent, mye brukt sett med C/C++ biblioteker som gir Unicode og globaliseringsstøtte for programvareapplikasjoner. ICU er veldig overførbar og gir applikasjoner de samme resultatene på alle plattformer.

Advarsel

Oppgradering av denne pakken til en ny hovedversjon (for eksempel fra 72.1 to 78.2) vil kreve ombygging av mange andre pakker. Hvis noen pakker som bruker bibliotekene bygget av icu4c-78 bygges om, vil de bruke de nye bibliotekene mens gjeldende pakker vil bruke de tidligere bibliotekene. Hvis Linux applikasjonslaster (/usr/lib/ld-linux-x86-64.so.2) bestemmer at både det gamle og det nye biblioteket er nødvendig, og et symbol (navn på data eller funksjon) finnes i begge versjoner av biblioteket, vil alle referanser til symbolet bli løst til versjonen som vises tidligere i bredde-første sekvensen av avhengighetsgrafen. Dette kan føre til at applikasjonen mislykkes hvis definisjonen av dataene eller oppførselen til funksjonen det henvises til ved symbolet er forskjellig mellom to versjoner. For å unngå problemet, brukere må gjenoppbygge hver pakke som er knyttet til et ICU bibliotek så snart som mulig når ICU er oppdatert til en ny hovedversjon.

For å finne ut hvilke eksterne biblioteker som trengs (direkte eller indirekte) av en applikasjon eller et bibliotek, kjør:

ldd <application or library> 

eller for å se bare programmer og biblioteker som direkte bruker et bibliotek:

readelf -d  <application or library> | grep NEEDED

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ICU Avhengigheter

Valgfri

Doxygen-1.16.1 (for dokumentasjon)

Installasjon av ICU

Notat

Denne pakken utvides til mappen icu.

En del av en test kan ikke kjøres på i686. Unngå å kjøre den når du bygger for den plattformen:

case $(uname -m) in
  i?86) sed -e "s/U_PLATFORM_IS_LINUX_BASED/__X86_64__ \&\& &/" \
            -i source/test/intltest/ustrtest.cpp ;;
esac

Installer ICU ved å kjøre følgende kommandoer:

cd source                 &&
./configure --prefix=/usr &&
make

For å teste resultatene, utsted: make check. En test (intltest) mislykkes fortsatt av ukjente årsaker på i686 når den sjekker noen thailandske konverteringer.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval, gendict, gennorm2, genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg, makeconv, pkgdata, og uconv
Installerte Biblioteker: libicudata.so, libicui18n.so, libicuio.so, libicutest.so, libicutu.so, og libicuuc.so
Installerte Mapper: /usr/include/unicode, /usr/lib/icu, og /usr/share/icu

Korte Beskrivelser

derb

demonterer en ressursbunt

escapesrc

konverterer «\u» escaped tegn til unicode tegn

genbrk

kompilerer kildefiler for ICU bryte iterasjonsregler til binære data filer

genccode

genererer C eller plattformspesifikk monteringskode fra en ICU datafil

gencfu

leser i Unicode forvirrende tegndefinisjoner og skriver ut binære data

gencmn

genererer en ICU minnekartbar datafil

gencnval

kompilerer konverterens aliasfil

gendict

kompilerer ordlister til ICU strengprøveordbøker

gennorm2

bygger binære datafiler med Unicode normaliseringsdata

genrb

kompilerer en ressurspakke

gensprep

kompilerer StringPrep data fra filtrerte RFC 3454 filer

icu-config

skriver ut ICU byggealternativer

icuinfo

skriver ut konfigurasjonsinformasjon om gjeldende ICU

icupkg

trekker ut eller modifiserer et ICU .dat arkiv

makeconv

kompilerer en konverteringstabell

pkgdata

pakker data for bruk av ICU

uconv

konverterer data fra en koding til en annen

libicudata.so

er databiblioteket

libicui18n.so

er internasjonaliseringsbiblioteket (i18n).

libicuio.so

er ICU I/O (unicode stdio) biblioteket

libicutest.so

er testbiblioteket

libicutu.so

er verktøybiblioteket

libicuuc.so

er fellesbiblioteket

inih-62

Introduksjon til inih

Denne pakken er en enkel .INI filanalyser skrevet i C.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av inih

Installer inih ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installert Program: Ingen
Installerte Biblioteker: libinih.so og libINIReader.so
Installerte Mapper: Ingen

Korte Beskrivelser

libinih.so

er hovedbiblioteket til inih

libINIReader.so

er analysebiblioteket til inih

Jansson-2.15.0

Introduksjon til Jansson

Jansson pakken inneholder et bibliotek som brukes til kode, dekode og manipulere JSON data.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Jansson

Installer jansson ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libjansson.so
Installerte Mapper: Ingen

Korte Beskrivelser

libjansson.so

inneholder et API for koding, dekoding og manipulering av JSON data

JSON-C-0.18

Introduksjon til JSON-C

JSON-C implementerer en referansetelling objektmodell som lar deg enkelt konstruere JSON objekter i C, gi dem ut som JSON formaterte strenger og analyser JSON formaterte strenger tilbake til C representasjonen av JSON objekter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

JSON-C Avhengigheter

Påkrevd

CMake-4.2.3

Valgfri (for dokumentasjon)

Doxygen-1.16.1 og Graphviz-14.1.2 (for dot verktøy)

Installasjon av JSON-C

Først, fiks å bygge denne pakken med CMake-4.0:

sed -i 's/VERSION 2.8/VERSION 4.0/' apps/CMakeLists.txt  &&
sed -i 's/VERSION 3.9/VERSION 4.0/' tests/CMakeLists.txt

Installer JSON-C ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_STATIC_LIBS=OFF     \
      .. &&
make

Hvis du har installert Doxygen-1.16.1 og Graphviz-14.1.2, kan du bygge dokumentasjonen ved å kjøre følgende kommando:

doxygen doc/Doxyfile

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install

Hvis du har laget dokumentasjonen, installer den ved å kjøre følgende kommandoer som root bruker:

install -d -vm755 /usr/share/doc/json-c-0.18 &&
install -v -m644 doc/html/* /usr/share/doc/json-c-0.18

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bruke et høyere nivå av kompilatoroptimaliseringer.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libjson-c.so
Installerte Mapper: /usr/include/json-c

Korte Beskrivelser

libjson-c.so

inneholder JSON-C API funksjoner

JSON-GLib-1.10.8

Introduksjon til JSON GLib

JSON GLib pakken er et bibliotek som gir støtte for serialisering og deserialisering for JavaScript Objektnotasjonsformat (JSON) beskrevet av RFC 4627.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

JSON-GLib Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection påkrevd vis GNOME bygges)

Valgfri

docutils-0.22.4 og Gi-DocGen-2026.1

Installasjon av JSON GLib

Installer JSON GLib ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Hvis docutils-0.22.4 er installert, bygg manualsidene:

meson configure -D man=true &&
ninja

Hvis Gi-DocGen-2026.1 er installert, bygg API dokumentasjonen:

sed "/json_docdir =/s|$| / 'json-glib-1.10.8'|" -i ../doc/meson.build &&
meson configure -D documentation=enabled &&
ninja

For å teste resultatene, utsted: ninja test. En test, node, er kjent for å mislykkes.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dgtk_doc=disabled: Legg til dette alternativet hvis du har GTK-Doc-1.35.1 installert og ikke ønsker å generere API dokumentasjonen.

Innhold

Installerte Programmer: json-glib-format og json-glib-validate
Installert Bibliotek: libjson-glib-1.0.so
Installerte Mapper: /usr/{include,libexec,share{,/installed-tests}/json-glib-1.0} og /usr/share/gtk-doc/html/json-glib

Korte Beskrivelser

json-glib-format

er et enkelt kommandolinjegrensesnitt for å formatere JSON data

json-glib-validate

er et enkelt kommandolinjegrensesnitt for å validere JSON data

libjson-glib-1.0.so

inneholder JSON GLib API funksjoner

keyutils-1.6.3

Introduksjon til keyutils

Keyutils er et sett med verktøy for å administrere nøkkeloppbevaringsfasiliteten i kjernen, som kan brukes av filsystemer, blokk enheter og mer for å få og beholde autorisasjonen og krypteringsnøkler som kreves for å utføre sikre operasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Keyutils Avhengigheter

Valgfri

lsb-tools-0.12 (henvist av testpakken)

Kjernekonfigurasjon

Hvis du kjører testpakken, trenger noen tester følgende kjernefunksjoner aktivert:

Security options --->
  [*] Enable access key retention support                                 [KEYS]
  [*]   Large payload keys                                            [BIG_KEYS]
  [*]   Diffie-Hellman operations on retained keys           [KEY_DH_OPERATIONS]

-*- Cryptographic API --->                                              [CRYPTO]
  Public-key cryptography --->
    <*/M> RSA (Rivest-Shamir-Adleman)                               [CRYPTO_RSA]
  Hashes, digests, and MACs --->
    <*/M> SHA-1                                                    [CRYPTO_SHA1]
  [*] Asymmetric (public-key cryptographic) key type --->  [ASYMMETRIC_KEY_TYPE]
    <*> Asymmetric public-key crypto algorithm subtype
                                            ...  [ASYMMETRIC_PUBLIC_KEY_SUBTYPE]
    # If not built into the kernel, [SYSTEM_TRUSTED_KEYRING] won't show up;
    # building as a module won't work:
    <*>   X.509 certificate parser                     [X509_CERTIFICATE_PARSER]
  Certificates for signature checking --->
    [*] Provide system-wide ring of trusted keys        [SYSTEM_TRUSTED_KEYRING]
    [*]   Provide a keyring to which extra trustable keys may be added
                                                ...  [SECONDARY_TRUSTED_KEYRING]
    [*] Provide system-wide ring of blacklisted keys  [SYSTEM_BLACKLIST_KEYRING]

Installasjon av keyutils

Installer keyutils ved å kjøre følgende kommandoer:

make

Nå, som root bruker:

make NO_ARLIB=1 LIBDIR=/usr/lib BINDIR=/usr/bin SBINDIR=/usr/sbin install

Testpakken kan bare kjøres etter at denne pakken er installert. For å teste resultatene, utsted, som root bruker:

make -k test

Hvis lsb-tools-0.12 ikke er installert, vil testpakken gi noen linjer klage på at lsb_release kommandoen ikke er tilgjengelig, men den vil ikke påvirke testresultatet.

Parameterforklaringer

NO_ARLIB=1: Dette make flagget deaktiverer installasjonen av statisk bibliotek.

Konfigurere keyutils

Konfigurasjonsfiler

/etc/request-key.conf og /etc/request-key.d/*

Innhold

Installerte Programmer: keyctl, key.dns_resolver, og request-key
Installert Bibliotek: libkeyutils.so
Installert Mappe: /etc/keyutils, /etc/request-key.d, og /usr/share/keyutils

Korte Beskrivelser

keyctl

kontrollerer nøkkeladministrasjonsfasilitetet med en rekke underkommandoer

key.dns_resolver

er påkalt av request-key på vegne av kjernen når kjernetjenester (som NFS, CIFS og AFS) trenger å utføre et vertsnavnoppslag og kjernen ikke har nøkkelen bufret. Det er vanligvis ikke ment å bli påkalt direkte

request-key

påkalles av kjernen når kjernen blir bedt om en nøkkel som den ikke har tilgjengelig umiddelbart. Kjernen oppretter en midlertidig nøkkel og kaller deretter til dette programmet for å instansiere det. Det er ikke ment å bli påkalt direkte

libkeyutils.so

inneholder keyutils bibliotekets API instansering

libaio-0.3.113

Introduksjon til libaio

libaio pakken er en asynkron I/O fasilitet ("async I/O", eller "aio") som har et rikere API og kapasitetssett enn den enkle POSIX async I/O funksjonen. Dette biblioteket, libaio, gir Linux-native API for asynkron I/O. POSIX async I/O-funksjonen krever dette biblioteket for å gi kjerneakselerert asynkron I/O funksjoner, det samme gjør applikasjoner som krever Linux-native async I/O API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av libaio

Først deaktiverer du installasjonen av det statiske biblioteket:

sed -i '/install.*libaio.a/s/^/#/' src/Makefile

Deretter, fiks et problem i testpakken:

case "$(uname -m)" in
  i?86) sed -e "s/off_t/off64_t/" -i harness/cases/23.t ;;
esac

Bygg libaio ved å kjøre følgende kommandoer:

make

For å teste resultatene, utsted: make partcheck.

Installer nå pakken som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libaio.so
Installerte Mapper: Ingen

Korte Beskrivelser

libaio.so

er libaio biblioteket

libarchive-3.8.5

Introduksjon til libarchive

libarchive biblioteket gir et enkelt grensesnitt for lesing/skriving av ulike komprimeringsformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libarchive Avhengigheter

Valgfri

libxml2-2.15.1, LZO-2.10, og Nettle-3.10.2

Installasjon av libarchive

Installer libarchive ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Fortsatt som root bruker, opprett en symbolkobling slik at vi kan bruke bsdunzip som unzip, i stedet for å stole på den uvedlikeholdte Unzip pakken:

ln -sfv bsdunzip /usr/bin/unzip

Notat

Som diskutert i Feil Filnavn Koding, hvis Zip arkivet som skal pakkes ut inneholder en fil med et navn som inneholder ikke-latinske tegn, må du manuelt spesifisere kodingen av disse tegnene, ellers vil de bli omgjort til uleselige sekvenser i det utpakkede filnavnet. For eksempel, hvis et Zip arkiv opprettet med WinZip, archive.zip, inneholder en fil navngitt med forenklede kinesiske tegn, dens koding skal være CP936 og -I cp936 alternativet skal brukes. dvs. kommandoen for å trekke ut arkivet bør være unzip -I cp936 archive.zip.

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--without-xml2: Denne bryteren bruker expat for støtte for xar arkivformatet i stedet for libxml2 (som er å foretrekke) hvis begge pakkene er installert.

--with-nettle: Denne bryteren bruker Nettle for krypteringsstøtte i stedet for OpenSSL.

Innhold

Installerte Programmer: bsdcat, bsdcpio, bsdtar, og bsdunzip
Installerte Biblioteker: libarchive.so
Installerte Mapper: Ingen

Korte Beskrivelser

bsdcat

utvider filer til standard utdata

bsdcpio

er et verktøy som ligner på cpio

bsdtar

er et verktøy som ligner på GNU tar

bsdunzip

er et verktøy som ligner på Info-ZIP unzip

libarchive.so

er et bibliotek som kan oppretter og leser flere strømme arkivformater

libassuan-3.0.2

Introduksjon til libassuan

libassuan pakken inneholder et interprosesskommunikasjonsbibliotek brukt av noen av de andre GnuPG relaterte pakker. libassuans primær bruk er å tillate en klient å samhandle med en ikke-vedvarende server. libassuan er imidlertid ikke begrenset til bruk med GnuPG servere og klienter. Den ble designet for å være fleksibel nok til å møte kravene til mange transaksjonsbaserte miljøer med ikke-vedvarende servere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libassuan Avhengigheter

Påkrevd

libgpg-error-1.58

Valgfri

texlive-20250308 (eller install-tl-unx)

Installasjon av libassuan

Installer libassuan ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make                      &&

make -C doc html                                                       &&
makeinfo --html --no-split -o doc/assuan_nochunks.html doc/assuan.texi &&
makeinfo --plaintext       -o doc/assuan.txt           doc/assuan.texi

Kommandoene ovenfor bygger dokumentasjonen i html og rentekst formater. Hvis du ønsker å bygge alternative formater av dokumentasjonen, må du ha texlive-20250308 installert og utstede følgende kommandoer:

make -C doc pdf ps

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install &&

install -v -dm755   /usr/share/doc/libassuan-3.0.2/html &&
install -v -m644 doc/assuan.html/* \
                    /usr/share/doc/libassuan-3.0.2/html &&
install -v -m644 doc/assuan_nochunks.html \
                    /usr/share/doc/libassuan-3.0.2      &&
install -v -m644 doc/assuan.{txt,texi} \
                    /usr/share/doc/libassuan-3.0.2

Hvis du bygde alternative formater av dokumentasjonen, installer dem ved å kjøre følgende kommandoer som root bruker:

install -v -m644  doc/assuan.{pdf,ps,dvi} \
                  /usr/share/doc/libassuan-3.0.2

Innhold

Installert Program: Ingen
Installert Bibliotek: libassuan.so
Installert Mappe: /usr/share/doc/libassuan-3.0.2

Korte Beskrivelser

libassuan.so

er et interprosesskommunikasjonsbibliotek som implementerer Assuan protokollen

libatasmart-0.19

Introduksjon til libatasmart

libatasmart pakken er et diskrapportering bibliotek. Den støtter bare et undersett av ATA S.M.A.R.T. funksjonalitet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Redaktør notater: https://wiki.linuxfromscratch.org/blfs/wiki/libatasmart

Installasjon av libatasmart

Installer libatasmart ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make docdir=/usr/share/doc/libatasmart-0.19 install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: skdump og sktest
Installert Bibliotek: libatasmart.so
Installert Mappe: /usr/share/doc/libatasmart-0.19

Korte Beskrivelser

skdump

er et verktøy som rapporterer om statusen til harddisken

sktest

er et verktøy for å utstede harddisktester

libatasmart.so

inneholder ATA S.M.A.R.T API funksjoner

libatomic_ops-7.10.0

Introduksjon til libatomic_ops

libatomic_ops gir implementeringer for oppdateringsoperasjoner for atomic minne på en rekke arkitekturer. Dette tillater direkte bruk av disse i rimelig flyttbar kode. I motsetning til tidligere lignende pakker, vurderer denne eksplisitt minnebarriere semantikk, og tillater konstruksjon av kode som involverer minimum overhead over et mangfold av arkitekturer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av libatomic_ops

Installer libatomic_ops ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --docdir=/usr/share/doc/libatomic_ops-7.10.0 &&
make

For å teste resultatene, utsted make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-shared: Denne bryteren aktiverer bygging av libatomic_ops delte biblioteker.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libatomic_ops.so og libatomic_ops_gpl.so
Installert Mappe: /usr/include/libatomic_ops og /usr/share/doc/libatomic_ops-7.10.0

Korte Beskrivelser

libatomic_ops.so

inneholder funksjoner for atomic minneoperasjoner

libblockdev-3.4.0

Introduksjon til libblockdev

libblockdev er et C bibliotek som støtter GObject Introspection for manipulering av blokkenheter. Den har et programtillegg basert arkitektur hvor hver teknologi (som LVM, Btrfs, MD RAID, Swap,...) er implementert i et separat programtillegg, muligens med flere implementeringer (f.eks. ved å bruke LVM CLI eller den nye LVM DBus API).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libblockdev Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection påkrevd for GNOME)

Anbefalt
Valgfri

btrfs-progs-6.17.1, GTK-Doc-1.35.1, JSON-GLib-1.10.8, mdadm-4.4, parted-3.6, smartmontools-7.5, volume_key, ndctl, og targetcli (for tester)

Installasjon av libblockdev

Installer libblockdev ved å kjøre følgende kommandoer:

./configure --prefix=/usr      \
            --sysconfdir=/etc  \
            --with-python3     \
            --without-escrow   \
            --without-gtk-doc  \
            --without-lvm      \
            --without-lvm_dbus \
            --without-nvdimm   \
            --without-tools    \
            --without-smartmontools &&
make

Testpakken krever targetcli, som ikke er en del av BLFS.

Nå, som root bruker:

make install

Parameterforklaringer

--without-escrow: Denne bryteren tillater bygging av libblockdev uten volume_key installert.

--without-lvm --without-lvm_dbus --without-tools: Kombinasjonen av disse brytere tillater bygging av libblockdev uten parted-3.6 installert. Fjern den hvis du har installert parted-3.6 og ønsker å bygge lvm-cache-stats eller vfat-resize verktøy, eller ønsker libblockdev å støtte logiske volumer.

--without-smartmontools: Denne bryteren tillater bygging av libblockdev uten JSON-GLib-1.10.8 eller smartmontools-7.5 installert. Fjern den hvis du har begge pakkene installert.

--without-btrfs --without-mdraid --without-tools: Kombinasjonen av disse bryterne tillater bygging av libblockdev uten libbytesize-2.12 installert. --without-mdraid alternativet vil bryte UDisks-2.11.0, så ikke bruk det med mindre du virkelig vet hva du gjør.

--without-crypto: Denne bryteren tillater bygging av libblockdev uten cryptsetup-2.8.4 eller keyutils-1.6.3 installert. Denne bryteren vil bryte UDisks-2.11.0, så ikke bruk det med mindre du virkelig vet hva du gjør.

--without-dm --without-lvm --without-lvm_dbus --without-mpath: Kombinasjonen av disse bryterne tillater bygging av libblockdev uten LVM2-2.03.38 installert. --without-dm og --without-mpath alternativene er ikke i instruksjonene gitt av boken fordi LVM2-2.03.38 er påkrevd for cryptsetup-2.8.4 og cryptsetup-2.8.4 er uansett en anbefalt avhengighet av libblockdev.

--without-nvme: Denne bryteren tillater bygging av libblockdev uten libnvme-1.16.1 installert. Denne bryteren vil bryte UDisks-2.11.0, så ikke bruk det med mindre du virkelig vet hva du gjør.

Innhold

Installerte Programmer: lvm-cache-stats og vfat-resize (begge valgfri)
Installerte Biblioteker: libbd_btrfs.so, libbd_crypto.so, libbd_dm.so, libbd_fs.so, libbd_loop.so, libbd_lvm.so (valgfri), libbd_lvm-dbus.so (valgfri), libbd_mdraid.so, libbd_mpath.so, libbd_nvme.so, libbd_part.so, libbd_swap.so, libbd_utils.so, og libblockdev.so
Installerte Mapper: /etc/libblockdev, /usr/include/blockdev, og /usr/share/gtk-doc/html/libblockdev (valgfri)

Korte Beskrivelser

lvm-cache-stats

skriver ut statistikk over hurtiglagre på LVM Logiske Volumer

vfat-resize

endrer størrelse på vfat filsystemer

libbytesize-2.12

Introduksjon til libbytesize

libbytesize pakken er et bibliotek som letter de vanlige operasjonene med størrelser i byte.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libbytesize Avhengigheter

Påkrevd

Pygments-2.19.2

Valgfri

GTK-Doc-1.35.1, pocketlint (python modul for en test), og polib (python modul for en test)

Installasjon av libbytesize

Installer libbytesize ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Hvis du har de valgfrie python modulene installert, kan regresjonstester kjøres med: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: bscalc
Installert Bibliotek: libbytesize.so
Installerte Mapper: /usr/include/bytesize og /usr/lib/python3.14/site-packages/bytesize

Korte Beskrivelser

bscalc

konverterer fra en større enhet, for eksempel MB eller TB, tilbake til en verdi i byte

libbytesize.so

inneholder funksjoner som brukes til å håndtere vanlige lese-/skriveoperasjoner med størrelser i byte

libclc-21.1.8

Introduksjon til libclc

libclc pakken inneholder en implementering av bibliotekkravene til programmeringsspråket OpenCL C, som spesifisert av OpenCL 1.1 spesifikasjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libclc Avhengigheter

Påkrevd

SPIRV-LLVM-Translator-21.1.4

Installasjon av libclc

Installer libclc ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -G Ninja ..                  &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: Ingen
Installerte Mapper: /usr/include/clc og /usr/share/clc

libcloudproviders-0.3.6

Introduksjon til libcloudproviders

libcloudproviders pakken inneholder en bibliotek som gir en DBus API som tillater skylagring å synkronisere klienter for å eksponere sine tjenester.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libcloudproviders Avhengigheter

Påkrevd

GLib-2.86.4 (med GObject Introspection) og Vala-0.56.18

Valgfri

GTK-Doc-1.35.1

Installasjon av libcloudproviders

Installer libcloudproviders ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Denable-gtk-doc: Bruk denne bryteren hvis du har GTK-Doc-1.35.1 installert og ønsker å generere API dokumentasjon.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libcloudproviders.so
Installerte Mapper: /usr/include/cloudproviders

Korte Beskrivelser

libcloudproviders.so

inneholder funksjoner som gir en DBus API for å tillate skylagring å synkronisere klienter for å eksponere tjenestene deres

libdaemon-0.14

Introduksjon til libdaemon

libdaemon pakken er et lettvekts C bibliotek som letter skrivingen av UNIX nisser.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libdaemon Avhengigheter

Valgfri

Doxygen-1.16.1 og Lynx-2.9.2

Installasjon av libdaemon

Installer libdaemon ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du har Doxygen installert og ønsker å bygge API dokumentasjonen, utfør følgende kommando:

make -C doc doxygen

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make docdir=/usr/share/doc/libdaemon-0.14 install

Hvis du har bygget API dokumentasjonen, installer den ved å bruke følgende kommandoer som root bruker:

install -v -m755 -d /usr/share/doc/libdaemon-0.14/reference/html &&
install -v -m644 doc/reference/html/* /usr/share/doc/libdaemon-0.14/reference/html &&
install -v -m644 doc/reference/man/man3/* /usr/share/man/man3

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libdaemon.so
Installerte Mapper: /usr/include/libdaemon og /usr/share/doc/libdaemon-0.14

Korte Beskrivelser

libdaemon.so

inneholder libdaemon API funksjoner

libdisplay-info-0.3.0

Introduksjon til libdisplay-info

libdisplay-info pakken gir et sett med høynivå og lavnivåf unksjoner til få tilgang til detaljert EDID informasjon (Extended Display Identification Data).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libdisplay-info Avhengigheter

Påkrevd

hwdata-0.404

Installasjon av libdisplay-info

Installer libdisplay-info ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: di-edid-decode
Installert Bibliotek: libdisplay-info.so
Installerte Mapper: /usr/include/libdisplay-info

Korte Beskrivelser

di-edid-decode

analyserer EDID-filen og skriver ut informasjon fra filen i menneskelig lesbar form

libdisplay-info.so

er et bibliotek for håndtering av EDID og DisplayID

libgcrypt-1.12.0

Introduksjon til libgcrypt

libgcrypt pakken inneholder et generelt formålskryptobibliotek basert på koden som brukes i GnuPG. Biblioteket gir et høyt nivå grensesnitt til kryptografiske byggeblokker ved hjelp av en utvidbar og fleksibel API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libgcrypt Avhengigheter

Påkrevd

libgpg-error-1.58

Valgfri

texlive-20250308 (eller install-tl-unx)

Installasjon av libgcrypt

Installer libgcrypt ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make                      &&

make -C doc html                                                       &&
makeinfo --html --no-split -o doc/gcrypt_nochunks.html doc/gcrypt.texi &&
makeinfo --plaintext       -o doc/gcrypt.txt           doc/gcrypt.texi

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install &&
install -v -dm755   /usr/share/doc/libgcrypt-1.12.0 &&
install -v -m644    README doc/{README.apichanges,fips*,libgcrypt*} \
                    /usr/share/doc/libgcrypt-1.12.0 &&

install -v -dm755   /usr/share/doc/libgcrypt-1.12.0/html &&
install -v -m644 doc/gcrypt.html/* \
                    /usr/share/doc/libgcrypt-1.12.0/html &&
install -v -m644 doc/gcrypt_nochunks.html \
                    /usr/share/doc/libgcrypt-1.12.0      &&
install -v -m644 doc/gcrypt.{txt,texi} \
                    /usr/share/doc/libgcrypt-1.12.0

Parameterforklaringer

--with-capabilities: Dette alternativet aktiverer libcap2 støtte. Merk at dette ødelegger cryptsetup-2.8.4

Innhold

Installerte Programmer: dumpsexp, hmac256, og mpicalc
Installert Bibliotek: libgcrypt.so
Installert Mappe: /usr/share/doc/libgcrypt-1.12.0

Korte Beskrivelser

dumpsexp

er et feilsøkingsverktøy for S-expressions

hmac256

er en frittstående HMAC-SHA-256 implementering som brukes til å beregne en HMAC-SHA-256 autentiseringskode

mpicalc

er en RPN (Reverse Polish Notation) kalkulator

libgcrypt.so

inneholder cryptographic API funksjoner

libgpg-error-1.58

Introduksjon til libgpg-error

libgpg-error pakken inneholder et bibliotek som definerer vanlige feilverdier for alle GnuPG komponenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av libgpg-error

Installer libgpg-error ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install &&
install -v -m644 -D README /usr/share/doc/libgpg-error-1.58/README

Innhold

Installerte Programmer: gpg-error, gpgrt-config, og yat2m
Installert Bibliotek: libgpg-error.so
Installerte Mapper: /usr/share/common-lisp/source/gpg-error, /usr/share/libgpg-error, og /usr/share/doc/libgpg-error-1.58

Korte Beskrivelser

gpg-error

brukes til å bestemme libgpg-error feilkoder

gpgrt-config

er et pkg-config stilverktøy for å spørre etter informasjon om installert versjon av libgpg-error

yat2m

trekker ut manualsider fra en Texinfo kilde

libgpg-error.so

inneholder libgpg-error API funksjoner

libgsf-1.14.55

Introduksjon til libgsf

libgsf pakken inneholder et bibliotek som brukes for å gi et utvidbart inndata/utdata abstraksjonslag for strukturerte filformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libgsf Avhengigheter

Påkrevd

GLib-2.86.4 og libxml2-2.15.1

Anbefalt
Valgfri

GTK-Doc-1.35.1

Installasjon av libgsf

Installer libgsf ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken leveres ikke med en fungerende testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: gsf, gsf-office-thumbnailer, og gsf-vba-dump
Installert Bibliotek: libgsf-1.so
Installerte Mapper: /usr/include/libgsf-1, /usr/share/gtk-doc/html/gsf og /usr/share/thumbnailers

Korte Beskrivelser

gsf

er et enkelt arkivverktøy, noe som ligner på tar(1)

gsf-office-thumbnailer

brukes internt av GNOME applikasjoner som for eksempel Nautilus for å generere miniatyrbilder av flere typer kontorapplikasjonsfiler

gsf-vba-dump

brukes til å trekke ut Visual Basic for Applications makroer fra filer

libgsf-1.so

inneholder libgsf API funksjoner

libgudev-238

Introduksjon til libgudev

libgudev pakken inneholder GObject bindinger for libudev.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Påkrevd

GLib-2.86.4 (GObject Introspection påkrevd for GNOME)

Valgfri

GTK-Doc-1.35.1 og umockdev-0.19.4 (for testing)

Installasjon av libgudev

Installer libgudev ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dgtk_doc=true: Bruk dette alternativet hvis GTK-Doc er installert og du ønsker å bygge og installere API dokumentasjonen.

Innhold

Installert Program: Ingen
Installerte Biblioteker: libgudev-1.0.so
Installerte Mapper: /usr/include/gudev-1.0 og /usr/share/gtk-doc/html/gudev

Korte Beskrivelser

libgudev-1.0.so

er et GObject basert innpakningsbibliotek for libudev

libgusb-0.4.9

Introduksjon til libgusb

libgusb pakken inneholder GObject innpakning for libusb-1.0 som gjør det enkelt å gjøre asynkron kontroll, bulk og avbryte overføringer med riktig kansellering og integrering i en hovedsløyfe.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libgusb Avhengigheter

Påkrevd

JSON-GLib-1.10.8 og libusb-1.0.29

Anbefalt
Valgfri

Gi-DocGen-2026.1 og umockdev-0.19.4 (for full testdekning)

Installasjon av libgusb

Installer libgusb ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D docs=false        &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed -E "/output|install_dir/s/('libgusb)'/\1-0.4.9'/" \
    -i ../docs/meson.build                            &&
meson configure -D docs=true                           &&
ninja

For å teste resultatene, utsted: ninja test. En av testene vil sende ut en advarsel om en API avvikling fra Setuptools.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D docs=false: Tillat å bygge denne pakken uten Gi-DocGen-2026.1 installert. Hvis du har Gi-DocGen-2026.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, meson configure kommandoen vil tilbakestille dette alternativet.

Innhold

Installerte Programmer: gusbcmd
Installert Bibliotek: libgusb.so
Installerte Mapper: /usr/include/gusb-1 og /usr/share/doc/libgusb-0.4.9 (hvis gi-docgen er brukt)

Korte Beskrivelser

gusbcmd

er et feilsøkingsverktøy for libgusb biblioteket

libgusb.so

inneholder libgusb API funksjoner

libical-3.0.20

Introduksjon til libical

libical pakken inneholder en implementering av iCalendar protokollene og dataformatene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libical Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt
Valgfri

Doxygen-1.16.1 (for API dokumentasjon), Graphviz-14.1.2 (for API dokumentasjon), GTK-Doc-1.35.1 (for API dokumentasjon), ICU-78.2, PyGObject-3.54.5 (for noen tester), og Berkeley DB (deprecated)

Installasjon av libical

Installer libical ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr  \
      -D CMAKE_BUILD_TYPE=Release   \
      -D SHARED_ONLY=yes            \
      -D ICAL_BUILD_DOCS=false      \
      -D GOBJECT_INTROSPECTION=true \
      -D ICAL_GLIB_VAPI=true        \
      .. &&
make -j1

Hvis du har Doxygen-1.16.1, Graphviz-14.1.2, og GTK-Doc-1.35.1 installert og ønsker å bygge API dokumentasjonen, bør du fjerne -D ICAL_BUILD_DOCS=false parameteren og utstede:

make docs

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install

Hvis du har bygget API dokumentasjonen, installer ved å utstede, som root bruker:

install -vdm755 /usr/share/doc/libical-3.0.20/html &&
cp -vr apidocs/html/* /usr/share/doc/libical-3.0.20/html

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release:: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

-D SHARED_ONLY=yes: Denne bryteren brukes for kun å bygge de delte bibliotekene.

-D ICAL_BUILD_DOCS=false: Denne bryteren forhindrer bygging av GTK dokumentasjon. Fjern hvis du vil bygge dokumentasjonen.

-D GOBJECT_INTROSPECTION=true: Denne bryteren brukes for å generere GObject metadatabindinger.

-D ICAL_GLIB_VAPI=true: Denne bryteren brukes for å bygge bindinger for Vala-0.56.18.

-D USE_BUILTIN_TZDATA=yes: Denne bryteren brukes for å bygge med dine egne tidssonedata.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libical_cxx.so, libical.so, libical-glib.so, libicalss_cxx.so, libicalss.so, og libicalvcal.so
Installert Mappe: /usr/include/libical, /usr/include/libical-glib, /usr/lib/cmake/LibIcal, /usr/libexec/libical, /usr/share/gtk-doc/html/libical-glib (optional), og /usr/share/doc/libical-3.0.20/html

Korte Beskrivelser

libical.so

inneholder libical API funksjoner

libical_cxx.so

inneholder libical C++ bindinger

libical-glib.so

inneholder libical glib bindinger

libicalss.so

er et bibliotek som lar deg lagre iCal komponentdata til disk på en rekke måter

libicalss_cxx.so

inneholder libicalss C++ bindinger

libicalvcal.so

er en vCard/vCalendar C grensesnitt

libidn-1.43

Introduksjon til libidn

libidn er en pakke designet for internasjonalisert strenghåndtering basert på Stringprep, Punycode og IDNA spesifikasjoner definert av Internet Engineering Task Force (IETF) Internasjonaliserte domenenavn (IDN) arbeidsgruppe, brukt for internasjonaliserte domenenavn. Dette er nyttig for å konvertere data fra systemets opprinnelige representasjon til UTF-8, transformerer Unicode strenger til ASCII strenger, slik at applikasjoner kan bruke visse ASCII navneetiketter (begynner med et spesielt prefiks) for å representere ikke-ASCII navneetiketter, og konvertere hele domenenavn til og fra ASCII kompatibel koding (ACE) form.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libidn Avhengigheter

Valgfri

Emacs-30.2, GTK-Doc-1.35.1, OpenJDK-21.0.9, Valgrind-3.26.0, og Mono

Installasjon av libidn

Installer libidn ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør:

pushd tests  &&
  make check &&
popd 

Nå, som root bruker:

make install &&

find doc -name "Makefile*" -delete            &&
rm -rf -v doc/{gdoc,idn.1,stamp-vti,man,texi} &&
mkdir -v       /usr/share/doc/libidn-1.43     &&
cp -r -v doc/* /usr/share/doc/libidn-1.43

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

--enable-java: Bruk denne bryteren for å aktivere bygging av Java implementeringen av libidn. Merk at OpenJDK-21.0.9 må være installert for å bruke dette alternativet.

Innhold

Installert Program: idn
Installert Bibliotek: libidn.so
Installerte Mapper: /usr/share/doc/libidn-1.43 og /usr/share/gtk-doc/html/libidn

Korte Beskrivelser

idn

er et kommandolinjegrensesnitt til det internasjonaliserte domene navnebiblioteket

libidn.so

inneholder en generisk Stringprep implementering som gjør Unicode 3.2 NFKC normalisering, kartlegging og forbud mot tegn, og toveis tegnhåndtering. Profiler for Nameprep, iSCSI, SASL og XMPP er inkludert, samt støtte for Punycode og ASCII Kompatibel koding (ACE) via IDNA. En mekanisme for å definere toppnivå Domenespesifikke valideringstabeller (TLD), og for å sammenligne strenger mot disse tabellene, så vel som standardtabeller for noen TLD er inkludert

libidn2-2.3.8

Introduksjon til libidn2

libidn2 er en pakke designet for internasjonalisert strenghåndtering basert på standarder fra Internet Engineering Task Force (IETF) sin IDN arbeidsgruppe, designet for internasjonaliserte domenenavn.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/libidn/libidn2-2.3.8.tar.gz

  • Nedlasting MD5 sum: a8e113e040d57a523684e141970eea7a

  • Nedlastingsstørrelse: 2.1 MB

  • Estimert diskplass som kreves: 21 MB (legg til 3 MB for tester)

  • Estimert byggetid: 0.1 SBU (legg til 0.6 SBU for tester)

libidn2 Avhengigheter

Anbefalt
Valgfri

git-2.53.0 og GTK-Doc-1.35.1

Installasjon av libidn2

Installer libidn2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installert Program: idn2
Installert Bibliotek: libidn2.so
Installert Mappe: /usr/share/gtk-doc/html/libidn2

Korte Beskrivelser

idn2

er et kommandolinjegrensesnitt til det internasjonaliserte domene biblioteket

libidn2.so

inneholder en generisk Stringprep implementering som brukes til internasjonalisert strenghåndtering

libksba-1.6.7

Introduksjon til Libksba

Libksba pakken inneholder et bibliotek som brukes til å lage X.509-sertifikater i tillegg til å lage CMS (Cryptographic Meldingssyntaks) lett tilgjengelig for andre applikasjoner. Begge spesifikasjoner er byggesteiner av S/MIME og TLS. Biblioteket er ikke avhengig av et annet kryptografisk bibliotek, men gir kroker for enkelt integrasjon med Libgcrypt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Libksba Avhengigheter

Påkrevd

libgpg-error-1.58

Valgfri

Valgrind-3.26.0

Installasjon av Libksba

Installer Libksba ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Innhold

Installert Program: Ingen
Installert Bibliotek: libksba.so
Installert Mappe: Ingen

Korte Beskrivelser

libksba.so

inneholder de kryptografiske API funksjonene

liblinear-250

Introduksjon til liblinear

Denne pakken gir et bibliotek for å lære lineære klassifiserere for store skala applikasjoner. Den støtter Support Vector Machines (SVM) med L2 og L1 tap, logistisk regresjon, multiklasseklassifisering og også Lineær Programmeringsmaskiner (L1 regulariserte SVM-er). Dens beregningsmessige kompleksitet skaleres lineært med antall treningseksempler som gjør den til en av de raskeste SVM løsere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Notat

Etter å ha oppdatert denne pakken fra liblinear-247 eller tidligere, må du installer Nmap-7.98 på nytt for å koble til det nye biblioteket.

Pakkeinformasjon

Installasjon av liblinear

Installer liblinear ved å kjøre følgende kommandoer:

make lib

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

install -vm644 linear.h /usr/include &&
install -vm755 liblinear.so.6 /usr/lib &&
ln -sfv liblinear.so.6 /usr/lib/liblinear.so

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: liblinear.so
Installerte Mapper: Ingen

Korte Beskrivelser

liblinear.so

er et stort lineært klassifiseringsbibliotek

libmbim-1.34.0

Introduksjon til libmbim

libmbim pakken inneholder et GLib basert bibliotek for å snakke med WWAN modemer og enheter som snakker mobilgrensesnittet Broadband Model (MBIM) protokollen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libmbim Avhengigheter

Anbefalt
Valgfri

GTK-Doc-1.35.1, bash-completion, og help2man

Installasjon av libmbim

Installer libmbim ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                 \
      --prefix=/usr            \
      --buildtype=release      \
      -D bash_completion=false \
      -D man=false             &&

ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D bash_completion=false: Bruk dette alternativet hvis den eksterne bash-completion pakken ikke er installert.

-D man=false: Bruk dette alternativet hvis den eksterne help2man pakken ikke er installert.

Innhold

Installerte Programmer: mbimcli og mbim-network
Installerte Biblioteker: libmbim-glib.so
Installerte Mapper: /usr/include/libmbim-glib

Korte Beskrivelser

mbimcli

er et verktøy som brukes til å kontrollere MBIM enheter

mbim-network

er et verktøy som brukes for enkel nettverksadministrasjon av MBIM enheter

libmbim-glib.so

inneholder API funksjoner for å snakke med WWAN modemer og enheter som snakker Mobile Interface Broadband Model (MBIM) protokollen

libnvme-1.16.1

Introduksjon til libnvme

libnvme pakken er et bibliotek som gir typedefinisjoner for NVMe spesifikasjonsstrukturer, oppregninger og bitfelt, hjelpefunksjoner for å konstruere, sende, og dekode kommandoer og nyttelast, og verktøy for å koble til, skanne og administrere NVMe enheter på et Linux system.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libnvme Avhengigheter

Valgfri

dbus-1.16.2, JSON-C-0.18, keyutils-1.6.3, og SWIG-4.4.1 (for å generere Python bindingene)

Installation of libnvme

Installer libnvme ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D libdbus=auto .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libnvme.so og libnvme-mi.so
Installerte Mapper: /usr/include/nvme og valgfritt /usr/lib/python3.14/site-packages/libnvme

Korte Beskrivelser

libnvme.so

inneholder funksjoner som brukes til å håndtere operasjoner relatert til NVMe enheter.

libpaper-2.2.7

Introduksjon til libpaper

Denne pakken er ment å gi en enkel måte for programmer å ta handlinger basert på et system eller brukerspesifisert papirstørrelse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av libpaper

Installer libpaper ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --docdir=/usr/share/doc/libpaper-2.2.7 &&
make

Testpakken til denne pakken fungerer ikke med en konfigurasjon som bruker standard installasjonssted.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Konfigurere libpaper

Konfigurasjonsinformasjon

Papirstørrelsen bestemmes automatisk fra systemets lokalitet; se LC_PAPER i locale(7). Hvis du vil overstyre den, oppretter du en papersize fil i brukerkonfigurasjonsmappen. For eksempel:

mkdir -pv ~/.config &&
echo "a4" > ~/.config/papersize

Hvis du vil overstyre papirstørrelsen globalt (for alle brukere), sett opp PAPERSIZE miljøvariabelen. For eksempel:

echo "PAPERSIZE=a4" > /etc/profile.d/libpaper.sh

Du kan bruke en annen papirstørrelse, som f.eks letter.

Innhold

Installerte Programmer: paper og paperconf
Installert Bibliotek: libpaper.so
Installerte Mapper: /usr/share/doc/libpaper-2.2.7

Korte Beskrivelser

paper

skriver ut papirkonfigurasjonsinformasjon

paperconf

skriver ut papirkonfigurasjonsinformasjon i en kompatibilitetsmodus

libpaper.so

inneholder funksjoner for å spørre papirbiblioteket

libportal-0.9.1

Introduksjon til libportal

libportal pakken gir et bibliotek som inneholder GIO stil async APIer for de fleste Flatpak portaler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

libportal Avhengigheter

Påkrevd

GLib-2.86.4 (med GObject Introspection)

Anbefalt
Anbefalt (Kjøretid)

For å gjøre denne pakken virkelig nyttig, installer xdg-desktop-portal-1.20.3, xdg-desktop-portal-gtk-1.15.3, xdg-desktop-portal-gnome-49.0 (hvis du kjører et GNOME skrivebordsmiljø), og xdg-desktop-portal-lxqt-1.3.0 (hvis du kjører et LXQt skrivebordsmiljø). De er ikke nødvendig hvis du bare bruker denne pakken for å tilfredsstille en byggeavhengighet.

Valgfri

Gi-DocGen-2026.1 (for dokumentasjon), dbusmock-0.38.1 og pytest-9.0.2 (for testing), Qt-6.10.2, og Vala-0.56.18

Installasjon av libportal

Advarsel

Hvis en tidligere versjon av libportal er installert, flytt deklarasjoner ute av veien slik at senere pakker ikke støter på konflikter (som root bruker):

if [ -e /usr/include/libportal ]; then
    rm -rf /usr/include/libportal.old &&
    mv -vf /usr/include/libportal{,.old}
fi

Bruk først en oppdatering for å fikse byggingen mot Qt 6.9 og senere:

patch -Np1 -i ../libportal-0.9.1-qt6.9_fixes-1.patch

Installer libportal ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D vapi=false       \
            -D docs=false       \
            .. &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed -i "/output/s/-1/-0.9.1/" ../doc/meson.build &&
meson configure -D docs=true                     &&
ninja

For å teste resultatene, utsted: ninja test. Merk at ytterligere dbus-daemon prosesser må kanskje bli drept etter at testene er kjørt.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D vapi=false: Denne parameteren deaktiverer bruk av Vala-0.56.18. Fjern denne parameteren hvis du har den installert.

-D docs=false: Tillat å bygge denne pakken uten Gi-DocGen-2026.1 installert. Hvis du har Gi-DocGen-2026.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, meson configure kommandoen vil tilbakestille dette alternativet.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libportal.so, libportal-gtk3.so, libportal-gtk4.so, og libportal-qt6.so
Installerte Mapper: /usr/include/libportal og /usr/share/gtk-doc/html/libportal

Korte Beskrivelser

libportal.so

gir GIO stil async APIer for de fleste Flatpak portaler

libportal-gtk3.so

gir GTK+-3 spesifikke funksjoner for samhandling med Flatpak portaler

libportal-gtk4.so

gir GTK-4 spesifikke funksjoner for samhandling med Flatpak portaler

libportal-qt6.so

gir Qt6 spesifikke funksjoner for samhandling med Flatpak portaler

libproxy-0.5.12

Introduksjon til libproxy

libproxy pakken er et bibliotek som tilbyr automatisk administrasjon av proxy konfigurasjon. Dette er nyttig for å standardisere en måte å håndtere proxy innstillinger på tvers av alle scenarier.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libproxy Avhengigheter

Anbefalt

Installasjon av libproxy

Installer libproxy ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..        \
      --prefix=/usr   \
      -D release=true &&

ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Fortsatt som root bruker, fjern det ubrukelige statiske biblioteket:

rm /usr/lib/libproxy.a

Innhold

Installert Programmer: proxy
Installert Biblioteker: libproxy.so og libpxbackend-1.0.so
Installert Mapper: /usr/include/libproxy, /usr/lib/libproxy, og /usr/share/doc/libproxy-1.0

Korte Beskrivelser

proxy

viser proxy-serveren som skal brukes for å nå en gitt nettverksressurs

libproxy.so

gir en standardmetode for å utføre automatisk proxy-konfigurasjon

libptytty-2.0

Introduksjon til libptytty

libptytty pakken gir et bibliotek som tillater OS uavhengig og sikker pty/tty og utmp/wtmp/lastlog håndtering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libptytty Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av libptytty

Installer libptytty ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr     \
      -D CMAKE_BUILD_TYPE=Release      \
      -D PT_UTMP_FILE:STRING=/run/utmp \
      .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libptytty.so
Installerte Mapper: Ingen

Korte Beskrivelser

libptytty.so

sørger for OS uavhengig og sikker pty/tty og utmp/wtmp/lastlog håndtering

libqalculate-5.9.0

Introduksjon til libqalculate

libqalculate pakken inneholder et bibliotek som gir funksjoner for en flerbrukskalkulator.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libqalculate Avhengigheter

Påkrevd

cURL-8.18.0, ICU-78.2, og libxml2-2.15.1

Valgfri

Doxygen-1.16.1 og gnuplot

Installasjon av libqalculate

Installer libqalculate ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libqalculate-5.9.0 &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Libtool arkivfilen fra denne pakken refererer til biblioteker fra ICU-78.2. En slik referanse kan forårsake pakker avhengig av denne pakken å være unødvendig koblet mot ICU bibliotekene og øke byrden for å gjenoppbygge pakker hvis ICU er oppdatert til en ny hovedversjon. Som vi har forklart i Libtool arkiv (.la) filer, disse libtool arkivfilene er unødvendige uansett. Så som root bruker, fjern libtool arkivfilen nå:

rm -v /usr/lib/libqalculate.la

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: qalc
Installert Bibliotek: libqalculate.so
Installerte Mapper: /usr/include/libqalculate, /usr/share/doc/libqalculate-5.9.0, og /usr/share/qalculate

Korte Beskrivelser

qalc

er en kraftig og brukervennlig kommandolinjekalkulator

libqalculate.so

inneholder libqalculate API funksjoner

libqmi-1.38.0

Introduksjon til libqmi

libqmi pakken inneholder et GLib basert bibliotek for å snakke med WWAN modemer og enheter som snakker Qualcomm MSM grensesnitt (QMI) protokoll.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libqmi Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt) og libgudev-238

Anbefalt
Valgfri

GTK-Doc-1.35.1, help2man, og libqrtr-glib

Installasjon av libqmi

Installer libqmi ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                 \
      --prefix=/usr            \
      --buildtype=release      \
      -D bash_completion=false \
      -D qrtr=false            \
      -D man=false             &&

ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D bash_completion=false: Bruk dette alternativet hvis den eksterne bash-completion pakken ikke er installert.

-D man=false: Bruk dette alternativet hvis den eksterne help2man pakken ikke er installert.

-D qrtr=false: Denne bryteren deaktiverer støtte for QRTR protokollen som trenger den eksterne libqrtr-glib pakken.

Innhold

Installerte Programmer: qmicli, qmi-firmware-update, og qmi-network
Installerte Biblioteker: libqmi-glib.so
Installerte Mapper: /usr/include/libqmi-glib

Korte Beskrivelser

qmicli

er et verktøy som brukes til å kontrollere QMI enheter

qmi-firmware-update

er et verktøy som brukes til å utføre fastvareoppdateringer på QMI enheter

qmi-network

er et verktøy som brukes for enkel nettverksadministrasjon av QMI enheter

libqmi-glib.so

inneholder API funksjoner for å snakke med WWAN modemer og enheter som snakker Qualcomm MSM Interface (QMI) protokollen

libseccomp-2.6.0

Introduksjon til libseccomp

libseccomp pakken gir et enkelt å bruke og plattformuavhengig grensesnitt til Linux kjernens syscall filtreringsmekanisme.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libseccomp Avhengigheter

Valgfri

Which-2.23 (nødvendig for tester), Valgrind-3.26.0, cython-3.2.4 (for python bindings), og LCOV

Installasjon av libseccomp

Installer libseccomp ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-python: denne bryteren er nødvendig for å bygge python bindinger hvis cython-3.2.4 er installert. Alternativet --disable-static må ikke gis hvis dette alternativet brukes. Og du må kjøre sed 's/env python/&3/' -i tests/regression hvis dette alternativet brukes og du vil kjøre testpakken.

Innhold

Installert Program: scmp_sys_resolver
Installert Bibliotek: libseccomp.so
Installerte Mapper: Ingen

Korte Beskrivelser

scmp_sys_resolver

brukes til å løse systemanrop for applikasjoner

libseccomp.so

inneholder API funksjoner for å oversette systemanrop

libsigc++-2.12.1

Introduksjon til libsigc++

libsigc++ pakken implementerer en typesafe tilbakekallingssystem for standard C++.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libsigc++ Avhengigheter

Anbefalt
Valgfri

DocBook-utils-0.6.14, docbook-xml-5.0, Doxygen-1.16.1, fop-2.11, og mm-common

Installasjon av libsigc++

Først, fiks problemet med å oppdage Boost når du konfigurerer denne pakken:

sed -i "s/'system',//" meson.build

Installer libsigc++ ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dbuild-documentation=true: Bruk denne bryteren hvis Doxygen-1.16.1 er installert og du ønsker å bygge og installere API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libsigc-2.0.so
Installerte Mapper: /usr/{include,lib}/sigc++-2.0 og /usr/share/{devhelp/books,doc}/libsigc++-2.0 (hvis dokumentasjonen er aktivert)

Korte Beskrivelser

libsigc-2.0.so

gir et typesafe tilbakekallingssystem for standard C++

libsigc++-3.6.0

Introduksjon til libsigc++

libsigc++ pakken implementerer en typesafe tilbakekallingssystem for standard C++. Denne versjonen er en del av et nytt API for å støtte gtkmm-4.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libsigc++ Avhengigheter

Anbefalt
Valgfri

DocBook-utils-0.6.14, docbook-xml-5.0, Doxygen-1.16.1, fop-2.11, og mm-common

Installasjon av libsigc++

Først, fiks problemet med å oppdage Boost når du konfigurerer denne pakken:

sed -i "s/'system',//" meson.build

Installer libsigc++ ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dbuild-documentation=true: Bruk denne bryteren hvis Doxygen-1.16.1 er installert og du ønsker å bygge og installere API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libsigc-3.0.so
Installerte Mapper: /usr/{include,lib}/sigc++-3.0 og /usr/share/{devhelp/books,doc}/libsigc++-3.0 (if the documentation is enabled)

Korte Beskrivelser

libsigc-3.0.so

gir et typesikkert tilbakekallingssystem for standard C++

libsigsegv-2.15

Introduksjon til libsigsegv

libsigsegv er et bibliotek for håndtering av sidefeil i brukermodus. En sidefeil oppstår når et program prøver å få tilgang til et minneområde som for øyeblikket ikke er tilgjengelig. Å fange og håndtere en sidefeil er nyttig teknikk for å implementere sidebart virtuelt minne, minnetilordnet tilgang til vedvarende databaser, generasjons søppelsamlere, stabeloverflyt behandlere og distribuert delt minne.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av libsigsegv

Installer libsigsegv ved å kjøre følgende kommandoer:

./configure --prefix=/usr   \
            --enable-shared \
            --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-shared: Denne bryteren sikrer at delte biblioteker er kompilert.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libsigsegv.so
Installerte Mapper: Ingen

Korte Beskrivelser

libsigsegv.so

er et bibliotek for håndtering av sidefeil i brukermodus

libssh2-1.11.1

Introduksjon til libssh2

Libssh2 pakken er et C bibliotek på klientsiden som implementerer SSH2 protokollen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libssh2 Avhengigheter

Valgfri

CMake-4.2.3 (kan brukes i stedet for configure skript), libgcrypt-1.12.0 (kan brukes i stedet for OpenSSL), OpenSSH-10.2p1 (for noen tester), og Docker (for noen tester)

Installasjon av libssh2

Installer libssh2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --disable-docker-tests \
            --disable-static       &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-docker-tests: Deaktiver testene som krever Docker, noe som ligger utenfor BLFS. Fjern dette bryteren hvis du har installert Docker og du ønsker å kjøre testpakken.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libssh2.so
Installerte Mapper: Ingen

Korte Beskrivelser

libssh2.so

inneholder funksjoner for å bruke SSH2 protokollen

libstatgrab-0.92.1

Introduksjon til libstatgrab

Dette er et bibliotek som gir tilgang på tvers av plattformer til statistikk om systemet den kjøres på. Den er skrevet i C og presenterer et utvalg av nyttige grensesnitt som kan brukes for å få tilgang til nøkkelsystemstatistikk. Den nåværende listen over statistikk inkluderer CPU-bruk, minneutnyttelse, diskbruk, prosesstellinger, nettverkstrafikk, disk I/O og mer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libstatgrab Avhengigheter

Valgfri

log4cplus-2.1.2

Installasjon av libstatgrab

Installer libstatgrab ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libstatgrab-0.92.1 &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: saidar, statgrab, statgrab-make-mrtg-config, og statgrab-make-mrtg-index
Installert Bibliotek: libstatgrab.so
Installerte Mapper: /usr/share/doc/libstatgrab-0.92.1

Korte Beskrivelser

saidar

er et curses basert verktøy for å se systemstatistikk

statgrab

er et grensesnitt i sysctl-stil til systemstatistikk

statgrab-make-mrtg-config

genererer MRTG konfigurasjon

statgrab-make-mrtg-index

genererer en XHTML indeksside fra MRTG konfigurasjonsfiler eller stdin

libstatgrab.so

inneholder libstatgrab API funksjoner

libtasn1-4.21.0

Introduksjon til libtasn1

libtasn1 er et svært flyttbart C bibliotek som koder og dekoder DER/BER data etter et ASN.1 skjema.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libtasn1 Avhengigheter

Valgfri

GTK-Doc-1.35.1 og Valgrind-3.26.0

Installasjon av libtasn1

Installer libtasn1 ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Hvis du ikke sendte --enable-gtk-doc parameteren til configure skriptet, kan du installere API dokumentasjon ved å bruke følgende kommando som root bruker:

make -C doc/reference install-data-local

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Denne parameteren er normalt brukt hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen. Det er ødelagt for denne pakken på grunn av bruken av et lenge utdatert gtk-doc program som ikke lenger er tilgjengelig.

Innhold

Installerte Programmer: asn1Coding, asn1Decoding og asn1Parser
Installert Bibliotek: libtasn1.so
Installert Mappe: /usr/share/gtk-doc/html/libtasn1

Korte Beskrivelser

asn1Coding

er en ASN.1 DER koder

asn1Decoding

er en ASN.1 DER dekoder

asn1Parser

er en ASN.1 syntakstregenerator for libtasn1

libtasn1.so

er et bibliotek for Abstract Syntax Notation One (ASN.1) og Distinguish Encoding Rules (DER) manipulasjon

libunistring-1.4.1

Introduksjon til libunistring

libunistring er et bibliotek som tilbyr funksjoner for å manipulere Unicode strenger og for å manipulere C strenger i henhold til Unicode standarden.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libunistring Avhengigheter

Valgfri

texlive-20250308 (eller install-tl-unx) (for å gjenoppbygge dokumentasjonen)

Installasjon av libunistring

Først, bruk en fiks som kreves av glibc-2.43 og senere:

sed -r '/_GL_EXTERN_C/s/w?memchr|bsearch/(&)/' \
    -i $(find -name \*.in.h)

Installer libunistring ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libunistring-1.4.1 &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libunistring.so
Installert Mappe: /usr/include/unistring og /usr/share/doc/libunistring-1.4.1

Korte Beskrivelser

libunistring.so

gir unicode strengbibliotek API

libunwind-1.8.3

Introduksjon til libunwind

libunwind pakken inneholder et flyttbart og effektivt C programmeringsgrensesnitt (API) for å bestemme anropskjeden til et program. API-en gir i tillegg midler til å manipulere bevart (callee-lagret) tilstand for hver anropsramme og for å gjenoppta kjøringen når som helst i anropskjeden (ikke-lokal goto). API-en støtter både lokal (samme prosess) og ekstern (på tvers av prosess) operasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libunwind Avhengigheter

Valgfri

texlive-20250308 (for latex2man)

Installasjon av libunwind

Først, fiks et problem når det bygges med gcc-15:

sed -i '/func.s/s/s//' tests/Gtest-nomalloc.c

Installer libunwind ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libunwind.so, libunwind-coredump.so, libunwind-generic.so (symbolkobling til libunwind-x86_64.so), libunwind-ptrace.so, libunwind-setjmp.so, og libunwind-x86_64.so (libunwind-x86.so på i686)
Installerte Mapper: /usr/libexec/libunwind

liburcu-0.15.6

Introduksjon til liburcu

userspace-rcu pakken gir et sett med brukerområde RCU (read-copy-update) biblioteker. Disse datasynkronisering biblioteker gir tilgang på lesesiden som skaleres lineært med antall kjerner. Det gjør det ved å la flere kopier av en gitt datastruktur leve samtidig, og ved å overvåke datastrukturen tilganger for å oppdage pause perioder etter hvilke minnegjenvinning er mulig.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av liburcu

Installer liburcu ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/liburcu-0.15.6 &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: liburcu.so, liburcu-bp.so, liburcu-cds.so, liburcu-common.so, liburcu-mb.so, liburcu-memb.so, liburcu-qsbr.so, og liburcu-signal.so
Installerte Mapper: /usr/include/urcu og /usr/share/doc/liburcu-0.15.6

libusb-1.0.29

Introduksjon til libusb

libusb pakken inneholder et bibliotek som brukes av enkelte programmer for tilgang til USB enheter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libusb Avhengigheter

Valgfri

Doxygen-1.16.1

Konfigurere Libusb

For å få tilgang til rå USB enheter (de som ikke behandles som en disk av masselagrings driveren), må passende støtte være tilgjengelig i kjernen. Sjekk din kjernekonfigurasjon:

Device Drivers --->
  [*] USB support --->                                             [USB_SUPPORT]
    <*/M>   Support for Host-side USB                                      [USB]
    [*]     PCI based USB host interface                               [USB_PCI]
    # These are most common USB controller drivers for PC-like systems.
    # For modern systems often [USB_XHCI_HCD] is the only one needed
    # even if the system has USB 2.0 ports:
    < /*/M> xHCI HCD (USB 3.0) support                            [USB_XHCI_HCD]
    < /*/M> EHCI HCD (USB 2.0) support                            [USB_EHCI_HCD]
    < /*/M> OHCI HCD (USB 1.1) support                            [USB_OHCI_HCD]

For mer informasjon om oppsett av USB enheter, se «Problemer med USB Enheter».

Installasjon av libusb

Installer libusb ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis Doxygen er installert og du ønsker å bygge API dokumentasjonen, utfør følgende kommandoer:

pushd doc                &&
  doxygen -u doxygen.cfg &&
  make docs              &&
popd

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har laget API dokumentasjonen, installer den ved å bruke følgende kommandoer som root bruker:

install -v -d -m755 /usr/share/doc/libusb-1.0.29/apidocs &&
install -v -m644    doc/api-1.0/* \
                    /usr/share/doc/libusb-1.0.29/apidocs

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libusb-1.0.so
Installerte Mapper: /usr/include/libusb-1.0 og /usr/share/doc/libusb-1.0.29

Korte Beskrivelser

libusb-1.0.so

inneholder API funksjoner som brukes for å få tilgang til USB maskinvare

libuv-1.52.0

Introduksjon til libuv

libuv pakken er en flerplattformstøttebibliotek med fokus på asynkron I/O.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libuv Avhengigheter

Valgfri

sphinx-9.1.0

Installasjon av libuv

Installer libuv ved å kjøre følgende kommandoer:

Obs

sh autogen.sh kommandoen nedenfor mislykkes hvis ACLOCAL miljøvariabelen er satt som spesifisert i Xorg-7. Hvis den brukes, må ACLOCAL deaktiveres for denne pakken og deretter tilbakestilles for andre pakker.

sh autogen.sh                              &&
./configure --prefix=/usr --disable-static &&
make 

Hvis du installerte den valgfrie sphinx-9.1.0 python modulen, opprett manualsiden:

make man -C docs

Hvis du vil kjøre testene, kjør: make check som en ikke-root bruker.

Nå, som root bruker:

make install

Hvis du bygde manualsiden, installer den som root bruker:

install -Dm644 docs/build/man/libuv.1 /usr/share/man/man1

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libuv.so
Installert Mappe: /usr/include/uv

Korte Beskrivelser

libuv.so

inneholder API funksjoner for asynkrone I/O operasjoner

libxkbcommon-xkbcommon-1.13.1

Introduksjon til libxkbcommon-xkbcommon

libxkbcommon er en tastaturoppsett kompilator og støttebibliotek som behandler et redusert undersett av nøkkeltastaturoppsett som definert av XKB spesifikasjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

På GitHub har vi splittet oppstrømsdepotet til vårt eget lfs-book navneområde og gjenskapte en tagg for utgivelsen. Dette gjøres for å sikre at den nedlastede tarball filnavnet er korrekt og konsistent (dvs. det skal ikke endres når du bruker nettleseren i stedet for et verktøy som wget). Taggen vår og oppstrømsutgivelseskoden er på samme commit, så vi har ikke introdusert noen endring i tarball innholdet bortsett fra navnet på toppnivåmappen (som Git ikke sporer).

libxkbcommon Avhengigheter

Påkrevd

xkeyboard-config-2.46 (kjøretid)

Anbefalt
Valgfri

Doxygen-1.16.1 (for å generere dokumentasjonen) og Xvfb (fra Xorg-Server-21.1.21 eller Xwayland-24.1.9)

Installasjon av libxkbcommon

Installer libxkbcommon ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D enable-docs=false &&
ninja

For å teste resultatene, sørg for at Xvfb og xkeyboard-config-2.46 er tilgjengelig, utsted deretter: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D enable-docs=true: Denne bryteren aktiverer generering av dokumentasjon. Doxygen-1.16.1 er påkrevd.

mv -v /usr/share/doc/libxkbcommon{,-1.13.1}: Hvis du har laget dokumentasjonen, bruk denne kommandoen for å installere den i en versjonert mappe.

Innhold

Installerte Programmer: xkbcli
Installerte Biblioteker: libxkbcommon.so, libxkbcommon-x11.so, og libxkbregistry.so
Installerte Mapper: /usr/include/xkbcommon, /usr/libexec/xkbcommon, og (valgfritt) /usr/share/doc/libxkbcommon-1.13.1

Korte Beskrivelser

xkbcli

gir en debugger og kompilator for XKB tastaturoppsett

libxkbcommon.so

inneholder libxkbcommon API funksjoner

libxkbcommon-x11.so

inneholder libxkbcommon X11 spesifikke API funksjoner

libxkbregistry.so

inneholder en liste over tilgjengelige XKB modeller, oppsett og varianter for et gitt regelsett

libxml2-2.15.1

Introduksjon til libxml2

libxml2 pakken inneholder biblioteker og verktøy som brukes til å analysere XML filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.1.tar.xz

  • Nedlasting MD5 sum: fcf38f534bb8996984dba978ee3e27f4

  • Nedlastingsstørrelse: 1.9 MB

  • Estimert diskplass som kreves: 49 MB (legg til 28 MB for dokumentasjon og 16 MB for tester)

  • Estimert byggetid: mindre enn 0.1 SBU (Bruk av parallellisme=4; med tester og dokumentasjon)

Ytterligere Nedlastinger

libxml2 Avhengigheter

Anbefalt
Valgfri (for å generere dokumentasjonen)

Doxygen-1.16.1 og libxslt-1.1.45

Installasjon av libxml2

Fjern først et unødvendig anrop til git i meson.build:

sed -i "/'git'/,+3d" meson.build

Installer libxml2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..           \
      --prefix=/usr      \
      -D history=enabled \
      -D icu=enabled     &&
ninja

If you wish to build and install the manual pages and the documentation, you should have libxslt-1.1.45 and Doxygen-1.16.1 installed, and run:

sed -e "/^dir_doc/s/\$/ + '-' + meson.project_version()/" \
    -i ../meson.build                                     &&
meson configure -D docs=enabled                           &&
ninja

Hvis du lastet ned testpakken, kjør følgende kommando:

tar xf ../../xmlts20130923.tar.gz -C ..

For å teste resultatene, utsted: ninja test.

Notat

Testene bruker http://localhost/ for å teste parsing av eksterne enheter. Hvis maskinen der du kjører testene fungerer som et nettsted, kan testene henge, avhengig av innholdet i filen som vises. Det anbefales derfor å stenge serveren under testene, som root bruker:

/etc/init.d/httpd stop

Nå, som root bruker:

ninja install

xml2-config kan returnere flagg som trengs for å lenke mot det statiske biblioteket for prosjektet, inkludert referansene til ICU-78.2 biblioteker. Det ville være meningsløst fordi vi bare installerer det delte biblioteket. For å gjøre vondt verre, kan det føre til at noen pakker bruker libxml2 å være unødvendig knyttet til noen ICU-78.2 biblioteker, da må disse pakkene gjenoppbygges hvis ICU oppgraderes til en ny hovedversjon. Fiks dette ved å utstede, som root:

sed "s/--static/--shared/" -i /usr/bin/xml2-config

Parameterforklaringer

-D history=enabled: Denne bryteren aktiverer Readline støtte når du kjører xmlcatalog eller xmllint i skallmodus.

-D icu=enabled: Denne bryteren aktiverer støtte for ICU, som gir ekstra Unicode støtte. Dette er nødvendig for noen pakker i BLFS, for eksempel for QtWebEngine.

-D python=enabled: Denne bryteren aktiverer libxml2 Python bindinger. Merk at disse bindingene er utdatert på grunn av feil i API designet, og de vil bli fjernet i libxml2-2.16.

Innhold

Installerte Programmer: xml2-config, xmlcatalog, og xmllint
Installerte Biblioteker: libxml2.so
Installerte Mapper: /usr/include/libxml2, /usr/lib/cmake/libxml2, og /usr/share/doc/libxml2-2.15.1,

Korte Beskrivelser

xml2-config

bestemmer kompilerings- og linkerflaggene som skal brukes til å kompilere og koble programmer som bruker libxml2

xmlcatalog

brukes til å overvåke og manipulere XML og SGML mapper

xmllint

analyserer XML filer og sender ut rapporter (basert på alternativer) for å oppdage feil i XML koding

libxml2.so

gir funksjoner for programmer for å analysere filer som bruker XML formatet

libxmlb-0.3.25

Introduksjon til libxmlb

libxmlb pakken inneholder et bibliotek og et verktøy som hjelper til med å lage og søke etter binære XML blobber.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libxmlb Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt)

Valgfri

GTK-Doc-1.35.1 og libstemmer

Installasjon av libxmlb

Installer libxmlb ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D gtkdoc=false .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtkdoc=false: Denne bryteren deaktiverer bygging av API dokumentasjon. Fjern den hvis du har GTK-Doc-1.35.1 installert og ønsker å bygge API dokumentasjon.

-D introspection=false: Bruk denne bryteren hvis du ikke har bygget GLib-2.86.4 med GObject Introspection.

-D stemmer=true: Bruk denne bryteren hvis du har libstemmer installert og ønsker å bygge stemmer støtte.

Innhold

Installerte Programmer: xb-tool
Installerte Biblioteker: libxmlb.so
Installerte Mapper: /usr/include/libxmlb-2, /usr/libexec/installed-tests/libxmlb, og /usr/share/gtk-doc/html/libxmlb (if gtk-doc was enabled)

Korte Beskrivelser

xb-tool

er et verktøy som brukes til å lage, dumpe eller søke etter en binær XML blob

libxmlb.so

inneholder funksjoner som gjør det mulig å lage og spørre binær XML blobber

libxslt-1.1.45

Introduksjon til libxslt

libxslt pakken inneholder XSLT biblioteker som brukes til å utvide libxml2 bibliotekene til å støtter XSLT filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libxslt Avhengigheter

Påkrevd

libxml2-2.15.1

Anbefalt (ved kjøretid)

Notat

Selv om det ikke er en direkte avhengighet, er det mange applikasjoner som bruker libxslt som vil forvente docbook-xml-4.5 og docbook-xsl-nons-1.79.2 å være tilstede.

Valgfri

libgcrypt-1.12.0 (bare nødvendig for den utdaterte EXSLT kryptoutvidelse, se kommandoforklaringer)

Installasjon av libxslt

Installer libxslt ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --without-python \
            --docdir=/usr/share/doc/libxslt-1.1.45 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--without-python: Deaktiver Python bindingen for denne pakken. Bindingen fungerer bare hvis Python-bindingen til libxml2-2.15.1 er installert, men vi har ikke aktivert den utdaterte Python bindingen da vi bygde libxml2-2.15.1.

--with-crypto: Aktiver ikke-standard og avviklet EXSLT kryptoutvidelsesfunksjon. Det trenger libgcrypt-1.12.0 og oppstrøms vil fjerne det i fremtiden.

--with-debug: Muliggjør grundig diagnostikk med -v, --verbose fra xsltproc. Bruk den hvis du planlegger å feilsøke XSLT stilark.

Innhold

Installerte Programmer: xslt-config og xsltproc
Installerte Biblioteker: libexslt.so, libxslt.so og valgfritt, libxsltmod.so Python modulen
Installerte Mapper: /usr/include/libexslt, /usr/include/libxslt, /usr/lib/cmake/libxslt, /usr/lib/libxslt-plugins, /usr/share/gtk-doc/lib{xslt,exslt}, /usr/share/doc/libxslt-1.1.45, og /usr/share/doc/libxslt-python-1.1.45

Korte Beskrivelser

xslt-config

brukes til å finne ut pre-prosessoren, lenker og kompileringsflagg som er nødvendige for å bruke libxslt biblioteker i tredjepartsprogrammer

xsltproc

brukes til å bruke XSLT stilark på XML dokumenter

libexslt.so

brukes til å gi utvidelser til XSLT funksjoner

libxslt.so

gir utvidelser til libxml2 biblioteker for å analysere filer som bruker XSLT formatet

libwacom-2.18.0

Introduksjon til libwacom

libwacom pakken inneholder et bibliotek som brukes for å identifisere grafikknettbrett fra Wacom eller diverse andre leverandører og deres modellspesifikke funksjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libwacom Avhengigheter

Påkrevd

libevdev-1.13.6 og libgudev-238

Anbefalt
Valgfri

Doxygen-1.16.1, git-2.53.0, librsvg-2.61.4, Valgrind-3.26.0 (valgfritt for noen tester), og pytest-9.0.2 med python-libevdev og pyudev

Installasjon av libwacom

Installer libwacom ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D tests=disabled   &&
ninja

For å teste resultatene, kjør: ninja test. For å kjøre flere tester, installer pytest-9.0.2, python-libevdev, og pyudev, fjern deretter "-D tests=disabled" alternativ fra mesonlinjen ovenfor.

Hvis du oppgraderer fra en tidligere versjon av libwacom, fjern den gamle installasjon av enhetsdatabasen for å forhindre en potensiell duplisert match av enheter i tilfelle noen gamle databasefiler ikke blir overskrevet:

rm -rf /usr/share/libwacom

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D tests=disabled: Denne parameteren deaktiverer noen av de mer avanserte testene fordi de krever pytest-9.0.2 og andre to Python moduler utenfor omfanget av BLFS for å fungere skikkelig.

Innhold

Installerte Programmer: libwacom-list-devices, libwacom-list-local-devices, libwacom-show-stylus, og libwacom-update-db
Installerte Biblioteker: libwacom.so
Installerte Mapper: /usr/include/libwacom-1.0 og /usr/share/libwacom

Korte Beskrivelser

libwacom-list-devices

viser alle nettbrett som støttes av libwacom

libwacom-list-local-devices

viser nettbrett som er koblet til systemet

libwacom-show-stylus

viser nettbrettets peke ID-er

libwacom-update-db

oppdaterer systemet i henhold til gjeldende sett med nettbrettdatafiler

libwacom.so

inneholder funksjoner som brukes for å få tilgang til Wacom informasjon

libyaml-0.2.5

Introduksjon til libyaml

yaml pakken inneholder et C bibliotek for å analysere og sende ut YAML (YAML Ain't Markup Language) kode.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libyaml Avhengigheter

Valgfri

Doxygen-1.16.1

Installasjon av libyaml

Installer libyaml ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libyaml.so
Installerte Mapper: Ingen

Korte Beskrivelser

libyaml.so

inneholder API funksjoner for å analysere og sende ut YAML kode

libfyaml-0.9.4

Introduksjon til libfyaml

libfyaml Pakken inneholder en YAML 1.3 analyser og skriver. Den støtter også YAML 0.1 ved hjelp av libyaml biblioteket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libfyaml Avhengigheter

Anbefalt
Valgfri

git-2.53.0, sphinx-9.1.0 og sphinx_rtd_theme-3.1.0 (for dokumentasjon), docker, jq, og check (for ytterligere tester)

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av libfyaml

Installer libfyaml ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: fy-compose (lenke til fy-tool), fy-dump (lenke til fy-tool), fy-filter (lenke til fy-tool), fy-join (lenke til fy-tool), fy-testsuite (lenke til fy-tool), fy-tool, og fy-ypath (lenke til fy-tool)
Installert Bibliotek: libfyaml.so
Installerte Mapper: Ingen

Korte Beskrivelser

fy-tool

manipulerer YAML filer opp til versjon 1.3 av standarden

libfyaml.so

inneholder funksjoner som kan analysere og sende ut YAML filer opp til versjon 1.3 av standarden

log4cplus-2.1.2

Introduksjon til log4cplus

log4cplus er en enkel å bruke C++20 logge API som gir thread--safe, fleksibelt og vilkårlig granulær kontroll over loggadministrasjon og konfigurasjon. Det er modellert etter Java log4j API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av log4cplus

Bygg log4cplus ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, utsted: make check.

Installer nå pakken som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: log4cplus.so
Installerte Mapper: Ingen

Korte Beskrivelser

log4cplus.so

erlog4cplus biblioteket

LZO-2.10

Introduksjon til LZO

LZO er en datakomprimerings bibliotek som er egnet for data dekompresjon og komprimering i sanntid. Dette betyr at den favoriserer hastighet fremfor kompresjonsforhold.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av LZO

Installer LZO ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --docdir=/usr/share/doc/lzo-2.10 &&
make

For å teste resultatene, utsted: make check. Alle kontrollene skal bestå. Nå utsted make test for å kjøre hele pakken av tester.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: liblzo2.so
Installerte Mapper: /usr/include/lzo og /usr/share/doc/lzo

Korte Beskrivelser

liblzo2.so

er et datakomprimerings- og dekompresjons bibliotek

mtdev-1.1.7

Introduksjon til mtdev

mtdev Pakken inneholder Multitouch Protocol Translation Library som brukes til å transformere alle varianter av kjerne MT (Multitouch) hendelser til den spaltede type B protokoll.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av mtdev

Installer mtdev ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: mtdev-test
Installert Bibliotek: libmtdev.so
Installerte Mapper: Ingen

Korte Beskrivelser

mtdev-test

er et verktøy for å teste libmtdev

libmtdev.so

inneholder Multitouch Protocol Translation API funksjoner

Node.js-22.22.0

Introduksjon til Node.js

Node.js er en JavaScript kjøretid bygget på Chrome sin V8 JavaScript motor.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nodejs.org/dist/v22.22.0/node-v22.22.0.tar.xz

  • Nedlasting MD5 sum: cbbbbb20f7748b946b27a3dd88409098

  • Nedlastingsstørrelse: 49 MB

  • Estimert diskplass som kreves: 1.4 GB (legg til 46 MB for tester)

  • Estimert byggetid: 14 SBU (legg til 4.7 SBU for tester: begge bruker parallellisme=8 og 8 CPUer, deler av testene vil bruke alle tilgjengelige CPUer)

Ytterligere Nedlastinger

Node.js Avhengigheter

Påkrevd

Which-2.23

Anbefalt
Valgfri

http-parser og npm (en intern kopi av npm vil bli installert hvis den ikke er til stede)

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av Node.js

Først, fiks byggingen av denne pakken med Python 3.14:

patch -Np1 -i ../node-v22.22.0-python_build_fix-1.patch

Bygg Node.js ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --shared-brotli        \
            --shared-cares         \
            --shared-libuv         \
            --shared-openssl       \
            --shared-nghttp2       \
            --shared-zlib          \
            --with-intl=system-icu &&
make

For å teste resultatene, utsted: make test-only. Av over 4500 tester, 4 i "parallel" testpakken er kjent for å mislykkes.

Nå, som root bruker:

make install &&
ln -sf node /usr/share/doc/node-22.22.0

Parameterforklaringer

--with-intl=system-icu: Denne parameteren bruker systemversjonen av ICU. Andre verdier er full-icu (for å bygge en lokal, full icu bibliotek) og small-icu (for å bygge en lokal, minimal ICU bibliotek).

--shared-{brotli,cares,libuv,nghttp2,openssl,zlib}: Denne parameteren bruker de systeminstallerte bibliotekene i stedet for lokale kopier.

--without-npm: Dette alternativet forteller byggesystemet at det ikke skal bygge npm (bruk hvis du vil bygge en separat npm senere).

--shared-http-parser: Dette alternativet bruker systemets installerte http-parser bibliotek i stedet for en lokal kopi hvis du har installert det.

Innhold

Installerte Programmer: corepack, node, npm, og npx
Installert Bibliotek: Ingen
Installerte Mapper: /usr/include/node, /usr/lib/node_modules/{corepack,npm}, /usr/share/doc/{node,node-22.22.0}, og /usr/share/systemtap/tapset

Korte Beskrivelser

corepack

er et eksperimentelt verktøy for å hjelpe med å administrere versjoner av pakkebehandlere.

node

er JavaScript kjøretiden på serversiden

npm

er Node.js pakkebehandler

npx

er en forkortelse for npm exec, som tillater å kjøre kommandoer fra NPM pakker

/usr/lib/node_modules/npm/

er installasjonsroten for Node.js kjørbare filer og biblioteker

npth-1.8

Introduksjon til NPth

NPth pakken inneholder en svært flyttbar POSIX/ANSI-C-basert bibliotek for Unix-plattformer som gir ikke-forebyggende prioritetsbasert planlegging for flere tråder av kjøring (multithreading) i hendelsesdrevne applikasjoner. Alle tråder kjøres i samme adresserom som serverapplikasjonen, men hver tråd har sin egen individuelle program-teller, run-time stack, signalmaske og feil variabel.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av NPth

Installer NPth ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installert Program: npth-config
Installert Bibliotek: libnpth.so
Installert Mappe: Ingen

Korte Beskrivelser

npth-config

er et verktøy som brukes til å konfigurere og bygge applikasjoner basert på npth biblioteket. Den kan brukes til å spørre C-kompilatoren og linkerflagg som kreves for å kompilere og koble sammen applikasjoner mot npth bibliotek

libnpth.so

inneholder API funksjonene som brukes av New Portable Threads Library

NSPR-4.38.2

Introduksjon til NSPR

Netscape Portable Runtime (NSPR) gir en plattformnøytral API for systemnivå og libc lignende funksjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av NSPR

Installer NSPR ved å kjøre følgende kommandoer:

cd nspr &&

sed -i '/^RELEASE/s|^|#|' pr/src/misc/Makefile.in &&
sed -i 's|$(LIBRARY) ||'  config/rules.mk         &&

./configure --prefix=/usr   \
            --with-mozilla  \
            --with-pthreads \
            $([ $(uname -m) = x86_64 ] && echo --enable-64bit) &&
make

Testpakken er designet for å teste endringer i nss eller nspr og er ikke spesielt nyttig for å sjekke en utgitt versjon (f.eks. den trenger å kjøres på en ikke-optimalisert bygg med både nss- og nspr-mapper til stede ved siden av hverandre). For ytterligere detaljer, se redaktørens merknader for nss på https://wiki.linuxfromscratch.org/blfs/wiki/nss

Nå, som root bruker:

make install

Parameterforklaringer

sed -ri '/^RELEASE/s/^/#/' pr/src/misc/Makefile.in: Denne sed deaktiverer installasjon av to unødvendige skript.

sed -i 's#$(LIBRARY) ##' config/rules.mk: Denne sed deaktiverer installering av de statiske bibliotekene.

--with-mozilla: Denne parameteren legger til Mozilla støtte til bibliotekene (påkrevd hvis du vil bygge andre Mozilla produkter og koble dem til disse bibliotekene).

--with-pthreads: Denne parameteren tvinger bruk av systemets pthread bibliotek.

--enable-64bit: --enable-64bit parameteren er påkrevd på et x86_64 system for å forhindre configure å mislykkes med en påstand om at dette er et system uten pthread-støtte. Testen [$(uname -m) = x86_64] sikrer at den ikke har effekt på et 32 bit system.

Innhold

Installerte Programmer: nspr-config
Installerte Biblioteker: libnspr4.so, libplc4.so, og libplds4.so
Installerte Mapper: /usr/include/nspr

Korte Beskrivelser

nspr-config

gir kompilator og linker alternativer til andre pakker som bruker NSPR

libnspr4.so

inneholder funksjoner som gir plattformuavhengighet for ikke-GUI operativsystemfasiliteter som tråder, trådsynkronisering, normal fil og nettverks I/O, intervalltiming og kalendertid, grunnleggende minneadministrasjon og delt bibliotekkobling

libplc4.so

inneholder funksjoner som implementerer mange av funksjonene som tilbys av libnspr4

libplds4.so

inneholder funksjoner som gir datastrukturer

Popt-1.19

Introduksjon til Popt

popt pakken inneholder popt biblioteker som brukes av noen programmer for å analysere kommandolinjealternativer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

popt Avhengigheter

Valgfri

Doxygen-1.16.1 (for å generere dokumentasjon)

Installasjon av Popt

Installer popt ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du har Doxygen-1.16.1 installert og ønsker å bygge API dokumentasjonen, kjør:

sed -i 's@\./@src/@' Doxyfile &&
doxygen

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Hvis du har laget API dokumentasjonen, installer den ved å bruke følgende kommandoer kjørt som root bruker:

install -v -m755 -d /usr/share/doc/popt-1.19 &&
install -v -m644 doxygen/html/* /usr/share/doc/popt-1.19

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libpopt.so
Installerte Mapper: /usr/share/doc/popt-1.19

Korte Beskrivelser

libpopt.so

brukes til å analysere kommandolinjealternativer

Protobuf-33.5

Introduksjon til Protobuf

Protobuf pakken inneholder verktøy og biblioteker for bruk av data i Googles datautvekslingsformat.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Protobuf Avhengigheter

Påkrevd

Abseil-cpp-20260107.1 og CMake-4.2.3

Valgfri

gtest (for tester)

Installasjon av Protobuf

Installer Protobuf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr      \
      -D CMAKE_BUILD_TYPE=Release       \
      -D CMAKE_SKIP_INSTALL_RPATH=ON    \
      -D protobuf_BUILD_TESTS=OFF       \
      -D protobuf_BUILD_SHARED_LIBS=ON  \
      -G Ninja ..                       &&
ninja

Denne pakken kommer med en testpakke, men den krever gtest, som ikke er en del av BLFS.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D protobuf_BUILD_TESTS=OFF: Denne parameteren forhindrer testene fra å bygges pga gtest ikke er en del av BLFS.

-D protobuf_BUILD_SHARED_LIBS=ON: Denne parameteren gjør det mulig å bygge delte versjoner av bibliotekene som tilbys av denne pakken i stedet for statiske versjoner.

Innhold

Installerte Programmer: protoc (en symbollink til protoc-33.5.0), protoc-33.5.0, protoc-gen-upb (en symbollenke til protoc-gen-upb-33.5.0), og protoc-gen-upbdefs (en symbollink til protoc-gen-upbdefs-33.5.0)
Installerte Biblioteker: libprotobuf.so, libprotobuf-lite.so, libprotoc.so, libupb.a, libutf8_range.so, og libutf8_validity.so
Installerte Mapper: /usr/include/google, /usr/include/upb, /usr/lib/cmake/protobuf, og /usr/lib/cmake/utf8_range

Korte Beskrivelser

protoc

analyserer protokollbufferfiler og genererer utdata for flere programmeringsspråk og formater

libprotobuf.so

inneholder funksjoner for bruk av data i Googles datautveksling format

libprotobuf-lite.so

inneholder en enklere versjon av funksjonene for å utnytte data i Googles datautvekslingsformat

libprotoc.so

inneholder funksjoner som brukes av protoc under kjøretid for utdata for flere programmeringsspråk og formater

libupb.a

er en liten protobuf implementasjon skrevet i C

libutf8_range.so

inneholder funksjoner som lar et program bestemme om en sekvens av tegn er en gyldig UTF-8 sekvens

libutf8_validity.so

inneholder funksjoner som lar et program bestemme om en sekvens av byte er en gyldig UTF-8 sekvens, og for å finne hva lengste gyldige prefikset for sekvensen er

Protobuf-c-1.5.2

Introduksjon til Protobuf-c

Protobuf-c pakken inneholder en implementering av dataserialiseringsformatet for Google Protocol Buffers i C.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Protobuf-c Avhengigheter

Påkrevd

Protobuf-33.5

Valgfri

Doxygen-1.16.1

Installasjon av Protobuf-c

Installer Protobuf-c ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make -j1

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: protoc-gen-c og protoc-c (symbolkoblet til protoc-gen-c)
Installerte Biblioteker: libprotobuf-c.so
Installerte Mapper: /usr/include/google og /usr/include/protobuf-c

Korte Beskrivelser

protoc-c

genererer C-deskriptorkode fra en .proto fil

libprotobuf-c.so

inneholder en C-implementering av dataene fra Google Protocol Buffers serialiseringsformat

Qca-2.3.10

Introduksjon til Qca

Qca har som mål å gi en enkel og kryssplattform krypto API, ved hjelp av Qt datatyper og konvensjoner. Qca skiller API fra implementeringen ved å bruke programtillegg kjent som Providers.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Qca Avhengigheter

Påkrevd

make-ca-1.16.1, CMake-4.2.3, Qt-6.10.2, og Which-2.23

Valgfri

Cyrus SASL-2.1.28, GnuPG-2.5.17, libgcrypt-1.12.0, libgpg-error-1.58, nss-3.120, NSPR-4.38.2, p11-kit-0.26.2, Doxygen-1.16.1, og Botan

Installasjon av Qca

Fiks plasseringen av CA sertifikatene:

sed -i 's@cert.pem@certs/ca-bundle.crt@' CMakeLists.txt

Installer Qca ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$QT6DIR            \
      -D CMAKE_BUILD_TYPE=Release                \
      -D QT6=ON                                  \
      -D QCA_INSTALL_IN_QT_PREFIX=ON             \
      -D QCA_MAN_INSTALL_DIR:PATH=/usr/share/man \
      .. &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bruke et høyere nivå av kompilatoroptimaliseringer.

-D QT6=ON: Sørger for at pakkene er bygget med Qt-6.10.2.

-D QCA_MAN_INSTALL_DIR:PATH=/usr/share/man: Installer qca mansiden på vanlig plassering.

Innhold

Installerte Programmer: mozcerts-qt6 og qcatool-qt6
Installerte Biblioteker: libqca-qt6.so, libqca-cyrus-sasl.so, libqca-gcrypt.so, libqca-gnupg.so, libqca-logger.so, libqca-nss.so, libqca-ossl.so, og libqca-softstore.so
Installerte Mapper: $QT6DIR/include/Qca-qt6, $QT6DIR/lib/cmake/Qca-qt6, og $QT6DIR/lib/qca-qt6

Korte Beskrivelser

mozcerts-qt6

er et kommandolinjeverktøy for å konvertere certdata.txt til outfile.pem filer

qcatool-qt6

er et kommandolinjeverktøy for å utføre ulike kryptografiske operasjoner med Qca

libqca-qt6.so

er Qt Cryptography Architecture (Qca) biblioteket

qcoro-0.12.0

Introduksjon til qcoro

Denne pakken inneholder et sett med verktøy for å bruke C++20 korutiner med Qt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

qcoro Avhengigheter

Påkrevd

Qt-6.10.2

Installasjon av qcoro

Installer qcoro ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$QT6DIR \
      -D CMAKE_BUILD_TYPE=Release     \
      -D BUILD_TESTING=OFF            \
      -D QCORO_BUILD_EXAMPLES=OFF     \
      -D BUILD_SHARED_LIBS=ON         \
       ..                             &&
make

For å teste denne pakken, fjern 'BUILD_TESTING=OFF'-parameteren over og kjør:

make test

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren er brukt for å bruke et høyere nivå av kompilatoroptimaliseringer.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libQCoro6Core.so, libQCoro6DBus.so, libQCoro6Network.so, libQCoro6Qml.so, libQCoro6Quick.so, og libQCoro6WebSockets.so
Installerte Mapper: Nine directories in $QT6DIR/lib/cmake/ og $QT6DIR/include/qcoro6

simdutf-8.0.0

Introduksjon til simdutf

simdutf pakken inneholder et bibliotek som brukes til å behandle Unicode tegn med SIMD optimaliseringer. Dette inkluderer instruksjonssettene SSE2 og AVX2 og mer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

simdutf Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av simdutf

Installer simdutf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr  \
      -D CMAKE_BUILD_TYPE=Release   \
      -D BUILD_SHARED_LIBS=ON       \
      -G Ninja ..                   &&
ninja

For å teste resultatene, utsted: ninja test. Én test mislykkes fordi den utpakkede tarballen ikke er et git depot.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: fastbase64 og sutf8
Installert Bibliotek: libsimdutf.so
Installerte Mapper: /usr/include/simdutf og /usr/lib/cmake/simdutf

Korte Beskrivelser

fastbase64

koder og dekoder base64 med optimaliseringer

sutf

konverterer kodingen av en inndatafil fra én koding til en annen ved hjelp av simdutf biblioteket

libsimdutf.so

inneholder funksjoner som behandler Unicode tegn med SIMD optimaliseringer

SpiderMonkey fra firefox-140.7.0

Introduksjon til SpiderMonkey

SpiderMonkey er Mozillas JavaScript og WebAssembly Engine, skrevet i C++ og Rust. I BLFS er kildekoden til SpiderMonkey hentet fra Firefox.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

SpiderMonkey Avhengigheter

Påkrevd

Cbindgen-0.29.2, ICU-78.2, Which-2.23

Anbefalt

Viktig

Hvis du bygger denne pakken på et 32-bits system, og Clang ikke er installert eller du overstyrer standard kompilatorvalg med miljøvariabelen CXX, vennligst les Parameterforklaringer først.

Installasjon av SpiderMonkey

Notat

I motsetning til de fleste andre pakker i BLFS, krever instruksjonene nedenfor at du pakker ut firefox-140.7.0esr.tar.xz og går inn i firefox-140.7.0 mappen.

Pakke ut tarballen vil tilbakestille tillatelsene til gjeldende mappe til 0755 hvis du har tillatelse til å gjøre det. Hvis du gjør dette i en mappe hvor den klebrige biten er satt, slik som /tmp vil det ende med feilmeldinger:

tar: .: Cannot utime: Operation not permitted
tar: .: Cannot change mode to rwxr-xr-t: Operation not permitted
tar: Exiting with failure status due to previous errors

Dette avsluttes med ikke-null status, men det betyr IKKE at det er et reelt problem. Ikke untar som root bruker i en mappe der klebrig biten er satt - det vil deaktivere den.

Først, installer en oppdatering for å fikse kompatibiliteten med Python 3.14:

patch -Np1 -i ../spidermonkey-140.7.0-python_3.14_fixes-1.patch

Installer SpiderMonkey ved å kjøre følgende kommandoer:

Notat

Hvis du kompilerer denne pakken i chroot, må du Først som root bruker, sørge for at /dev/shm er montert. Hvis du ikke gjør dette, Python konfigurasjonen vil mislykkes med en tilbakesporingsrapport som viser til /usr/lib/pythonN.N/multiprocessing/synchronize.py. Som root bruker, kjør:

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm

Å kompilere C++ koden respekterer $MAKEFLAGS og er standard til 'j1', rust koden vil bruke alle prosessorer.

mkdir obj &&
cd    obj &&

../js/src/configure --prefix=/usr            \
                    --disable-debug-symbols  \
                    --disable-jemalloc       \
                    --enable-readline        \
                    --enable-rust-simd       \
                    --with-intl-api          \
                    --with-system-icu        \
                    --with-system-zlib       &&
make

For å kjøre SpiderMonkey testpakken, utsted:

make -C js/src check-jstests \
     JSTESTS_EXTRA_ARGS="--timeout 300 --wpt=disabled" | tee jstest.log

Fordi vi bygger med system ICU, litt over 100 tester, avhengig av ICU versjon, (av totalt mer enn 50 000) er kjent for å mislykkes. Listen over mislykkede tester kan hentes ut via grep 'UNEXPECTED-FAIL' jstest.log. Send -c alternativet til grep hvis du vil bare ha det totale antallet mislykkede tester.

Testpakken kjøres med alle CPU kjerner tilgjengelig: selv i en cgroup med færre kjerner tildelt, prøver den fortsatt å skape like mange testjobber som alle kjerner i systemet; Heldigvis vil kjernen fortsatt ikke kjøre disse jobbene på kjerner som ikke er tildelt cgroup, så CPU bruken er fortsatt kontrollert.

For å kjøre JIT testpakken, utsted følgende kommando:

make -C js/src check-jit-test

I likhet med SpiderMonkey testpakken er antallet testjobber det samme som antall CPU kjerner i systemet selv om en cgroup brukes. For å gjøre ting verre, noen testtilfeller kan bruke opptil 4 GB av systemminnet, så maksimal minnebruk kan være svært stor hvis du har flere CPU kjerner. Å kjøre JIT testpakken uten nok minne kan påkalle kjernens OOM-killer og forårsake stabilitets problemer. Hvis du ikke har nok systemminne tilgjengelig, legg til JITTEST_EXTRA_ARGS=-jN til kommandoen og erstatt N med nummeret av testjobber det tilgjengelige systemminnet kan inneholde. For eksempel hvis du har 15 GB systemminne tilgjengelig og 4 CPU kjerner, legg til JITTEST_EXTRA_ARGS=-j3 for å kjøre testpakken med 3 parallelle jobber slik at minnebruken ikke overskrider 12 GB.

Obs

Et problem i installasjonsprosessen forårsaker at ethvert program som kjører og lenker til SpiderMonkey delte bibliotek (for eksempel GNOME Shell) til å krasje hvis SpiderMonkey installeres på nytt, eller oppgraderes eller nedgraderes uten endring av hovedversjonsnummeret (140 in 140.7.0). For å omgå dette problemet, fjern den gamle versjonen av SpiderMonkey delte bibliotek før installasjonen:

rm -fv /usr/lib/libmozjs-140.so

Nå, som root bruker:

make install &&
rm -v /usr/lib/libjs_static.ajs &&
sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js140-config

Fortsatt som root bruker, fiks et problem med ett av de installerte deklarasjonene:

sed '$i#define XP_UNIX' -i /usr/include/mozjs-140/js-config.h

Parameterforklaringer

--disable-debug-symbols: Ikke generer feilsøking symboler siden de er veldig store og de fleste brukere ikke trenger det. Fjern det hvis du vil feilsøke SpiderMonkey.

--disable-jemalloc: Denne bryteren deaktiverer intern minneallokator brukt i SpiderMonkey. jemalloc er bare beregnet for nettlesermiljøet Firefox. For andre applikasjoner som bruker SpiderMonkey, kan applikasjonen krasje siden elementer tildelt i jemalloc allokatoren er frigjort på systemets (glibc) allokatoren.

--enable-readline: Denne bryteren aktiverer Readline støtte i SpiderMonkey kommandolinjegrensesnittet.

--enable-rust-simd: Denne bryteren aktiverer SIMD optimalisering i den leverte encoding_rs crate.

--with-intl-api: Dette aktiverer internasjonaliseringsfunksjoner som kreves av Gjs.

--with-system-*: Disse parameterne tillater byggesystemet å bruke systemversjoner av bibliotekene ovenfor. Disse kreves for stabilitet.

rm -v /usr/lib/libjs_static.ajs: Fjern et stort statisk bibliotek som ikke brukes av noen BLFS pakke.

sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js140-config: Forhindrer js140-config fra å bruke buggy CFLAGS.

CC=gcc CXX=g++: BLFS pleide å foretrekke å bruke gcc og g++ i stedet for oppstrøms standardinnstillinger for clang programmer. Med utgivelsen av gcc-12 bygget tar lengre tid med gcc og g++, først og fremst fordi ekstra advarsler, og er større. Send disse miljøvariablene til konfigureringsskriptet hvis du ønsker å fortsette å bruke gcc, g++ (ved å eksportere dem og deaktivere dem etter installasjonen, eller ganske enkelt forberede dem før ../js/src/configure kommandoen). Hvis du bygger på et 32-bits system, se også nedenfor.

CXXFLAGS="-msse2 -mfpmath=sse": Bruk SSE2 i stedet for 387 for flytende komma med dobbel presisjon operasjoner. Det er nødvendig for GCC for å tilfredsstille forventningene til oppstrøms (Mozilla) utviklere med flytende komma aritmetikk. Bruk den hvis du bygger denne pakken på et 32-bits system med GCC (hvis Clang ikke er installert eller GCC er eksplisitt spesifisert). Merk at dette vil føre til at SpiderMonkey krasjer på en prosessor uten SSE2 evne. Hvis du kjører systemet på en så gammel prosessor, er Clang strengt tatt nødvendig. Denne innstillingen er ikke nødvendig på 64-bits systemer fordi alle 64-bits x86-prosessorer støtter SSE2 og 64-bits kompilatorer (både Clang og GCC) bruker SSE2 som standard.

Innhold

Installerte Programmer: js140 og js140-config
Installerte Biblioteker: libmozjs-140.so
Installerte Mapper: /usr/include/mozjs-140

Korte Beskrivelser

js140

gir et kommandolinjegrensesnitt til JavaScript motoren

js140-config

brukes til å finne SpiderMonkey kompilatoren og linkerflaggene

libmozjs-140.so

inneholder Mozilla JavaScript API funksjoner

SPIRV-Headers-1.4.341.0

Introduksjon til SPIRV-Headers

SPIRV-Headers pakken inneholder deklarasjoner som tillater applikasjoner å bruke SPIR-V språket og instruksjonssettet med Vulkan. SPIR-V er et binært mellomspråk for representasjon av grafiske shader stadier og datakjerner for flere Khronos APIer, inkludert OpenGL og Vulkan.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

SPIRV-Headers Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av SPIRV-Headers

Installer SPIRV-Headers ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr -G Ninja .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/spirv og /usr/share/cmake/SPIRV-Headers

SPIRV-Tools-1.4.341.0

Introduksjon til SPIRV-Tools

SPIRV-Tools pakken inneholder biblioteker og verktøy for behandling av SPIR-V moduler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

SPIRV-Tools Avhengigheter

Påkrevd

CMake-4.2.3 og SPIRV-Headers-1.4.341.0

Installasjon av SPIRV-Tools

Installer SPIRV-Tools ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr     \
      -D CMAKE_BUILD_TYPE=Release      \
      -D SPIRV_WERROR=OFF              \
      -D BUILD_SHARED_LIBS=ON          \
      -D SPIRV_TOOLS_BUILD_STATIC=OFF  \
      -D SPIRV-Headers_SOURCE_DIR=/usr \
      -G Ninja .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D SPIRV_WERROR=OFF: Denne bryteren stopper byggesystemet å behandle advarsler som feil.

-D BUILD_SHARED_LIBS=ON: Denne bryteren tvinger byggesystemet å installere delte biblioteker i stedet for statiske biblioteker.

-D SPIRV_TOOLS_BUILD_STATIC=OFF: Denne bryteren deaktiverer bygging av statiske versjoner av bibliotekene.

-D SPIRV-Headers_SOURCE_DIR: Denne bryteren forteller byggesystemet at SPIRV-Headers-1.4.341.0 er installert i /usr. Dette er nødvendig siden byggesystemet prøver å bruke en kopi av external/spirv-headers i kildemappen som standard, og kopien sendes ikke (dvs. du trenger å pakke ut manuelt SPIRV-Headers-1.4.341.0 der hvis du vil bygge med kopien).

Innhold

Installerte Programmer: spirv-as, spirv-cfg, spirv-dis, spirv-lesspipe.sh, spirv-link, spirv-lint, spirv-objdump, spirv-opt, spirv-reduce, og spirv-val
Installerte Biblioteker: libSPIRV-Tools-diff.so, libSPIRV-Tools-link.so, libSPIRV-Tools-lint.so, libSPIRV-Tools-opt.so, libSPIRV-Tools-reduce.so, libSPIRV-Tools-shared.so, og libSPIRV-Tools.so
Installerte Mapper: /usr/include/spirv-tools og /usr/lib/cmake/SPIRV-Tools

Korte Beskrivelser

spirv-as

oppretter en SPIR-V binær modul fra SPIR-V Assembler tekst

spirv-cfg

viser kontrollflytgrafen i "punkt" format

spirv-dis

disAssembler SPIR-V binær modul

spirv-lesspipe.sh

disAssembler automatisk en .SPV-fil for 'less'

spirv-link

kobler sammen SPIR-V binære filer

spirv-lint

sjekker en SPIR-V binær modul for feil

spirv-objdump

dumper informasjon fra en SPIR-V binær

spirv-opt

utfører optimaliseringer på SPIR-V binære filer

spirv-reduce

reduserer en SPIR-V binær fil

spirv-val

validerer en SPIR-V binær fil

libSPIRV-Tools.so

inneholder funksjoner for behandling av SPIR-V moduler

SPIRV-LLVM-Translator-21.1.4

Introduksjon til SPIRV-LLVM-Translator

SPIRV-LLVM-Translator pakken inneholder et bibliotek og verktøy for konvertering mellom LLVM IR og SPIR-V kode. Denne pakken støtter for øyeblikket bare OpenCL/Compute versjonen av SPIR-V.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

SPIRV-LLVM-Translator Avhengigheter

Påkrevd

libxml2-2.15.1, LLVM-21.1.8, og SPIRV-Tools-1.4.341.0

Installasjon av SPIRV-LLVM-Translator

Installer SPIRV-LLVM-Translator ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr                   \
      -D CMAKE_BUILD_TYPE=Release                    \
      -D BUILD_SHARED_LIBS=ON                        \
      -D CMAKE_SKIP_INSTALL_RPATH=ON                 \
      -D LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr \
      -G Ninja ..                                    &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D BUILD_SHARED_LIBS=ON: Denne parameteren tvinger bygging av delte versjoner av bibliotekene.

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr: Denne parameteren lar byggesystemet bruke versjonen av SPIRV-deklarasjoner som burde vært installert som en avhengighet av SPIRV-Tools, i stedet for å laste ned en unødvendig kopi av deklarasjonene.

Innhold

Installerte Programmer: llvm-spirv
Installerte Biblioteker: libLLVMSPIRVLib.so
Installerte Mapper: /usr/include/LLVMSPIRVLib

Korte Beskrivelser

llvm-spirv

konverterer mellom LLVM IR og SPIR-V kode

libLLVMSPIRVLib.so

inneholder funksjoner som konverterer mellom LLVM IR og SPIR-V kode

Talloc-2.4.4

Introduksjon til Talloc

Talloc gir en hierarkisk referanse tellet minnebassengsystem med destruktorer. Det er kjerneminne fordeler brukt i Samba.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Talloc Avhengigheter

Valgfri

docbook-xml-4.5, docbook-xsl-nons-1.79.2 og libxslt-1.1.45 (For å generere mansider), GDB-17.1, git-2.53.0, libnsl-2.0.1, libtirpc-1.3.7, Valgrind-3.26.0, og xfsprogs-6.18.0

Installasjon av Talloc

Installer Talloc ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libpytalloc-util.cpython-314-<arch>-linux-gnu.so, libpytalloc-util.cpython-314-<arch>-linux-gnu.so, libtalloc.so, and talloc.cpython-314-<arch>-linux-gnu.so (Python 3 Modul)
Installerte Mapper: Ingen

Korte Beskrivelser

libtalloc.so

inneholder en erstatning for Glibc malloc funksjon

Uchardet-0.0.8

Introduksjon til Uchardet

Uchardet pakken inneholder en kodings detektorbibliotek som tar en sekvens av byter i et ukjent tegnkoding og forsøker å bestemme kodingen av teksten.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Uchardet Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av Uchardet

Installer Uchardet ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D BUILD_STATIC=OFF                 \
      -D CMAKE_POLICY_VERSION_MINIMUM=3.5 \
      -W no-dev ..                        &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-D BUILD_STATIC=OFF: Denne bryteren deaktiverer bygging av den statiske versjonen av biblioteket.

-D CMAKE_POLICY_VERSION_MINIMUM=3.5: Denne bryteren gjør at denne pakken kan bygges med cmake-4.0 eller nyere.

Innhold

Installerte Programmer: uchardet
Installerte Biblioteker: libuchardet.so
Installerte Mapper: /usr/include/uchardet

Korte Beskrivelser

uchardet

oppdager hvilket tegnsett som brukes inne i en fil

libuchardet.so

gir et API for å oppdage koding av tekst i en fil

Umockdev-0.19.4

Introduksjon til Umockdev

Umockdev pakken inneholder et rammeverk som lar en utvikler etterligne enheter for bruk i enhetstesting.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Umockdev Avhengigheter

Påkrevd

libgudev-238, libpcap-1.10.6, og Vala-0.56.18

Valgfri

GTK-Doc-1.35.1, PyGObject-3.54.5 (for tester), Valgrind-3.26.0 (for tester), og libgphoto2 (for tester)

Installasjon av Umockdev

Installer Umockdev ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted som root bruker: ninja test. En test må kjøres i en X økt.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dgtk_doc=true: Bruk denne bryteren hvis du har GTK-Doc-1.35.1 installert og ønsker å bygge om og installere API dokumentasjonen.

Innhold

Installerte Programmer: umockdev-record, umockdev-run, og umockdev-wrapper
Installerte Biblioteker: libumockdev-preload.so og libumockdev.so
Installerte Mapper: /usr/include/umockdev-1.0

Korte Beskrivelser

umockdev-record

registrerer Linux enheter og deres forfedre fra sysfs/udev eller registrerer ioctls for en enhet

umockdev-run

kjører et program under en umockdev testramme

umockdev-wrapper

legger et program rundt libumockdev-preload.so.0 gjennom LD_PRELOAD

libumockdev.so

gir API funksjoner som tillater etterligning av maskinvareenheter for enhetstesting

utfcpp-4.0.9

Introduksjon til utfcpp

utfcpp pakken inneholder et sett med include filer for å gi UTF-8 med C++ på en Portabel måte.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

utfcpp Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av utfcpp

Installer utfcpp ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr ..

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/utf8cpp and /usr/share/utf8cpp

Wayland-1.24.0

Introduksjon til Wayland

Wayland er et prosjekt for å definere en protokoll for en compositor å snakke med sine klienter så vel som et bibliotek implementering av protokollen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Wayland Avhengigheter

Påkrevd

libxml2-2.15.1

Valgfri

Doxygen-1.16.1, Graphviz-14.1.2 og xmlto-0.0.29 (for å bygge API dokumentasjonen) og docbook-xml-4.5, docbook-xsl-nons-1.79.2 og libxslt-1.1.45 (for å bygge manualsidene)

Installasjon av Wayland

Installer Wayland ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D documentation=false &&
ninja

For å teste resultatene, kjør: env -u XDG_RUNTIME_DIR ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D documentation=false: Denne bryteren er brukt for å deaktivere bygging av API dokumentasjonen. Fjern den hvis du har installerte valgfrie avhengigheter.

Innhold

Installerte Programmer: wayland-scanner
Installerte Biblioteker: libwayland-client.so, libwayland-cursor.so, libwayland-egl.so, og libwayland-server.so
Installerte Mapper: /usr/share/wayland

Korte Beskrivelser

wayland-scanner

er et verktøy for å generere proxy metoder i wayland-client-protocol.h og wayland-server-protocol.h

libwayland-client.so

inneholder API funksjoner for å skrive Wayland applikasjoner

libwayland-cursor.so

inneholder API funksjoner for å administrere markører i Wayland applikasjoner

libwayland-egl.so

inneholder API funksjoner for håndtering av OpenGL anrop i Wayland applikasjoner

libwayland-server.so

inneholder API funksjoner for å skrive Wayland compositors

Wayland-Protocols-1.47

Introduksjon til Wayland-Protocols

Wayland-Protocols pakken inneholder ekstra Wayland protokoller som legger til funksjonalitet utenfor protokoller allerede i Waylandkjernen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Wayland-protocols Avhengigheter

Påkrevd

Wayland-1.24.0

Installasjon av Wayland-protocols

Installer Wayland-protocols ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/wayland-protocols

wv-1.2.9

Introduksjon til wv

wv pakken inneholder verktøy for å lese informasjon fra et MS Word dokument.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

wv Avhengigheter

Påkrevd

libgsf-1.14.55 og libpng-1.6.55

Valgfri

libwmf

Installasjon av wv

Installer wv ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken har ikke en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: wvSummary og flere andre wv* programmer som er avviklet i favør av abiword: se https://wvware.sourceforge.net/
Installert Bibliotek: libwv-1.2.so
Installert Mappe: /usr/share/wv

Korte Beskrivelser

wvSummary

viser sammendragsinformasjonen fra et MS Word dokument

libwv-1.2.so

gir funksjoner for å få tilgang til MS Word dokumenter

Xapian-1.4.30

Introduksjon til xapian

Xapian er et åpen kildekode søkemotorbibliotek.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://oligarchy.co.uk/xapian/1.4.30/xapian-core-1.4.30.tar.xz

  • Nedlasting MD5 sum: 4f767035ec2b710f98fbe07a48fabfb1

  • Nedlastingsstørrelse: 3.2 MB

  • Estimert diskplass som kreves: 146 MB (legg til 169 MB for tester)

  • Estimert byggetid: 0.5 SBU (legg til 9.1 SBU for tester; begge bruker parallellisme=4)

Xapian Avhengigheter

Valgfri

Valgrind-3.26.0 (for tester)

Installasjon av Xapian

Installer Xapian ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/xapian-core-1.4.30 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: copydatabase, quest, simpleexpand, simpleindex, simplesearch, xapian-check, xapian-compact, xapian-config, xapian-delve, xapian-metadata, xapian-pos, xapian-progsrv, xapian-replicate, xapian-replicate-server og xapian-tcpsrv
Installerte Biblioteker: libxapian.so
Installerte Mapper: /usr/include/xapian, /usr/lib/cmake/xapian, /usr/share/doc/xapian-core-1.4.30, og /usr/share/xapian-core

Korte Beskrivelser

copydatabase

utfører en dokument-for-dokument kopi av en eller flere Xapian databaser

quest

er et kommandolinjeverktøy for å søke gjennom en database

simpleexpand

er et enkelt eksempelprogram som demonstrerer søkeutvidelse

simpleindex

indekserer hvert avsnitt i en tekstfil som et Xapian dokument

simplesearch

er et enkelt kommandolinjesøkeverktøy

xapian-check

kontrollerer konsistensen til en database eller tabell

xapian-compact

komprimerer en database, eller slår sammen og komprimerer flere databaser

xapian-config

rapporterer informasjon om den installerte versjonen av xapian

xapian-delve

inspiserer innholdet i en Xapian database

xapian-metadata

leser og skriver brukermetadata

xapian-pos

inspiserer innholdet i et flintbord for utvikling eller feilsøking

xapian-progsrv

er en ekstern server for bruk med ProgClient

xapian-replicate

replikerer en database fra en hovedserver til en lokal kopi

xapian-replicate-server

gir tilbake databasereplikeringsforespørsler fra klienter

xapian-tcpsrv

er TCP nissen for bruk med Xapian sin eksterne bakstykke

Kapittel 10. Grafikk og Skrift Biblioteker

Avhengig av hva systemet ditt skal brukes til, kan du trenge eller ikke trenge grafikk og skrift bibliotekene. De fleste stasjonære maskiner vil ha dem til bruk med grafiske applikasjoner. De fleste servere på andre siden, vil ikke kreve dem.

AAlib-1.4rc5

Introduksjon til AAlib

AAlib er et bibliotek for å gjengi grafikk til ASCII Art.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

AAlib Avhengigheter

Valgfri

Xorg Biblioteker, Xorg Fonts (kjøretid), slang-2.3.3, og GPM-1.20.7

Installasjon av AAlib

Løs et mindre problem med den medfølgende m4 filen:

sed -i -e '/AM_PATH_AALIB,/s/AM_PATH_AALIB/[&]/' aalib.m4

Endre standard X11 font fra Xorg Legacy Fonts til Xorg Fonts:

sed -e 's/8x13bold/-*-luxi mono-bold-r-normal--13-120-*-*-m-*-*-*/' \
    -i src/aax.c

Fiks et overforbruk av enkelte ncurses interne datastrukturer for å tillate å bygge denne pakken med ncurses-6.5 eller nyere:

sed 's/stdscr->_max\([xy]\) + 1/getmax\1(stdscr)/' \
    -i src/aacurses.c

For å tillate å bygge denne pakken med GCC-14 eller nyere, legg til noen manglende #include direktiver og fikse en dårlig return uttalelse for å gjøre koden C99-kompatibel. Deretter regenerer configure skript for å sikre at C koden for sonderingssystem også er C99-kompatibel:

sed -i '1i#include <stdlib.h>'                            \
    src/aa{fire,info,lib,linuxkbd,savefont,test,regist}.c &&
sed -i '1i#include <string.h>'                            \
    src/aa{kbdreg,moureg,test,regist}.c                   &&
sed -i '/X11_KBDDRIVER/a#include <X11/Xutil.h>'           \
    src/aaxkbd.c                                          &&
sed -i '/rawmode_init/,/^}/s/return;/return 0;/'          \
    src/aalinuxkbd.c                                      &&
autoconf

Installer AAlib ved å kjøre følgende kommandoer:

./configure --prefix=/usr             \
            --infodir=/usr/share/info \
            --mandir=/usr/share/man   \
            --with-ncurses=/usr       \
            --disable-static          &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: aafire, aainfo, aalib-config, aasavefont, og aatest
Installert Bibliotek: libaa.so
Installerte Mapper: Ingen

Korte Beskrivelser

aafire

er en demo av AAlib, render en animert brann i ASCII Art

aainfo

gir informasjon for gjeldende innstillinger relatert til AAlib

aalib-config

gir konfigurasjonsinformasjon for AAlib

aasavefont

lagrer en font i en fil

aatest

viser evnene til AAlib i en liten test

libaa.so

er en samling av rutiner for å gjengi grafisk inndata i flyttbart format til ASCII Art. Den kan brukes gjennom mange programmer og har et veldig godt dokumentert API, slik at du enkelt kan sette det inn i dine egne programmer

babl-0.1.122

Introduksjon til Babl

Babl pakken er et dynamiksk, enhver til enhver, pikselformat oversettelsesbibliotek.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Babl Avhengigheter

Anbefalt
Valgfri

w3m

Installasjon av Babl

Installer Babl ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install &&

install -v -m755 -d                         /usr/share/gtk-doc/html/babl/graphics &&
install -v -m644 docs/*.{css,html}          /usr/share/gtk-doc/html/babl          &&
install -v -m644 docs/graphics/*.{html,svg} /usr/share/gtk-doc/html/babl/graphics

Parameterforklaringer

install -v -m755 -d /usr/share/gtk-doc/html/babl/graphics: Dette og de påfølgende kommandoer installer bibliotekets html dokumentasjon under /usr/share/gtk-doc/html hvor andre gtk pakker legger den programmererorienterte dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libbabl-0.1.so og biblioteker i /usr/lib/babl-0.1
Installerte Mapper: /usr/{include,lib}/babl-0.1 og /usr/share/gtk-doc/html/babl

Korte Beskrivelser

libbabl-0.1.so

inneholder funksjoner for å få tilgang til BablFishes for å konvertere mellom formater

Exiv2-0.28.7

Introduksjon til Exiv2

Exiv2 inneholder et C++ bibliotek og et kommando linjeverktøy for å administrere bilde og video metadata.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Exiv2 Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt
Valgfri

libssh

Valgfritt for dokumentasjon

Doxygen-1.16.1, Graphviz-14.1.2, og libxslt-1.1.45

Installasjon av Exiv2

Installer Exiv2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr   \
      -D CMAKE_BUILD_TYPE=Release    \
      -D EXIV2_ENABLE_VIDEO=yes      \
      -D EXIV2_ENABLE_WEBREADY=yes   \
      -D EXIV2_ENABLE_CURL=yes       \
      -D EXIV2_BUILD_SAMPLES=no      \
      -D CMAKE_SKIP_INSTALL_RPATH=ON \
      -G Ninja ..                    &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D EXIV2_ENABLE_VIDEO=yes: Denne bryteren gjør det mulig å administrere videometadata.

-D EXIV2_ENABLE_WEBREADY=yes: Denne bryteren gjør det mulig å administrere nettbildemetadata.

-D EXIV2_BUILD_SAMPLES=no: Denne bryteren er nødvendig for å undertrykke bygging og installasjon av eksempler på programmer. Hvis prøveprogrammene bygges, 34 ekstra programmer er installert i /usr/bin.

-D EXIV2_ENABLE_CURL=yes: Denne bryteren er nødvendig for å aktivere nettverk/http funksjoner.

-D EXIV2_ENABLE_INIH=no: Bruk denne bryteren hvis du ikke har installert inih-62.

-D EXIV2_ENABLE_BROTLI=no: Bruk denne bryteren hvis du ikke har installert Brotli-1.2.0.

Innhold

Installert Program: exiv2
Installert Bibliotek: libexiv2.so
Installerte Mapper: /usr/include/exiv2 og /usr/lib/cmake/exiv2

Korte Beskrivelser

exiv2

er et verktøy som brukes til å dumpe Exif data

FreeType-2.14.1

Introduksjon til FreeType2

FreeType2 pakken inneholder et bibliotek som lar applikasjoner gjengi TrueType fonter riktig.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Ytterligere Dokumentasjon

FreeType2 Avhengigheter

Anbefalt
Valgfri

Brotli-1.2.0 og librsvg-2.61.4

Valgfri (for dokumentasjon)

docwriter

Installasjon av FreeType2

Hvis du lastet ned tilleggsdokumentasjonen, pakk den ut i kildetreet ved å bruke følgende kommando:

tar -xf ../freetype-doc-2.14.1.tar.xz --strip-components=2 -C docs

Installer FreeType2 ved å kjøre følgende kommandoer:

sed -ri "s:.*(AUX_MODULES.*valid):\1:" modules.cfg &&

sed -r "s:.*(#.*SUBPIXEL_RENDERING) .*:\1:" \
    -i include/freetype/config/ftoption.h  &&

./configure --prefix=/usr            \
            --disable-static         \
            --enable-freetype-config \
            --with-harfbuzz=dynamic &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du lastet ned den valgfrie dokumentasjonen, installer den som root bruker:

cp -v -R docs -T /usr/share/doc/freetype-2.14.1 &&
rm -v /usr/share/doc/freetype-2.14.1/freetype-config.1

Parameterforklaringer

sed -ri ...: Første kommando aktiverer GX/AAT og OpenType tabellvalidering og andre kommando aktiverer Subpixel Rendering. Noter at Subpixel Rendering kan ha patentproblemer. Sørg for å lese 'Other patent issues' delen av https://freetype.org/patents.html før du aktiverer dette alternativet.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-freetype-config: Denne bryteren sørger for at manualsiden for freetype-config er installert.

--with-harfbuzz=dynamic: Denne bryteren sikrer at HarfBuzz lastes dynamisk, og hopper over kravet om å gjenoppbygge denne pakken etter at HarfBuzz er installert.

--without-harfbuzz: Hvis harfbuzz er installert før freetype uten freetype støtte, bruk denne bryteren for å unngå en byggefeil.

Innhold

Installert Program: freetype-config
Installert Bibliotek: libfreetype.so
Installerte Mapper: /usr/include/freetype2 og /usr/share/doc/freetype-2.14.1

Korte Beskrivelser

freetype-config

brukes til å få FreeType kompilerings og koblingsinformasjon

libfreetype.so

inneholder funksjoner for å gjengi ulike skrifttyper, for eksempel TrueType og Type1

Fontconfig-2.17.1

Introduksjon til Fontconfig

Fontconfig pakken inneholder et bibliotek og støtteprogrammer som brukes til å konfigurere og tilpasse skrifttilgang.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Fontconfig Avhengigheter

Påkrevd

FreeType-2.14.1

Valgfri

bubblewrap-0.11.0 (brukt av noen tester), cURL-8.18.0 og libarchive-3.8.5 (begge brukt av noen tester for å laste ned og trekke ut testfiler), JSON-C-0.18, DocBook-utils-0.6.14 og libxml2-2.15.1, texlive-20250308 (eller install-tl-unx)

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Notat

Hvis du har DocBook Utils installert og du fjerner --disable-docs parameteren fra configure kommandoen nedenfor, må du også ha SGMLSpm-1.1 og texlive-20250308 installert, ellers vil Fontconfig bygge med feil.

Installasjon av Fontconfig

Installer Fontconfig ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-docs       \
            --docdir=/usr/share/doc/fontconfig-2.17.1 &&
make

For å teste resultatene, kjør: make check. En test er kjent for å mislykkes hvis kjernen ikke støtter brukernavneområder. Noen tester vil laste ned noen fontfiler via Internett.

Nå, som root bruker:

make install

Hvis du ikke fjernet --disable-docs parameteren fra configure kommandoen, kan du installere den forhåndsgenererte dokumentasjonen ved å bruke følgende kommandoer som root bruker:

install -v -dm755 \
        /usr/share/{man/man{1,3,5},doc/fontconfig-2.17.1} &&
install -v -m644 fc-*/*.1         /usr/share/man/man1 &&
install -v -m644 doc/*.3          /usr/share/man/man3 &&
install -v -m644 doc/fonts-conf.5 /usr/share/man/man5 &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
                                  /usr/share/doc/fontconfig-2.17.1

Parameterforklaringer

--disable-docs: Denne bryteren unngår å bygge dokumentasjon (utgivelsens tarball inkluderer forhåndsgenerert dokumentasjon).

Konfigurere Fontconfig

Konfigurasjonsfiler

/etc/fonts/*, /etc/fonts/conf.d/* and /usr/share/fontconfig/conf.avail/*

Konfigurasjonsinformasjon

Hovedkonfigurasjonsfilen for Fontconfig er /etc/fonts/fonts.conf. Vanligvis vil du ikke redigere denne filen. Den vil også lese /etc/fonts/local.conf og eventuelle filer i /etc/fonts/conf.d. For å sette en ny fontmappe i konfigurasjonen, opprett (eller oppdater) /etc/fonts/local.conf filen med din lokale informasjon eller legg til en ny fil /etc/fonts/conf.d. Standard plassering av fonter i Fontconfig er:

  • /usr/share/fonts

  • ~/.local/share/fonts

  • ~/.fonts (dette er nå foreldet, men for øyeblikket fungerer det fortsatt)

Fontconfig sender også mange eksempel konfigurasjonsfiler i /usr/share/fontconfig/conf.avail mappen. Symlinking spesifikke filer til /etc/fonts/conf.d vil aktivere dem. Standardoppsettet er generelt godt nok for de fleste brukere. Se /etc/fonts/conf.d/README for en beskrivelse av konfigurasjonsfilene.

Mer informasjon om konfigurering Fontconfig finnes i brukermanualen i file:///usr/share/doc/fontconfig-2.17.1/fontconfig-user.html.

Innhold

Installerte Programmer: fc-cache, fc-cat, fc-conflist, fc-list, fc-match, fc-pattern, fc-query, fc-scan, og fc-validate
Installert Bibliotek: libfontconfig.so
Installerte Mapper: /etc/fonts, /usr/include/fontconfig, /usr/share/doc/fontconfig-2.17.1, /usr/share/fontconfig, /usr/share/xml/fontconfig, og /var/cache/fontconfig

Korte Beskrivelser

fc-cache

brukes til å lage hurtiglager for fontinformasjon

fc-cat

brukes til å lese hurtiglageret for fontinformasjon

fc-conflist

viser regelsettfilenes informasjon om systemet

fc-list

brukes til å lage fontlister

fc-match

brukes til å matche tilgjengelige fonter, eller finne fonter som matcher et gitt mønster

fc-pattern

brukes til å analysere mønster (tomt mønster som standard) og vise det analyserte resultatet

fc-query

brukes til å søke etter skriftfiler og skrive ut resulterende mønstre

fc-scan

brukes til å skanne skriftfiler og mapper, og skrive ut resultatets mønstre

fc-validate

brukes til å validere fontfiler

libfontconfig.so

inneholder funksjoner som brukes av Fontconfig programmer og også av andre programmer for å konfigurere eller tilpasse font adgang

FriBidi-1.0.16

Introduksjon til FriBidi

FriBidi pakken er en implementering av Unicode Bidirectional Algorithm (BIDI). Dette er nyttig for å støtte Arabiske og hebraiske alfabeter i andre pakker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

FriBidi Avhengigheter

Valgfri

c2man (for å bygge mansider)

Installasjon av FriBidi

Installer FriBidi ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: fribidi
Installert Bibliotek: libfribidi.so
Installert Mappe: /usr/include/fribidi

Korte Beskrivelser

fribidi

er et kommandolinjegrensesnitt til libfribidi biblioteket og kan brukes til å konvertere en logisk streng til visuell utskrift

libfribidi.so

inneholder funksjoner som brukes til å implementere Unicode Bidirectional Algorithm

gegl-0.4.66

Introduksjon til gegl

Denne pakken inneholder GEneric Graphics Library, som er en grafbasert bildebehandlingsformat.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gimp.org/pub/gegl/0.4/gegl-0.4.66.tar.xz

  • Nedlasting MD5 sum: 6897676f4a78de0faefea446268264bc

  • Nedlastingsstørrelse: 5.8 MB

  • Estimert diskplass som kreves: 177 MB (Legg til 5 MB for tester)

  • Estimert byggetid: 0.7 SBU (legg til 0,1 SBU for tester, begge med parallellitet=4)

Påkrevd

babl-0.1.122 og JSON-GLib-1.10.8

Anbefalt
Valgfri

asciidoc-10.2.1, Cairo-1.18.4, FFmpeg-8.0.1 (for øyeblikket ødelagt), gdk-pixbuf-2.44.5, gexiv2-0.14.6, GTK-Doc-1.35.1, jasper-4.2.8, Little CMS-2.18, libraw-0.22.0, librsvg-2.61.4, libspiro-20220722, libtiff-4.7.1, libwebp-1.6.0, luajit-20260213, Pango-1.57.0, Poppler-26.02.0, Ruby-4.0.1, sdl2-compat-2.32.64, v4l-utils-1.32.0, Vala-0.56.18, lensfun, libnsgif, libumfpack, maxflow, MRG, OpenCL, OpenEXR, poly2tri-c, source-highlight, og w3m

Installasjon av gegl

Hvis du installerer over en tidligere versjon av gegl, en av modulene må fjernes. Som root bruker, kjør følgende kommando for å fjerne den:

rm -f /usr/lib/gegl-0.4/vector-fill.so

Installer gegl ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test. Fjorten tester er kjent for å mislykkes i gegl:ff-load-save-delen av testpakken på grunn av inkompatibilitet med nyere versjoner av ffmpeg.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D docs=true: Bruk denne bryteren til å bygge og installere dokumentasjonen (krever GTK-Doc-1.35.1).

Innhold

Installerte Programmer: gegl og gegl-imgcmp
Installerte Biblioteker: libgegl-0.4.so, libgegl-npd-0.4.so, og moduler i /usr/lib/gegl-0.4
Installerte Mapper: /usr/lib/gegl-0.4 og /usr/include/gegl-0.4

Korte Beskrivelser

gegl

er et kommandolinjeverktøy for grensesnitt med gegl biblioteket

gegl-imgcmp

er et enkelt bildeforskjell deteksjonsverktøy for bruk i regresjontesting

libgegl-0.4.so

gir infrastruktur for å gjøre etterspørselsbasert bufret ikke-destruktivt bilderedigering på større enn RAM buffere

libgegl-npd-0.4.so

er GEGL N-point bildedeformasjonsbibliotek

giflib-5.2.2

Introduksjon til giflib

giflib pakken inneholder biblioteker for lesing og skriving av GIF-er samt programmer for konvertering og arbeider med GIF filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

giflib Avhengigheter

Valgfri

xmlto-0.0.29 (påkrevd vis du kjører make etter make clean) [1]

Installasjon av giflib

Først, hindre byggeprosessen fra å installere XML filer i stedet for manualsider:

patch -Np1 -i ../giflib-5.2.2-upstream_fixes-1.patch

Deretter, fiks flere sikkerhetsproblemer i verktøyet 'gif2rgb':

patch -Np1 -i ../giflib-5.2.2-security_fixes-1.patch

Fjern deretter en unødvendig avhengighet av ImageMagick-7.1.2-13 ved å flytte en fil til et forventet sted:

cp pic/gifgrid.gif doc/giflib-logo.gif

Installer giflib ved å kjøre følgende kommandoer:

make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make PREFIX=/usr install &&

rm -fv /usr/lib/libgif.a &&

find doc \( -name Makefile\* -o -name \*.1 \
         -o -name \*.xml \) -exec rm -v {} \; &&

install -v -dm755 /usr/share/doc/giflib-5.2.2 &&
cp -v -R doc/* /usr/share/doc/giflib-5.2.2

Parameterforklaringer

rm -fv /usr/lib/libgif.a: Denne kommandoen fjerner et statisk bibliotek som ikke brukes av noen BLFS pakke.

find doc ... -exec rm -v {} \;: Denne kommandoen fjerner Makefiles, man og xml filer fra dokumentasjonsmappen som ellers ville blitt installert av kommandoene som følger.

Innhold

Installerte Programmer: gif2rgb, gifbuild, gifclrmp, giffix, giftext, og giftool
Installert Bibliotek: libgif.so
Installert Mappe: /usr/share/doc/giflib-5.2.2

Korte Beskrivelser

gif2rgb

konverterer bilder lagret som GIF til 24-bits RGB bilder

gifbuild

dumper GIF data i et tekstformat, eller udumper dem til en GIF

gifclrmp

endrer fargekart for GIF bilder

giffix

prøver klønete å fikse avkortede GIF bilder

giftext

skriver ut (bare tekst) generell informasjon om en GIF fil

giftool

er et GIF transformasjonsverktøy

libgif.so

inneholder API funksjoner som kreves av giflib programmer og andre programmer som trenger bibliotekfunksjonalitet for å lese, skrive og manipulere GIF bilder



[1] Forhåndsbygd dokumentasjon finnes i denne tarballen. make vil oppdage at dokumentasjon allerede finnes i distribusjonen hvis make clean ikke ble kjørt, og vil ikke kreve xmlto-0.0.29 avhengighet. Imidlertid å kjøre make clean vil føre til at den forhåndsbygde dokumentasjonen blir slettet, og dermed kreve xmlto for å bygge dokumentasjonen hvis make blir kjørt etterpå.

Glad-2.0.8

Introduksjon til Glad

Glad pakken inneholder en generator for lasting av Vulkan, OpenGL, EGL, GLES og GLX kontekster.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Glad Avhengigheter

Valgfri (nødvendig for å kjøre testene)

pytest-9.0.2, rustc-1.93.1, Xorg Biblioteker, glfw, og WINE

Installasjon av Glad

Installer Glad ved å kjøre følgende kommandoer:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken kommer med en testpakke, men den kan ikke kjøres uten å installere de eksterne avhengighetene som er oppført ovenfor.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user glad2

Innhold

Installerte Programmer: glad
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/glad og /usr/lib/python3.14/site-packages/glad2-2.0.8.dist-info

Korte Beskrivelser

glad

genererer lastere for Vulkan, OpenGL, EGL, GLES og GLX kontekster

GLM-1.0.3

Introduksjon til GLM

OpenGL Mathematics (GLM) er en C++ kun deklarasjoner matematikkbibliotek for grafikkprogramvare basert på OpenGL Shading Språkspesifikasjoner (GLSL). Et utvidelsessystem som gir utvidete evner som matrisetransformasjoner og kvaternioner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av GLM

Notat

Denne pakken er uvanlig siden den inkluderer funksjonaliteten i deklarasjonsfiler. Vi kopierer dem bare på plass.

Som root bruker:

cp -r glm /usr/include/ &&
cp -r doc /usr/share/doc/glm-1.0.3

Innhold

Installert Program: Ingen
Installert Bibliotek: Ingen
Installert Mappe: /usr/include/glm og /usr/share/doc/glm-1.0.3

glycin-2.0.8

Introduksjon til glycin

glycin Pakken inneholder et sandkassebasert og utvidbart rammeverk for bildelasting.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

glycin Avhengigheter

Påkrevd

bubblewrap-0.11.0 (kjøretid), Fontconfig-2.17.1, GLib-2.86.4 (GObject Introspection anbefalt), Little CMS-2.18, libseccomp-2.6.0, og rustc-1.93.1

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Anbefalt
Valgfri

Gi-DocGen-2026.1, GTK-4.20.3 (for libglycin-gtk4 og test testpakken), og libopenraw

Installasjon av glycin

Hvis du installerer Xorg i /opt, last ned de nødvendige rustkassene nå og installer en oppdatering for å gi tilgang til $XORG_PREFIX/lib fra sandkassen (merk at oppdateringen krever at XORG_PREFIX er satt riktig for gjeldende bruker og for root følg Xorg build environment før bygging av glycin):

cargo vendor &&
patch -Np1 -i ../glycin-2.0.8-xorg_prefix-1.patch

Notat

Støtteoppdateringen for XBM og XPM nedenfor avhenger implisitt av oppdateringen og instruksjonene ovenfor, så sørg for at du har gitt instruksjonene før du installerer støtteoppdateringen for XBM og XPM. Instruksjonene lager ikke problemer i en Xorg-installasjon i /usr.

Nå kan du tilbakeportere en oppstrømsendring for å gjøre det mulig for glycin å laste inn XBM og XPM bilder. Oppstrømsendringen introduserer en ny avhengig Rustkasse (image-extras) som må synkroniseres inn i leverandørkildene ved å kjøre cargo vendor igjen:

patch -Np1 -i ../glycin-2.0.8-xbm_xpm-1.patch &&
cargo vendor

Installer glycin ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr           \
            --buildtype=release     \
            -D libglycin-gtk4=false \
            -D tests=false ..       &&
ninja

Hvis du har installert Gi-DocGen-2026.1, kan du bygge dokumentasjonen ved å utstede:

sed "/install_dir:.*doc/s|,$| / 'glycin-' + meson.project_version()&|" \
    -i ../libglycin/meson.build &&

meson configure -D capi_docs=true &&
ninja

For å teste resultatene, sørg for at GTK-4.20.3 er installert, så utsted: meson configure -D tests=true && ninja test.

Nå som root bruker:

ninja install

Parameterforklaringer

-D glycin_gtk4=false: Denne parameteren deaktiverer byggingen av libglycin-gtk4 (som ikke brukes av noen BLFS pakker ennå), så denne pakken kan bygges uten GTK-4.20.3 installert.

-D glycin-loaders=...: Bruk dette alternativet til å spesifisere bildelasterne som skal bygges. Standardinnstillingen er glycin-heif,glycin-image-rs,glycin-jxl,glycin-svg, som dekker støtten for alle vanlige bildeformater. Du kan fjerne glycin-heif, glycin-jxl, eller glycin-svg lastere hvis den tilsvarende anbefalte avhengigheten ikke er installert, men dette vil føre til testfeil og hemme funksjonaliteten til denne pakken. Det finnes også lastere for JPEG 2000 og RAW formatene, men de er ikke aktivert som standard.

-D vapi=false: Dette alternativet tillater bygging av denne pakken uten Vala-0.56.18 installert.

Innhold

Installert Program: glycin-thumbnailer
Installert Bibliotek: libglycin-2.so
Installerte Mapper: /usr/include/glycin-2, /usr/libexec/glycin-loaders, /usr/share/glycin-loaders, og valgfritt /usr/share/doc/glycin-2.0.8

Korte Beskrivelser

glycin-thumbnailer

lager miniatyrbilder for bilder i et format som støttes av glycin

libglycin-2.so

inneholder bildelastingsfunksjoner som fungerer ved å kjøre glycin lastere i et sandkassemiljø

Graphite2-1.3.14

Introduksjon til Graphite2

Graphite2 er en gjengivelsesmotor for grafitt fonter. Dette er TrueType fonter med tilleggstabeller som inneholder smart gjengivelse av informasjon og ble opprinnelig utviklet for å støtte komplekse ikke-romerske skriftsystemer. De kan inneholde regler for f.eks. ligaturer, glyph substitusjon, kerning, begrunnelse - dette kan gjøre dem nyttige selv på tekst skrevet i romerske skriftsystemer som engelsk. Merk at firefox gir som standard en intern kopi av grafittmotoren og kan ikke bruke en systemversjon (selv om den kan oppdateres for å bruke den), men den bør også dra nytte av tilgjengeligheten av grafitt fonter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Graphite2 Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt

FreeType-2.14.1, silgraphite for å bygge comparerender test- og benchmarkingverktøy, og hvis det er tilstede, og harfBuzz-12.3.2 for å legge til mer funksjonalitet til den (dette er en sirkulær avhengighet, du må først bygge graphite2 uten harfbuzz).

For å bygge dokumentasjonen: asciidoc-10.2.1, Doxygen-1.16.1, texlive-20250308 (or install-tl-unx), og dblatex (for PDF dokumentasjon)

For å kjøre testpakken trenger du FontTools (Python 3 modul), ellers vil, "cmp" testen feile.

Valgfri (ved kjøretid)

Du trenger minst en passende graphite font for at pakken skal være nyttig.

Installasjon av Graphite2

Noen tester mislykkes hvis FontTools (Python 3 modul) ikke er installert. Disse testene kan fjernes med:

sed -i '/cmptest/d' tests/CMakeLists.txt

Fiks å bygge denne pakken med CMake 4.0 ved å oppdatere dens syntaks til å samsvare med nyere versjoner av CMake:

sed -i '/cmake_policy(SET CMP0012 NEW)/d' CMakeLists.txt &&
sed -i 's/PythonInterp/Python3/' CMakeLists.txt          &&
find . -name CMakeLists.txt | xargs sed -i 's/VERSION 2.8.0 FATAL_ERROR/VERSION 4.0.0/'

Fiks nå et problem når du bygger med gcc-15:

sed -i '/Font.h/i #include <cstdint>' tests/featuremap/featuremaptest.cpp

Installer Graphite2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr .. &&
make

Hvis du ønsker å bygge dokumentasjonen, kjør:

make docs

For å teste resultatene, utsted: make test. En test navngitt nametabletest er kjent for å mislykkes.

Nå, som root bruker:

make install

Hvis du bygde dokumentasjonen, installer, som root bruker:

install -v -d -m755 /usr/share/doc/graphite2-1.3.14 &&

cp      -v -f    doc/{GTF,manual}.html \
                    /usr/share/doc/graphite2-1.3.14 &&
cp      -v -f    doc/{GTF,manual}.pdf \
                    /usr/share/doc/graphite2-1.3.14

Parameterforklaringer

-D CMAKE_VERBOSE_MAKEFILE=ON: Denne bryteren slås på detaljert modus bygging.

Innhold

Installerte Programmer: gr2fonttest, og valgfritt comparerender
Installerte Biblioteker: libgraphite2.so
Installerte Mapper: /usr/{include,share}/graphite2 og valgfritt /usr/share/doc/graphite2-1.3.14

Korte Beskrivelser

comparerender

er et test- og benchmarkingverktøy

gr2fonttest

er et diagnostisk konsollverktøy for grafittfonter

libgraphite2.so

er en gjengivelsesmotor for grafittfonter

harfBuzz-12.3.2

Introduksjon til Harfbuzz

HarfBuzz pakken inneholder en OpenType tekst formings motor.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

HarfBuzz Avhengigheter

Anbefalt
Valgfri

Cairo-1.18.4 (sirkulær: bygge cairo og alt de anbefalte avhengigheter, inkludert harfbuzz, først, deretter gjenoppbygge harfbuzz hvis cairo bakstykke er nødvendig), git-2.53.0, GTK-Doc-1.35.1, FontTools (Python 3 modul, for testpakken), ragel, og wasm-micro-runtime

Advarsel

Anbefalte avhengigheter er ikke strengt nødvendig for å bygge pakken. Det kan imidlertid hende du ikke får forventede resultater ved kjøretid hvis du ikke installerer dem. Vennligst ikke rapporter feil med denne pakken hvis du ikke har installert de anbefalte avhengighetene.

Installasjon av HarfBuzz

Installer HarfBuzz ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D graphite2=enabled &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D graphite2=enabled: Denne bryteren aktiverer Graphite2 støtte, som er nødvendig for å bygge texlive-20250308 eller LibreOffice-25.8.4.2 med system harfbuzz.

-D docs=disabled: Hvis GTK-Doc-1.35.1 er installert, er dokumentasjonen bygget og installert. Denne bryteren forhindrer det.

Innhold

Installerte Programmer: hb-info, hb-ot-shape-closure, hb-shape, hb-subset, og hb-view (bare hvis Cairo er installert)
Installerte Biblioteker: libharfbuzz.so, libharfbuzz-cairo.so (bare hvis Cairo er installert), libharfbuzz-gobject.so, libharfbuzz-icu.so, og libharfbuzz-subset.so
Installerte Mapper: /usr/include/harbuzz, /usr/lib/cmake/harfbuzz, og /usr/share/gtk-doc/html/harfbuzz (valgfri)

Korte Beskrivelser

hb-info

brukes til å samle informasjon om fonter installert på systemet

hb-ot-shape-closure

gir settet med tegn i en streng, representert som enkelttegn og/eller enkelttegnsnavn. Eksempel: hb-ot-shape-closure /usr/share/fonts/dejavu/DejaVuSans.ttf "Hei Verden."

hb-shape

brukes til å konvertere tekststrenger til posisjonerte glyfer

hb-subset

brukes til å lage undersett av fonter og vise tekst ved hjelp av dem

hb-view

viser en grafisk visning av en strengform ved hjelp av en bestemt skrifttype som et sett med glyfer. Utdataformatet er automatisk definert av filtypen, de som støttes er ansi/png/svg/pdf/ps/eps. For eksempel: hb-view --output-file=hello.png /usr/share/fonts/dejavu/DejaVuSans.ttf "Hei Verden."

libharfbuzz.so

er HarfBuzz tekstformingsbiblioteket

libharfbuzz-cairo.so

gir Cairo integrasjon for Harfbuzz tekstformingsbiblioteket

libharfbuzz-gobject.so

gir GObject integrasjon for HarfBuzz tekstformingsbiblioteket

libharfbuzz-icu.so

gir ICU integrasjon for HarfBuzz tekstformingsbiblioteket

libharfbuzz-subset.so

gir API funksjoner for å utføre delinnstillingsoperasjoner på font filer

jasper-4.2.8

Introduksjon til jasper

jasper Prosjektet er en åpen kildekode initiativ for å tilby en gratis programvarebasert referanseimplementering av JPEG-2000 kodeken.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

jasper Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt
Valgfri

Freeglut-3.8.0 (påkrevd for jiv), Doxygen-1.16.1 (nødvendig for å generere html dokumentasjon), og texlive-20250308 (nødvendig for å generere pdf dokumentasjon)

Installasjon av jasper

Installer jasper ved å kjøre følgende kommandoer:

mkdir BUILD &&
cd    BUILD &&

cmake -D CMAKE_INSTALL_PREFIX=/usr    \
      -D CMAKE_BUILD_TYPE=Release     \
      -D CMAKE_SKIP_INSTALL_RPATH=ON  \
      -D JAS_ENABLE_DOC=NO            \
      -D ALLOW_IN_SOURCE_BUILD=YES    \
      -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/jasper-4.2.8 \
      ..  &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D JAS_ENABLE_DOC=NO: Dette alternativet deaktiverer gjenoppbyggingen av dokumentasjonen hvis texlive-20250308 er installert.

-D ALLOW_IN_SOURCE_BUILD=YES: Denne bryteren tillater å bygge fra kildetreet. I vårt tilfelle er dette nødvendig for å la oss bygge inne i BUILD mappen i stedet for å måtte opprette en annen mappe utenfor kildetreet.

Innhold

Installerte Programmer: imgcmp, imginfo, jasper, og jiv
Installert Bibliotek: libjasper.so
Installerte Mapper: /usr/include/jasper og /usr/share/doc/jasper-4.2.8

Korte Beskrivelser

imgcmp

sammenligner to bilder med samme geometri

imginfo

viser informasjon om et bilde

jasper

konverterer bilder mellom formater (BMP, JPS, JPC, JPG, PGX, PNM, MIF, og RAS)

jiv

viser bilder

libjasper.so

er et bibliotek som brukes av programmer for lesing og skriving av filer i JPEG2000 formatet

Little CMS-2.18

Introduksjon til Little CMS2

The Little Colour Management System er en fargeadministrasjonsmotor med lite fotavtrykk, med spesielt fokus på nøyaktighet og ytelse. Det bruker International Color Consortium standarden (ICC), som er en moderne standard for fargestyring.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Little CMS2 Avhengigheter

Valgfri

libjpeg-turbo-3.1.3 og libtiff-4.7.1

Installasjon av Little CMS2

Installer Little CMS2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: jpgicc, linkicc, psicc, tificc, og transicc
Installerte Biblioteker: liblcms2.so
Installerte Mapper: Ingen

Korte Beskrivelser

jpgicc

er Little CMS ICC profilapplikasjon for JPEG

linkicc

er Little CMS ICC enhetskoblingsgeneratoren

psicc

er Little CMS ICC PostScript generator

tificc

er Little CMS ICC tiff generator

transicc

er Little CMS ColorSpace konverteringskalkulator

liblcms2.so

inneholder funksjoner som implementerer lcms2 API

libavif-1.3.0

Introduksjon til libavif

libavif pakken inneholder et bibliotek som brukes for koding og dekoding av AVIF filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libavif Avhengigheter

Påkrevd

dav1d-1.5.3 og SVT-AV1-4.0.1 (støtter bare YUV420)

Anbefalt
Valgfri

gdk-pixbuf-2.44.5, gtest, libyuv, og rav1e

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av libavif

Rett en byggefeil med SVT-AV1-4.0.0 eller nyere:

sed 's/enable_adaptive_quantization/aq_mode/' -i src/codec_svt.c

Installer libavif ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D AVIF_CODEC_AOM=SYSTEM     \
      -D AVIF_CODEC_DAV1D=SYSTEM   \
      -D AVIF_CODEC_SVT=SYSTEM     \
      -D AVIF_BUILD_GDK_PIXBUF=OFF \
      -D AVIF_LIBYUV=OFF           \
      -G Ninja .. &&
ninja

For å teste pakken (merk at det vil føre til at byggesystemet laster ned en kopi av gtest og bygg testpakken med kopien), utsted:

cmake .. -D AVIF_GTEST=LOCAL -D AVIF_BUILD_TESTS=ON &&
ninja && ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

-D AVIF_CODEC_{AOM,DAV1D,SVT}=SYSTEM: Disse bryterne muliggjør bruk av AV1 kodeken via dav1d, libaom og SVT-AV1. Denne pakken er ubrukelig uten en AV1 koder og dekoder.

-D AVIF_BUILD_GDK_PIXBUF=OFF: Denne bryteren deaktiverer bygging av AVIF lasteren for applikasjoner som bruker gdk-pixbuf. Lasteren er ubrukelig når gdk-pixbuf er bygget med den anbefalte avhengigheten glycin.

-D AVIF_LIBYUV=OFF: Bruk denne bryteren hvis du ikke har installert libyuv.

-D AVIF_CODEC_RAV1E=SYSTEM: Bruk denne bryteren hvis du har installert rav1e og ønsker å bruke den som en kodek.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libavif.so
Installerte Mapper: /usr/include/avif og /usr/lib/cmake/libavif

Korte Beskrivelser

libavif.so

inneholder funksjoner som gir en flyttbar C implementering av AV1 bildeformatet

libpixbufloader-avif.so

lar programmer som bruker gdk-pixbuf å lese AVIF bilder

libexif-0.6.25

Introduksjon til libexif

libexif pakken inneholder et bibliotek for å analysere, redigere og lagre EXIF data. De fleste digitale kameraer produserer EXIF filer, som er JPEG-filer med ekstra tagger som inneholder informasjon om bildet. Alle EXIF tagger beskrevet i EXIF-standard 2.1 støttes.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libexif Avhengigheter

Valgfri (å bygge dokumentasjon)

Doxygen-1.16.1 og Graphviz-14.1.2

Installasjon av libexif

Installer libexif ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --with-doc-dir=/usr/share/doc/libexif-0.6.25 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Dokumentasjon ble bygget og installert hvis du har avhengighetene vist ovenfor installert. Hvis du ikke har avhengighetene installert, er det en komprimert tarball i kildetreets doc mappe som kan bli pakket ut i /usr/share/doc/libexif-0.6.25.

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libexif.so
Installerte Mapper: /usr/include/libexif og /usr/share/doc/libexif-0.6.25

Korte Beskrivelser

libexif.so

inneholder funksjoner som brukes til å analysere, redigere og lagre EXIF data

Libgxps-0.3.2

Introduksjon til libgxps

libgxps pakken gir et grensesnitt for å manipulere XPS dokumenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Libgxps Avhengigheter

Påkrevd

GTK-3.24.51, Little CMS-2.18, libarchive-3.8.5, libjpeg-turbo-3.1.3, libtiff-4.7.1, og libxslt-1.1.45

Valgfri

git-2.53.0 og GTK-Doc-1.35.1

Installasjon av Libgxps

Installer Libgxps ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: xpstojpeg, xpstopdf, xpstopng, xpstops, og xpstosvg
Installert Bibliotek: libgxps.so
Installerte Mapper: /usr/include/libgxps

Korte Beskrivelser

xpstojpeg

konverterer XPS dokumenter til et JPEG bilde

xpstopdf

konverterer XPS dokumenter til PDF formatet

xpstopng

konverterer XPS dokumenter til PNG bilde

xpstops

konverterer XPS dokumenter til PostScript

xpstosvg

konverterer XPS dokumenter til SVG bilde

libgxps.so

inneholder API funksjoner for å manipulere XPS dokumenter

libheif-1.21.2

Introduksjon til libheif

libheif Pakken er en dekoder og koder for HEIF og AVIF filformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libheif Avhengigheter

Anbefalt

libaom-3.13.1, libde265-1.0.16, og x265-4.1

Valgfri

Brotli-1.2.0, dav1d-1.5.3, Doxygen-1.16.1, FFmpeg-8.0.1, gdk-pixbuf-2.44.5, libjpeg-turbo-3.1.3, libpng-1.6.55, libtiff-4.7.1, libwebp-1.6.0, OpenJPEG-2.5.4, sdl2-compat-2.32.64, SVT-AV1-4.0.1, x264-20250815, kvaaar, openh264, openjph, uvg266, vvdec, vvenc, og rav1e

Installasjon av libheif

Installer libheif ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D WITH_GDK_PIXBUF=OFF       \
      -G Ninja ..                  &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D WITH_GDK_PIXBUF=OFF: Dette alternativet deaktiverer bygging av gdk-pixbuf-lasteren, ettersom gdk-pixbuf-2.44.5 skal bruke denne pakken via glycin-2.0.8 i stedet for lasteren.

-D WITH_DAV1D=ON: Dette alternativet tillater bruk av dav1d-1.5.3 for å dekode AV1 data i AVIF filer.

-D WITH_FFMPEG_DECODER=ON: Dette alternativet tillater bruk av FFmpeg-8.0.1 for å dekode H.265 data i HEIC filer.

-D WITH_JPEG_ENCODER=ON -D WITH_JPEG_DECODER=ON: Dette alternativet tillater bruk av libjpeg-turbo-3.1.3 for å kode og dekode HEIF filer med JPEG data.

-D WITH_OpenJPEG_ENCODER=ON -D WITH_OpenJPEG_DECODER=ON: Dette alternativet tillater bruk av OpenJPEG-2.5.4 for å kode og dekode HEIF filer med JPEG 2000 data.

-D WITH_SvtEnc=ON: Dette alternativet tillater bruk av SVT-AV1-4.0.1 for å kode AV1 data for AVIF filer.

Innhold

Installerte Programmer: heif-convert (symbolsk lenke til heif-dec), heif-dec, heif-enc, heif-info, heif-thumbnailer (hvis libpng er tilgjengelig), og heif-view (hvis SDL2 er tilgjengelig)
Installert Bibliotek: libheif.so
Installerte Mapper: /usr/include/libheif, /usr/lib/cmake/libheif, og /usr/lib/cmake/libheif

Korte Beskrivelser

heif-dec

dekoder et HEIC/HEIF bilder

heif-enc

konverterer et bilde til HEIC/HEIF

heif-info

viser informasjon om en HEIC/HEIF fil

heif-thumbnailer

lager miniatyrbilder fra HEIC/HEIF filer

heif-view

viser et bilde i HEIC/HEIF format med SDL2

libheif.so

er en ISO/IEC 23008-12:2017 HEIF og AVIF filformatdekoder og koder (AV1 Bildefilformat)

libjpeg-turbo-3.1.3

Introduksjon til libjpeg-turbo

libjpeg-turbo er en forgrening av originalen IJG libjpeg som bruker SIMD for å akselerere grunnleggende JPEG komprimering og dekompresjon. libjpeg er et bibliotek som implementerer JPEG bildekoding, dekoding og transkoding.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libjpeg-turbo Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt

Installasjon av libjpeg-turbo

Installer libjpeg-turbo ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=RELEASE         \
      -D ENABLE_STATIC=FALSE              \
      -D CMAKE_INSTALL_DEFAULT_LIBDIR=lib \
      -D CMAKE_SKIP_INSTALL_RPATH=ON      \
      -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-3.1.3 \
      .. &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D WITH_JPEG8=ON: Denne bryteren muliggjør kompatibilitet med libjpeg versjon 8.

Innhold

Installerte Programmer: cjpeg, djpeg, jpegtran, rdjpgcom, tjbench, og wrjpgcom
Installerte Biblioteker: libjpeg.so og libturbojpeg.so
Installerte Mapper: /usr/share/doc/libjpeg-turbo-3.1.3

Korte Beskrivelser

cjpeg

komprimerer bildefiler for å produsere en JPEG/JFIF fil på standard utgang. For øyeblikket støttede inndatafilformater er: PPM (PBMPLUS fargeformat), PGM (PBMPLUS gråskalaformat), BMP og Targa

djpeg

dekomprimerer bildefiler fra JPEG/JFIF format til enten PPM (PBMPLUS fargeformat), PGM (PBMPLUS gråskalaformat), BMP eller Targa format

jpegtran

brukes til tapsfri transformasjon av JPEG filer

rdjpgcom

viser tekstkommentarer fra en JPEG fil

tjbench

brukes til å ytelsesteste ytelsen til libjpeg-turbo

wrjpgcom

setter inn tekstkommentarer i en JPEG fil

libjpeg.so

inneholder funksjoner som brukes til å lese og skrive JPEG bilder

libjxl-0.11.2

Introduksjon til libjxl

libjxl pakken inneholder referanse implementering av JPEG XL bildeformatet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libjxl Avhengigheter

Påkrevd

Brotli-1.2.0, CMake-4.2.3, giflib-5.2.2, highway-1.3.0, Little CMS-2.18, libjpeg-turbo-3.1.3, og libpng-1.6.55

Valgfri

asciidoc-10.2.1 (for manualsider), Doxygen-1.16.1 og Graphviz-14.1.2 (for dokumentasjon), gdk-pixbuf-2.44.5 (for programtillegg), Java-21.0.9 (for JAR), libavif-1.3.0, libwebp-1.6.0, gtest, OpenEXR, sjpeg, og skcms

Installasjon av libjxl

Installer libjxl ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr             \
      -D CMAKE_BUILD_TYPE=Release              \
      -D BUILD_TESTING=OFF                     \
      -D BUILD_SHARED_LIBS=ON                  \
      -D JPEGXL_ENABLE_SKCMS=OFF               \
      -D JPEGXL_ENABLE_SJPEG=OFF               \
      -D JPEGXL_ENABLE_PLUGINS=OFF             \
      -D JPEGXL_INSTALL_JARDIR=/usr/share/java \
      -G Ninja ..                              &&
ninja

Denne pakken kommer med en testpakke, men den krever gtest, som ikke er i BLFS.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D BUILD_TESTING=OFF: Denne parameteren deaktiverer tester fordi de krever gtest, hvilken ikke er i BLFS. Hvis du ønsker å kjøre testene og har gtest installert, fjern denne parameteren.

-D BUILD_SHARED_LIBS=ON: Denne parameteren aktiverer bygging av delte versjoner av bibliotekene i stedet for statiske.

-D JPEGXL_ENABLE_SKCMS=OFF: Denne parameteren deaktiverer byggestøtte for Skia's skcms siden det er ikke nødvendig for BLFS formålet og krever skcms.

-D JPEGXL_ENABLE_SJPEG=OFF: Denne parameteren deaktiverer støtte for SimpleJPEG siden det ikke er nødvendig for BLFS formålet og krever sjpeg.

-D JPEGXL_ENABLE_PLUGINS=OFF: Denne parameteren deaktiverer bygging av JPEG XL lasteprogramtillegget for GIMP og gdk-pixbuf. GIMP programtillegget er ikke kompatibel med GIMP versjonen i boken, og gdk-pixbuf programtillegget er ubrukelig når gdk-pixbuf er bygget med den anbefalte avhengigheten glycin.

-D JPEGXL_INSTALL_JARDIR=/usr/share/java: Dette parameter plasserer JAR filen for JPEG XL støtte i riktig mappe hvis Java-21.0.9 er installert.

Innhold

Installerte Programmer: benchmark_xl, cjxl, djxl, og jxlinfo
Installerte Biblioteker: libjxl.so, libjxl_cms.so, libjxl_extras_codec.a, libjxl_jni.so, og libjxl_threads.so
Installerte Mapper: /usr/include/jxl

Korte Beskrivelser

benchmark_xl

kjører ytelsesreferanser mot libjxl

cjxl

komprimerer bilder til JPEG XL formatet

djxl

dekomprimerer bilder fra JPEG XL formatet til andre formater

jxlinfo

viser informasjon om JPEG XL bilder

libjxl.so

inneholder referanseimplementeringen av JPEG XL standarden

libjxl_cms.so

inneholder støtte for Little CMS i libjxl

libjxl_extras_codec.a

inneholder ekstra kodekstøtte for JPEG XL bilder

libjxl_jni.so

inneholder et Java grensesnitt for å støtte JPEG XL på systemer hvor Java-21.0.9 var installert på byggetidspunktet

libjxl_threads.so

inneholder trådunksjoner for JPEG XL

libpixbufloader-jxl.so

inneholder en laster for gdk-pixbuf for å la den laste inn JPEG XL bilder

libmng-2.0.3

Introduksjon til libmng

libmng bibliotekene brukes av programmer som ønsker å lese og skrive nettverksgrafikk med flere bilder (MNG) filer som er animasjonsekvivalenter til PNG filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libmng Avhengigheter

Påkrevd

libjpeg-turbo-3.1.3 og Little CMS-2.18

Installasjon av libmng

Installer libmng ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&

install -v -m755 -d        /usr/share/doc/libmng-2.0.3 &&
install -v -m644 doc/*.txt /usr/share/doc/libmng-2.0.3

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libmng.so
Installert Mappe: /usr/share/doc/libmng-2.0.3

Korte Beskrivelser

libmng.so

gir funksjoner for programmer som ønsker å lese og skrive MNG filer som er animasjonsfiler uten patentproblemene knyttet til visse andre formater

libmypaint-1.6.1

Introduksjon til libmypaint

libmypaint pakken, a.k.a. "brushlib", er et bibliotek for å lage penselstrøk som brukes av MyPaint og andre prosjekter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libmypaint Avhengigheter

Påkrevd

JSON-C-0.18

Anbefalt
Valgfri

Doxygen-1.16.1 (for å lage XML dokumenter), gegl (bare 0.3 versjoner) og gperftools

Installasjon av libmypaint

Installer libmypaint ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen.
Installerte Biblioteker: libmypaint.so (og valgfritt libmypaint-gegl.so som ikke er brukt av noen pakker i denne boken).
Installert Mappe: /usr/include/libmypaint

Korte Beskrivelser

libmypaint.so

inneholder funksjoner for å lage penselstrøk

libpng-1.6.55

Introduksjon til libpng

libpng pakken inneholder biblioteker som brukes av andre programmer for lesing og skriving av PNG filer. PNG formatet ble designet som en erstatning for GIF og, i mindre grad, TIFF, med mange forbedringer og utvidelser og mangel på patentproblemer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av libpng

Hvis du vil oppdatere libpng for å støtte apng filer, bruk det her:

zcat ../libpng-1.6.54-apng.patch.gz | patch -p1

Installer libpng ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
mkdir -v /usr/share/doc/libpng-1.6.55 &&
cp -v README libpng-manual.txt /usr/share/doc/libpng-1.6.55

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: libpng-config (symlink), libpng16-config, pngfix og png-fix-itxt
Installerte Biblioteker: libpng.so
Installerte Mapper: /usr/include/libpng16 og /usr/share/doc/libpng-1.6.55

Korte Beskrivelser

pngfix

tester, optimaliserer og eventuelt fikser zlib deklarasjonen i PNG filer. Eventuelt, når du fikser, fjerner du tilleggsbiter fra filen

png-fix-itxt

fikser PNG filer som har feil lengdefelt i iTXt biter

libpng-config

er et skallskript som gir konfigurasjonsinformasjon for applikasjoner som ønsker å bruke libpng

libpng.so

inneholder rutiner som brukes til å lage og manipulere PNG formaterte grafikkfiler

libqrencode-4.1.1

Introduksjon til libqrencode

libqrencode pakken gir en rask og kompakt bibliotek for koding av data i et QR kodesymbol, en 2D symbologi som kan skannes av håndholdte terminaler som en mobiltelefon med en CCD sensor.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Package Information

libqrencode Avhengigheter

Anbefalt
Valgfri

Doxygen-1.16.1 for å generere dokumentasjon, og sdl2-compat-2.32.64 for tester

Installasjon av libqrencode

Installer libqrencode ved å kjøre følgende kommandoer:

sh autogen.sh             &&
./configure --prefix=/usr &&
make

Hvis du har installert Doxygen-1.16.1, kan du bygge dokumentasjonen ved å kjøre:

doxygen

Testene må kjøres etter installasjon av pakken.

Nå, som root bruker:

make install

Hvis du har bygget den valgfrie dokumentasjonen, installer den som root bruker:

install -vdm 755 /usr/share/doc/libqrencode-4.1.1 &&
mv html/*        /usr/share/doc/libqrencode-4.1.1

For å teste resultatene, hvis du har sendt alternativet --with-tests tilconfigure, kjør: make check.

Parameterforklaringer

--with-tests: Dette alternativet gjør det mulig å bygge testprogrammer. Det krever sdl2-compat-2.32.64.

--without-tools: Dette alternativet forhindrer bygging av qrencode kjørbar, fjerner behovet for libpng-1.6.55.

Innhold

Installert Program: qrencode
Installert Bibliotek: libqrencode.so
Installert Mappe: /usr/share/doc/qrencode-4.1.1 (optional)

Korte Beskrivelser

qrencode

koder inndata i en QR kode og lagrer dem som et PNG eller EPS bilde

libqrencode.so

inneholder funksjoner for koding av data i et QR kodesymbol

libraw-0.22.0

Introduksjon til libraw

Libraw er et bibliotek for å lese RAW filer hentet fra digitale kameraer (CRW/CR2, NEF, RAF, DNG og andre).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.libraw.org/data/LibRaw-0.22.0.tar.gz

  • Nedlasting MD5 sum: 2bf10b48794994a80e4fe840684e0ecb

  • Nedlastingsstørrelse: 1.6 MB

  • Estimert diskplass som kreves: 30 MB

  • Estimert byggetid: 0.1 SBU (Bruke parallellisme=4)

libraw Avhengigheter

Anbefalt

Installasjon av libraw

Installer libraw ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --enable-jpeg    \
            --enable-jasper  \
            --enable-lcms    \
            --disable-static \
            --docdir=/usr/share/doc/libraw-0.22.0 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-jpeg: Denne bryteren aktiverer støtte for JPEG bilder. Fjern den hvis du ikke har libjpeg-turbo-3.1.3 installert.

--enable-jasper: Denne bryteren aktiverer støtte for JPEG2000 bilder. Fjern den hvis du ikke har jasper-4.2.8 installert.

--enable-lcms: Denne bryteren aktiverer støtte for fargebehandling. Fjern den hvis du ikke har Little CMS-2.18 installert.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Notat

Alle de installerte programmene er eksempler på bruk av libraw.

Installerte Programmer: 4channels, dcraw_emu, dcraw_half, half_mt, mem_image, multirender_test, postprocessing_benchmark, raw-identify, simple_dcraw, og unprocessed_raw
Installert Bibliotek: libraw.so og libraw_r.so
Installerte Mapper: /usr/include/libraw og /usr/share/doc/libraw-0.22.0

Korte Beskrivelser

4channels

genererer fire TIFF filer fra RAW data, med en fil per kanal

dcraw_half

emulerer kjøring av "dcraw -h" (se DCRAW manpage)

mem_image

emulerer kjøring av "dcraw [-4] [-6] [-e]" (se DCRAW manpage)

postprocessing_benchmark

oppretter åtte forskjellige gjengivelser fra en kildefil. Den første og den fjerde skal være identiske

simple_dcraw

emulerer kjøring av "dcraw [-D] [-T] [-v] [-e] [-4]" (se DCRAW manpage)

dcraw_emu

er en nesten komplett dcraw emulator (se DCRAW manpage)

half_mt

emulerer anrop til "dcraw -h [-w] [-a] [-v]" (se DCRAW manpage)

multirender_test

oppretter åtte forskjellige gjengivelser fra en kildefil. Den første og den fjerde skal være identiske

raw-identify

emulerer kjøring av "dcraw -i [-v]" (se DCRAW manpage)

unprocessed_raw

genererer rt ubehandlet råbilde (med maskerte piksler og uten svart subtraksjon)

libraw.so

inneholder funksjoner som brukes til å analysere, redigere og lagre rå bildedata.

librsvg-2.61.4

Introduksjon til librsvg

librsvg pakken inneholder et bibliotek og verktøy som brukes til å manipulere, konvertere og vise Scalable Vector Graphic (SVG) bilder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

librsvg Avhengigheter

Påkrevd

Cairo-1.18.4, cargo-c-0.10.20, og Pango-1.57.0

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Anbefalt
Valgfri

dav1d-1.5.3 (for å støtte innebygd AVIF i SVG) og docutils-0.22.4 (for manualsider) og Gi-DocGen-2026.1 (for dokumentasjon)

Installasjon av librsvg

Først, fiks installasjonsbanen til API dokumentasjonen:

sed -e "/OUTDIR/s|,| / 'librsvg-2.61.4', '--no-namespace-dir',|" \
    -e '/output/s|Rsvg-2.0|librsvg-2.61.4|'                      \
    -i doc/meson.build

Installer librsvg ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted:

meson test -v

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: rsvg-convert
Installert Bibliotek: librsvg-2.so
Installerte Mapper: /usr/include/librsvg-2.0 og /usr/share/doc/librsvg-2.61.4

Korte Beskrivelser

rsvg-convert

brukes til å konvertere bilder til PNG, PDF, PS, SVG og andre formater

librsvg-2.so

gir funksjonene for å gjengi skalerbar vektorgrafikk

Libspiro-20220722

Introduksjon til libspiro

Libspiro vil ta en rekke spirokontroll punkter og konverter dem til en serie bezier splines som deretter kan bli brukt på utallige måter verden har kommet til å bruke beziers.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av libspiro

Installer libspiro ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libspiro.so
Installerte Mapper: Ingen

Korte Beskrivelser

libspiro.so

er et delbart bibliotek som kan brukes av programmer til å gjøre Spiro beregninger for deg

libtiff-4.7.1

Introduksjon til libtiff

libtiff pakken inneholder TIFF biblioteker og tilhørende verktøy. Bibliotekene brukes av mange programmer for lesing og skriving av TIFF filer og verktøyene brukes til generelt arbeid med TIFF filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libtiff Avhengigheter

Anbefalt
Valgfri

Freeglut-3.8.0 (påkrevd for tiffgt), libjpeg-turbo-3.1.3, sphinx-9.1.0, libwebp-1.6.0, JBIG-KIT, og LERC

Installasjon av libtiff

Installer libtiff ved å kjøre følgende kommandoer:

mkdir -p libtiff-build &&
cd       libtiff-build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -W no-dev -G Ninja ..
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install &&
mv -v /usr/share/doc/{tiff,libtiff-4.7.1}

Innhold

Installerte Programmer: fax2ps, fax2tiff, pal2rgb, ppm2tiff, raw2tiff, tiff2bw, tiff2pdf, tiff2ps, tiff2rgba, tiffcmp, tiffcp, tiffcrop, tiffdither, tiffdump, tiffgt, tiffinfo, tiffmedian, tiffset, og tiffsplit
Installerte Biblioteker: libtiff.so og libtiffxx.so
Installert Mappe: /usr/lib/cmake/tiff og /usr/share/doc/libtiff-4.7.1

Korte Beskrivelser

fax2ps

konverterer en TIFF faksimile til komprimert PostScript fil

fax2tiff

oppretter en TIFF Class F faksfil fra rå faksdata

pal2rgb

konverterer et palettfarge TIFF bilde til en full farge bilde

ppm2tiff

oppretter en TIFF fil fra en PPM bildefil

raw2tiff

konverterer en rå bytesekvens til TIFF

tiff2bw

konverterer et TIFF fargebilde til gråtoner

tiff2pdf

konverterer et TIFF bilde til et PDF dokument

tiff2ps

konverterer et TIFF bilde til en PostScript fil

tiff2rgba

konverterer et bredt utvalg av TIFF bilder til en RGBA TIFF bilde

tiffcmp

sammenligner to TIFF filer

tiffcp

kopierer (og konverterer muligens) en TIFF fil

tiffcrop

velger, kopierer, beskjærer, konverterer, trekker ut og/eller behandler en eller flere TIFF filer

tiffdither

konverterer et gråtonebilde til bilevel ved hjelp av dithering

tiffdump

skriver ut ordrett informasjon om TIFF filer

tiffgt

viser et bilde som er lagret i en TIFF fil

tiffinfo

skriver ut informasjon om TIFF filer

tiffmedian

bruker median cut-algoritmen på data i en TIFF fil

tiffset

setter verdien til en TIFF deklarasjon til en spesifisert verdi

tiffsplit

deler en TIFF med flere bilder i TIFF filer med ett bilde

libtiff.so

inneholder API funksjonene som brukes av libtiff programmer så vel som andre programmer for å lese og skrive TIFF filer

libtiffxx.so

inneholder C++ API funksjonene som brukes av programmer for å lese og skrive TIFF filer

libwebp-1.6.0

Introduksjon til libwebp

libwebp pakken inneholder et bibliotek og støtteprogrammer for å kode og dekode bilder i WebP format.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libwebp Avhengigheter

Anbefalt
Valgfri

Freeglut-3.8.0 og giflib-5.2.2

Installasjon av libwebp

Installer libwebp ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --enable-libwebpmux     \
            --enable-libwebpdemux   \
            --enable-libwebpdecoder \
            --enable-libwebpextras  \
            --enable-swap-16bit-csp \
            --disable-static        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-swap-16bit-csp: Denne bryteren aktiverer byte bytte for 16 bits fargerom.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: cwebp, dwebp, gif2webp, img2webp, vwebp, webpinfo, og webpmux
Installert Bibliotek: libsharpyuv.so, libwebpdecoder.so, libwebpdemux.so, libwebpmux.so, og libwebp.so
Installert Mappe: /usr/include/webp

Korte Beskrivelser

cwebp

komprimerer et bilde ved hjelp av WebP formatet

dwebp

dekomprimerer WebP filer til PNG, PAM, PPM eller PGM bilder

gif2webp

konverterer et GIF bilde til et WebP bilde

img2webp

oppretter en animert WebP fil fra en sekvens av inndatabilder

vwebp

dekomprimerer en WebP fil og viser den i et vindu

webpinfo

skriver ut cunk nivåstrukturen til WebP filer sammen med å utføre grunnleggende integritetskontroller

webpmux

lager animerte WebP filer fra ikke-animerte WebP bilder, trekker ut rammer fra animerte WebP bilder, og administrerer XMP/EXIF metadata og ICC profilen

libwebp.so

inneholder API funksjonene for WebP koding og dekoding

mypaint-brushes-1.3.1

Introduksjon til mypaint-brushes

mypaint-brushes pakken inneholder pensler som brukes av pakker som bruker libmypaint.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

mypaint-brushes Avhengigheter

Påkrevd ved kjøretid

libmypaint-1.6.1

Installasjon av mypaint-brushes

Installer mypaint-brushes ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen.
Installerte Biblioteker: Ingen.
Installerte Mapper: /usr/share/mypaint-data.

newt-0.52.25

Introduksjon til newt

Newt er et programmeringsbibliotek for fargetekst modus, elementbaserte brukergrensesnitt. Den kan brukes til å legge til stablete vinduer, oppføringselementer, avmerkingsbokser, radioknapper, etiketter, rene tekstfelter, rullefelt, etc., til brukergrensesnitt i tekstmodus. Newt er basert på S-Lang biblioteket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Newt Avhengigheter

Påkrevd

popt-1.19 og slang-2.3.3

Anbefalt

Installasjon av newt

Installer newt ved å kjøre følgende kommandoer:

sed -e '/install -m 644 $(LIBNEWT)/ s/^/#/' \
    -e '/$(LIBNEWT):/,/rv/ s/^/#/'          \
    -e 's/$(LIBNEWT)/$(LIBNEWTSH)/g'        \
    -i Makefile.in                          &&

./configure --prefix=/usr      \
            --with-gpm-support &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sed -e ... -i Makefile.in: Deaktiverer installasjon av et statisk bibliotek.

--with-gpm-support: Denne bryteren aktiverer musestøtte for newt applikasjoner gjennom GPM.

--with-python=python3.14: Ved å gi eksplisitt navnet på mappen der python moduler ligger, forhindrer denne bryteren bygging av python2 modulen.

Innhold

Installerte Programmer: whiptail
Installert Bibliotek: libnewt.so, whiptcl.so, og /usr/lib/python3.14/site-packages/_snack.so
Installerte Mapper: Ingen

Korte Beskrivelser

whiptail

viser dialogbokser fra skallskript

libnewt.so

er biblioteket for fargetekstmodus, elementbasert brukergrensesnitt

opencv-4.13.0

Introduksjon til opencv

opencv pakken inneholder grafikkbiblioteker hovedsakelig rettet mot computer vision i sanntid.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Notat

En ekstra fil som starter med "ippicv" (integrated performance primitives) lastes ned automatisk i løpet av cmmake som en del av byggeprosedyren. Denne nedlastingen er spesifikk for systemarkitekturen.

opencv Avhengigheter

Påkrevd

CMake-4.2.3 og libarchive-3.8.5

Anbefalt
Valgfri

apache-ant-1.10.15, Doxygen-1.16.1, Java-21.0.9, NumPy-2.4.2, Protobuf-33.5, ATLAS, blas, Cuda, Eigen, OpenEXR, GDAL, lapack, libdc1394, Threading Building Blocks (TBB), og VTK - The Visualization Toolkit,

Installasjon av opencv

Hvis du lastet ned de valgfrie modulene, pakk dem ut nå:

tar -xf ../opencv_contrib-4.13.0.tar.gz

Installer opencv ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr      \
      -D CMAKE_BUILD_TYPE=Release       \
      -D ENABLE_CXX11=ON                \
      -D BUILD_PERF_TESTS=OFF           \
      -D WITH_XINE=ON                   \
      -D BUILD_TESTS=OFF                \
      -D ENABLE_PRECOMPILED_HEADERS=OFF \
      -D CMAKE_SKIP_INSTALL_RPATH=ON    \
      -D BUILD_WITH_DEBUG_INFO=OFF      \
      -D OPENCV_GENERATE_PKGCONFIG=ON   \
      -W no-dev  ..                     &&
make

Pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D WITH_XINE=ON: Denne bryteren instruerer make prosedyren å bruke xine-lib-1.2.13.

-D ENABLE_PRECOMPILED_HEADERS=OFF: Denne bryteren er nødvendig for kompatibilitet med gcc-6.1 og nyere.

-D OPENCV_GENERATE_PKGCONFIG=ON: Denne bryteren forteller byggesystemet å generere en pkg-config-fil for andre pakker for å oppdage og koble til bibliotekene som er installert av denne pakken.

-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.13.0/modules: instruerer byggesystemet til å bygge tilleggsmoduler. Noen pakker i BLFS (som gst-plugins-bad-1.28.0) trenger disse modulene for å bygge komponenter som bruker OpenCV.

Innhold

Installerte Programmer: opencv_annotation, opencv_interactive-calibration, opencv_model_diagnostics, opencv_version, opencv_visualisation, opencv_waldboost_detector, og setup_vars_opencv4.sh
Installerte Biblioteker: libopencv_aruco.so, libopencv_bgsegm.so, libopencv_bioinspired.so, libopencv_calib3d.so, libopencv_ccalib.so, libopencv_core.so, libopencv_datasets.so, libopencv_dnn_objdetect.so, libopencv_dnn.so, libopencv_dnn_superres.so, libopencv_dpm.so, libopencv_face.so, libopencv_features2d.so, libopencv_flann.so, libopencv_freetype.so, libopencv_fuzzy.so, libopencv_gapi.so, libopencv_hfs.so, libopencv_highgui.so, libopencv_imgcodecs.so, libopencv_img_hash.so, libopencv_imgproc.so, libopencv_intensity_transform.so, libopencv_line_descriptor.so, libopencv_mcc.so, libopencv_ml.so, libopencv_objdetect.so, libopencv_optflow.so, libopencv_phase_unwrapping.so, libopencv_photo.so, libopencv_plot.so, libopencv_quality.so, libopencv_rapid.so, libopencv_reg.so, libopencv_rgbd.so, libopencv_saliency.so, libopencv_shape.so, libopencv_signal.so, libopencv_stereo.so, libopencv_stitching.so, libopencv_structured_light.so, libopencv_superres.so, libopencv_surface_matching.so, libopencv_text.so, libopenct_tracking.so, libopencv_video.so, libopencv_videoio.so, libopencv_videostage.so, libopencv_wechat_qrcode.so, libopencv_xfeatures2d.so, libopencv_ximgproc.so, libopencv_xobjdetect.so, and libopencv_xphoto.so
Installerte Mapper: /usr/include/opencv4, /usr/lib/cmake/opencv4, /usr/lib/python3.14/site-packages/cv2, /usr/share/licenses/opencv4, /usr/share/opencv4, og /usr/share/java/opencv4

OpenJPEG-2.5.4

Introduksjon til OpenJPEG

OpenJPEG er en åpen kildekode implementering av JPEG-2000 standarden. OpenJPEG respekterer JPEG-2000 spesifikasjoner fullt ut og kan komprimere/dekomprimere tapsfrie 16-bits bilder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

OpenJPEG Avhengigheter

Påkrevd

CMake-4.2.3

Valgfri

git-2.53.0 (for tester), Little CMS-2.18, libpng-1.6.55, libtiff-4.7.1, og Doxygen-1.16.1 (for å bygge API dokumentasjonen)

Installasjon av OpenJPEG

Installer OpenJPEG ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      -D BUILD_STATIC_LIBS=OFF ..  &&
make

Hvis du ønsker å kjøre testene, kreves det noen tilleggsfiler. last ned disse filene og kjør testene ved å bruke følgende kommandoer, men merk at det er 8 tester som er kjent for å mislykkes:

git clone https://github.com/uclouvain/openjpeg-data.git --depth 1 &&
OPJ_DATA_ROOT=$PWD/openjpeg-data cmake -D BUILD_TESTING=ON ..      &&
make                                                               &&
make test

Nå, som root bruker:

make install &&
cp -rv ../doc/man -T /usr/share/man

Innhold

Installerte Programmer: opj_compress, opj_decompress, og opj_dump
Installerte Biblioteker: libopenjp2.so
Installerte Mapper: /usr/include/openjpeg-2.5 og /usr/lib/openjpeg-2.5

Korte Beskrivelser

opj_compress

konverterer ulike bildeformater til jpeg2000 formatet

opj_decompress

konverterer jpeg2000 bilder til andre bildetyper

opj_dump

leser inn et jpeg2000 bilde og dumper innholdet til stdout

Pixman-0.46.4

Introduksjon til Pixman

Pixman pakken inneholder et bibliotek som gir pikselmanipuleringsfunksjoner på lavt nivå som bildekompositering og trapesformet rasterisering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Pixman Avhengigheter

Valgfri

libpng-1.6.55 og GTK-3.24.51 (for tester og demoer)

Installasjon av Pixman

Installer Pixman ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libpixman-1.so
Installert Mappe: /usr/include/pixman-1

Korte Beskrivelser

libpixman-1.so

inneholder funksjoner som gir pikselmanipulasjon funksjoner på lavt nivå

Poppler-26.02.0

Introduksjon til Poppler

Poppler pakken inneholder et PDF gjengivelses bibliotek og kommandolinjeverktøy som brukes til å manipulere PDF filer. Dette er nyttig for å tilby PDF gjengivelsesfunksjonalitet som et delt bibliotek.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://poppler.freedesktop.org/poppler-26.02.0.tar.xz

  • Nedlasting MD5 sum: 0161d18be92054f882cc87c50cae2082

  • Nedlastingsstørrelse: 1.9 MB

  • Estimert diskplass som kreves: 82 MB (med Qt6 biblioteket og tester)

  • Estimert byggetid: 1.1 SBU (med parallellisme=4, tester og Qt6 biblioteket)

Ytterligere Nedlastinger

Poppler Encoding Data

Tilleggspakken består av kodingsfiler for bruk med Poppler. Kodingsfilene er valgfrie og Poppler vil automatisk lese dem hvis de er tilstede. Når de er installert, aktiverer de Poppler til å gjengi CJK og kyrillisk riktig.

Poppler Avhengigheter

Påkrevd

CMake-4.2.3, Fontconfig-2.17.1, og GLib-2.86.4 (med GObject Introspection)

Anbefalt
Valgfri

cURL-8.18.0, gdk-pixbuf-2.44.5, git-2.53.0 (for nedlasting av testfiler), GTK-Doc-1.35.1 og GTK-3.24.51

Installasjon av Poppler

Nå, installer Poppler ved å kjøre følgende kommandoer:

mkdir build                         &&
cd    build                         &&

cmake -D CMAKE_BUILD_TYPE=Release   \
      -D CMAKE_INSTALL_PREFIX=/usr  \
      -D TESTDATADIR=$PWD/testfiles \
      -D ENABLE_QT5=OFF             \
      -D ENABLE_UNSTABLE_API_ABI_HEADERS=ON \
      -G Ninja ..                   &&
ninja

For å kjøre testpakken, er noen testcaser nødvendig og kan kun hentes fra et git lager. Kommandoen for å laste ned de er: git clone --depth 1 https://gitlab.freedesktop.org/poppler/test.git testfiles. Kjør deretter: LC_ALL=en_US.UTF-8 ninja test.

Nå, som root bruker:

ninja install

For å installere dokumentasjonen, kjør følgende kommandoer som root:

install -v -m755 -d           /usr/share/doc/poppler-26.02.0 &&
cp -vr ../glib/reference/html /usr/share/doc/poppler-26.02.0

Poppler Data

Hvis du lastet ned den ekstra kodingsdatapakken, installer den med å kjøre følgende kommandoer:

tar -xf ../../poppler-data-0.4.12.tar.gz &&
cd poppler-data-0.4.12

Nå,som root bruker:

make prefix=/usr install

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke et høyere nivå av kompilatoroptimaliseringer.

-D TESTDATADIR=$PWD/testfiles: Forteller testprogrammene hvor hjelpefilene er plassert.

-D ENABLE_QT5=OFF: Denne bryteren er nødvendig for å forhindre en feil når Qt5 ikke er installert.

-D ENABLE_UNSTABLE_API_ABI_HEADERS=ON: Installerer noen gamle Xpdf deklarasjoner som kreves av visse programmer.

-D ENABLE_GTK_DOC=ON: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen.

-D ENABLE_QT6=OFF:: Bruk denne parameteren hvis Qt-6.10.2 ikke er installert.

-D ENABLE_BOOST=OFF: Bruk denne parameteren hvis du ikke har installert boost (Splash-backend for Qt6 anbefaler boost).

-D ENABLE_NSS3=OFF: Bruk denne parameteren hvis du ikke har installert nss.

-D ENABLE_GPGME=OFF: Bruk denne parameteren hvis du ikke har installert gpgme.

-D ENABLE_LIBTIFF=OFF: Bruk denne parameteren hvis du ikke har installert libtiff.

LC_ALL=en_US.UTF-8 ninja test: Kjører testpakken. miljøvariabelen LC_ALL=en_US.UTF-8 er bare nødvendig hvis standard lokalitet ikke inkluderer UTF-8.

Innhold

Installerte Programmer: pdfattach, pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate, pdfsig, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext, og pdfunite
Installerte Biblioteker: libpoppler.so, libpoppler-cpp.so, libpoppler-glib.so, og (valgfritt) libpoppler-qt6.so
Installerte Mapper: /usr/include/poppler, /usr/share/poppler, og /usr/share/doc/poppler-26.02.0

Korte Beskrivelser

pdfattach

legger til en ny innebygd fil til en eksisterende PDF fil

pdfdetach

lister eller trekker ut innebygde filer fra PDF filer

pdffonts

viser skriftene som brukes i en PDF fil sammen med forskjellig informasjon for hver font

pdfimages

lagrer bilder fra en PDF fil som PPM, PBM eller JPEG filer

pdfinfo

skriver ut innholdet i 'Info' ordboken (pluss noe annet nyttig informasjon) fra en PDF fil

pdfseparate

trekker ut enkeltsider fra en PDF fil

pdfsig

verifiserer de digitale signaturene i et PDF dokument

pdftocairo

konverterer en PDF fil til ett av flere formater (PNG, JPEG, PDF, PS, EPS, SVG) ved å bruke cairo utdataenheten til poppler biblioteket

pdftohtml

konverterer en PDF fil til HTML

pdftoppm

konverterer PDF filer til PBM, PGM og PPM formater

pdftops

konverterer PDF filer til Postscript format

pdftotext

konverterer PDF filer til ren tekst

pdfunite

slår sammen flere PDF filer, i den rekkefølgen de forekommer på kommandolinjen, til en PDF utdatafil

libpoppler.so

inneholder API funksjonene for å gjengi PDF filer

libpoppler-cpp.so

er en C++ bakstykke for gjengivelse av PDF filer

libpoppler-glib.so

er et innpakningsbibliotek som brukes til å samhandle PDF gjengivelsesfunksjonene med GTK+

libpoppler-qt6.so

er et innpakningsbibliotek som brukes til PDF gjengivelsesfunksjonenes grensesnitt med Qt6

Potrace-1.16

Introduksjon til Potrace

Potrace™ er et verktøy for å transformere en bitmap (PBM-, PGM-, PPM- eller BMP-format) til ett av flere vektorfilformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Potrace Avhengigheter

Anbefalt

Installasjon av Potrace

Installer Potrace ved å kjøre følgende kommandoer:

./configure --prefix=/usr                        \
            --disable-static                     \
            --docdir=/usr/share/doc/potrace-1.16 \
            --enable-a4                          \
            --enable-metric                      \
            --with-libpotrace                    &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-a4: Bruk A4 som standard papirstørrelse.

--enable-metric: Bruk metriske enheter (centimeter) som standard

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-libpotrace: Installer biblioteket og deklarasjoner.

Innhold

Installerte Programmer: mkbitmap, potrace
Installerte Biblioteker: libpotrace.so
Installerte Mapper: /usr/share/doc/potrace-1.16

Korte Beskrivelser

mkbitmap

forvandler bilder til punktgrafikk med skalering og filtrering

potrace

forvandler punktgrafikk til vektorgrafikk

libpotrace.so

er et bibliotek for å transformere punktgrafikk til vektorgrafikk

Qpdf-12.3.2

Introduksjon til Qpdf

Qpdf pakken inneholder kommandolinjeprogrammer og et bibliotek som gjør strukturelle, innholdsbevarende transformasjoner på PDF filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Qpdf Avhengigheter

Påkrevd

libjpeg-turbo-3.1.3

Valgfri

ghostscript-10.06.0, GnuTLS-3.8.12, libtiff-4.7.1, sphinx-9.1.0 med sphinx_rtd_theme-3.1.0, og texlive-20250308 eller install-tl-unx

Installasjon av Qpdf

Installer Qpdf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_STATIC_LIBS=OFF     \
      -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/qpdf-12.3.2 \
      .. &&
make

For å teste resultatene, kjør: ctest.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: fix-qdf, qpdf, og zlib-flate
Installert Bibliotek: libqpdf.so
Installerte Mapper: /usr/lib/cmake/qpdf, /usr/include/qpdf, og /usr/share/doc/qpdf-12.3.2

Korte Beskrivelser

fix-qdf

brukes til å reparere PDF filer i QDF form etter redigering

qpdf

brukes til å konvertere en PDF fil til en annen tilsvarende PDF fil

zlib-flate

er et rå zlib komprimeringsprogram

libqpdf.so

inneholder Qpdf API funksjoner

sassc-3.6.2

Introduksjon til sassc

SassC er en innpakning rundt libsass, et CSS pre-prosessor språk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av sassc

Bygg først biblioteket:

tar -xf ../libsass-3.6.6.tar.gz &&
pushd libsass-3.6.6 &&

autoreconf -fi &&

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Bygg kommandolinjeinnpakningen:

popd &&
autoreconf -fi &&

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: sassc
Installerte Biblioteker: libsass.so
Installerte Mapper: /usr/include/sass

Korte Beskrivelser

sassc

gir et kommandolinjegrensesnitt til libsass biblioteket

woff2-1.0.2

Introduksjon til WOFF2

WOFF2 er et bibliotek for konvertering av fonter fra TTF formatet til WOFF 2.0 formatet. Den tillater også dekompresjon fra WOFF 2.0 til TTF. WOFF 2.0 formatet bruker Brotli komprimeringsalgoritmen for å komprimere fonter som egner seg for nedlasting i CSS @font-face regler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

WOFF2 Avhengigheter

Påkrevd

Brotli-1.2.0 og CMake-4.2.3

Installasjon av WOFF2

Først, fiks et problem når du bygger med gcc-15:

sed -i '/output.h/i #include <cstdint>' src/woff2_out.cc

Installer WOFF2 ved å kjøre følgende kommandoer:

mkdir out                                 &&
cd    out                                 &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -D CMAKE_POLICY_VERSION_MINIMUM=3.5 \
      -D CMAKE_SKIP_INSTALL_RPATH=ON ..   &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D CMAKE_POLICY_VERSION_MINIMUM=3.5: Denne bryteren gjør at denne pakken kan bygges med cmake-4.0 eller nyere.

Innhold

Installert Program: Ingen
Installerte Biblioteker: libwoff2common.so, libwoff2dec.so and libwoff2enc.so
Installert Mappe: /usr/include/woff2

Korte Beskrivelser

libwoff2common.so

gir delte data som brukes av bibliotekene libwoff2dec og libwoff2enc

libwoff2dec.so

er WOFF2 dekoderbiblioteket

libwoff2enc.so

er WOFF2 koderbiblioteket

zxing-cpp-2.3.0

Introduksjon til zxing-cpp

zxing-cpp pakken gir en åpen kildekode, multi-format lineær/matrise strekkode bildebehandlingsbibliotek.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

zxing-cpp Avhengigheter

Påkrevd

CMake-4.2.3

Valgfri

googletest

Installasjon av zxing-cpp

Installer zxing-cpp ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D ZXING_EXAMPLES=OFF        \
      -W no-dev ..                 &&
make

Tester krever en ekstern pakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libZXing.so
Installerte Mapper: /usr/include/ZXing og /usr/lib/cmake/ZXing


[1] Forhåndsbygd dokumentasjon finnes i denne tarballen. make vil oppdage at dokumentasjon allerede finnes i distribusjonen hvis make clean ikke ble kjørt, og vil ikke kreve xmlto-0.0.29 avhengighet. Imidlertid å kjøre make clean vil føre til at den forhåndsbygde dokumentasjonen blir slettet, og dermed kreve xmlto for å bygge dokumentasjonen hvis make blir kjørt etterpå.

Kapittel 11. Generelle verktøy

Dette kapittelet inneholder ulike verktøy som ikke passer praktisk inn i andre kapitler. Programmer inkluderer noen dokumentasjonsgeneratorer, flere verktøy for å manipulere tekst og grafikk, programmer for å liste filer, et program for å taste inn PIN-numre og passordfraser, og en tilkoblingsbehandler.

Asciidoctor-2.0.26

Introduksjon til Asciidoctor

Asciidoctor er en rask åpen kildekode verktøykjede for tekstbehandler og publisering for å konvertere AsciiDoc innhold til HTML5, DocBook, PDF og andre formater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Asciidoctor Avhengigheter

Påkrevd

Ruby-4.0.1

Installasjon av Asciidoctor

Notat

Når du bygger denne pakken, kan følgende melding vises:

fatal: not a git repository (or any of the parent directories): .git

. Dette er normalt, og pakken vil fortsette å bygge etter dette punktet.

Bygg Ruby gem:

gem build asciidoctor.gemspec

Testpakken trenger mange Ruby gems utover omfanget av BLFS.

Nå, som root bruker:

gem install asciidoctor-2.0.26.gem &&
install -vm644 man/asciidoctor.1 /usr/share/man/man1

Innhold

Installerte Programmer: asciidoctor
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/ruby/gems/4.0.0/gems/asciidoctor-2.0.26 og /usr/lib/ruby/gems/4.0.0/doc/asciidoctor-2.0.26

Korte Beskrivelser

asciidoctor

konverterer AsciiDoc kildefiler til HTML, DocBook og andre formater

Bogofilter-1.2.5

Introduksjon til Bogofilter

Bogofilter applikasjonen er et e-postfilter som klassifiserer post som spam eller ham (ikke-spam) ved en statistisk analyse av meldingens deklarasjoner og innhold (kropp).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Bogofilter Avhengigheter

Anbefalt
Valgfri

lmdb-0.9.35, xmlto-0.0.29, Berkeley DB (deprecated), QDBM og TokyoCabinet

Notat

Hvis du ikke installerer den anbefalte gsl-2.8 pakken vil en statisk koblet levert versjon bli brukt i stedet.

Installasjon av Bogofilter

Notat

Hvis du planlegger å endre versjonen av databasebiblioteket på en eksisterende installasjon, eller for å bytte til en annen database, les advarsel øverst i RELEASE.NOTES filen.

Installer Bogofilter ved å kjøre følgende kommandoer:

./configure --prefix=/usr                \
            --sysconfdir=/etc/bogofilter \
            --with-database=sqlite3      &&
make

For å teste resultatene, kjør make check.

Nå, som root bruker:

make install

Parameterforklaringer

--with-database=sqlite3: Denne bryteren gjør at Bogofilter bruker sqlite som databasen, i stedet for Berkeley DB.

--with-database={lmdb,qdbm,tokyocabinet}: Denne bryteren tillater også bruk av lmdb, qdbm eller tokyocabinet som database.

Innhold

Installerte Programmer: bf_compact, bf_copy, bf_tar, bogofilter, bogolexer, bogotune, bogoupgrade og bogoutil
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/bogofilter

Korte Beskrivelser

bf_compact

oppretter en mer kompakt bogofilter arbeidsmappe med en dump/laste syklus

bf_copy

kopierer en bogofilter arbeidsmappe til en annen mappe

bf_tar

pakker en bogofilter arbeidskatalog i tar format og kopierer den til standardutgang

bogofilter

er et raskt Bayesiansk søppelpostfilter

bogolexer

brukes til å dele meldinger i tokens og til å teste nye versjoner av lexer.l koden

bogotune

forsøker å finne optimale parameterinnstillinger for bogofilter

bogoupgrade

oppgraderer bogofilter databasen til gjeldende versjon

bogoutil

dumper, laster og vedlikeholder bogofilter databasefiler

Compface-1.5.2

Introduksjon til Compface

Compface gir verktøy og et bibliotek for å konvertere fra/til X-Face format, et 48x48 bitmap format som brukes til å bære miniatyrbilder av e-postforfattere i en e-postdeklarasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Compface

Først må du fikse konfigureringsskriptet slik at det er C99 kompatibelt:

autoreconf

Deretter fikser du en byggefeil som oppstår med GCC 14:

sed -e '/compface.h/a #include <unistd.h>' \
    -i cmain.c                             \
    -i uncmain.c

Installer Compface ved å kjøre følgende kommandoer:

./configure --prefix=/usr --mandir=/usr/share/man &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -m755 -v xbm2xface.pl /usr/bin

Innhold

Installerte Programmer: compface, uncompface og xbm2xface.pl
Installert Bibliotek: libcompface.a
Installerte Mapper: Ingen

Korte Beskrivelser

compface

er et filter for å generere svært komprimerte representasjoner av 48x48x1 face bildefiler

uncompface

er et inverst filter som utfører en invers transformasjon uten tap av data

xbm2xface.pl

er et skript for å generere xfaces

libcompface.a

lar komprimerings- og dekompresjonsalgoritmene bli brukt i andre programmer som MTA-er

desktop-file-utils-0.28

Introduksjon til Desktop File Utils

Desktop File Utils pakken inneholder kommandolinjeverktøy for å jobbe med Skrivebordsoppføringer. Disse verktøyene brukes av skrivebordsmiljøer og andre applikasjoner for å manipulere MIME typene applikasjonsdatabaser og hjelp til å følge skrivebordsoppføringens spesifikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Desktop File Utils Avhengigheter

Påkrevd

GLib-2.86.4

Valgfri

Emacs-30.2

Installasjon av Desktop File Utils

Advarsel

Hvis du oppgraderer fra en tidligere versjon av desktop-file-utils som brukte Autotools metoden for å installere og konfigurere pakken, må du fjerne desktop-file-edit symbolkoblingen ved å bruke følgende kommandoer.

rm -fv /usr/bin/desktop-file-edit

Installer Desktop File Utils ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Konfigurere Desktop File Utils

Konfigurasjonsinformasjon

XDG Base Directory spesifikasjonen definerer standardplasseringene for applikasjoner for å plassere data og konfigurasjonsfiler. Disse filene kan brukes for eksempel til å definere menystrukturen og menyelementene i et skrivebordsmiljø.

Standardplasseringen for konfigurasjonsfiler som skal installeres er /etc/xdg,og standardplasseringen for datafiler er /usr/local/share og /usr/share. Disse stedene kan bli utvidet med miljøvariablene XDG_CONFIG_DIRS og XDG_DATA_DIRS, henholdsvis. GNOME, KDE og XFCE miljøer respekterer disse innstillinger.

Når en pakke installerer en .desktop fil til en plassering i en av basedatamappe, databasen som kartlegger MIME typer til tilgjengelige applikasjoner kan oppdateres. For eksempel hurtiglager filen på /usr/share/applications/mimeinfo.cache kan gjenoppbygges ved å utføre følgende kommando som root bruker:

install -vdm755 /usr/share/applications &&
update-desktop-database /usr/share/applications

Innhold

Installerte Programmer: desktop-file-edit, desktop-file-install, desktop-file-validate og update-desktop-database
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

desktop-file-edit

brukes til å endre en eksisterende skrivebordsfiloppføring

desktop-file-install

brukes til å installere en ny skrivebordsfiloppføring. Det brukes også til å gjenoppbygge eller endre MIME type applikasjonens database

desktop-file-validate

brukes til å bekrefte integriteten til en skrivebordsfil

update-desktop-database

brukes til å oppdatere MIME type applikasjonsdatabasen

dos2unix-7.5.4

Introduksjon til dos2unix

dos2unix pakken inneholder en hvilken som helst til hvilken som helst tekstformatkonvertering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av dos2unix

Bygg dos2unix ved å kjøre følgende kommandoer:

make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installert Program: dos2unix, mac2unix, unix2dos, og unix2mac
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/dos2unix-7.5.4

Korte Beskrivelser

dos2unix

konverterer vanlige tekstfiler i DOS format til Unix format

mac2unix

konverterer vanlige tekstfiler i Mac format til Unix format

unix2dos

konverterer vanlige tekstfiler i Unix format til DOS format

unix2mac

konverterer vanlige tekstfiler i Unix format til Mac format

glslc fra shaderc-2026.1

Introduksjon til glslc

glslc programmet er Googles kommandolinje kompilator for OpenGL Shading Language/High Level Shading Language (GLSL/HLSL) til Standard Portable Intermediate Representation (SPIR-V).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Glslc Avhengigheter

Påkrevd

CMake-4.2.3, Glslang-16.2.0, og SPIRV-Tools-1.4.341.0

Installasjon av glslc

Først, tillat å bygge med systemets Glslang-16.2.0 og SPIRV-Tools-1.4.341.0:

sed '/build-version/d'   -i glslc/CMakeLists.txt            &&
sed '/third_party/d'     -i CMakeLists.txt                  &&
sed 's|SPIRV|glslang/&|' -i libshaderc_util/src/compiler.cc &&

echo '"2026.1"' > glslc/src/build-version.inc

Nå installer glslc ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D SHADERC_SKIP_TESTS=ON     \
      -G Ninja ..
ninja glslc/glslc

Nå, som root bruker:

install -vm755 glslc/glslc /usr/bin

Innhold

Installerte Programmer: glslc
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

glslc

kompilerer OpenGL Shading Language/High Level Shading Language (GLSL/HLSL) shaders til SPIR-V

Graphviz-14.1.2

Introduksjon til Graphviz

Graphviz pakken inneholder graf visualiseringsprogramvare. Grafvisualisering er en måte å representere strukturell informasjon som diagrammer av abstrakte grafer og nettverk. Graphviz har flere hovedgrafoppsett programmer. Den har også web og interaktive grafiske grensesnitt, hjelpe verktøy, biblioteker og språkbindinger.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Graphviz Avhengigheter

Notat

Grunnleggende bruk av Graphviz krever ingen biblioteker uten de som finnes i LFS boka. Dens «core» rendering motor er i stand til å generere flere grafiske formater, som f.eks Postscript, SVG, VML, .fig og Tk. Disse formatene kan konverteres til nesten alle andre formater ved å bruke verktøy fra pakker som f.eks ImageMagick-7.1.2-13. Avhengighetene nedenfor legger til muligheten for å generere grafbilder i bitmap formatet, for å vise grafbilde på skjermen, for å redigere en graf ved å se det resulterende bildet direkte, eller for å se store grafer. Siden Graphviz er en avhengighet for flere andre pakker i denne boken, foreslås det at du først bygger den uten noen avhengigheter, og bygger den deretter opp igjen når du har bygget nok pakker for å passe dine behov.

Påkrevd

CMake-4.2.3

Anbefales, for nødvendig punktgrafikk utdata
Valgfritt, for ekstra bitmap utdata

AAlib-1.4rc5 (for å vise bilder i ASCII grafikk), Cups-2.4.16 (for formatering av grafer for utskrift), Qt-6.10.2, og WebKitGTK-2.50.5

Å legge til GTK+-2 med libjpeg-turbo-3.1.3 legger til støtte for JPEG, BMP, TIF, og ICO formater, og lar deg vise bildet i et GTK+ vindu

GD Library kan brukes i stedet for Pango. Det tilfører muligheten til generere bilder i GIF-, VRML- og GD-formater, men Pango gir bedre resultater for de andre formatene, og er nødvendig for å vise bilder

Andre formater kan legges til med libwebp-1.6.0, DevIL, libLASi, og glitz

Valgfritt (for å laste grafikk som kan bli vist inne i nodene i en graf)

libgs.so fra ghostscript-10.06.0, librsvg-2.61.4, og Poppler-26.02.0

Valgfritt (for å bygge flere verktøy)

libANN og Freeglut-3.8.0 (med GtkGLExt og libGTS for bygging av smyrna stor grafviser, som er betraktet som eksperimentell)

Valgfritt (for å bygge språkbindinger)

SWIG-4.4.1 (SWIG må være installert ellers vil ingen bindinger bli bygget), GCC-15.2.0 (for go kompilatoren), Guile-3.0.11, OpenJDK-21.0.9, Lua-5.4.8, PHP-8.5.2, Ruby-4.0.1, Tk-8.6.17, og R

Valgfritt (byggeverktøy)

Criterion (rammeverk for tester) og Electric Fence

Valgfritt (for å bygge pdf dokumentasjonen)

ghostscript-10.06.0 (for ps2pdf kommando)

Installasjon av Graphviz

Nå unngå hardkoding av biblioteksøkestier (rpath) inn i de delte bibliotekene. Bibliotekene trenger ikke rpath for en installasjon på standardplasseringen, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer. Vi kan ikke bruke -D CMAKE_SKIP_INSTALL_RPATH=ON for denne pakken fordi rpath virkelig er nødvendig for programmene som installeres av denne pakken, så vi må redigere byggesystemet:

sed '/ORIGIN/d' -i lib/CMakeLists.txt

Installer Graphviz ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&

sed -i '/GZIP/s/:.*$/=/' CMakeCache.txt &&

make

Denne pakken kommer ikke med en testpakke som gir meningsfulle resultater.

Nå, som root bruker:

make install

Parameterforklaringer

sed ... CMakeCache.txt: Denne kommandoen er nødvendig for å forhindre komprimering av pakkenes manualsider.

Konfigurere Graphviz

Konfigurasjonsinformasjon

Det er ingen spesifikke konfigurasjonskrav for Graphviz. Du kan vurdere å installere flere programtillegg og verktøy tilgjengelig fra nedlastingssiden på https://graphviz.org/download/source/ for ytterligere kapasitet. Hvis flere programtillegg er installert, kan du kjøre dot -c (som root bruker) for å oppdatere config filen i /usr/lib/graphviz.

Innhold

Installerte Programmer: acyclic, bcomps, ccomps, circo, cluster, dijkstra, dot, dot2gxl, dot_builtins, dot_sandbox, edgepaint, fdp, gc, gml2gv, graphml2gv, gv2gml, gv2gxl, gvcolor, gvedit, gvgen, gvmap, gvmap.sh, gvpack, gvpr, gxl2dot, gxl2gv, mm2gv, neato, nop, osage, patchwork, prune, sccmap, sfdp, tred, twopi, unflatten, og vimdot
Installerte Biblioteker: libcdt.so, libcgraph.so, libgvc.so, libgvpr.so, libpathplan.so, libxdot.so, and flere programtillegg i /usr/lib/graphviz/.
Installerte Mapper: /usr/include/graphviz, /usr/lib/graphviz, /usr/lib/tcl8.6/graphviz, og /usr/share/graphviz

Korte Beskrivelser

acyclic

er et filter som tar en rettet graf som inndata og sender ut en kopi av grafen med tilstrekkelig kanter snudd til å lage graf asyklisk

bcomps

dekomponerer grafer til deres tokoblede komponenter, skriver ut komponentene til standard utdata

ccomps

dekomponerer grafer til deres tilkoblede komponenter, skriver ut komponentene til standard utdata

circo

tegner grafer ved hjelp av en sirkulær utforming

cluster

tar en graf i DOT format som inndata, finner nodeklynger, og forsterker deretter grafen med denne informasjonen

dijkstra

leser en strøm av grafer og beregner avstanden for hver node fra kildenoden

dot

tegner rettet grafer. Det fungerer bra på DAG-er og andre grafer som kan tegnes som hierarkier. Den leser tilskrevet graffiler og skriver tegninger. Som standard er utdataformatprikken inndatafilen med layoutkoordinater vedlagt

dot2gxl

konverterer mellom grafer representert i GXL og i DOT språket. Med mindre en konverteringstype er spesifisert ved hjelp av et flagg, gxl2dot vil utlede typen konvertering fra suffikset til inndatafilen, et .dot suffiks forårsaker en konvertering fra DOT til GXL, og et .gxl suffiks forårsaker en konvertering fra GXL til DOT

dot_sandbox

er en innpakning rundt graphviz. Den har som mål å tilby et trygt miljø for behandling av upålitelige inndatagrafer og kommandolinjealternativer.

edgepaint

utfører kantfarging for å disambiguere kryssende kanter

fdp

tegner urettede grafer ved hjelp av en «spring» modell. Den er avhengig av en tvangsrettet tilnærming i ånden til Fruchtermans og Reingold

gml2gv

konverterer en graf spesifisert i GML formatet til en graf i GV formatet (tidligere DOT).

graphml2gv

konverterer en graf spesifisert i GRAPHML formatet til en graf i GV formatet (tidligere DOT).

gv2gml

konverterer en graf spesifisert i GV format til en graf i GML format

gv2gxl

konverterer en graf spesifisert i GV format til en graf i the GXL format

gvcolor

er et filter som setter nodefarger fra innledende frøverdier. Farger flyter langs kantene fra hale til hode, og er gjennomsnittlig (som HSB vektorer) ved noder

gvedit

gir en enkel grafredigerer og fremviser. Det tillater at mange grafer vises samtidig. Teksten til hver graf vises i sitt eget tekstvindu

gvgen

genererer en rekke enkle, regelmessig strukturerte abstrakte grafer

gvmap

tar som inndata en graf i DOT format, finner node klynger og produserer en gjengivelse av grafen som et kart i geografisk stil, med klynger uthevet, i xdot format

gvmap.sh

er en kanal for å kjøre gvmap

gvpack

leser i en strøm av grafer, kombinerer grafene til en enkelt layout, og produserer en enkelt graf som fungerer som foreningen av inndatagrafene

gvpr

er en grafstrømredigering inspirert av awk. Den kopierer inndatagrafer til utdataene, og transformerer muligens deres struktur og attributter, lager nye grafer eller skriver ut vilkårlig informasjon

gxl2dot

konverterer mellom grafer representert i GXL og i DOT språket. Med mindre en konverteringstype er spesifisert ved hjelp av et flagg, gxl2dot vil utlede typen konvertering fra suffikset til inndatafilen, et .dot suffiks som forårsaker en konvertering fra DOT til GXL, og en .gxl suffiks som forårsaker en konvertering fra GXL til DOT

gxl2gv

konverterer mellom grafer representert i GXL og i GV språket

lefty

er en to-visnings grafikk editor for tekniske bilder

lneato

er en grafredigerer for X Window System. Den kan kjøres som en frittstående editor, eller som en grensesnitt for applikasjoner som bruker grafer. Den kan kontrollere flere vinduer som viser forskjellige grafer

mm2gv

konverterer en sparsom matrise av Matrix Market formatet til en graf i GV formatet (tidligere DOT).

neato

tegner urettede grafer ved hjelp av «spring» modeller. Inndata filene må formateres i dot tilskrevet grafisk språk. Som standard er utdataen av neato er inndatagrafen med layoutkoordinater vedlagt

nop

leser en strøm av grafer og skriver ut hver i vakkert trykt (kanonisk) format på stdout. Hvis ingen filer er gitt, leser den fra stdin

osage

tegner grupperte grafer. Den tar hvilken som helst graf i DOT format som inndata

patchwork

tegner grupperte grafer ved hjelp av et kvadratisk trekartoppsett. Den tar hvilken som helst graf i DOT format som inndata

prune

leser rettet grafer i samme format som brukes av dot og fjerner undergrafer forankret i noder spesifisert på kommandolinjen via alternativer

sccmap

dekomponerer digrafer til sterkt sammenkoblede komponenter og et hjelpekart over forholdet mellom komponenter. I dette kartet, hver komponent er slått sammen til en node. De resulterende grafene er skrevet ut til stdout

sfdp

tegner urettede grafer ved hjelp av «spring» modell, men den bruker en multi-skala tilnærming for å produsere oppsett av store grafer på rimelig kort tid

tred

beregner den transitive reduksjonen av rettet grafer, og skriver ut de resulterende grafene til standardutdata. Dette fjerner kanter antydet av transitivitet. Noder og subgrafer er ikke berørt

twopi

tegner grafer ved hjelp av en radiell layout. I utgangspunktet er en node valgt som sentrum og satt ved opprinnelsen. De resterende nodene er plassert på en sekvens av konsentriske sirkler sentrert rundt opprinnelsen, hver en fast radiell avstand fra forrige sirkel

unflatten

er en forbehandler til dot som er vant til forbedret sideforholdet til grafer med mange blader eller frakoblet noder. Den vanlige layouten for en slik graf er generelt veldig bred eller høy

vimdot

er et enkelt skript som starter gvim eller vim editor sammen med et GUI vindu som viser dot utdata fra den redigerte filen

libcdt.so

administrerer kjøretidsordbøker ved hjelp av standard beholderdata typer: uordnet sett/multiset, bestilt sett/multiset, liste, stabel, og kø

libcgraph.so

støtter grafprogrammering ved å opprettholde grafer i minnet og lese og skrive graffiler. Grafer er sammensatt av noder, kanter og nestede undergrafer

libgvc.so

gir en kontekst for applikasjoner som ønsker å manipulere og gjengi grafer. Den gir kommandolinjeparsing grensesnitt, vanlig gjengivelseskode, og et programtillegg mekanisme for gjengivere

libpathplan.so

inneholder funksjoner for å finne den korteste veien mellom to punkter i en enkel polygon

libxdot.so

gir støtte for å analysere og deparere grafiske operasjoner spesifisert av xdot språket

GTK-Doc-1.35.1

Introduksjon til GTK-Doc

GTK-Doc pakken inneholder en kode dokumentar. Dette er nyttig for å trekke ut spesielt formaterte kommentarer fra koden for å lage API dokumentasjon. Denne pakken er valgfri; hvis den ikke er installert, vil pakker ikke bygge dokumentasjonen. Dette betyr ikke at du ikke vil ha eventuell dokumentasjon. Hvis GTK-Doc ikke er tilgjengelig, vil installasjonsprosessen kopiere all forhåndsbygd dokumentasjon til systemet ditt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GTK-Doc Avhengigheter

Påkrevd

docbook-xml-4.5, docbook-xsl-nons-1.79.2, GLib-2.86.4, itstool-2.0.7, libxslt-1.1.45, og Pygments-2.19.2

Valgfri

For tester: dblatex eller fop-2.11 (XML PDF støtte), Which-2.23, og Python moduler lxml-6.0.2, parameterized, og yelp-tools

Notat

De valgfrie pythonmodulene ovenfor kan enkelt installeres med pip3 kommando.

Installasjon av GTK-Doc

Installer GTK-Doc ved å kjøre følgende kommandoer:

mkdir -p build &&
cd       build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Testpakken vil henge hvis pakken (eller en tidligere versjon) ikke allerede er installert.

Nå, som root bruker:

ninja install

For å teste resultatene, kjør: ninja test. Noen tester vil mislykkes avhengig av valgfritt installerte pakker. En test, test-gobject-mkhtml, er kjent for å feile på grunn av problemer med nyere versjoner av libxml2.

Innhold

Installerte Programmer: gtkdocize, gtkdoc-check, gtkdoc-depscan, gtkdoc-fixxref, gtkdoc-mkdb, gtkdoc-mkhtml, gtkdoc-mkhtml2, gtkdoc-mkman, gtkdoc-mkpdf, gtkdoc-rebase, gtkdoc-scan, og gtkdoc-scangobj
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/gtk-doc og /usr/share/cmake/GtkDoc

Korte Beskrivelser

gtkdoc*

disse er alle skall, eller Python skript brukt av pakken Makefile skriptet for å generere dokumentasjon for pakken som bygges

Highlight-4.18

Introduksjon til Highlight

Highlight er et verktøy som konverterer kildekode til formatert tekst med syntaksutheving.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): http://www.andre-simon.de/zip/highlight-4.18.tar.bz2

  • Nedlasting MD5 sum: 7be87ce74547f63ef0d6d38ba1948582

  • Nedlastingsstørrelse: 1.5 MB

  • Estimert diskplass som kreves: 24 MB (med gui)

  • Estimert byggetid: 0.2 SBU (Bruker parallellisme=4; med gui)

Highlight Avhengigheter

Påkrevd

Boost-1.90.0 og Lua-5.4.8

Valgfri

Qt-6.10.2 (for å bygge GUI grenseflaten)

Installasjon av Highlight

For konsistens, ikke komprimer mansider.

sed -i '/GZIP/s/^/#/' makefile

For å bygge Highlight kjør følgende kommandoer:

make

For å bygge qt6 GUI grenseflaten, kjør følgende kommando:

make doc_dir=/usr/share/doc/highlight-4.18/ gui

Denne pakken kommer ikke med en testpakke.

For å installere Highlight, kjør følgende kommando som root bruker:

make doc_dir=/usr/share/doc/highlight-4.18/ install

For å installere GUI programmet, kjør følgende kommando som root bruker:

make install-gui

Parameterforklaringer

doc_dir=/usr/share/doc/highlight-4.18/: installerer uthevingsdokumentasjonen i en versjonert mappe. Denne parameteren er også nødvendig for make gui, fordi verdien vil bli hardkodet inn i den kjørbare gui. Merk at etterfølgende «/» er nødvendig.

Innhold

Installerte Programmer: highlight og highlight-gui (valgfri)
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/highlight, /usr/share/doc/highlight-4.18, og /usr/share/highlight

Korte Beskrivelser

highlight

er en universell kildekode til formatert tekstkonvertering

highlight-gui

er qt6 grensesnitt til highlight.

ibus-1.5.33

Introduksjon til ibus

ibus er en intelligent inngangsbuss. Det er en ny inndataramme for Linux OS. Det gir en fullt utstyrt og brukervennlig inndatametode brukergrensesnitt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

ibus Avhengigheter

Påkrevd

ISO Codes-4.20.1, libarchive-3.8.5 (for å pakke ut Unicode Character Databasen), og Vala-0.56.18

Anbefalt
Valgfri

gnome-desktop-44.5 (for en test), GTK-Doc-1.35.1 (for å generere API dokumentasjon) libxkbcommon-1.13.1, PyGObject-3.54.5 (for ibus-setup), Wayland-1.24.0 (begge for å bygge Wayland støtteprogrammene), EmojiOne, og libdbusmenu

Installasjon av ibus

Installer først Unicode Character Database som root bruker:

mkdir -p               /usr/share/unicode/ucd &&
unzip -o ../UCD.zip -d /usr/share/unicode/ucd

Løs et problem med utdaterte skjemaoppføringer:

sed -e 's@/desktop/ibus@/org/freedesktop/ibus@g' \
    -i data/dconf/org.freedesktop.ibus.gschema.xml

Hvis GTK-Doc-1.35.1 ikke er installert, fjern referansene til det:

if ! [ -e /usr/bin/gtkdocize ]; then
  sed '/docs/d;/GTK_DOC/d' -i Makefile.am configure.ac
fi

Installer ibus ved å kjøre følgende kommandoer:

SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &&

./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --disable-python2      \
            --disable-appindicator \
            --disable-emoji-dict   \
            --disable-gtk2         \
            --disable-systemd-services &&
make

For å teste resultatene, kjør: make -k check. Testen kalt ibus-compose mislykkes fordi den bruker noen lokaler ikke installert i LFS. xkb-latin-layouts testen er også kjent for å mislykkes på noen systemer.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-appindicator: Denne bryteren deaktiverer bruk av libdbusmenu. Utelat hvis du installerte den valgfrie avhengigheten.

--disable-emoji-dict: Denne bryteren deaktiverer bruk av uttrykksikonordbøker. Utelat hvis du installerte valgfrie pakker.

--disable-gtk2: Denne bryteren fjerner avhengigheten av GTK+-2.

--disable-gtk4: Denne bryteren deaktiverer bygging av GTK 4 immodul. Bruk den hvis du ikke vil installere GTK 4.

--enable-wayland: Denne bryteren aktiverer bygging av Wayland støtteprogrammer. Den aktiveres automatisk hvis både libxkbcommon-1.13.1 og Wayland-1.24.0 er installert.

NOCONFIGURE=1: Forhindrer autogen.sh fra å kjøre det genererte configure skriptet. Vi vil kjøre skriptet manuelt i stedet for å stole på autogen.sh å kjøre det, fordi autogen.sh vil sette -fsanitize=address -fsanitize=leak i CFLAGS når den kjører configure, men de kompilatoralternativene er ikke egnet for produktiv bruk, og de kan også forårsake byggefeil.

SAVE_DIST_FILES=1: Denne miljøvariabelen gjør at autogen.sh skriptet lagrer noen forhåndsgenererte deklarasjonsfiler i stedet for å overskrive dem når den kjøres. Dette forhindrer byggefeil ved generering av ibusemojigen.h.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Konfigurere Ibus

Hvis GTK+-3 er installert og --disable-gtk3 ikke er brukt, ibus IM-modulen for GTK+-3 vil bli installert. Som root bruker, oppdater en hurtigbufferfil av GTK+-3 slik at de GTK baserte applikasjonene kan finne den nyinstallert IM modulen og bruk ibus som inndatametode:

gtk-query-immodules-3.0 --update-cache

Kommandoen ovenfor oppdaterer hurtigbufferfilen for GTK+-3. GTK-4 krever ikke en hurtigbufferfil for IM-moduler.

Innhold

Installerte Programmer: ibus, ibus-daemon, og ibus-setup
Installert Bibliotek: libibus-1.0.so og im-ibus.so (GTK+ Immodule)
Installerte Mapper: /etc/dconf/db/ibus.d, /usr/include/ibus-1.0, /usr/share/gtk-doc/html/ibus, og /usr/share/ibus

Korte Beskrivelser

ibus-daemon

er Intelligent Input Bus nissen

ibus-setup

er et GTK+ program som brukes til å konfigurere ibus-daemon

libibus-1.0.so

inneholder ibus API funksjoner

ImageMagick-7.1.2-13

Introduksjon til ImageMagick

ImageMagick er en samling av verktøy og biblioteker for å lese, skrive og manipulere et bilde i forskjellige bildeformater. Bildebehandlingsoperasjoner er tilgjengelige fra kommandolinjen. Bindinger for Perl og C++ er også tilgjengelig.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.imagemagick.org/archive/releases/ImageMagick-7.1.2-13.tar.xz

  • Nedlasting MD5 sum: a28a5d65a58fce9c24e8cf4b47cb5c5c

  • Nedlastingsstørrelse: 10 MB

  • Estimert diskplass som kreves: 179 MB, 45 MB installert (med typiske avhengigheter; legg til 26 MB for sjekker)

  • Estimert byggetid: 1.6 SBU (med typiske avhengigheter; legg til 0.5 SBU for sjekker, begge med parallellisme=4)

Notat

ImageMagick kildeutgivelser er oppdatert ofte, og versjonen vist ovenfor er kanskje ikke lenger tilgjengelig fra nedlastingsstedene. Du kan laste ned en nyere versjon og bruke de eksisterende BLFS instruksjonene for å installere den. Sjansen er stor for at det vil fungerer helt fint, men dette har ikke blitt testet av BLFS teamet. Hvis pakkeversjonen vist ovenfor ikke er tilgjengelig fra de viste stedene ovenfor, kan du laste den ned fra BLFS pakkeserveren på Oregon State University: https://ftp.osuosl.org/pub/blfs/conglomeration/ImageMagick/.

ImageMagick Avhengigheter

Anbefalt

De valgfrie avhengighetene som er oppført nedenfor bør installeres hvis du trenger støtte for det spesifikke formatet eller konverteringsverktøyet avhengigheten gir. Ytterligere informasjon om avhengighetene finner du i Install-unix.txt filen som ligger i kildetreet og i tillegg utstede ./configure --help kommanden. Et sammendrag av denne informasjonen, samt noen tilleggsmerknader kan finnes på nett på https://imagemagick.org/script/install-source.php.

Valgfrie Systemverktøy

7zip-26.00 (LZMA), Clang fra LLVM-21.1.8, Cups-2.4.16, cURL-8.18.0, FFmpeg-8.0.1, fftw-3.3.10, SANE-1.4.0, Wget-1.25.0, xdg-utils-1.2.1, xterm-406, Dmalloc, Electric Fence og PGP eller GnuPG-2.5.17 (du må gjøre noe hacking for å bruke GnuPG), Profiles

Valgfrie Grafiske Biblioteker

jasper-4.2.8, Little CMS-2.18, libgxps-0.3.2, libheif-1.21.2, libjpeg-turbo-3.1.3, libjxl-0.11.2, libpng-1.6.55, libraw-0.22.0 (for dng filer, trenger thread-safe libraw_r), librsvg-2.61.4, libtiff-4.7.1, libwebp-1.6.0, OpenJPEG-2.5.4, Pango-1.57.0, DjVuLibre, FlashPIX (libfpx), FLIF, JBIG-KIT, libraqm, Liquid Rescale, OpenEXR, og RALCGM (eller ralcgm)

Valgfrie Grafiske Verktøy

Dejavu fonts, ghostscript-10.06.0, Gimp-3.0.6, Graphviz-14.1.2, Inkscape-1.4.3, Blender, corefonts, GhostPCL, Gnuplot, POV-Ray, og Radiance

Valgfrie Konverteringsverktøy

Enscript-1.6.6, Potrace-1.16, texlive-20250308 (eller install-tl-unx) AutoTrace, GeoExpress Kommandolinjeverktøy, AKA MrSID Verktøy (binær pakke), hp2xx, libwmf, UniConvertor, og Utah Raster Toolkit (eller URT-3.1b)

Installasjon av ImageMagick

Installer ImageMagick ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --enable-hdri     \
            --with-modules    \
            --with-perl       \
            --disable-static  &&
make

Nå, som root bruker:

make DOCUMENTATION_PATH=/usr/share/doc/imagemagick-7.1.2 install

For å teste resultatene, utsted: make check. Merk at EPS, PS, og PDF tester krever en fungerende Ghostscript. En test i "make check" trenger «Helvetica» fra «Ghostscript Standard Fonter,» som er valgfritt installert i ghostscript-10.06.0 - den testen, og en annen, kan mislykkes, men all validering kan fortsatt bestå.

Parameterforklaringer

--enable-hdri: Aktiverer bygging av en høy dynamisk rekkevidde versjon av ImageMagick.

--with-modules: Aktiverer støtte for dynamisk lastbare moduler.

--with-perl: Aktiverer bygging av og installasjon av PerlMagick.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-fftw: Aktiverer støtte for FFTW delt bibliotek.

--with-rsvg: Aktiverer støtte for librsvg biblioteket.

--with-autotrace: Aktiverer støtte for Autotrace biblioteket.

--with-wmf: Aktiverer støtte for libwmf biblioteket.

--with-gvc: Aktiverer støtte for å bruke GraphViz.

--with-security-policy=open|limited|secure|websafe: Hvis du ønsker å håndheve en annen policy enn standard 'open', se www/security-policy.html i kilden for detaljer.

--with-windows-font-dir= <Some/Directory>: Dette alternativet spesifiserer mappen der Windows CoreFonts er installert.

--with-dejavu-font-dir= <Some/Directory>: Dette alternativet spesifiserer mappen der DejaVu fonts er installert.

Alternativene og parameterne som er oppført ovenfor er de eneste du bør sende til configure skriptet for å aktivere alle delegatavhengighetene. Alle andre avhengigheter blir automatisk oppdaget og brukt i bygget hvis de er installert.

Innhold

Installerte Programmer: magick, Magick++-config, MagickCore-config, og MagickWand-config. (animate, compare, composite, conjure, convert, display, identify, import, magick-script, mogrify, montage, og stream er alle symbolske lenker til magick)
Installerte Biblioteker: libMagickCore-7.Q16HDRI.so, libMagickWand-7.Q16HDRI.so og libMagick++-7.Q16HDRI.so
Installerte Mapper: /etc/ImageMagick-7, /usr/include/ImageMagick-7, /usr/lib/ImageMagick-7.1.2, /usr/lib/perl5/site_perl/5.42/{,auto}/Image/Magick, /usr/share/doc/ImageMagick-7.1.2, og /usr/share/ImageMagick-7

Korte Beskrivelser

animate

animerer en sekvens av bilder

compare

sammenligner et bilde med et rekonstruert bilde

composite

setter sammen forskjellige bilder til det gitte basisbildet

conjure

behandler et MSL skript for å lage et bilde

convert

konverterer bilde(r) fra ett format til et annet

display

viser et bilde

identify

beskriver formatet og egenskapene til en bildefil

import

tar opp et X vindu

magick

konvertere mellom bildeformater samt endre størrelse på et bilde, uskarper, beskjærer, fjerner flekker, ryster, tegner på, snur, blir med, prøver på nytt og mye mer

Magick{++,Core,Wand}-config

viser informasjon om de installerte versjonene av ImageMagick bibliotekene

mogrify

forvandler et bilde

montage

setter sammen ulike bilder til et nytt bilde

stream

strømmer én eller flere pikselkomponenter i et bilde eller del av bildet til ditt valg av lagringsformater

Image::Magick

tillater lesing, manipulering og skriving av et stort antall bildefilformater ved hjelp av ImageMagick biblioteket. Kjør make i PerlMagick/demo mappen over pakkekildetreet etter at pakken er installert for å se en fin demo av modulens muligheter

libMagickCore-7.Q16HDRI.so

gir C API for ImageMagick

libMagickWand-7.Q16HDRI.so

er den anbefalte C API for ImageMagick. I motsetning til MagickCore API bruker den bare noen få ugjennomsiktige typer

libMagick++-7.Q16HDRI.so

gir C++ API for ImageMagick

ISO Codes-4.20.1

Introduksjon til ISO Koder

ISO Koder pakken inneholder en liste over land, språk og valutanavn og det brukes som en sentral database for tilgang til disse dataene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av ISO Koder

Installer ISO Codes ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/iso-codes, /usr/share/xml/iso-codes

lsof-4.99.5

Introduksjon til lsof

lsof pakken er nyttig for en liste over åpne filer (LiSt Open Files) for en gitt løpende applikasjon eller prosess.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lsof Avhengigheter

Påkrevd

libtirpc-1.3.7

Valgfri

Nmap-7.98 (med en symbolsk lenke nc peker på ncat i /usr/bin; brukt i tester)

Kjernekonfigurasjon

For å kjøre testene, bør følgende alternativ være aktivert i kjernekonfigurasjon:

General setup --->
  [*] POSIX Message Queues                                        [POSIX_MQUEUE]

Installasjon av lsof

Installer lsof ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Testene skal kjøres som root bruker. De krever at POSIX meldingskøer er aktivert i kjernen, og at Nmap-7.98 installeres med en symbolsk lenke /usr/bin/nc som peker på ncat.

make check

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: lsof
Installerte Biblioteker: liblsof.so
Installerte Mapper: Ingen

Korte Beskrivelser

lsof

viser åpne filer for kjørende prosesser

liblsof.so

inneholder et grensesnitt for programmer for å vise åpne filer

pinentry-1.3.2

Introduksjon til PIN-Entry

PIN-Entry pakken inneholder en samling av enkle dialogbokser for inntasting av PIN- eller passordfrase som bruker Assuan protokollen som beskrevet av Ägypten project. PIN-Entry programmer påkalles vanligvis av gpg-agent nissen, men kan også kjøres fra kommandolinjen. Det finnes programmer for ulike tekstbaserte og GUI miljøer, inkludert grensesnitt designet for Ncurses (tekstbasert), og for det alminnelige GTK og Qt verktøysett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

PIN-Entry Avhengigheter

Påkrevd

libassuan-3.0.2 og libgpg-error-1.58

Valgfri

Emacs-30.2, FLTK-1.4.4, Gcr-4.4.0.1 (eller Gcr-3.41.2), KDE Frameworks-6.20.0, libsecret-0.21.7, og efl

Installasjon av PIN-Entry

Først, gjør configure forenlig med fltk-1.4.1:

sed -i "/FLTK 1/s/3/4/" configure   &&
sed -i '14456 s/1.3/1.4/' configure

Installer PIN-Entry ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --enable-pinentry-tty  &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-inside-emacs=yes/no: Standard er no.

--enable-pinentry-qt=yes/no: Standard er yes.

--enable-pinentry-gnome3=yes/no: Standard er yes. Dette alternativet bruker Gcr-4.4.0.1 (eller Gcr-3.41.2 hvis førstnevnte ikke er installert) for pin-inntastings dialog.

--enable-pinentry-tty: Standard er 'maybe'.

Innhold

Installerte Programmer: pinentry (symbolkobling), pinentry-curses, pinentry-emacs, pinentry-fltk, pinentry-gnome3, pinentry-qt, og pinentry-tty
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

pinentry

er en symbolsk kobling til standard PIN-Entry programmet

pinentry-curses

er et Ncurses tekstbasert PIN-Entry hjelpeprogram

pinentry-emacs

er en Emacs versjon av PIN-Entry hjelpeprogram

pinentry-fltk

er en FLTK PIN-Entry hjelpeprogram

pinentry-gnome3

er en GNOME-3 PIN-Entry hjelpeprogram

pinentry-qt

er en Qt4 eller 5 PIN-Entry hjelpeprogram

pinentry-tty

er en tty PIN-Entry hjelpeprogram

Screen-5.0.1

Introduksjon til Screen

Screen er en terminal multiplexor som kjører flere separate prosesser, typisk interaktive skall, på en enkelt fysisk karakterbasert terminal. Hver virtuell terminal emulerer en DEC VT100 pluss flere ANSI X3.64 og ISO 2022 funksjoner og gir også konfigurerbar inndata og utdata oversettelse, seriell portstøtte, konfigurerbar logging, flerbrukerstøtte og mange tegnkodinger, inkludert UTF-8. Skjermøkter kan kobles fra og gjenopptas senere på en annen terminal.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Screen Avhengigheter

Valgfri

Linux-PAM-1.7.2

Installasjon av Screen

Løs et problem som forårsaket at informasjonssiden bygges feil:

sed 's/\([a-z]\)@opensuse/\1@@opensuse/' -i doc/screen.texinfo

Installer Screen ved å kjøre følgende kommandoer:

./configure --prefix=/usr                   \
            --infodir=/usr/share/info       \
            --mandir=/usr/share/man         \
            --disable-pam                   \
            --enable-socket-dir=/run/screen \
            --with-pty-group=5              \
            --with-system_screenrc=/etc/screenrc &&

sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/* &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -m 644 etc/etcscreenrc /etc/screenrc

Parameterforklaringer

--disable-pam: Dette alternativet fjerner en byggeavhengighet av Linux-PAM. Fjern dette alternativet hvis du vil ha PAM støtte.

--enable-socket-dir=/run/screen: Dette alternativet plasserer per-bruker sockets på en standard plassering.

--with-system_screenrc=/etc/screenrc: Dette alternativet plasserer den globale screenrc filen i /etc.

--with-pty-group=5: Dette alternativet angir gid til verdien som brukes av LFS.

sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/*: Denne kommandoen korrigerer konfigurasjonsfiler og dokumentasjonsfiler til stedet som brukes her for den globale screenrc filen.

Konfigurere Screen

Konfigurasjonsfiler

/etc/screenrc og ~/.screenrc

Konfigurasjonsinformasjon

Det kan være lurt å se på eksempelkonfigurasjonsfilen som ble installert og tilpasse den til dine behov.

Innhold

Installert Program: screen (symbollenke) og screen-5.0.1
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/screen og /run/screen

Korte Beskrivelser

screen

er en terminalmultiplekser med VT100/ANSI terminalemulering

shared-mime-info-2.4

Introduksjon til Shared Mime Info

Shared Mime Info pakken inneholder en MIME database. Dette tillater sentrale oppdateringer av MIME informasjon for alle støttede applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Shared Mime Info Avhengigheter

Påkrevd

GLib-2.86.4 og libxml2-2.15.1

Valgfri

xmlto-0.0.29

Installasjon av Shared Mime Info

Installer Shared Mime Info ved å kjøre følgende kommandoer:

Hvis du ønsker å kjøre testpakken, må du først pakke ut xdgmime tarballen inn i gjeldende mappe, og kompilere det slik at meson kan finne den:

tar -xf ../xdgmime.tar.xz &&
make -C xdgmime

Bygg nå pakken:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D update-mimedb=true .. &&
ninja

Hvis du har fulgt instruksjonene ovenfor for å bygge xdgmime, for å teste resultatet kjør ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D update-mimedb=true: Denne parameteren forteller at byggesystemet skal kjøre update-mime-database i løpet av installasjon. Ellers må dette gjøres manuelt for at MIME databasen kan brukes.

Innhold

Installert Program: update-mime-database
Installert Bibliotek: Ingen
Installert Mappe: /usr/share/mime

Korte Beskrivelser

update-mime-database

hjelper til med å legge til MIME data til databasen

Sharutils-4.15.2

Introduksjon til Sharutils

Sharutils pakken inneholder verktøy som kan lage "skall" arkiver.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av Sharutils

Først, fiks problemer som er eksponert av nåværende GCC versjoner:

patch -Np1 -i ../sharutils-4.15.2-consolidated-1.patch

Installer Sharutils ved å kjøre følgende kommandoer:

autoreconf -fiv                                         &&
./configure --prefix=/usr --disable-dependency-tracking &&
make

For å teste resultatene, kjør make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-dependency-tracking: Denne bryteren brukes til å deaktivere unødvendig kode i byggesystemet.

--with-openssl: Denne valgfrie bryteren brukes til å aktivere integrering av integritetskontroller i pakkens kjørbare programmer.

Innhold

Installerte Programmer: shar, unshar, uudecode, and uuencode
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

shar

oppretter "skall arkiver" (eller shar filer) som er i tekstformat og kan sendes

unshar

pakker ut en shar fil

uudecode

leser en fil (eller som standard standardinngang) og skriver en kodet versjon til standardutgangen. Kodingen bruker kun skrive ut ASCII tegn

uuencode

leser en fil (eller som standard standardinngang) og dekoder den uuenkodede versjonen til standardutgangen

tidy-html5-5.8.0

Introduksjon til Tidy HTML5

Tidy HTML5 pakken inneholder et kommandolinjeverktøy og biblioteker som brukes til å lese HTML-, XHTML- og XML-filer og skrive renset markup. Den oppdager og korrigerer mange vanlige kodings feil og streber etter å produsere visuelt ekvivalent markup som er både W3C-kompatibel og kompatibel med de fleste nettlesere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Tidy HTML5 Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt

Installasjon av Tidy HTML5

Først må du fikse en byggefeil som oppstår når du bruker CMake 4.0 og nyere:

patch -Np1 -i ../tidy-html5-5.8.0-cmake4_fixes-1.patch

Installer Tidy HTML5 ved å kjøre følgende kommandoer:

cd build/cmake &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_TAB2SPACE=ON        \
      ../..    &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
rm -fv /usr/lib/libtidy.a &&
install -v -m755 tab2space /usr/bin

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bygge utgivelsesbiblioteket uten noen feilsøkings 'påståelser' i koden.

-D BUILD_TAB2SPACE=ON: Denne bryteren brukes til å aktivere byggingen av tab2space verktøyet.

Konfigurere Tidy HTML5

Konfigurasjonsfiler

Den absolutte banen til filen spesifisert i HTML_TIDY.

Konfigurasjonsinformasjon

Standard konfigurasjonsalternativer kan angis i filen definert i HTML_TIDY. Ytterligere konfigurasjonsalternativer kan bli gitt til tidy via kommandolinjeparametere eller -config <file> parameter.

Innhold

Installerte Programmer: tab2space og tidy
Installert Bibliotek: libtidy.so
Installert Mappe: /usr/share/doc/tidy-5.8.0

Korte Beskrivelser

tab2space

er et verktøy for å utvide tabulatorer og sikre konsistente linjeavslutninger

tidy

validerer, korrigerer og skriver ut HTML filer pent

libtidy.so

biblioteket tilbyr Tidy HTML5 API funksjoner til tidy og kan også kalles av andre programmer

Time-1.9

Introduksjon til Time

time verktøyet er et program som måler mange av CPU ressursene, for eksempel tid og minne, som andre programmer bruker. GNU versjonen kan formatere utdataene i vilkårlige måter ved å bruke en printf stil formatstreng for å inkludere ulike ressursmålinger.

Selv om skallet har en innebygd kommando som gir lignende funksjonalitet, er dette verktøyet påkrevd av LSB.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/time/time-1.9.tar.gz

  • Nedlasting MD5 sum: d2356e0fe1c0b85285d83c6b2ad51b5f

  • Nedlastingsstørrelse: 584 KB

  • Estimert diskplass som kreves: 4.0 MB (med tester)

  • Estimert byggetid: 0.1 SBU (med tester)

Installasjon av Time

Først, fiks kompileringen av denne pakken med GCC-15:

sed -i 's/sighandler interrupt_signal/__sighandler_t interrupt_signal/' src/time.c

Installer Time ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installert Program: time
Installert Bibliotek: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

time

rapporterer ulike statistikker om en utført kommando

tree-2.3.1

Introduksjon til tree

tree applikasjonen er nyttig for å vise ordboktreets innhold, inkludert filer, kataloger og lenker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av tree

Installer tree ved å kjøre følgende kommandoer:

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PREFIX=/usr MANDIR=/usr/share/man install

Innhold

Installert Program: tree
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

tree

viser et mappetre i en terminal

unixODBC-2.3.14

Introduksjon til unixODBC

unixODBC pakken er en åpen kildekode ODBC (Open DataBase Connectivity) undersystem og en ODBC SDK for Linux, Mac OSX og UNIX. ODBC er en åpen spesifikasjon for å gi applikasjonsutviklere et forutsigbart API for å få tilgang til datakilder. Datakilder inkluderer valgfrie SQL servere og enhver datakilde med en ODBC driver. unixODBC inneholder følgende komponenter som brukes for å hjelpe til med manipulering av ODBC datakilder: en driveradministrator, et installasjonsbibliotek og kommandolinjeverktøy, kommandolinjeverktøy for å hjelpe installeringen av en driver og arbeid med SQL, drivere og driveroppsettbiblioteker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

unixODBC Avhengigheter

Valgfri

Mini SQL

Installasjon av unixODBC

Installer unixODBC ved å kjøre følgende kommandoer:

autoreconf -fiv &&
./configure --prefix=/usr --sysconfdir=/etc/unixODBC &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&

find doc -name "Makefile*" -delete                &&
chmod 644 doc/{lst,ProgrammerManual/Tutorial}/*   &&

install -v -m755 -d /usr/share/doc/unixODBC-2.3.14 &&
cp      -v -R doc/* /usr/share/doc/unixODBC-2.3.14

Parameterforklaringer

--enable-drivers: Denne parameteren gjør det mulig å bygge driverne som ble installert som standard i tidligere versjoner.

--enable-drivers-conf: Denne parameteren aktiverer byggingen av driverkonfigurasjonsbibliotekene som ble installert som standard i tidligere versjoner.

Konfigurere unixODBC

Konfigurasjonsfiler

/etc/unixODBC/*

Konfigurasjonsinformasjon

Filene i /etc/unixODBC er ment å konfigureres av systemadministratoren (eller ODBC nettstedets administrator hvis passende rettigheter er gitt til /etc/unixODBC). Disse filene er ikke ment å bli direkte redigert. ODBC installasjonsbiblioteket er ansvarlig for å lese og skrive unixODBC konfigurasjonsfiler.

Dessverre er det ikke mange man, eller noen info sider for de ulike programmene som er tilgjengelige i unixODBC pakken. Sammen med informasjonen i «Korte Beskrivelser» nedenfor og dokumentasjonen installert i /usr/share/doc/unixODBC-2.3.14, er det mange README filer i hele kildetreet hvor bruken og funksjonaliteten til programmene kan finnes. I tillegg kan du bruke parameteren -? for syntaks og bruksinformasjon. Til slutt, unixODBC nettside på http://www.unixodbc.org/ har veldig bra informasjon.

Innhold

Installerte Programmer: dltest, isql, iusql, odbc_config, odbcinst, og slencheck
Installerte Biblioteker: libodbc.so, libodbccr.so, og libodbcinst.so
Installerte Mapper: /etc/unixODBC og /usr/share/doc/unixODBC-2.3.14

Korte Beskrivelser

dltest

er et verktøy som brukes til å sjekke et delt bibliotek for å se om det kan bli lastet og om et gitt symbol finnes i den

isql

er et verktøy som kan brukes til å sende SQL til en datakilde og formatere/skrive ut resultater. Den kan brukes i batch eller interaktiv modus

iusql

gir samme funksjonalitet som isql programmet

odbc_config

brukes til å finne ut detaljer om installasjonen av unixODBC pakken

odbcinst

er et verktøy laget for installeringsskript/RPM skrivere. Det er en kommandolinjegrensesnitt til nøkkelfunksjonalitet i libodbcinst biblioteket. Det kopiere ikke noen filer (dvs. biblioteker), men det vil endre ODBC Systeminformasjon for brukeren

slencheck

er et verktøy som prøver å sjekke om en ODBC driver ble bygget med 32-biters eller 64-biters SQLLEN typer

xdg-dbus-proxy-0.1.6

Introduksjon til xdg-dbus-proxy

xdg-dbus-proxy pakken inneholder en filtreringsproxy for D-Bus tilkoblinger. Dette er nyttig for videresending av data inn og ut av en sandkasse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xdg-dbus-proxy Avhengigheter

Påkrevd

GLib-2.86.4

Installasjon av xdg-dbus-proxy

Installer xdg-dbus-proxy ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: xdg-dbus-proxy
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

xdg-dbus-proxy

er en filtrerende proxy for D-Bus tilkoblinger

Xdg-user-dirs-0.19

Introduksjon til Xdg-user-dirs

Xdg-user-dirs er et verktøy for å hjelpe deg med å administrere «godt kjente» brukermappersom skrivebordsmappen og musikkmappen. Den håndterer også lokalisering (dvs. oversettelse) av filnavnene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xdg-user-dirs Avhengigheter

Valgfri

docbook-xml-4.5, docbook-xsl-nons-1.79.2, og libxslt-1.1.45 (alle tre for å bygge manualsidene)

Installasjon av Xdg-user-dirs

Installer xdg-user-dirs ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D docs=false       \
            .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
rm -rvf /usr/lib/systemd

Parameterforklaringer

-D docs=false: Deaktiver installasjon av manualsidene. Fjern denne bryteren hvis du har installert de valgfrie avhengighetene og du ønsker å installere manualsidene til denne pakken.

Konfigurere Xdg-user-dirs

Konfigurasjonsfiler

~/.config/user-dirs.dirs, /etc/xdg/user-dirs.conf, og /etc/xdg/user-dirs.defaults. Disse standard plasseringer kan overstyres av XDG_CONFIG_HOME og XDG_CONFIG_DIRS

Innhold

Installerte Programmer: xdg-user-dir og xdg-user-dirs-update
Installert Bibliotek: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

xdg-user-dir

slår opp gjeldende bane for en av XDG brukermappene

xdg-user-dirs-update

oppretter lokaliserte versjoner av brukermappene

Kapittel 12. Systemverktøy

Dette kapittelet inneholder hovedsakelig maskinvareverktøy. Den inneholder også noen applikasjoner som brukes av andre applikasjoner i boken for installasjons- eller konfigurasjonsformål.

7zip-26.00

Introduction to 7zip

7zip er en filarkiver som arkiverer med høyt komprimeringsforhold. Den håndterer 7z, ZIP, GZIP, Brotli, BZIP2, XZ, TAR, APM, ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, Lizard, LZ5, LZFSE, LZH, LZMA, LZMA2, MBR, MSI, MSLZ, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR, Z, og Zstd formater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

7zip Avhengigheter

Valgfri

UASM

Installasjon av 7zip

Installer 7zip ved å kjøre følgende kommandoer:

(for i in Bundles/{Alone,Alone7z,Format7zF,SFXCon} UI/Console; do
    make -C CPP/7zip/$i -f ../../cmpl_gcc.mak || exit
done)

Denne pakken har ikke en testpakke.

Nå, som root bruker:

install -vDm755 CPP/7zip/Bundles/Alone{/b/g/7za,7z/b/g/7zr} \
                CPP/7zip/Bundles/Format7zF/b/g/7z.so        \
                CPP/7zip/UI/Console/b/g/7z                  \
                -t /usr/lib/7zip/                           &&

install -vm755 CPP/7zip/Bundles/SFXCon/b/g/7zCon \
               /usr/lib/7zip/7zCon.sfx           &&

(for i in 7z 7za 7zr; do
    cat > /usr/bin/$i << EOF || exit
#!/bin/sh
exec /usr/lib/7zip/$i "\$@"
EOF
    chmod 755 /usr/bin/$i || exit
done) &&

cp -rv DOC -T /usr/share/doc/7zip-26.00

Innhold

Installerte Programmer: 7z, 7za, og 7zr
Installerte Biblioteker: Ingen
Installert Mappe: /usr/lib/7zip og /usr/share/doc/7zip-26.00

Korte Beskrivelser

7z

er et filarkiveringsverktøy

7za

er en frittstående kjørbar som håndterer færre arkivformater enn 7z

7zr

er en minimal versjon av 7za som kun håndterer 7z arkiver

AccountsService-23.13.9

Introduksjon til AccountsService

AccountsService pakken gir et sett med D-Bus grensesnitt for spørring og manipulering av brukerkontoinformasjon og en implementering av disse grensesnittene basert på usermod(8), useradd(8), og userdel(8) kommandoene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

AccountsService Avhengigheter

Påkrevd

Polkit-127

Anbefalt
Valgfri

GTK-Doc-1.35.1 og xmlto-0.0.29

Valgfri (for tester)

dbusmock-0.38.1 og PyGObject-3.54.5

Installasjon av AccountsService

Gi først nytt navn til en katalog hvis tilstedeværelse hindrer byggesystemet fra å kjøre hvis dbusmock-0.38.1 ikke er installert:

mv tests/dbusmock{,-tests}

Deretter fiks testene slik at den nye mappen blir funnet, og tilpass det for Python 3.12.0 eller nyere:

sed -e '/accounts_service\.py/s/dbusmock/dbusmock-tests/' \
    -e 's/assertEquals/assertEqual/'                      \
    -i tests/test-libaccountsservice.py

Rett opp en test som mislykkes hvis en_IE.UTF-8 lokalitet ikke er installert:

sed -i '/^SIMULATED_SYSTEM_LOCALE/s/en_IE.UTF-8/en_HK.iso88591/' tests/test-daemon.py

Installer AccountsService ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D admin_group=adm   \
      -D elogind=true      \
      -D systemdsystemunitdir=no

Tilpass nå den sendte mocklibc kopien for å tillate å bygge testpakken med GCC 14 eller nyere:

grep 'print_indent'     ../subprojects/mocklibc-1.0/src/netgroup.c \
     | sed 's/ {/;/' >> ../subprojects/mocklibc-1.0/src/netgroup.h &&
sed -i '1i#include <stdio.h>'                                      \
    ../subprojects/mocklibc-1.0/src/netgroup.h

Bygg pakken:

ninja

For å teste pakken, utsted ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D admin_group=adm: Denne bryteren setter gruppen for administratorkontoer.

-Ddocbook=true: Denne bryteren gjør det mulig å bygge dokumentasjonen for D-Bus grensesnitt API (trenger xmlto-0.0.29).

-D gtk_doc=true: Denne bryteren gjør det mulig å bygge libaccountsservice API dokumentasjonen (trenger GTK-Doc-1.35.1).

-D vapi=false: Denne bryteren deaktiverer bygging av vala bindingene. Bruk den hvis du ikke har installert Vala-0.56.18.

Konfigurere AccountsService

For å tillate at brukere i adm gruppen blir oppført som administratorer, utfør følgende kommandoer som root bruker:

cat > /etc/polkit-1/rules.d/40-adm.rules << "EOF"
polkit.addAdminRule(function(action, subject) {
   return ["unix-group:adm"];
   });
EOF

Innhold

Installerte Programmer: accounts-daemon (i /usr/libexec)
Installerte Biblioteker: libaccountsservice.so
Installerte Mapper: /usr/include/accountsservice-1.0, /usr/share/accountsservice, /usr/share/gtk-doc/html/libaccountsservice (valgfri), og /var/lib/AccountsService

Korte Beskrivelser

accounts-daemon

er AccountsService nissen

libaccountsservice.so

inneholder AccountsService API funksjoner

acpid-2.0.34

Introduksjon til acpid

acpid Advanced Configuration and Power Interface event daemon) er en helt fleksibel, helt utvidbar nisse for å levere ACPI hendelser. Den lytter på netlink grensesnitt og når en hendelse inntreffer, kjører programmer for å håndtere hendelsen. Programmene den kjører er konfigurert gjennom et sett med konfigurasjonsfiler, som kan slippes på plass av pakker eller av brukeren.

Notat

Noen andre pakker kan også håndtere noen ACPI hendelser, og de kan komme i konflikt med denne pakken. For eksempel, elogind-255.22 (les dokumentasjonen for Handle*= i logind.conf(5) for detaljer) og UPower-1.91.1 (brukes av mange skrivebordsmiljøer som f.eks GNOME, KDE og XFCE for håndtering av ACPI hendelser). Hvis du har installert en slik pakke og det er nok for din brukssituasjon, er denne pakken sannsynligvis ikke nødvendig. Hvis du virkelig trenger denne pakken, må du være nøye med å konfigurere den og de andre pakkene som håndterer ACPI hendelser for å unngå konflikter. Spesielt elogind-255.22 håndterer noen ACPI hendelser som standard, så håndteringen av disse hendelsene av elogind-255.22 bør være deaktivert først hvis du håndterer disse hendelsene med acpid (igjen, les logind.conf(5) for detaljer).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av acpid

Installer acpid ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --docdir=/usr/share/doc/acpid-2.0.34 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install                         &&
install -v -m755 -d /etc/acpi/events &&
cp -r samples /usr/share/doc/acpid-2.0.34

Konfigurere acpid

acpid er konfigurert av brukerdefinerte hendelser. Plasser hendelsesfiler under /etc/acpi/events mappen. Hvis en hendelse inntreffer, acpid går igjen gjennom hendelsesfilene for å se om regex definert etter "hendelse" stemmer overens. Hvis de gjør det, blir handlingen utført.

Følgende korte eksempel vil suspendere systemet når den bærbare datamaskin lokket er lukket (det krever pm-utils-1.4.1). Eksemplet deaktiverer også standardhåndteringen av lokkets hendelse av elogind-255.22 når systemet er på batteri og ikke koblet til noen ekstern skjerm, for å unngå konflikt:

cat > /etc/acpi/events/lid << "EOF"
event=button/lid
action=/etc/acpi/lid.sh
EOF

cat > /etc/acpi/lid.sh << "EOF"
#!/bin/sh
/bin/grep -q open /proc/acpi/button/lid/LID/state && exit 0
/usr/sbin/pm-suspend
EOF
chmod +x /etc/acpi/lid.sh

mkdir -pv /etc/elogind/logind.conf.d
echo HandleLidSwitch=ignore > /etc/elogind/logind.conf.d/acpi.conf

Dessverre merker ikke alle datamaskiner ACPI hendelser på samme måte (for eksempel kan lokket gjenkjennes som LID0 i stedet for LID). For å finne ut hvordan knappene dine gjenkjennes, bruk acpi_listen verktøyet. Se også i samples mappen under /usr/share/doc/acpid-2.0.34 for flere eksempler.

Oppstartsskript

For å starte acpid automatisk når systemet startes på nytt, installer /etc/rc.d/init.d/acpid oppstartsskript fra blfs-bootscripts-20251220 pakken.

make install-acpid

Innhold

Installerte Programmer: acpid, acpi_listen, og kacpimon
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/acpi and /usr/share/doc/acpid-2.0.34

Korte Beskrivelser

acpid

er et program som lytter etter ACPI hendelser og utfører reglene som samsvarer med den mottatte hendelsen

acpi_listen

er et enkelt verktøy som kobles til acpid og lytter etter hendelser

kacpimon

er et monitorprogram som kobles til tre kilder til ACPI hendelser (hendelsesfil, netlink og input-lag) og rapporterer deretter om hva det ser mens den er tilkoblet

at-3.2.5

Introduksjon til at

at pakken gir en forsinket jobbutførelse og skriptbehandling. Det kreves for Linux Standards Base (LSB) samsvar.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

at Avhengigheter

Påkrevd

En MTA

Valgfri

Linux-PAM-1.7.2

Installasjon av at

Før bygging at, som root bruker du bør opprette gruppen og brukeren atd som vil kjøre atd nissen:

groupadd -g 17 atd                                                  &&
useradd -d /dev/null -c "atd daemon" -g atd -s /bin/false -u 17 atd

Installer at ved å kjøre følgende kommandoer:

./configure --with-daemon_username=atd        \
            --with-daemon_groupname=atd       \
            --with-jobdir=/var/spool/atjobs   \
            --with-atspool=/var/spool/atspool \
            SENDMAIL=/usr/sbin/sendmail       &&
make -j1

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install docdir=/usr/share/doc/at-3.2.5 \
             atdocdir=/usr/share/doc/at-3.2.5

Konfigurere at

Konfigurasjonsfiler

/etc/at.allow og /etc/at.deny bestemmer hvem som kan sende inn jobber via at eller skript.

Linux PAM Konfigurering

Hvis At er bygget med Linux PAM støtte, må du opprette en PAM konfigurasjonsfil for å få den til å fungere riktig med BLFS.

Utfør følgende kommandoer som root bruker for å opprette konfigurasjonenfilen for Linux PAM:

cat > /etc/pam.d/atd << "EOF"
# Begin /etc/pam.d/atd

auth     required pam_unix.so
account  required pam_unix.so
password required pam_unix.so
session  required pam_unix.so

# End /etc/pam.d/atd
EOF

Oppstartsskript

Installer /etc/init.d/atd init skriptet fra blfs-bootscripts-20251220 pakken.

make install-atd

Innhold

Installerte Programmer: at, atd, atq (symbolkobling), atrm (symbolkobling), atrun, and batch
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/at-3.2.5

Korte Beskrivelser

at

setter i kø, undersøker eller sletter jobber for senere utførelse

atd

er nissen som kjører jobber i kø for senere kjøring

atq

viser brukerens ventende jobber, eller alle jobber, hvis superbruker

atrm

sletter jobber, identifisert med jobbnummeret deres

atrun

kjører jobber i kø for senere utførelse

batch

er et skript som utfører kommandoer når systembelastningsnivåene tillater det

autofs-5.1.9

Introduksjon til Autofs

Autofs kontrollerer driften av automontering nissen. Automount nissen monterer automatisk filsystemer når de åpnes og demonterer dem etter en periode med inaktivitet. Dette blir gjort basert på et sett med forhåndskonfigurerte kart.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Autofs Avhengigheter

Påkrevd

libtirpc-1.3.7 og rpcsvc-proto-1.4.4

Valgfri

nfs-utils-2.8.5, libnsl-2.0.1, libxml2-2.15.1, MIT Kerberos V5-1.22.2, OpenLDAP-2.6.12 (kun klient), og Cyrus SASL-2.1.28

Kjernekonfigurasjon

Bekreft at automounter kjernestøtte er aktivert:

File systems --->
  <*/M> Kernel automounter support (supports v3, v4 and v5)          [AUTOFS_FS]

Aktiver eventuelt følgende alternativer i kjernekonfigurasjonen:

File systems --->
  [*] Network File Systems --->                            [NETWORK_FILESYSTEMS]
    <*/M> NFS client support                                            [NFS_FS]
    <*/M> SMB3 and CIFS support (advanced network filesystem)             [CIFS]

Rekompiler og installer den nye kjernen, om nødvendig.

Installasjon av Autofs

Installer Autofs ved å kjøre følgende kommandoer:

./configure --prefix=/usr             \
            --with-mapdir=/etc/autofs \
            --with-libtirpc           \
            --without-openldap        \
            --mandir=/usr/share/man   &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Obs

Hvis autofs allerede er installert på ditt system, sørg for å sikkerhetskopiere konfigurasjonsfilene dine. De blir overskrevet av følgende kommando.

Installer standard konfigurasjonsfil, fortsatt som root bruker:

make install_samples

Parameterforklaringer

--with-libtirpc: Denne bryteren tvinger pakken til å bruke libtirpc for RPC funksjonalitet i stedet for å stole på implementering fra Glibc, som ble fjernet i LFS 8.1.

--without-openldap: Denne bryteren deaktiverer openldap hvis funnet. Hvis openldap er ønsket, utelat denne bryteren. Merk at openldap støtte i autofs krever MIT Kerberos V5-1.22.2.

Konfigurere Autofs

Konfigurasjonsfiler

/etc/sysconfig/autofs.conf, /etc/autofs/auto.master, /etc/autofs/auto.misc, og /etc/autofs/auto.net

Konfigurasjonsinformasjon

Installasjonsprosessen oppretter auto.master, auto.misc, auto.smb, og auto.net. Bytt ut auto.master filen med følgende kommandoer som root bruker:

mv /etc/autofs/auto.master /etc/autofs/auto.master.bak &&
cat > /etc/autofs/auto.master << "EOF"
# Begin /etc/autofs/auto.master

/media/auto  /etc/autofs/auto.misc  --ghost
#/home        /etc/autofs/auto.home

# End /etc/autofs/auto.master
EOF

Denne filen oppretter en ny mediemappe, /media/auto som vil overlegge alle eksisterende mapper med samme navn. I dette eksemplet filen /etc/autofs/auto.misc, har linjen:

cd   -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

som vil montere en cdrom som /media/auto/cd hvis den mappen er lest. --ghost alternativet forteller automounter å lage «ghost» versjoner (dvs. tomme mapper) for alle monteringspunktene som er oppført i konfigurasjonsfilen uavhengig av om noen av filsystemene faktisk er montert eller ikke. Dette er veldig praktisk og anbefales på det sterkeste, fordi det vil vise de tilgjengelige automonterbare filsystemene som eksisterende mapper, selv når filsystemene deres for øyeblikket ikke er montert. Uten --ghost alternativet, må du huske navnene på mappene. Så snart du prøver å få tilgang til en av dem, vil mappen bli opprettet og filsystemet vil bli montert. Når filsystemet demonteres igjen, vil mappen også bli ødelagt, med mindre --ghost alternativet ble gitt.

Notat

En alternativ metode ville være å spesifisere en annen automontering plassering som f.eks /var/lib/auto/cdrom og lage en symbolsk lenke fra /media/cdrom til automonteringsstedet.

auto.misc filen må konfigureres til din fungerende maskinvare. Den innlastede konfigurasjonsfilen skal laste inn cdrom hvis /dev/cdrom er aktiv eller den kan redigeres til å samsvare med enhetsoppsettet ditt. Eksempler på disketter er tilgjengelige i filen og enkelt aktivert. Dokumentasjon for denne filen er tilgjengelig ved bruk av man 5 autofs kommandoen.

På den andre linjen, hvis aktivert, vil en brukers hjemmemappe bli montert via NFS ved innlogging. /etc/home.auto må eksistere og ha en oppføring som ligner på:

joe  example.org:/export/home/joe

hvor mappen /export/home/joe er eksportert via NFS fra systemets example.org. NFS deling er dekket på neste side.

Denne pakken kan også brukes til å montere SMB delinger, men den funksjonen er ikke konfigurert i disse instruksjonene. For ytterligere konfigurasjonsinformasjon, se man sidene for auto.master(5). Det finnes også nettressurser som dette AUTOFS HOWTO tilgjengelig.

Oppstartsskript

autofs installerer sitt eget oppstartsskript, men det har ingen mulighet for logging eller visuell samsvar med andre BLFS skript. Den vil bli erstattet av en forbedret versjon.

Installer /etc/init.d/autofs monteringsskript som følger med blfs-bootscripts-20251220 pakken.

make install-autofs

Time-out variabelen er satt i /etc/sysconfig/autofs.conf. De installerte filene setter er standard på 60 sekunders inaktivitet før enheten demonteres. En mye kortere tid kan være nødvendig for å beskytte bufferskriving til en diskett hvis brukere har en tendens til å fjerne mediet før tidsavbruddsinnstillingen.

Innhold

Installert Program: automount
Installerte Biblioteker: libautofs.so. lookup_dir.so, lookup_file.so, lookup_files.so (symbolkobling til lookup_file.so), lookup_hosts.so, lookup_ldap.so (valgfri), lookup_multi.so, lookup_nis.so (symbolkobling til lookup_yp.so), lookup_program.so, lookup_userhome.so, lookup_yp.so, mount_afs.so, mount_autofs.so, mount_bind.so, mount_changer.so, mount_ext2.so, mount_ext3.so (symbolkobling til mount_ext2.so), mount_ext4.so (symbolkobling til mount_ext2.so), mount_generic.so, mount_nfs.so, mount_nfs4.so (symbolkobling til mount_nfs.so), parse_amd.so, og parse_sun.so
Installerte Mapper: /usr/lib/autofs og /etc/autofs

Korte Beskrivelser

automount

er nissen som utfører monteringen når en forespørsel blir gjort for enheten

BlueZ-5.86

Introduksjon til BlueZ

BlueZ pakken inneholder Bluetooth protokollstabel for Linux.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

BlueZ Avhengigheter

Påkrevd

dbus-1.16.2, GLib-2.86.4, og libical-3.0.20

Anbefalt

Kjernekonfigurasjon

Hvis du bygger denne pakken for å bruke bluetooth enheter (i stedet for som en byggeavhengighet), aktiverer følgende alternativer i kjernekonfigurasjonen, også alternativene i «Cryptographic API» seksjonen hvis du har tenkt å kjøre testene, og kompilere kjernen på nytt om nødvendig:

General setup --->
  # If it is disabled, [TIMERFD] and [EVENTFD] will be hidden and
  # enabled implicitly.  We DO NOT recommend to enable [EXPERT]
  # unless you are really an expert user:
  [ /*] Configure standard kernel features (expert users) --->          [EXPERT]
    [*] Enable timerfd() system call                                   [TIMERFD]
    [*] Enable eventfd() system call                                   [EVENTFD]

[*] Networking support --->                                                [NET]
  <*/M> Bluetooth subsystem support --->                                    [BT]
    [*]   Bluetooth Classic (BR/EDR) features                         [BT_BREDR]
    <*/M>   RFCOMM protocol support                                  [BT_RFCOMM]
    [*]       RFCOMM TTY support                                 [BT_RFCOMM_TTY]
    <*/M>   BNEP protocol support                                      [BT_BNEP]
    [*]       Multicast filter support                       [BT_BNEP_MC_FILTER]
    [*]       Protocol filter support                     [BT_BNEP_PROTO_FILTER]
    <*/M>   HIDP protocol support                                      [BT_HIDP]
    Bluetooth device drivers --->
      # Select the appropriate drivers for your bluetooth hardware.
      # There are more vendor-specific drivers not listed here:
      < /*/M> HCI USB driver                                       [BT_HCIBTUSB]
      < /*/M> HCI SDIO driver                                     [BT_HCIBTSDIO]
      < /*/M> HCI UART driver                                       [BT_HCIUART]
  <*/M> RF switch subsystem support --->                                [RFKILL]

-*- Cryptographic API --->                                              [CRYPTO]
  Crypto core or helper --->
    <*/M> Userspace cryptographic algorithm configuration          [CRYPTO_USER]
  Block ciphers --->
    <*/M> AES (Advanced Encryption Standard)                        [CRYPTO_AES]
  AEAD (authenticated encryption with associated data) ciphers --->
    <*/M> CCM (Counter with Cipher Block Chaining-MAC)              [CRYPTO_CCM]
  Hashes, digests, and MACs --->
    <*/M> CMAC (Cipher-based MAC)                                  [CRYPTO_CMAC]
  Userspace interface --->
    <*/M> Hash algorithms                                 [CRYPTO_USER_API_HASH]
    <*/M> Symmetric key cipher algorithms             [CRYPTO_USER_API_SKCIPHER]
    <*/M> AEAD cipher algorithms                          [CRYPTO_USER_API_AEAD]

Installasjon av BlueZ

Installer BlueZ ved å kjøre følgende kommandoer:

./configure --prefix=/usr         \
            --sysconfdir=/etc     \
            --localstatedir=/var  \
            --enable-library      \
            --disable-systemd     &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin

Installer hovedkonfigurasjonsfilen som root bruker:

install -v -dm755 /etc/bluetooth &&
install -v -m644 src/main.conf /etc/bluetooth/main.conf

Hvis ønskelig, installer API dokumentasjonen som root bruker:

install -v -dm755 /usr/share/doc/bluez-5.86 &&
install -v -m644 doc/*.txt /usr/share/doc/bluez-5.86

Installer en manglende D-Bus-tjeneste som root bruker:

install -m644 ./obexd/src/org.bluez.obex.service /usr/share/dbus-1/services

Parameterforklaringer

--enable-library: Denne bryteren gjør det mulig å bygge BlueZ 4 kompatibilitetsbibliotek som kreves av noen applikasjoner.

--disable-systemd: Denne bryteren er nødvendig pga at systemd ikke er en del av LFS/BLFS. Hvis du bruker systemd, fjern denne bryteren.

--disable-manpages: Denne bryteren deaktiverer generering av manualsidene. Legg til denne bryteren hvis du ikke har docutils-0.22.4 installert.

ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin: Denne kommandoen gjør tilgangen til bluetooth nissen mer praktisk.

Konfigurere BlueZ

Konfigurasjonsfiler

/etc/bluetooth/main.conf installeres automatisk under installasjonen. I tillegg er det tre tilleggs konfigurasjonsfiler. /etc/sysconfig/bluetooth er installert som en del av oppstartsskriptet nedenfor. I tillegg kan du eventuelt installere følgende, som root bruker:

cat > /etc/bluetooth/rfcomm.conf << "EOF"
# Start rfcomm.conf
# Set up the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.
# Use one line per command
# See the rfcomm man page for options


# End of rfcomm.conf
EOF
cat > /etc/bluetooth/uart.conf << "EOF"
# Start uart.conf
# Attach serial devices via UART HCI to BlueZ stack
# Use one line per device
# See the hciattach man page for options

# End of uart.conf
EOF

Oppstartsskript

For å starte bluetoothd nissen automatisk når systemet startes på nytt, installer /etc/rc.d/init.d/bluetooth oppstartsskript fra blfs-bootscripts-20251220 pakken.

make install-bluetooth

Innhold

Installerte Programmer: bluemoon, bluetoothctl, bluetoothd (symlink), btattach, btmon, hex2hcd, l2ping, l2test, mpris-proxy, og rctest
Installert Bibliotek: libbluetooth.so
Installerte Mapper: /etc/bluetooth, /usr/{include,libexec}/bluetooth, og /usr/share/doc/bluez-5.86

Korte Beskrivelser

bluemoon

er et Bluetooth konfigurasjonsverktøy

bluetoothctl

er det interaktive Bluetooth kontrollprogrammet

bluetoothd

er Bluetooth nissen

btmon

gir tilgang til Bluetooth undersystemmonitoren infrastruktur for lesing av HCI spor

hex2hcd

brukes til å konvertere en fil som trengs av Broadcom enheter til hcd format (Broadcom bluetooth firmware).

l2ping

brukes til å sende en L2CAP ekkoforespørsel til Bluetooth MAC adresse oppgitt i stiplet sekskantet notasjon

l2test

er et L2CAP testprogram

rctest

brukes til å teste RFCOMM kommunikasjon på Bluetooth stabelen

libbluetooth.so

inneholder BlueZ 4 API funksjoner

Bubblewrap-0.11.0

Introduksjon til Bubblewrap

Bubblewrap er en setuid implementering av bruker navneområder, eller sandboxing, som gir tilgang til et undersett av kjernefunksjoner for brukernavn. Bubblewrap lar brukereide prosesser kjøre i et isolert miljø med begrenset tilgang til det underliggende filsystemet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Bubblewrap Avhengigheter

Valgfri

libxslt-1.1.45 (for å generere manualsider), libseccomp-2.6.0 (bygget med python bindinger, for tester), bash-completion, og SELinux

Kjernekonfigurasjon

Da denne pakken startet, forventet oppstrøms at den kunne installeres med suid-root. Det var lenge siden, suid-root anses generelt som en dårlig idé. I tillegg til standard navneområder, krever denne pakken at valgfritt brukernavneområde skal aktiveres. Hvis det ennå ikke er aktivert, velg følgende alternativ i kjernekonfigurasjonen og kompiler kjernen på nytt:

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]

Installasjon av Bubblewrap

Installer Bubblewrap ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Deretter, hvis du ønsker å kjøre testpakken, fiks et problem forårsaket av merged-/usr konfigurasjon i LFS:

sed 's@symlink usr/lib64@ro-bind-try /lib64@' -i ../tests/libtest.sh

For å teste resultatene, utsted (som en annen bruker enn root bruker): ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: bwrap
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

bwrap

genererer en sandkasse for et program å kjøre i

Colord-1.4.8

Introduksjon til Colord

Colord er en systemtjeneste som gjør det enkelt å administrere, installere og generere fargeprofiler. Den brukes hovedsakelig av GNOME Color Manager for systemintegrasjon og bruk når ingen brukere er pålogget.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Colord Avhengigheter

Påkrevd

dbus-1.16.2, GLib-2.86.4 (GObject Introspection anbefalt), Little CMS-2.18, libgudev-238, libgusb-0.4.9, og Polkit-127

Anbefalt
Valgfri

gnome-desktop-44.5 og colord-gtk-0.3.1 (for å bygge eksempelverktøyene), docbook-xml-5.0, docbook-xsl-ns-1.79.2, og libxslt-1.1.45 (for å bygge manualsidene), GTK-Doc-1.35.1, SANE-1.4.0, ArgyllCMS, og Bash Completion

Installasjon av Colord

Det bør være en dedikert bruker og gruppe for å ta kontroll over colord nissen etter at den har startet. Utfør følgende kommandoer som root bruker:

groupadd -g 71 colord &&
useradd -c "Color Daemon Owner" -d /var/lib/colord -u 71 \
        -g colord -s /bin/false colord

Installer Colord ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                  \
      --prefix=/usr             \
      --buildtype=release       \
      -D daemon_user=colord     \
      -D vapi=true              \
      -D systemd=false          \
      -D libcolordcompat=true   \
      -D argyllcms_sensor=false \
      -D bash_completion=false  \
      -D docs=false             \
      -D man=false              &&
ninja

Hvis docbook-xml-5.0, docbook-xsl-ns-1.79.2, og libxslt-1.1.45 er installert, bygg manualsidene:

sed -e '/class="manual"/i<refmiscinfo class="source">colord</refmiscinfo>' \
    -i ../man/*.xml &&
meson configure -D man=true &&
ninja

Nå, som root bruker:

ninja install

For å teste resultatene, kjør: ninja test. En test, colord-self-test-daemon, vil mislykkes hvis pakken allerede er installert. Testpakken må kjøres med systemomfattende D-Bus nissen kjørende.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D daemon_user=colord: Denne bryteren brukes så colord nissen vil kjøre som en uprivilegert bruker i stedet for som root bruker.

-D vapi=true: Denne bryteren aktiverer byggingen av Vala bindinger. Fjern hvis du ikke har Vala-0.56.18 installert.

-D systemd=false: Denne bryteren deaktiverer støtte for systemd innlogging i Colord applikasjoner.

-D libcolordcompat=true: Denne bryteren aktiverer byggingen av et kompatibilitetsbibliotek for eldre pakker som bruker Colord.

-D argyllcms_sensor=false: Denne bryteren deaktiverer tArgLLCMS sensordriver. Utelat hvis du har ArgyllCMS installert og ønsker å bruke den.

-D bash_completion=false: Denne bryteren deaktiverer Bash Completion støtte for Colord applikasjoner.

-D docs=false: Denne bryteren deaktiverer byggingen av dokumentasjon. Utelat hvis du har GTK-Doc-1.35.1 tilgjengelig.

Innhold

Installerte Programmer: cd-create-profile, cd-fix-profile, cd-iccdump, cd-it8, og colormgr
Installerte Biblioteker: libcolord.so, libcolordcompat.so, libcolordprivate.so, og libcolorhug.so
Installerte Mapper: /usr/include/colord-1, /usr/lib/colord-{plugins,sensors}, /usr/share/color{d}, /usr/share/gtk-doc/html/colord, og /var/lib/colord

Korte Beskrivelser

cd-create-profile

er verktøyet for oppretting av profiler for Color Manager

cd-fix-profile

er et verktøy som brukes til å fikse metadata i ICC profiler

cd-iccdump

dumper innholdet i en ICC profil som lesbar tekst

cd-it8

er testverktøyet for Color Manager

colormgr

er et tekstmodusprogram som lar deg samhandle med colord på kommandolinjen

libcolord.so

inneholder Colord API funksjoner

libcolordcompat.so

inneholder eldre API funksjoner for kompatibilitet med eldre applikasjoner

libcolordprivate.so

inneholder interne API funksjoner for programmene som følger med Colord

libcolorhug.so

inneholder en enkel skjermmaskinvare fargemåler

cpio-2.15

Introduksjon til cpio

cpio pakken inneholder verktøy for arkivering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/cpio/cpio-2.15.tar.bz2

  • Nedlasting MD5 sum: 3394d444ca1905ea56c94b628b706a0b

  • Nedlastingsstørrelse: 1.6 MB

  • Estimert diskplass som kreves: 21 MB (med tester og dokumenter)

  • Estimert byggetid: 0.3 SBU (med tester og dokumenter)

CPIO Avhengigheter

Valgfri

texlive-20250308 (eller install-tl-unx)

Installasjon av cpio

Legg til en løsning for et problem med gcc15:

sed -e "/^extern int (\*xstat)/s/()/(const char * restrict,  struct stat * restrict)/" \
    -i src/extern.h
sed -e "/^int (\*xstat)/s/()/(const char * restrict,  struct stat * restrict)/" \
    -i src/global.c

Installer cpio ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --enable-mt   \
            --with-rmt=/usr/libexec/rmt &&
make &&
makeinfo --html            -o doc/html      doc/cpio.texi &&
makeinfo --html --no-split -o doc/cpio.html doc/cpio.texi &&
makeinfo --plaintext       -o doc/cpio.txt  doc/cpio.texi

Hvis du har texlive-20250308 installert og ønsker å lage PDF eller Postscript dokumentasjon, utsted en eller begge av følgende kommandoer:

make -C doc pdf &&
make -C doc ps

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
install -v -m755 -d /usr/share/doc/cpio-2.15/html &&
install -v -m644    doc/html/* \
                    /usr/share/doc/cpio-2.15/html &&
install -v -m644    doc/cpio.{html,txt} \
                    /usr/share/doc/cpio-2.15

Hvis du har laget PDF eller Postscript dokumentasjon, installer den ved å utstede følgende kommandoer som root bruker:

install -v -m644 doc/cpio.{pdf,ps,dvi} \
                 /usr/share/doc/cpio-2.15

Parameterforklaringer

--enable-mt: Denne parameteren tvinger bygging og installasjon av mt programmet.

--with-rmt=/usr/libexec/rmt: Denne parameteren hemmer å bygge rmt programmet fordi det allerede er installert av Tar pakke i LFS.

Innhold

Installerte Programmer: cpio og mt
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/cpio-2.15

Korte Beskrivelser

cpio

kopierer filer til og fra arkiver

mt

kontrollerer magnetbåndstasjonens operasjoner

cups-pk-helper-0.2.7

Introduksjon til cups-pk-helper

cups-pk-helper pakken inneholder en PolicyKit hjelper som brukes til å konfigurere Cups med finmaskede privilegier.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

cups-pk-helper Avhengigheter

Påkrevd

Cups-2.4.16 og Polkit-127

Installasjon av cups-pk-helper

Installer cups-pk-helper ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: cups-pk-helper-mechanism (kjørbart bibliotek)
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

dbus-1.16.2

Introduksjon til D-Bus

D-Bus er et meldingsbusssystem, en enkel måte for applikasjoner å snakke med hverandre. D-Bus leverer både en systemdaemon (for hendelser som f.eks «ny maskinvareenhet lagt til» eller «skriver kø endret») og en per-bruker-pålogging-sesjon daemon (for generell IPC-behov blant brukerapplikasjoner). Dessuten er meldingsbussen bygget på toppen av et generelt rammeverk for en-til-en meldingsoverføring, som kan brukes av to applikasjoner for å kommunisere direkte (uten å gå gjennom meldingsbuss-demon).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

D-Bus Avhengigheter

Anbefalt
Valgfri

For testene: D-Bus Python-1.4.0, PyGObject-3.54.5, og Valgrind-3.26.0; for dokumentasjon: Doxygen-1.16.1, xmlto-0.0.29, Ducktype, og Yelp Tools

Installasjon av D-Bus

Installer D-Bus ved å kjøre følgende kommandoer (det kan være lurt å gå gjennom filen meson_options.txt først og legge til eventuelle ekstra ønskede alternativer til meson oppsettlinjen nedenfor):

mkdir build &&
cd    build &&

meson setup --prefix=/usr          \
            --buildtype=release    \
            --wrap-mode=nofallback \
            -D systemd=disabled    \
            .. &&
ninja

Se nedenfor for testinstruksjoner.

Nå, som root bruker:

ninja install

Hvis du bruker en DESTDIR installasjon, dbus-daemon-launch-helper må fikses etterpå. Utsted, som root bruker:

chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper &&
chmod -v      4750       /usr/libexec/dbus-daemon-launch-helper

Hvis du fortsatt bygger systemet ditt i chroot eller du ikke har startet daemonen ennå, men du vil kompilere noen pakker som krever D-Bus, generer D-Bus UUID for å unngå advarsler ved kompilering av noen pakker med følgende kommando som root bruker:

dbus-uuidgen --ensure

Hvis du bruker elogind-255.22, opprette en symbolkobling til /var/lib/dbus/machine-id filen:

ln -sfv /var/lib/dbus/machine-id /etc

Til slutt, fortsatt som root bruker, gi nytt navn til dokumentasjonsmappen (det eksisterer bare hvis de valgfrie avhengighetene er oppfylt for minst ett dokumentasjonsformat) for å gjøre det versjonert:

if [ -e /usr/share/doc/dbus ]; then
  rm -rf /usr/share/doc/dbus-1.16.2    &&
  mv -v  /usr/share/doc/dbus{,-1.16.2}
fi

Mange tester er deaktivert med mindre både D-Bus Python-1.4.0 og PyGObject-3.54.5 har blitt installert. Det må kjøres som en uprivilegert bruker fra en lokal økt med bussadresse. For å kjøre standard tester utsted ninja test.

Hvis du vil kjøre enhetsregresjonstestene, krever meson tilleggsparametere som viser tilleggsfunksjonalitet i binærfiler som ikke er ment å brukes i en produksjonsbygning av D-Bus. Hvis du ønsker å kjøre testene, utsted følgende kommandoer (for testene trenger du ikke å bygge dokumenter):

meson configure -D asserts=true -D intrusive_tests=true &&
ninja test

Parameterforklaringer

--wrap-mode=nofallback: Denne bryteren forhindrer meson fra å bruke delprosjektets tilbakefall for evt avhengighetserklæringer i byggefilene, og forhindrer det å laste ned eventuell valgfrie avhengigheter som ikke er installert på systemet.

-D systemd=disabled: Ikke installer systemd støttefiler selv om libsystemd eksisterer (dvs. elogind-255.22 pakken er installert).

-D intrusive_tests=true: Bygger ekstra deler av koden for å støtte alle tester. Ikke bruk på en produksjonsbygning.

-D asserts=true: Gjør det mulig å kjøre feilsøkingskode påstander for utsagn som normalt antas å være sanne. Dette forhindrer advarsel om det '-D asserts=true' på egen hånd er bare nyttig for profilering og gir kanskje ikke sanne resultater for alle tester, men legger til sin egen MERK at dette ikke skal brukes i et produksjonsbygg.

Konfigurere D-Bus

Konfigurasjonsfiler

/etc/dbus-1/session.conf, /etc/dbus-1/system.conf og /etc/dbus-1/system.d/*

Konfigurasjonsinformasjon

Konfigurasjonsfilene oppført ovenfor bør sannsynligvis ikke bli modifisert. Hvis det kreves endringer, bør du opprette /etc/dbus-1/session-local.conf og/eller /etc/dbus-1/system-local.conf og lage eventuelle ønskede endringer i disse filene.

Hvis noen pakke installerer en D-Bus .service fil utenfor standard /usr/share/dbus-1/services mappen, skal den mappen legges til den lokale sesjonskonfigurasjonen. For eksempel, /usr/local/share/dbus-1/services kan legges til ved å utføre følgende kommandoer som root bruker:

cat > /etc/dbus-1/session-local.conf << "EOF"
<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- Search for .service files in /usr/local -->
  <servicedir>/usr/local/share/dbus-1/services</servicedir>

</busconfig>
EOF

D-Bus Øktdaemon

For å starte dbus-daemon automatisk når systemet startes på nytt, installer /etc/rc.d/init.d/dbus oppstartsskript fra blfs-bootscripts-20251220 pakken.

make install-dbus

Hvis dette er første gang D-Bus installeres på systemet, og du ikke opererer i et chroot miljø, kan du starte umiddelbart dbus-daemon uten å starte systemet på nytt:

/etc/init.d/dbus start

Merk at dette oppstartsskriptet bare starter system-brede D-Bus daemonen. Hver bruker som krever tilgang til D-Bus tjenester må også kjøre en sesjonsdaemonen også. Det er mange metoder du kan bruke for å starte en sesjonsdaemonen ved hjelp av dbus-launch kommandoen. Gjennomgå dbus-launch manualsiden for detaljer om tilgjengelige parametere og alternativer. Her er noen forslag og eksempler:

  • Legg til dbus-launch til linjen i ~/.xinitrc filen som starter det grafiske skrivebordsmiljøet.

  • Hvis du bruker gdm eller en annen skjermbehandler som kaller ~/.xsession filen, kan du legge til dbus-launch til linjen i din ~/.xsession fil som starter det grafiske skrivebordsmiljøet. Syntaksen vil være lik eksemplet i ~/.xinitrc filen.

  • Eksemplene vist tidligere bruker dbus-launch for å spesifisere et program som skal kjøres. Dette har fordelen (når du også bruker --exit-with-x11 parameteren) å stoppe sesjonsdaemonen når det angitte programmet stoppes. Du kan også starte sesjonsdaemonen i systemet ditt eller personlige oppstartsskript ved å legge til følgende linjer:

    # Start the D-Bus session daemon
    eval `dbus-launch`
    export DBUS_SESSION_BUS_ADDRESS

    This method will not stop the session daemon when you exit your shell, therefore you should add the following line to your ~/.bash_logout file:

    # Kill the D-Bus session daemon
    kill $DBUS_SESSION_BUS_PID

Innhold

Installerte Programmer: dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor, dbus-run-session, dbus-send, dbus-test-tool, dbus-update-activation-environment, og dbus-uuidgen
Installert Bibliotek: libdbus-1.so
Installerte Mapper: /etc/dbus-1, /usr/{include,lib}/dbus-1.0, /usr/lib/cmake/DBus1, /usr/share/dbus-1, /usr/share/xml/dbus-1, /usr/share/doc/dbus-1.16.2, og /var/{lib,run}/dbus

Korte Beskrivelser

dbus-cleanup-sockets

brukes til å rydde opp etterlatte sockets i en mappe

dbus-daemon

er D-Bus meldingsbuss daemon

dbus-launch

brukes til å starte dbus-daemon fra et skallskript. Det vil normalt bli kalt opp fra en brukers påloggingsskript

dbus-monitor

brukes til å overvåke meldinger som går gjennom en D-Bus meldingsbuss

dbus-run-session

starter en prosess som en ny D-Bus økt

dbus-send

brukes til å sende en melding til en D-Bus meldingsbuss

dbus-test-tool

er en D-Bus trafikkgenerator og testverktøy; det er et flerbruksverktøy for feilsøking og profilering D-Bus

dbus-update-activation-environment

brukes til å oppdatere miljøet som brukes til D-Bus sesjonstjenester; den oppdaterer listen over miljøvariabler som brukes av dbus-daemon --session når den aktiverer økttjenester uten å bruke systemd

dbus-uuidgen

brukes til å generere en universell unik ID

libdbus-1.so

inneholder API funksjonene som brukes av D-Bus meldingsdaemonen. D-Bus er først et bibliotek som gir en-til-en kommunikasjon mellom to applikasjoner; dbus-daemon er en applikasjon som bruker dette biblioteket for å implementere en meldingsbuss daemon

elogind-255.22

Introduksjon til elogind

elogind er systemd prosjektets "logind", trukket ut til være en frittstående nisse. Den integreres med Linux-PAM-1.7.2 å spore alle brukerne som er logget på et system, og om de logges på grafisk, på konsollen eller eksternt. Elogind avslører denne informasjonen via standard org.freedesktop.login1 D-Bus grensesnitt, og også gjennom filsystemet ved å bruke systemd sin standard /run/systemd mal.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

elogind Avhengigheter

Anbefalt
Valgfri

lxml-6.0.2, zsh-5.9, Valgrind-3.26.0 (nødvendig for tester), audit-userspace, bash-completion, kexec, og SELinux

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Logind

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjerne på nytt om nødvendig:

File systems --->
  [*] Inotify support for userspace                               [INOTIFY_USER]
  Pseudo filesystems --->
    [*] Tmpfs virtual memory file system support (former shm fs)         [TMPFS]
    [*]   Tmpfs POSIX Access Control Lists                     [TMPFS_POSIX_ACL]

I tillegg trenger noen tester brukerområdets kryptografiske kjerne API, som er aktivert med:

-*- Cryptographic API --->                                              [CRYPTO]
  Crypto core or helper --->
    <*/M> Userspace cryptographic algorithm configuration          [CRYPTO_USER]
  Userspace interface --->
    <*/M> Hash algorithms                                 [CRYPTO_USER_API_HASH]

Installasjon av elogind

Installer elogind ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                               \
      --prefix=/usr                          \
      --buildtype=release                    \
      -D man=auto                            \
      -D docdir=/usr/share/doc/elogind-255.22 \
      -D cgroup-controller=elogind           \
      -D dev-kvm-mode=0660                   \
      -D dbuspolicydir=/etc/dbus-1/system.d &&
ninja

For å teste resultatene, utsted: ninja test. Noen få tester blir hoppet over hvis ikke kjøres med root privilegier. Tre tester, test-login, dbus-docs-fresh, og check-version-history, er kjent for å mislykkes.

Nå, som root bruker:

ninja install                                           &&
ln -sfv  libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &&
ln -sfvn elogind /usr/include/systemd

Parameterforklaringer

-D docdir=/usr/share/doc/elogind-255.22: Dette er nødvendig for å installere dokumentasjon i en versjonert mappe.

-D cgroup-controller=elogind: Denne bryteren er nødvendig for å bygge denne pakken når kjernen ikke er bygget med CONFIG_CGROUPS aktivert. Noter at elogind strengt tatt trenger en kjerne med CONFIG_CGROUPS aktivert under kjøring, men denne bryteren vil tillate å bygge pakken først.

-D dbuspolicydir=/etc/dbus-1/system.d: Denne bryteren angir plasseringen av D-Bus retningslinje mappen.

-D dev-kvm-mode=0660: LFS udev-regelen setter modus for /dev/kvm til 0660. Dette alternativet sikrer elogind udev reglene er i samsvar med LFS konfigurasjonen.

-D man=auto: Standardverdien for denne bryteren er false. Sette den til auto tillater å bygge og installere manualsidene hvis de anbefalte avhengigheter er installert.

-D html=auto: Standardverdien for denne bryteren er false. Sette den til auto tillater å bygge og installere html dokumentasjonen hvis de anbefalte avhengigheter er installert.

-D default-kill-user-processes=false: Avgjør om prosessene til en bruker skal drepes når brukeren logger ut. Standard er true, men dette beseirer den tradisjonelle bruken av screen eller tmux. Dette kan også endres i konfigurasjonsfilen (se nedenfor).

ln -s ...: Disse kommandoene installerer symbolkoblinger slik at programvarepakker kan finne det systemd kompatible biblioteket og deklarasjonene.

Konfigurere elogind

Konfigurasjonsfil

/etc/elogind/logind.conf

Konfigurasjonsinformasjon

Den installerte filen /etc/elogind/logind.conf inneholder alle mulige alternativer med standardinnstillingene, kommentert ut. Det kan være lurt å deaktivere automatisk drepende brukerprosesser når brukeren logger ut, ved å kjøre, som root bruker:

sed -e '/\[Login\]/a KillUserProcesses=no' \
    -i /etc/elogind/logind.conf

Hver bruker må registrere en brukerøkt med Linux-PAM ved pålogging. /etc/pam.d/system-session filen må endres og en ny fil må opprettes for elogind å fungere riktig. Kjør følgende kommandoer som root bruker:

cat >> /etc/pam.d/system-session << "EOF" &&
# Begin elogind addition

session  required    pam_loginuid.so
session  optional    pam_elogind.so

# End elogind addition
EOF
cat > /etc/pam.d/elogind-user << "EOF"
# Begin /etc/pam.d/elogind-user

account  required    pam_access.so
account  include     system-account

session  required    pam_env.so
session  required    pam_limits.so
session  required    pam_unix.so
session  required    pam_loginuid.so
session  optional    pam_keyinit.so force revoke
session  optional    pam_elogind.so

auth     required    pam_deny.so
password required    pam_deny.so

# End /etc/pam.d/elogind-user
EOF

Notat

Etter ferdigstillelse av elogind, du bør sjekke at den fungerer som den skal. Sørg først for at dbus kjører. Det kan være lettest å gjøre dette ved å starte systemet på nytt. Etter å ha logget på igjen, kjør kommandoen loginctl. Resultatet bør indikere at en ØKT og et SETE har blitt opprettet.

Innhold

Installerte Programmer: busctl, elogind-inhibit, og loginctl
Installert Bibliotek: libelogind.so
Installerte Mapper: /usr/lib/elogind, /etc/elogind, /usr/include/elogind, og /usr/share/doc/elogind-255.22

Korte Beskrivelser

busctl

brukes til å introspisere og overvåke D-Bus bussen

elogind-inhibit

brukes til å kjøre et program med avstenging, hvilemodus eller inaktiv inhibitor lock tatt

loginctl

brukes til å introspisere og kontrollere tilstanden til elogind påloggingsbehandler

libelogind.so

er det viktigste elogind verktøybiblioteket

blocaled-0.7

Introduksjon til blocaled

blocaled er en implementering av org.freedesktop.locale1 D-Bus protokollen, som vanligvis leveres med systemd.Den er nødvendig for GNOME skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

blocaled Avhengigheter

Påkrevd

Polkit-127 og libdaemon-0.14

Installasjon av blocaled

Installer blocaled ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
./configure --prefix=/usr --sysconfdir=/etc &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Konfigurere blocaled

Konfigurasjonsfiler

/etc/blocaled.conf

Konfigurasjonsinformasjon

/etc/blocaled.conf inneholder plasseringen av innstillingsfilene som brukes av blocaled. Standarder passer for BLFS. Informasjon om oppføringene er tilgjengelig som kommentarer i filen.

org.freedesktop.locale1 protokoll kan ikke eksportere lokalitetsvariabler. Lokale innstillinger lagres som standard i /etc/locale.conf. Vi må hente dem i bash profilen. Som root bruker, kjør:

cat > /etc/profile.d/i18n.sh << "EOF"
# Begin /etc/profile.d/i18n.sh

if [ -r /etc/locale.conf ]; then source /etc/locale.conf; fi

if [ -n "$LANG" ];              then export LANG; fi
if [ -n "$LC_TYPE" ];           then export LC_TYPE; fi
if [ -n "$LC_NUMERIC" ];        then export LC_NUMERIC; fi
if [ -n "$LC_TIME" ];           then export LC_TIME; fi
if [ -n "$LC_COLLATE" ];        then export LC_COLLATE; fi
if [ -n "$LC_MONETARY" ];       then export LC_MONETARY; fi
if [ -n "$LC_MESSAGES" ];       then export LC_MESSAGES; fi
if [ -n "$LC_PAPER" ];          then export LC_PAPER; fi
if [ -n "$LC_NAME" ];           then export LC_NAME; fi
if [ -n "$LC_ADDRESS" ];        then export LC_ADDRESS; fi
if [ -n "$LC_TELEPHONE" ];      then export LC_TELEPHONE; fi
if [ -n "$LC_MEASUREMENT" ];    then export LC_MEASUREMENT; fi
if [ -n "$LC_IDENTIFICATION" ]; then export LC_IDENTIFICATION; fi

# End /etc/profile.d/i18n.sh
EOF

Så blir /etc/locale filen generert, som root bruker:

cat > /etc/locale.conf << EOF
# Begin /etc/locale.conf

LANG=$LANG

# End /etc/locale.conf
EOF

Hvis du planlegger å kjøre et X (eller Wayland) Window system, kan det være lurt å sette opp X tastaturet. Den beste måten å gjøre det på er å hente innstillinger fra /etc/sysconfig/console, og sende dem til blocaled nissen. Som root bruker:

source /etc/sysconfig/console &&
KEYMAP=${KEYMAP:-us}          &&

gdbus call --system                                             \
           --dest org.freedesktop.locale1                       \
           --object-path /org/freedesktop/locale1               \
           --method org.freedesktop.locale1.SetVConsoleKeyboard \
           "$KEYMAP" "$KEYMAP_CORRECTIONS" true true

Dette bør opprette eller endre Xorg konfigurasjons filen[2] for å matche tastaturinnstillingene som er angitt i KEYMAP.

Innhold

Installert Program: blocaled (i /usr/libexec)
Installert Bibliotek: Ingen
Installert Mappe: /usr/share/blocaled

Korte Beskrivelser

blocaled

er nissen som implementerer org.freedesktop.locale1 D-Bus protokollen



[2] Standard Xorg konfigurasjonsfil er /etc/X11/xorg.conf.d/30-keyboard.conf.

Fcron-3.4.0

Introduksjon til Fcron

Fcron pakken inneholder en periodisk kommandoplanlegger som tar sikte på å erstatte Vixie Cron.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Fcron Avhengigheter

Valgfri

En MTA, text editor (standard er vi fra Vim-9.1.2144 pakken), Linux-PAM-1.7.2, og DocBook-utils-0.6.14

Installasjon av Fcron

Fcron bruker cron innretningen til syslog for å logge alle meldinger. Siden LFS ikke setter opp denne innretningen i /etc/syslog.conf, det må gjøres før installeringen av Fcron. Denne kommandoen vil legge til den nødvendig linjen til nåværende /etc/syslog.conf (utfør som root bruker):

cat >> /etc/syslog.conf << "EOF"
# Begin fcron addition to /etc/syslog.conf

cron.* -/var/log/cron.log

# End fcron addition
EOF

Konfigurasjonsfilen har blitt endret, så å laste inn på nytt sysklogd nissen vil aktivere endringene (igjen som root bruker).

/etc/rc.d/init.d/sysklogd reload

Av sikkerhetsgrunner, en uprivilegert bruker og gruppe for Fcron skal opprettes (utfør som root bruker):

groupadd -g 22 fcron &&
useradd -d /dev/null -c "Fcron User" -g fcron -s /bin/false -u 22 fcron

Fiks nå noen lokaliteter som er hardkodet i dokumentasjonen:

find doc -type f -exec sed -i 's:/usr/local::g' {} \;

Installer Fcron ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --localstatedir=/var   \
            --without-sendmail     \
            --with-boot-install=no \
            --with-systemdsystemunitdir=no &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

DESTDIR installasjon må gjøres som root bruker. Videre, hvis PAM konfigurasjonsfiler skal installeres i /etc/pam.d, du må opprette denne mappen i DESTDIR før du installerer.

Parameterforklaringer

--without-sendmail: Som standard, Fcron vil prøve å bruke sendmail kommandoen fra en MTA pakken for å sende deg på e-post resultatene fra fcron skriptet. Denne bryteren brukes til å deaktivere standard e-postvarsling. Utelat bryteren for å aktivere standarden. Alternativt kan du bruke --with-sendmail=</path/to/MTA command> for å bruke en annen mailer kommando.

--with-boot-install=no: Dette forhindrer installasjon av oppstartskriptet som følger med pakken.

--with-systemdsystemunitdir=no: Dette hindrer bygging av systemd enhetene, som ikke er nødvendig for et SYS V system.

--with-editor=</path/to/editor>: Denne bryteren lar deg angi standard tekstredigerer.

--with-dsssl-dir=</path/to/dsssl-stylesheets>: Kan brukes hvis du har DocBook-utils-0.6.14 installert. For øyeblikket er dsssl stilarkene plassert på /usr/share/sgml/docbook/dsssl-stylesheets-1.79.

Konfigurere Fcron

Konfigurasjonsfiler

/etc/fcron.conf, /etc/fcron.allow, og /etc/fcron.deny

Konfigurasjonsinformasjon

Det er ingen nødvendige endringer i noen av konfigurasjonsfilene. Konfigurasjonsinformasjon finner du på man siden for fcron.conf.

fcron skript er skrevet ved hjelp av fcrontab. Referere til fcrontab man siden for riktige parametere for å håndtere situasjonen din.

Hvis Linux-PAM er installert, to PAM konfigurasjonsfiler er installert i etc/pam.d.Alternativt hvis etc/pam.d ikke brukes, vil installasjonen legge til to konfigurasjonsseksjoner til eksisterende /etc/pam.conf fil. Du bør sørge for at filene samsvarer med dine preferanser. Endre dem etter behov for å passe dine behov.

Periodiske jobber

Hvis du ønsker å sette opp et periodisk hierarki for root brukeren, utfør først følgende kommandoer (som root bruker) for å opprette /usr/bin/run-parts skriptet:

cat > /usr/bin/run-parts << "EOF" &&
#!/bin/sh
# run-parts:  Runs all the scripts found in a directory.
# from Slackware, by Patrick J. Volkerding with ideas borrowed
# from the Red Hat and Debian versions of this utility.

# keep going when something fails
set +e

if [ $# -lt 1 ]; then
  echo "Usage: run-parts <directory>"
  exit 1
fi

if [ ! -d $1 ]; then
  echo "Not a directory: $1"
  echo "Usage: run-parts <directory>"
  exit 1
fi

# There are several types of files that we would like to
# ignore automatically, as they are likely to be backups
# of other scripts:
IGNORE_SUFFIXES="~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp"

# Main loop:
for SCRIPT in $1/* ; do
  # If this is not a regular file, skip it:
  if [ ! -f $SCRIPT ]; then
    continue
  fi
  # Determine if this file should be skipped by suffix:
  SKIP=false
  for SUFFIX in $IGNORE_SUFFIXES ; do
    if [ ! "$(basename $SCRIPT $SUFFIX)" = "$(basename $SCRIPT)" ]; then
      SKIP=true
      break
    fi
  done
  if [ "$SKIP" = "true" ]; then
    continue
  fi
  # If we've made it this far, then run the script if it's executable:
  if [ -x $SCRIPT ]; then
    $SCRIPT || echo "$SCRIPT failed."
  fi
done

exit 0
EOF
chmod -v 755 /usr/bin/run-parts

Deretter oppretter du mappeoppsettet for de periodiske jobbene (igjen som root bruker):

install -vdm754 /etc/cron.{hourly,daily,weekly,monthly}

Til slutt legger du til run-parts til systemets fcrontab (fortsatt som root bruker):

cat > /var/spool/fcron/systab.orig << "EOF"
&bootrun 01 * * * * root run-parts /etc/cron.hourly
&bootrun 02 4 * * * root run-parts /etc/cron.daily
&bootrun 22 4 * * 0 root run-parts /etc/cron.weekly
&bootrun 42 4 1 * * root run-parts /etc/cron.monthly
EOF

Oppstartsskript

Installer /etc/rc.d/init.d/fcron init skriptet fra blfs-bootscripts-20251220 pakken.

make install-fcron

Til slutt, igjen som root bruker, start fcron og generer /var/spool/fcron/systab filen:

/etc/rc.d/init.d/fcron start &&
fcrontab -z -u systab

Innhold

Installerte Programmer: fcron, fcrondyn, fcronsighup, og fcrontab
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/fcron-3.4.0 og /var/spool/fcron

Korte Beskrivelser

fcron

er planleggingsnissen

fcrondyn

er et brukerverktøy beregnet på å samhandle med en kjørende fcron nisse

fcronsighup

instruerer fcron å lese på nytt Fcron tabeller

fcrontab

er et program som brukes til å installere, redigere, liste og fjerne tabeller brukt av fcron

GPM-1.20.7

Introduksjon til GPM

GPM (General Purpose Mouse daemon) pakken inneholder en museserver for konsollen og xterm. Det gir ikke bare støtte for klipp og lim generelt, men bibliotekskomponenten brukes av forskjellig programvare som f.eks Links til å gi musestøtte til applikasjonen. Det er nyttig på skrivebord, spesielt hvis du følger (Beyond) Linux From Scratch instruksjoner; det er ofte mye enklere (og mindre feilutsatt) for å klippe og lime mellom to konsollvinduer enn å skrive alt for hånd!

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

GPM Avhengigheter

Valgfri

texlive-20250308 (for dokumentasjon)

Kjernekonfigurasjon

Aktiver følgende alternativ i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

Device Drivers --->
  Input device support --->
    -*-   Generic input layer (needed for keyboard, mouse, ...)          [INPUT]
    <*/M>   Mouse interface                                     [INPUT_MOUSEDEV]

Installasjon av GPM

Install GPM ved å kjøre følgende kommandoer:

patch -Np1 -i ../gpm-1.20.7-consolidated-1.patch                &&
patch -Np1 -i ../gpm-1.20.7-gcc15_fixes-1.patch                 &&
./autogen.sh                                                    &&
./configure --prefix=/usr --sysconfdir=/etc ac_cv_path_emacs=no &&
make

Hvis texlive-20250308 er installert, bygg GPM manualen som dvi, ps, og pdf formater:

make -C doc gpm.{dvi,ps} &&
dvipdfm doc/gpm.dvi -o doc/gpm.pdf

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install                                          &&

install-info --dir-file=/usr/share/info/dir           \
             /usr/share/info/gpm.info                 &&

rm -fv /usr/lib/libgpm.a                              &&
ln -sfv libgpm.so.2.1.0 /usr/lib/libgpm.so            &&
install -v -m644 conf/gpm-root.conf /etc              &&

install -v -m755 -d /usr/share/doc/gpm-1.20.7/support &&
install -v -m644    doc/support/*                     \
                    /usr/share/doc/gpm-1.20.7/support &&
install -v -m644    doc/{FAQ,HACK_GPM,README*}        \
                    /usr/share/doc/gpm-1.20.7

Hvis texlive-20250308 er installert og du har bygget GPM manualen som dvi, ps, og pdf formater, installer dem som root bruker:

install -vm644 doc/gpm.{dvi,ps,pdf} /usr/share/doc/gpm-1.20.7

Parameterforklaringer

./autogen.sh: Denne kommandoen oppretter det manglende configure skriptet.

ac_cv_path_emacs=no: Denne variabelen arbeider rundt et problem som gjør at pakken feiler å bygges med Emacs-30.2 installert. Det undertrykker også installasjoner av noen «Emacs støttefiler» sendt med GPM. Disse filene er ganske utdaterte og de bør erstattes med Emacs-30.2 innebygde GPM støtte. Hvis du trenger å bruke Emacs-30.2 i en Linux konsoll med musestøtte, du bør installere (eller installere på nytt) Emacs-30.2 etter GPM.

install-info ...: Denne pakken installerer en .info fil, men oppdaterer ikke systemet sin dir fil. Denne kommandoen gjør oppdateringen.

ln -v -sfn libgpm.so.2.1.0 /usr/lib/libgpm.so: Dette kommandoen brukes til å opprette (eller oppdatere) .so symbolkobling til biblioteket.

Konfigurere GPM

Oppstartsskript

Installer /etc/rc.d/init.d/gpm init skriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-gpm

Konfigurasjonsfiler

/etc/gpm-root.conf og ~/.gpm-root: Standard og individuell bruker sin gpm-root konfigurasjonsfiler.

/etc/sysconfig/mouse: Denne filen inneholder navnet på museenheten og protokollen det bruker. For å lage denne filen, kjør følgende som root bruker:

cat > /etc/sysconfig/mouse << "EOF"
# Begin /etc/sysconfig/mouse

MDEVICE="<yourdevice>"
PROTOCOL="<yourprotocol>"
GPMOPTS="<additional options>"

# End /etc/sysconfig/mouse
EOF

Konfigurasjonsinformasjon

Eksempler på verdier å angi MDEVICE, PROTOCOL, og GPMOPTS til å være:

MDEVICE="/dev/input/mice"
PROTOCOL="imps2"
GPMOPTS=""

En liste over hvilke protokollverdier som er kjent kan bli funnet ved å kjøre gpm -m [enhet] -t -help. MDEVICE innstillingen avhenger av hvilken type mus du har. For eksempel, /dev/ttyS0 for en seriell mus (på Windows er dette COM1), /dev/input/mice er ofte brukt til USB mus og /dev/psaux for PS2 mus. GPMOPTS er "catch all" for eventuelle tilleggsalternativer som er nødvendige for maskinvaren din.

Innhold

Installerte Programmer: disable-paste, display-buttons, display-coords, get-versions, gpm, gpm-root, hltest, mev, og mouse-test
Installert Bibliotek: libgpm.so
Installert Mappe: /usr/share/doc/gpm-1.20.7

Korte Beskrivelser

disable-paste

er en sikkerhetsmekanisme som brukes til å deaktivere innlimingsbufferen

display-buttons

er et enkelt program som rapporterer er museknappene er trykket og sluppet

display-coords

er et enkelt program som rapporterer musens koordinater

get-versions

brukes til å rapportere GPM bibliotek og server versjoner

gpm

er et klipp og lim verktøy og museserver for virtuelle konsoller

gpm-root

er en standard behandler for gpm. Det er brukt til å tegne menyer på root vinduet

hltest

er en enkel prøveapplikasjon som bruker høynivåbiblioteket, ment til å leses av programmerere som prøver å bruke høynivåbiblioteket

mev

er et program for å rapportere musehendelser

mouse-test

er et verktøy for å bestemme musetypen og enheten den er knyttet til

libgpm.so

inneholder API funksjoner for å få tilgang til GPM nissen

hwdata-0.404

Introduksjon til hwdata

hwdata pakken inneholder gjeldende PCI- og leverandør-ID data.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av hwdata

Installer hwdata ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-blacklist

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/hwdata

LSB-Tools-0.12

Introduksjon til LSB-Tools

LSB-Tools pakken inkluderer verktøy for overensstemmelse med Linux Standards Base (LSB).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av LSB-Tools

Installer LSB-Tools ved å kjøre følgende kommandoer:

make

Nå, som root bruker:

make install

Fjern en fil som ikke skal installeres som root bruker:

rm /usr/sbin/lsbinstall

Konfigurasjonsinformasjon

Konfigurasjonen for denne pakken ble gjort i LFS. Filen/etc/lsb-release burde allerede eksistere. Pass på at DISTRIB_CODENAME oppføringen er riktig angitt.

Innhold

Installerte Programmer: lsb_release , install_initd, og remove_initd
Installert Bibliotek: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/lsbtools

Korte Beskrivelser

lsb_release

er et skript for å gi LSB data

install_initd

er et skript for å aktivere SysV oppstartsskript

remove_initd

er et skript for å deaktivere SysV oppstartsskript

Logrotate-3.22.0

Introduksjon til Logrotate

logrotate pakken tillater automatisk rotasjon, komprimering, fjerning og utsendelse av loggfiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Logrotate Avhengigheter

Påkrevd

popt-1.19

Anbefalt
Valgfri

En MTA (kjøretid)

Installasjon av Logrotate

Installer logrotate ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make test. To tester mislykkes hvis en MTA ikke er installert.

Nå, som root bruker:

make install

Konfigurere Logrotate

Logrotate trenger en konfigurasjonsfil, som må sendes som et argument til kommandoen når den utføres. Opprett filen som root bruker:

cat > /etc/logrotate.conf << EOF
# Begin /etc/logrotate.conf

# Rotate log files weekly
weekly

# Don't mail logs to anybody
nomail

# If the log file is empty, it will not be rotated
notifempty

# Number of backups that will be kept
# This will keep the 2 newest backups only
rotate 2

# Create new empty files after rotating old ones
# This will create empty log files, with owner
# set to root, group set to sys, and permissions 664
create 0664 root sys

# Compress the backups with gzip
compress

# No packages own lastlog or wtmp -- rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/lastlog {
    monthly
    rotate 1
}

# Some packages drop log rotation info in this directory
# so we include any file in it.
include /etc/logrotate.d

# End /etc/logrotate.conf
EOF

chmod -v 0644 /etc/logrotate.conf

Nå opprett /etc/logrotate.d mappen som root bruker:

mkdir -p /etc/logrotate.d

På dette tidspunktet kan det vanligvis legges inn ekstra loggrotasjonskommandoer i /etc/logrotate.d mappen. For eksempel:

cat > /etc/logrotate.d/sys.log << EOF
/var/log/sys.log {
   # If the log file is larger than 100kb, rotate it
   size   100k
   rotate 5
   weekly
   postrotate
      /bin/killall -HUP syslogd
   endscript
}
EOF

chmod -v 0644 /etc/logrotate.d/sys.log

Du kan angi flere filer i en oppføring:

cat > /etc/logrotate.d/example.log << EOF
file1
file2
file3 {
   ...
   postrotate
    ...
   endscript
}
EOF

chmod -v 0644 /etc/logrotate.d/example.log

Du kan bruke listen over filer på samme linje: fil1 fil2 fil3. Se logrotate man siden eller https://www.techrepublic.com/article/manage-linux-log-files-with-logrotate/ for flere eksempler.

Kommandoen logrotate /etc/logrotate.conf kan bli kjørt manuelt, men kommandoen bør kjøres daglig. Andre nyttige kommandoer er logrotate -d /etc/logrotate.conf for feilsøkingsformål og logrotate -f /etc/logrotate.conf for å tvinge logrotate kommandoer som skal kjøres umiddelbart. Kombiner de tidligere alternativene -df, du kan feilsøke effekten av tvangkommandoen. Ved feilsøking simuleres kommandoene bare og kjøres faktisk ikke. Som et resultat vil feil om filer som ikke eksisterer til slutt vises fordi filene faktisk ikke er opprettet.

For å kjøre logrotate kommandoen daglig, hvis du har installert Fcron-3.4.0 og fullførte delen om periodiske jobber, kjør følgende kommandoer, som root bruker, for å opprette en daglig cron jobb:

cat > /etc/cron.daily/logrotate.sh << "EOF" &&
#!/bin/bash
/usr/sbin/logrotate /etc/logrotate.conf
EOF
chmod 754 /etc/cron.daily/logrotate.sh

Innhold

Installerte Programmer: logrotate
Installert Bibliotek: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

logrotate

utfører loggvedlikeholdsfunksjonene definert i konfigurasjonsfiler

MC-4.8.33

Introduksjon til MC

MC (Midnight Commander) er en tekstmodus fullskjerms filbehandler og visuelt skall. Det gir en tydelig, brukervennlig, og noe beskyttet grensesnitt til et Unix system mens den gjør mange hyppige filoperasjoner mer effektive og bevarer full kraft til ledeteksten.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): http://ftp.midnight-commander.org/mc-4.8.33.tar.xz

  • Nedlasting MD5 sum: b3596c1f092b9822a6cd9c9a1aef8dde

  • Nedlastingsstørrelse: 2.3 MB

  • Estimert diskplass som kreves: 71 MB (legg til 97 MB for tester)

  • Estimert byggetid: 0.3 SBU (bruke parallellisme=4; legg til 0.1 SBU for tester)

MC Avhengigheter

Påkrevd

GLib-2.86.4

Anbefalt
Valgfri

Doxygen-1.16.1, GPM-1.20.7, Graphviz-14.1.2, libarchive-3.8.5, libssh2-1.11.1, Ruby-4.0.1, et grafiske miljø, og Zip-3.0

Installasjon av MC

Installer MC ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --enable-charset  &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--sysconfdir=/etc: Denne bryteren plasserer den globale konfigurasjonsmappen i /etc.

--enable-charset: Denne bryteren legger støtte til mcedit for redigering av filer i forskjellige kodinger fra den som antydes av gjeldende lokalitet.

--with-screen=ncurses: Bruk denne hvis du ikke't har slang-2.3.3 installert.

--with-search-engine=pcre2: Bruk denne bryteren hvis du foretrekker å bruke pcre fra LFS i stedet for GLib for den innebygde søkemotoren.

Konfigurere MC

Konfigurasjonsfiler

~/.config/mc/*

Konfigurasjonsinformasjon

~/.config/mc mappen og innholdet opprettes når du starter mc for første gang. Deretter kan du redigere hoved ~/.config/mc/ini konfigurasjonsfilen manuelt eller gjennom MC skallet. Rådfør deg med mc(1) manualsiden for detaljer.

Innhold

Installerte Programmer: mc og symbolkoblingene mcdiff, mcedit og mcview
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/mc og /usr/{libexec,share}/mc

Korte Beskrivelser

mc

er et visuelt skall

mcdiff

er et internt visuelt diff verktøy

mcedit

er en intern filredigerer

mcview

er en intern filviser

ModemManager-1.24.2

Introduksjon til ModemManager

ModemManager gir en enhetlig høyt nivå API for kommunikasjon med mobilt bredbåndsmodem, uavhengig av protokollen som brukes til å kommunisere med den faktiske enheten.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ModemManager Avhengigheter

Påkrevd

libgudev-238

Anbefalt
Valgfri

GTK-Doc-1.35.1

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/ModemManager

Installasjon av ModemManager

Installer ModemManager ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                 \
      --prefix=/usr            \
      --buildtype=release      \
      -D bash_completion=false \
      -D qrtr=false            \
      -D systemdsystemunitdir=no &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

make install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D bash_completion=false: Bruk dette alternativet hvis den eksterne bash-completion pakken ikke er installert.

-D qrtr=false: Denne bryteren deaktiverer støtte for QRTR protokollen som trenger den eksterne libqrtr-glib pakken.

-D systemdsystemunitdir=no: Denne bryteren forhindrer meson fra å lete etter systemd enhetsmapper og feile siden de ikke er tilgjengelig på SysV systemer.

Innhold

Installerte Programmer: mmcli og ModemManager
Installerte Biblioteker: libmm-glib.so
Installerte Mapper: /etc/ModemManager, /usr/include/libmm-glib, /usr/include/ModemManager, /usr/lib/ModemManager, /usr/share/ModemManager, /usr/share/gtk-doc/html/libmm-glib (valgfri), og /usr/share/gtk-doc/html/ModemManager (valgfri)

Korte Beskrivelser

mmcli

er et verktøy som brukes til å kontrollere og overvåke ModemManager

ModemManager

er en D-Bus tjeneste brukt for å kommunisere med modemer

libmm-glib.so

inneholder API funksjoner for kommunikasjon med mobilt bredbånd modemer, uavhengig av protokollen som brukes til å kommunisere med den faktiske enheten

notification-daemon-3.20.0

Introduksjon til Notification Daemon

Notification Daemon pakken inneholder en nisse som viser passive sprettopp varsler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notification Daemon Avhengigheter

Påkrevd

GTK-3.24.51 og libcanberra-0.30 (Bygget med GTK-3.24.51 støtte).

Installasjon av Notification Daemon

Installer Notification Daemon ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Du kan teste notification daemon med kommandoen notify-send:

pgrep -l notification-da &&
notify-send -i info Information "Hi ${USER}, This is a Test"

Kommandoen pgrep -l notification-da legges til for å sikre at det er nissen til denne pakken som kjører, ikke en annen, f.eks. nissen fra xfce4-notifyd-0.9.7.

Innhold

Installert Program: Ingen
Installert Bibliotek: Ingen
Installert Mappe: Ingen

Pax-20240817

Introduksjon til Pax

pax er et arkiveringsverktøy laget av POSIX og definert av POSIX.1-2001-standarden. Heller enn å ordne de inkompatible alternativene som har sneket seg opp mellom tar og cpio, sammen med deres implementeringer på tvers av forskjellige versjoner av UNIX, IEEE designet et nytt arkivverktøy. Navnet «pax» er et akronym for portable archive exchange. Videre, «pax» mener «fred» i Latin, så navnet dens innebærer at det skal skape fred mellom tar og cpio formatstøttere. Kommandopåkallelsen og kommandostrukturen er en forening av både tar og cpio.

pax har vært pålagt å være tilstede i LSB samsvarende systemer siden LSB versjon 3.0.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Pax

Installer pax ved å kjøre følgende kommandoer:.

Notat

Denne pakken utvides til mappen pax.

bash Build.sh

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

Notat

Denne pakken lager også harde lenker fra pax til programmene cpio og tar i byggemappen. LFS redaksjonen anbefaler ikke at de blir installert da de vil overskrive GNU versjonene av disse programmene.

install -v pax /usr/bin &&
install -v -m644 pax.1 /usr/share/man/man1

Innhold

Installert Program: pax

Korte Beskrivelser

pax

kopierer filer til og fra arkiver i flere formater

pm-utils-1.4.1

Introduksjon til Power Management Utilities

Power Management Utilities gir et enkelt skallkommandolinjeverktøy for å suspendere og dvale datamaskinen. Det kan brukes til å kjøre brukerleverte skript ved suspendering og gjenopptagelse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Power Management Utilities Avhengigheter

Valgfri

xmlto-0.0.29 (for å generere man sider)

Valgfri (kjøretid)

Hdparm-9.65, Wireless Tools-29, ethtool, og vbetool

Kjernekonfigurasjon

Aktiver om nødvendig følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt:

Power management and ACPI options --->
  [*] Suspend to RAM and standby                                       [SUSPEND]
  [*] Hibernation (aka 'suspend to disk')                          [HIBERNATION]

Suspend to RAM lar systemet gå inn i dvaletilstander i hvilke hovedminnet er drevet og dermed blir innholdet bevart. Metoden kutter strøm til de fleste deler av maskinen bortsett fra RAM. På grunn av store strømbesparelser, er det tilrådelig for bærbare datamaskiner å gå automatisk inn i denne modusen når datamaskinen kjører på batterier og lokket er lukket (eller brukeren er inaktiv en stund).

Suspend to disk (dvalemodus) lagrer maskinens tilstand til veksleminnet og slår av maskinen helt. Når maskinen blir slått på, statusen blir gjenopprettet. Inntil da er det null strømforbruk. Suspend til RAM og dvalemodus er vanligvis passende for bærbare enheter som bærbare datamaskiner, men kan brukes på arbeidsstasjoner. Evnen er egentlig ikke passende for servere.

For å bruke dvalemodus, kjerneparameteren resume=/dev/<swap_partition> må brukes på kjernekommandoenlinjen (i grub.cfg). veksleminnepartisjonen bør minst være på størrelse med den fysiske RAM-en på systemet.

Installasjon av Power Management Utilities

Først, fikse flere feil og et par inkompatibiliteter med nyere kjerner:

patch -Np1 -i ../pm-utils-1.4.1-bugfixes-1.patch

Installer Power Management Utilities ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/pm-utils-1.4.1 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du ikke har xmlto-0.0.29 installert, kopier forhåndsgenererte man sider, som root bruker:

install -v -m644 man/*.1 /usr/share/man/man1 &&
install -v -m644 man/*.8 /usr/share/man/man8 &&
ln -sv pm-action.8 /usr/share/man/man8/pm-suspend.8 &&
ln -sv pm-action.8 /usr/share/man/man8/pm-hibernate.8 &&
ln -sv pm-action.8 /usr/share/man/man8/pm-suspend-hybrid.8

Konfigurere Power Management Utilities

Suspend eller gjenoppta funksjonalitet kan enkelt endres ved å installere filer inn i det /etc/pm/sleep.d mappen. Disse filene, kjent som kroker, kjøres når systemet settes i dvale tilstand eller gjenopptatt. Standard kroker er plassert i /usr/lib/pm-utils/sleep.d, og brukerkroker bør puttes i /etc/pm/sleep.d. Se pm-action(8) manualsiden for mer informasjon.

For å bruke dvalemodus med GRUB og en vekselminnepartisjon, må du legge til kjerneparameter resume=swap_partition (f.eks. resume=/dev/sda1) til kjernelinjen i /boot/grub/grub.cfg konfigurasjonsfil.

Innhold

Installerte Programmer: on_ac_power, pm-hibernate, pm-is-supported, pm-powersave, pm-suspend og pm-suspend-hybrid
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/pm, /usr/lib/pm-utils og /usr/share/doc/pm-utils-1.4.1

Korte Beskrivelser

on_ac_power

er et skript som bestemmer om systemet kjører på strøm (i stedet for et batteri)

pm-hibernate

er en symbolkobling til pm-action skriptet som setter datamaskinen inn i dvalemodus (systemet er helt slått av og systemtilstanden er lagret på disk)

pm-is-supported

er et skript som sjekker om strømstyringsfunksjoner som f.eks suspendering og dvalemodus støttes

pm-powersave

er et skript som setter datamaskinen i strømsparing (lite strøm) modus

pm-suspend

er en symbolkobling til pm-action skriptet som setter datamaskinen i suspendering modus (de fleste enheter er slått av og systemtilstand lagres i RAM)

pm-suspend-hybrid

er en symbolkobling til pm-action skriptet som setter datamaskinen inn i hybrid-suspend-modus (systemet gjør alt det trenger for dvale, men suspenderer i stedet for å slå av)

Power-profiles-daemon-0.30

Introduksjon til Power-profiles-daemon

Power-profiles-daemon pakken gir et program som tillater endring av systemets strøm-/atferdstilstand. Denne brukes på mange bærbare datamaskiner og kan brukes av et skrivebordsmiljø for å aktivere strømsparing eller ytelse CPU regulatorer gjennom dbus. På andre systemer, Power-profiler-daemon kan brukes som en strømlinjeformet måte å stille inn CPU regulatoren for å øke systemets ytelse på bekostning av energibruk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Power-profiles-daemon Avhengigheter

Påkrevd

Polkit-127, PyGObject-3.54.5 (pycairo er ikke nødvendig), og UPower-1.91.1

Valgfri

GTK-Doc-1.35.1, Resten er for testene, dbusmock-0.38.1, umockdev-0.19.4, isort, og mccabe

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjerne på nytt om nødvendig:

Power management and ACPI options --->
  CPU Frequency scaling --->
    -*-   CPU Frequency scaling                                       [CPU_FREQ]
    -*-     'performance' governor                    [CPU_FREQ_GOV_PERFORMANCE]
    <*/M>   'powersave' governor                        [CPU_FREQ_GOV_POWERSAVE]
    # Select if CPU is Intel:
    [ /*]   Intel P state control                             [X86_INTEL_PSTATE]
    # Select if CPU is AMD:
    [ /*]   AMD Processor P-State driver                        [X86_AMD_PSTATE]

Device Drivers --->
  # Some drivers under this submenu provide "platform profile" support
  # and power-profiles-daemon can take advantage from platform profiles;
  # select a driver if suitable for your platform:
  [ /*] X86 Platform Specific Device Drivers --->         [X86_PLATFORM_DEVICES]

Velg de aktuelle underalternativene som vises når alternativene ovenfor er valgt. Så mye som mulig, oppsettet skal være det samme som i kjernekonfigurasjonsmenyer.

Installasjon av Power-profiles-daemon

Installer Power-profiles-daemon ved å kjøre følgende kommandoer:

mkdir build &&
cd build &&

meson setup                        \
      --prefix=/usr                \
      --buildtype=release          \
      -D gtk_doc=false             \
      -D tests=false               \
      -D systemdsystemunitdir=/tmp \
      .. &&
ninja

Hvis du har installert de eksterne avhengighetene, for å teste resultatet utsted: ninja test.

Nå, som root bruker:

ninja install

Rydd nå opp i en unødvendig systemd enhet installert i /tmp:

rm -fv /tmp/power-profiles-daemon.service

Opprett en mappe som kreves for vedvarende strømtilstander etter omstart:

install -vdm755 /var/lib/power-profiles-daemon

Parameterforklaringer

-D gtk_doc=false: Hindrer bygging av dokumentasjonen. Fjern denne hvis du har GTK-Doc installert og ønsker å bygge dokumentasjonen.

-D tests=false: Hindrer bygging av tester fordi de ikke kan kjøres innenfor grensene til BLFS. Fjern dette hvis du har installert de eksterne avhengighetene og ønsker å kjøre testene.

-D systemdsystemunitdir=/tmp: Fjerner avhengigheten av systemd.

Konfigurere Power-profiles-daemon

Oppstartsskript

For å automatisk starte power-profiles-daemon når systemet startes på nytt, installer /etc/rc.d/init.d/power-profiles-daemon oppstartsskript fra blfs-bootscripts-20251220 som root bruker:

make install-power-profiles-daemon

Velg en strømprofil

For å liste opp alle støttede strømprofiler, utsted:

powerprofilesctl

For å aktivere en strømprofil (for eksempel performance), utsted:

powerprofilesctl set performance

Noen skrivebordsmiljøer (for eksempel GNOME og KDE) gir også et grafisk grensesnitt for å samhandle med power-profiles-daemon og aktivere en strømprofil.

Den aktiverte strømprofilen lagres automatisk i /var/lib/power-profiles-daemon/state.ini og power-profiles-daemon skal lese den og aktiver den igjen ved neste oppstart hvis oppstartsskriptet er installert som ovenfor.

Obs

På noen eldre systemer vil det se ut som om power-profiles-daemon installerer og indikerer riktige verdier, men det vil ikke fungere. For å sjekke dette, kjør cat /sys/devices/system/cpu/cpufreq/policy0/scaling_driver. Hvis resultatet ikke er «intel_pstate», men i stedet «intel_cpufreq» (eller lignende på AMD-systemer), må endringer i strømforbruket gjøres manuelt..

For å endre strømtilstander manuelt, sjekk først hvilke regulatorer som er tilgjengelige med: cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors. Sett deretter ønsket regulator som root bruker med:

gov=performance
for CPUFREQ in /sys/devices/system/cpu/cpufreq/policy*/scaling_governor; do
  echo -n ${gov} > ${CPUFREQ}
done

Hvis du setter scaling_governor til «ytelse», må du være forsiktig med problemer, med varme og batteri, ved langvarig bruk..

Innhold

Installert Program: powerprofilesctl
Installert Bibliotek: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

powerprofilesctl

Dette lar brukeren stille inn strømregulatoren til CPU.

Raptor-2.0.16

Introduksjon til Raptor

Raptor er et C bibliotek som gir et sett med parsere og serialiseringsprogrammer som genererer Resource Description Framework (RDF) triples.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.librdf.org/source/raptor2-2.0.16.tar.gz

  • Nedlasting MD5 sum: 0a71f13b6eaa0a04bf411083d89d7bc2

  • Nedlastingsstørrelse: 1.7 MB

  • Estimert diskplass som kreves: 25 MB (ytterligere 2 MB for testene)

  • Estimert byggetid: 0.1 SBU (ytterligere 0.3 SBU for testene)

Raptor Avhengigheter

Påkrevd

cURL-8.18.0 og libxslt-1.1.45

Valgfri

GTK-Doc-1.35.1, ICU-78.2 og libyajl

Installasjon av Raptor

Først, fiks en inkompatibilitet med libxml2-2.11.x:

sed -i 's/20627/20627 \&\& LIBXML_VERSION < 21100/' src/raptor_libxml.c

Installer Raptor ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check. Flere av XML testene kan mislykkes.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-icu-config=/usr/bin/icu-config: Bruk denne bryteren hvis du har installert ICU-78.2 og ønsker å bygge Raptor med dens støtte.

Innhold

Installerte Programmer: rapper
Installerte Biblioteker: libraptor2.so
Installerte Mapper: /usr/include/raptor2 og /usr/share/gtk-doc/html/raptor2

Korte Beskrivelser

rapper

er et RDF parsing- og serialiseringsverktøy

libraptor2.so

inneholder Raptor API funksjoner

Rasqal-0.9.33

Introduksjon til Rasqal

Rasqal er et C bibliotek som håndterer Resource Description Framework (RDF) spørringsspråksyntakser, spørringskonstruksjon og utførelse av spørringer som returnerer resultater som bindinger, boolske, RDF-grafer/tripler eller syntakser.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.librdf.org/source/rasqal-0.9.33.tar.gz

  • Nedlasting MD5 sum: 1f5def51ca0026cd192958ef07228b52

  • Nedlastingsstørrelse: 1.6 MB

  • Estimert diskplass som kreves: 22 MB (ytterligere 4 MB for testene)

  • Estimert byggetid: 0.3 SBU (ytterligere 0.7 SBU for testene)

Rasqal Avhengigheter

Påkrevd

Raptor-2.0.16

Valgfri

libgcrypt-1.12.0

Installasjon av Rasqal

Installer Rasqal ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: rasqal-config og roqet
Installert Bibliotek: librasqal.so
Installerte Mapper: /usr/include/rasqal og /usr/share/gtk-doc/html/rasqal

Korte Beskrivelser

rasqal-config

er et verktøy for å hente installasjonsalternativene for Rasqal

roqet

er et RDF spørringsverktøy

Redland-1.0.17

Introduksjon til Redland

Redland er et sett med gratis programvare C biblioteker som gir støtte til Resource Description Framework (RDF).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Redland Avhengigheter

Påkrevd

Rasqal-0.9.33

Valgfri

MariaDB-11.8.6 eller MySQL, PostgreSQL-18.2, Berkeley DB (deprecated) libiodbc, virtuoso, og 3store

Installasjon av Redland

Installer Redland ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: rdfproc, redland-config og redland-db-upgrade
Installerte Biblioteker: librdf.so og /usr/lib/redland/librdf_storage_*.so
Installerte Mapper: /usr/lib/redland, /usr/share/gtk-doc/html/redland og /usr/share/redland

Korte Beskrivelser

rdfproc

er Redland RDF prosessorverktøyet

redland-config

er et skript for å få informasjon om den installerte versjonen av Redland

redland-db-upgrade

oppgraderer eldre Redland databaser til 0.9.12 formatet

Sysstat-12.7.9

Introduksjon til Sysstat

Sysstat pakken inneholder verktøy for å overvåke systemytelse og bruksaktivitet. Sysstat inneholder sar verktøyet, vanlig for mange kommersielle Unixer, og verktøy du kan planlegge via cron for å samle inn og lage historikk for ytelses- og aktivitetsdata.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Sysstat Avhengigheter

Installasjon av Sysstat

Installer Sysstat ved å kjøre følgende kommandoer:

sa_lib_dir=/usr/lib/sa    \
sa_dir=/var/log/sa        \
conf_dir=/etc/sysstat     \
./configure --prefix=/usr \
            --disable-file-attr &&
make

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sa_lib_dir: Denne miljøvariabelen spesifiserer plassering av den pakkespesifikke bibliotekmappen.

sa_dir: Denne miljøvariabelen spesifiserer plasseringen av mappen som inneholder datafilene.

conf_dir: Denne miljøvariabelen spesifiserer plasseringen av systemkonfigurasjonsmappen.

--disable-file-attr: Ikke sett attributter på filer som installeres. Denne parameteren gjør at installasjonen ignorerer man gruppevariabelen som resulterer i at man filene har root: root eierskap.

Notat

Kjør ./configure --help å se andre innflytelsesrike miljøvariabler du kan overføre til configure. Du vil kanskje bruke history og compressafter variabler for å tilpasse mengden data filer lagrer på systemet.

Konfigurere Sysstat

Konfigurasjonsfiler

/etc/sysconfig/sysstat og /etc/sysconfig/sysstat.ioconf

Cron Informasjon

For å begynne å samle Sysstat historieinformasjon, må du legge til eller opprette en privilegert brukers crontab. Historiedataplasseringen er /var/log/sa. Brukeren som kjører Sysstat verktøy via cron må ha skrivetilgang til dette stedet.

Nedenfor er et eksempel på hva som skal installeres i crontab. Juster parametere som passer dine behov. Bruk man sa1 og man sa2 for informasjon om kommandoene.

# 8am-7pm activity reports every 10 minutes during weekdays
0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &

# 7pm-8am activity reports every hour during weekdays
0 19-7 * * 1-5 /usr/lib/sa/sa1 &

# Activity reports every hour on Saturday and Sunday
0 * * * 0,6 /usr/lib/sa/sa1 &

# Daily summary prepared at 19:05
5 19 * * * /usr/lib/sa/sa2 -A &

Sørg for at du sender inn den reviderte crontaben til cron nissen.

Informasjon om systemoppstart

Ved systemoppstart må en LINUX RESTART melding settes inn i daglig datafil for å reinitialisere kjernetellerne. Dette kan automatiseres ved å installere /etc/rc.d/init.d/sysstat initskript inkludert i blfs-bootscripts-20251220 pakken ved å bruke følgende kommando som root bruker:

make install-sysstat

Innhold

Installerte Programmer: cifsiostat, iostat, mpstat, pidstat, sadf, sar, og tapestat
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/sa, /usr/share/doc/sysstat-12.7.9 og /var/log/sa

Korte Beskrivelser

cifsiostat

viser statistikk om lese- og skriveoperasjoner på CIFS filsystemer

iostat

rapporterer CPU-statistikk og inndata/utdata statistikk for enheter og partisjoner

mpstat

skriver aktiviteter for hver tilgjengelig prosessor

pidstat

brukes til å overvåke individuelle oppgaver som for øyeblikket administreres av Linux kjernen

sadf

brukes til å vise innholdet i datafiler opprettet av sar kommandoen. Men i motsetning til sar, sadf kan skrive dataene sine i mange forskjellige formater

sar

brukes til å vise innholdet i valgt kumulativ aktivitets tellere i operativsystemet

tapestat

brukes til å overvåke aktiviteten til båndstasjoner koblet til et system

UDisks-2.11.0

Introduksjon til UDisks

UDisks pakken gir en nisse, verktøy og biblioteker for å få tilgang til og manipulere disker og lagringsenheter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

UDisks Avhengigheter

Påkrevd

libatasmart-0.19, libblockdev-3.4.0, libgudev-238, og Polkit-127

Anbefalt
Valgfri (Påkrevd hvis du bygger GNOME)

GLib-2.86.4 (med GObject Introspection)

Valgfri

D-Bus Python-1.4.0 (for integrasjonstestene), GTK-Doc-1.35.1, libxslt-1.1.45 (for manualsidene), LVM2-2.03.38, PyGObject-3.54.5 (for integrasjonstestene), exFAT, og libiscsi

Valgfrie kjøretidsavhengigheter

btrfs-progs-6.17.1, dbus-1.16.2, dosfstools-4.2, gptfdisk-1.0.10, mdadm-4.4, og xfsprogs-6.18.0

Installasjon av UDisks

Installer UDisks ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-static     \
            --enable-available-modules &&
make

For å teste resultatene, kjør: make check. En mer grundig test kan kjøres med make ci. Du må først lage mappene /var/run/udisks2 og /var/lib/udisks2, og de valgfrie python moduler skal være til stede.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

--enable-available-modules: Denne bryteren aktiverer ytterligere UDisks2 funksjoner hvis libblockdev-3.4.0 er bygget med valgfrie avhengigheter.

Innhold

Installerte Programmer: udisksctl og umount.udisks2
Installert Bibliotek: libudisks2.so
Installerte Mapper: /etc/udisks2, /usr/include/udisks2, /usr/libexec/udisks2, /usr/share/gtk-doc/html/udisks2, og /var/lib/udisks2

Korte Beskrivelser

udisksctl

er et kommandolinjeprogram som brukes til å samhandle med udisksd nissen

umount.udisks2

er et kommandolinjeprogram som brukes til å demontere filsystemer som er montert av UDisks nissen

libudisks2.so

inneholder UDisks API funksjoner

UnRar-7.2.4

Introduksjon til UnRar

UnRar pakken inneholder en RAR utpakningsverktøy brukt til å pakke ut filer fra RAR arkiver. RARarkiver opprettes vanligvis med WinRAR, først og fremst i et Windows miljø.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av UnRar

Notat

Denne pakken pakker ut tarballen til den uversjonerte mappen unrar og ikke den forventede mappen unrar-7.2.4.

Installer UnRar ved å kjøre følgende kommandoer:

make -f makefile

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

install -v -m755 unrar /usr/bin

Innhold

Installert Program: unrar
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

unrar

pakker ut et RAR arkiv

UPower-1.91.1

Introduksjon til UPower

UPower pakken gir et grensesnitt for å telle strømenheter, lytte til enhetshendelser og spørre historie og statistikk. Enhver applikasjon eller tjeneste på systemet kan få tilgang til org.freedesktop.UPower tjenesten via systemmeldingsbussen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

UPower Avhengigheter

Påkrevd

libgudev-238 og libusb-1.0.29

Valgfri (Påkrevd hvis du bygger GNOME)

GLib-2.86.4 (med GObject Introspection)

Valgfri

GTK-Doc-1.35.1, libxslt-1.1.45, docbook-xsl-nons-1.79.2, PyGObject-3.54.5, dbusmock-0.38.1, umockdev-0.19.4 (for en del av testpakken), og libimobiledevice

Installasjon av UPower

Installer UPower ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                   \
      --prefix=/usr              \
      --buildtype=release        \
      -D gtk-doc=false           \
      -D man=false               \
      -D systemdsystemunitdir=no \
      -D udevrulesdir=/usr/lib/udev/rules.d &&
ninja

For å teste resultatene, utsted: LC_ALL=C ninja test. Testpakken skal kjøres fra en lokal GUI økt startet med dbus-launch. På 32-bits maskiner vil en test mislykkes på grunn av avrundingsfeil: Tests.test_battery_energy_charge_mixed. På noen systemer er to tester knyttet til hodetelefonens hotplug-funksjon kjent for å mislykkes. De kan trygt ignoreres siden funksjonaliteten fortsatt virker.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D gtk-doc=false: Hindrer byggingen av dokumentasjonen. Fjern denne hvis du har GTK-Doc installert og ønsker å bygge dokumentasjonen.

-D man=false: Hindrer byggingen av manualsider. Fjern denne hvis du har libxslt-1.1.45 og docbook-xsl-nons-1.79.2 installert og ønsker å bygge manualsider.

-D systemdsystemunitdir=no: Fjerner avhengigheten på systemd.

-D udevrulesdir=/usr/lib/udev/rules.d: Forteller byggesystemet hvor den skal installere udev regler fordi informasjonen mangler i /usr/lib/pkgconfig/libudev.pc

Innhold

Installert Program: upower
Installerte Biblioteker: libupower-glib.so
Installerte Mapper: /etc/UPower, /usr/include/libupower-glib, og /var/lib/upower

Korte Beskrivelser

upower

er UPower kommandolinjeverktøy

libupower-glib.so

inneholder UPower API funksjoner

Which-2.23 og Alternativer

Tilstedeværelsen eller fraværet av which programmet i i LFS hovedboken er sannsynligvis en av de mest omstridte sakene på e-postlistene. Det har resultert i minst en flammekrig tidligere. For å forhåpentligvis få slutt på dette en gang for alle, presentert her er to alternativer for å utstyre systemet med which. Spørsmål om hvilken «which» er for deg å bestemme.

Introduksjon til GNU Which

Det første alternativet er å installere den faktiske GNU which pakken.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Which

Installer which ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: which
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

which

viser hele banen til (skall)kommandoer installert i din PATH

'which' Skriptet

Det andre alternativet (for de som ikke vil installere pakken) er å lage et enkelt skript (utfør som root bruker):

cat > /usr/bin/which << "EOF"
#!/bin/bash
type -pa "$@" | head -n 1 ; exit ${PIPESTATUS[0]}
EOF
chmod -v 755 /usr/bin/which
chown -v root:root /usr/bin/which

Dette skal fungere OK og er sannsynligvis den enkleste løsningen for de fleste tilfeller, men er ikke den mest omfattende implementeringen.

xdotool-4.20251130.1

Introduksjon til xdotool

xdotool pakken gir mulighetene for å simulere tastaturinndata og museaktivitet, flytte og endre størrelse på vinduer, osv. Den gjør dette ved å bruke X11s XTEST utvidelse og andre Xlib funksjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xdotool Avhengigheter

Påkrevd

Xorg Biblioteker

Valgfri

Ruby-4.0.1 (for tester)

Installasjon av xdotool

Først, fiks en ugyldig sti i en installert pkg-config fil:

sed -i 's#/local##' libxdo.pc

Installer xdotool ved å kjøre følgende kommandoer:

make WITHOUT_RPATH_FIX=1

For å kjøre testene, gjør følgende:

cd t
make all-headless
cd ..

Nå, som root bruker:

make PREFIX=/usr INSTALLMAN=/usr/share/man install

Innhold

Installert Program: xdotool
Installerte Biblioteker: libxdo.so
Installerte Mapper: Ingen

Zip-3.0

Introduksjon til Zip

Zip pakken inneholder Zip verktøy. Disse er nyttige for å komprimere filer til ZIP arkiver.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Zip

Installer Zip ved å kjøre følgende kommandoer:

make -f unix/Makefile generic CC="gcc -std=gnu89"

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make prefix=/usr MANDIR=/usr/share/man/man1 -f unix/Makefile install

Parameterforklaringer

CC="gcc -std=gnu89": Denne parameteren overstyrer CC variabelen som er satt til cc i unix/Makefile filen. I LFS cc er en symbolkobling til gcc, og den bruker -std=gnu17 (ISO 9899:2017 med GNU utvidelser) som standard, men Zip er en «legacy» pakke der noen grammatikkkonstruksjoner er ugyldige i ISO 9899:1999 og nyere standarder.

prefix=/usr: Denne parameteren overstyrer prefix variabelen som er satt til /usr/local i unix/Makefile filen.

Innhold

Installerte Programmer: zip, zipcloak, zipnote, og zipsplit
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

zip

komprimerer filer til et ZIP arkiv

zipcloak

er et verktøy for å kryptere og dekryptere et ZIP arkiv

zipnote

leser eller skriver kommentarer som er lagret i en ZIP fil

zipsplit

er et verktøy for å dele ZIP filer i mindre filer

Maskinvareverktøy

Hdparm-9.65

Introduksjon til Hdparm

Hdparm pakken inneholder et verktøy som er nyttig for å få informasjon om og kontrollere ATA/IDE kontrollere og harddisker. Det tillater å øke ytelsen og noen ganger for å øke stabiliteten.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Advarsel

I tillegg til å være nyttig, feil bruk av Hdparm kan ødelegge informasjonen din og i sjeldne tilfeller, stasjoner. Bruk med forsiktighet og sørg for at du vet hva du gjør. Hvis du er i tvil, anbefales det at du ikke forandrer standard kjerneparametere.

Pakkeinformasjon

Installasjon av Hdparm

Bygg Hdparm ved å kjøre følgende kommandoer:

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make binprefix=/usr install

Innhold

Installert Program: hdparm
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

hdparm

gir et kommandolinjegrensesnitt til forskjellige harddisk ioctls støttet av standard Linux ATA/IDE enhetsdriverundersystemet

lm-sensors-3-6-2

Introduction to lm-sensors

lm-sensors pakken gir brukerplass støtte for maskinvareovervåkingsdriverne i Linux kjernen. Dette er nyttig for å overvåke temperaturen på CPU og justere ytelsen til noe maskinvare (for eksempel kjølevifter).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lm-sensors Avhengigheter

Påkrevd

Which-2.23

Valgfri

RRDtool (påkrevd for å bygge sensord programmet) og dmidecode (kjøretid)

Kjernekonfigurasjon

Følgende konfigurasjonsalternativer prøver å dekke de vanligste maskinvareovervåkingsenheter i et typisk stasjonært eller bærbart system. Se hjelpen til hver (ved å trykke på H knapp med alternativet fokusert i make menuconfig) å vite om du trenger det. Det er mye plattformspesifikk maskinvare overvåkingsenheter slik at det er umulig å liste opp konfigurasjonen for alle her. Du kan undersøke innholdet i /sys/class/hwmon innenfor en «mainstream» distro som kjører på systemet for å vite hvilken drivere du trenger.

Power management and ACPI options --->
  [*] ACPI (Advanced Configuration and Power Interface) Support --->      [ACPI]
    < /*/M> Battery                                               [ACPI_BATTERY]
    < /*/M> Thermal Zone                                          [ACPI_THERMAL]

Device Drivers --->
  NVME Support --->
    < /*> NVM Express block device                                [BLK_DEV_NVME]
    # Set [HWMON] to <*> (not <M>!) or it will not show up:
    [ /*] NVMe hardware monitoring                                  [NVME_HWMON]
  <*/M> Hardware Monitoring support --->                                 [HWMON]
    < /*/M> AMD Athlon64/FX or Opteron temperature sensor       [SENSORS_K8TEMP]
    < /*/M> AMD Family 10h+ temperature sensor                 [SENSORS_K10TEMP]
    < /*/M> AMD Family 15h processor power                [SENSORS_FAM15H_POWER]
    < /*/M> Intel Core/Core2/Atom temperature sensor          [SENSORS_CORETEMP]

Kompiler kjernen på nytt og start på nytt den nye kjernen.

Installasjon av lm-sensors

Installer lm-sensors ved å kjøre følgende kommandoer:

make PREFIX=/usr        \
     BUILD_STATIC_LIB=0 \
     MANDIR=/usr/share/man

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PREFIX=/usr        \
     BUILD_STATIC_LIB=0 \
     MANDIR=/usr/share/man install &&

install -v -m755 -d /usr/share/doc/lm-sensors-3-6-2 &&
cp -rv              README INSTALL doc/* \
                    /usr/share/doc/lm-sensors-3-6-2

Parameterforklaringer

BUILD_STATIC_LIB=0: Denne parameteren deaktiverer kompilering og installering av den statiske versjonen av libsensors.

PROG_EXTRA=sensord: Denne parameteren aktiverer kompilering av sensord, en nisse som kan overvåke systemet ditt med jevne mellomrom. Kompilere sensord krever RRDtool. Vær sikker å installere RRDtool i /usr ved å kjøre make prefix=/usr når du bygger den. Ellers vil ikke lm-sensors finne det lett.

Konfigurere lm-sensors

Konfigurasjonsfil

/etc/sensors3.conf

Innhold

Installerte Programmer: fancontrol, isadump, isaset, pwmconfig, sensors, sensors-conf-convert, sensors-detect, og valgfri, sensord
Installert Bibliotek: libsensors.so
Installerte Mapper: /etc/sensors.d, /usr/include/sensors og /usr/share/doc/lm-sensors-3-6-2

Korte Beskrivelser

fancontrol

er et skallskript for bruk med lm-sensors. Den leser konfigurasjonen fra en fil (/etc/sensors3.conf som standard), beregner deretter vifte hastigheter fra temperaturer og setter de tilsvarende PWM utgangene til de beregnede verdiene

isadump

er et lite hjelpeprogram for å undersøke registre som er synlige gjennom ISA bussen. Den er ment å sondere enhver brikke som bor på ISA bussen arbeider med et adresseregister og et dataregister (I2C lignende tilgang) eller et flatt område (på opptil 256 byte)

isaset

er et lite hjelpeprogram for å sette registre synlige gjennom ISA bussen

pwmconfig

tester utgangene for pulsbreddemodulasjon (PWM) til sensorer og konfigurerer viftekontroll

sensors

skriver ut gjeldende avlesninger for alle sensorbrikker

sensors-conf-convert

er et Perl skript for å konvertere lm-sensors versjon 2 konfigurasjonsfiler til å virke med versjon 3

sensors-detect

er et Perl skript som vil lede deg gjennom prosessen med å skanne systemet for forskjellig maskinvare overvåkingsbrikker (sensorer) støttet av libsensors, eller mer generelt av lm-sensors verktøypakke

sensord

(valgfri) er en nisse som kan brukes til periodisk logging av sensor avlesninger

libsensors.so

inneholder lm-sensors API funksjoner

pciutils-3.14.0

Introduksjon til PCI Utils

PCI Utils pakken inneholder et sett med programmer for å liste PCI enheter, inspisere status og innstilling av konfigurasjonsregistre.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

pciutils Avhengigheter

Anbefalt

Installasjon av PCI Utils

Forhindre installasjon av pci.ids filen for å unngå konflikt med hwdata-0.404 pakken:

sed -r '/INSTALL/{/PCI_IDS|update-pciids /d; s/update-pciids.8//}' \
    -i Makefile

Installer PCI Utils ved å kjøre følgende kommandoer:

make PREFIX=/usr                \
     SHAREDIR=/usr/share/hwdata \
     SHARED=yes

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PREFIX=/usr                \
     SHAREDIR=/usr/share/hwdata \
     SHARED=yes                 \
     install install-lib        &&

chmod -v 755 /usr/lib/libpci.so

Deretter installerer du hwdata-0.404 pakken for pci.ids filen.

Parameterforklaringer

SHARED=yes: Denne parameteren aktiverer bygging av det delte biblioteket i stedet for det statiske.

Innhold

Installerte Programmer: lspci, pcilmr, og setpci
Installert Bibliotek: libpci.so
Installerte Mapper: /usr/include/pci

Korte Beskrivelser

lspci

er et verktøy for å vise informasjon om alle PCI busser i systemet og alle enheter som er koblet til dem

pcilmr

er et verktøy for å administrere PCIe koblinger

setpci

er et verktøy for spørring og konfigurering av PCI enheter

libpci.so

er et bibliotek som lar applikasjoner få tilgang til PCI delsystem

sg3_utils-1.48

Introduksjon til sg3_utils

sg3_utils pakken inneholder lavt nivå verktøy for enheter som bruker et SCSI kommandosett. Bortsett fra SCSI parallell grensesnitt (SPI) enheter, brukes SCSI kommandosettet av ATAPI enheter (CD/DVDer og kassetter), USB masselagringsenheter, Fibre Channel disker, IEEE 1394 lagringsenheter (som bruker "SBP" protokollen), SAS, iSCSI og FCoE enheter (blant annet).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av sg3_utils

Installer sg3_utils ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: rescan-scsi-bus.sh, scsi_logging_level, scsi_mandat, scsi_readcap, scsi_ready, scsi_satl, scsi_start, scsi_stop, scsi_temperature, sg_bg_ctl, sg_compare_and_write, sg_copy_results, sg_dd, sg_decode_sense, sg_emc_trespass, sg_format, sg_get_config, sg_get_lba_status, sg_ident, sg_inq, sg_logs, sg_luns, sg_map, sg_map26, sg_modes, sg_opcodes, sg_persist, sg_prevent, sg_raw, sg_rbuf, sg_rdac, sg_read, sg_read_attr, sg_read_block_limits, sg_read_buffer, sg_read_long, sg_readcap, sg_reassign, sg_referrals, sg_rep_pip, sg_rep_zones, sg_requests, sg_reset, sg_reset_wp, sg_rmsn, sg_rtpg, sg_safte, sg_sanitize, sg_sat_identify, sg_sat_phy_event, sg_sat_read_gplog, sg_sat_set_features, sg_scan, sg_seek, sg_senddiag, sg_ses, sg_ses_microcode, sg_start, sg_stpg, sg_stream_ctl, sg_sync, sg_test_rwbuf, sg_timestamp, sg_turs, sg_unmap, sg_verify, sg_vpd, sg_wr_mode, sg_write_buffer, sg_write_long, sg_write_same, sg_write_verify, sg_write_x, sg_xcopy, sg_zone, sginfo, sgm_dd, og sgp_dd
Installert Bibliotek: libsgutils2.so
Installerte Mapper: Ingen

Korte Beskrivelser

rescan-scsi-bus.sh

legger til eller fjerner SCSI enheter uten å måtte starte på nytt

scsi_logging_level

får tilgang til informasjon om Linux SCSI loggingsnivå

scsi_mandat

sjekker SCSI enhetsstøtte for obligatoriske kommandoer

scsi_readcap

gjør kommandoen SCSI READ CAPACITY på disker

scsi_ready

gjør SCSI TEST UNIT READY på enheter

scsi_satl

ser etter støtte for SCSI til ATA oversettelse (SAT).

scsi_start

starter en eller flere SCSI disker

scsi_stop

stopper en eller flere SCSI disker

scsi_temperature

henter temperaturen til en SCSI enhet

sg_bg_ctl

utfører en SCSI BACKGROUND CONTROL kommando på en enhet som skal utføre "avanserte bakgrunnsoperasjoner"

sg_compare_and_write

sender SCSI COMPARE AND WRITE kommandoen til enheten

sg_copy_results

sender SCSI RECEIVE COPY RESULTS kommandoen (XCOPY relatert)

sg_dd

kopierer data til og fra filer og enheter. Spesialisert for enheter som forstår SCSI kommandosettet

sg_decode_sense

tar SCSI sense data i binær eller som en sekvens av ASCII heksadesimale byte og dekoder den

sg_emc_trespass

endrer eierskap til en LUN fra en annen tjenesteprosess til denne

sg_format

formaterer eller endrer størrelse på en SCSI disk (kanskje endrer blokkstørrelsen)

sg_get_config

sender SCSI GET CONFIGURATION kommando (MMC-4 +)

sg_get_elem_status

sender SCSI GET PHYSICAL ELEMENT STATUS kommando til en enhet

sg_get_lba_status

sender the SCSI GET LBA STATUS kommando

sg_ident

sender SCSI REPORT or SET IDENTIFYING INFORMATION kommando

sginfo

tilgang til modussideinformasjon for en SCSI (eller ATAPI) enhet

sg_inq

sender SCSI INQUIRY eller ATA IDENTIFY (PACKET) DEVICE kommando og gir ut svaret

sg_logs

få tilgang til loggsider med kommandoen SCSI LOG SENSE

sg_luns

sender SCSI REPORT LUNS kommando

sg_map

viser tilordninger mellom linux sg og andre SCSI enheter

sg_map26

tilordner en spesiell fil til en SCSI generisk (sg) enhet (eller omvendt)

sgm_dd

kopierer data til og fra filer og enheter. Spesialisert for enheter som forstår SCSI kommandosettet og tilordner minneoverføringer fra sg enheter

sg_modes

leser modussider med kommandoen SCSI MODE SENSE

sg_opcodes

rapporterer informasjon om støttede SCSI kommandoer eller oppgaveadministrasjonsfunksjoner

sgp_dd

kopierer data til og fra filer og enheter. Spesialisert for enheter som forstår SCSI kommandosettet

sg_persist

sender en SCSI PERSISTENT RESERVE (INN eller UT) kommando for å manipulere registreringer og reservasjoner

sg_prevent

sender SCSI PREVENT ALLOW MEDIUM REMOVAL kommando

sg_raw

sender en vilkårlig SCSI kommando til en enhet

sg_rbuf

leser data ved å bruke kommandoen SCSI READ BUFFER

sg_rdac

viser eller endrer RDAC Redundant Controller Page

sg_read

leser blokker med data kontinuerlig fra samme offset

sg_read_attr

utfører en SCSI READ ATTRIBUTE kommando på en enhet

sg_read_block_limits

sender SCSI READ BLOCK LIMITS kommando

sg_read_buffer

sender SCSI READ BUFFER kommando

sg_readcap

sender SCSI READ CAPACITY kommando

sg_read_long

sender SCSI READ LONG kommando

sg_reassign

sender SCSI REASSIGN BLOCKS kommando

sg_referrals

sender SCSI REPORT REFERRALS kommando

sg_rep_pip

sender SCSI REPORT PROVISIONING INITIALIZATION PATTERN kommando

sg_rep_zones

sender SCSI REPORT ZONES kommando

sg_requests

sender en eller flere SCSI REQUEST SENSE kommando

sg_reset

sender en tilbakestilling av SCSI enhet, mål, buss eller vert; eller kontrollerer tilbakestillingstilstand

sg_reset_wp

sender SCSI RESET WRITE POINTER kommando

sg_rmsn

sender SCSI READ MEDIA SERIAL NUMBER kommando

sg_rtpg

sender SCSI REPORT TARGET PORT GROUPS kommando

sg_safte

henter statusinformasjon fra en SCSI Accessed Fault-Tolerant Enclosure (SAF-TE) enhet

sg_sanitize

sender SCSI SANITIZE kommando

sg_sat_identify

sender en ATA IDENTIFY (PACKET) DEVICE kommando via en SCSI til ATA oversettelse (SAT) lag

sg_sat_phy_event

sender en ATA READ LOG EXT kommando via en SAT passering til hentelogg side 11h som inneholder SATA phy hendelsestellere

sg_sat_read_gplog

sender en ATA READ LOG EXT kommando via en SCSI til ATA oversettelse (SAT) lag

sg_sat_set_features

sender en ATA SET FEATURES kommando via en SCSI til ATA oversettelse (SAT) lag

sg_scan

gjør en skanning av sg enheter (eller gitte SCSI/ATAPI/ATA enheter) og skriver ut resultatene

sg_seek

utfører en SCSI SEEK eller PRE-FETCH kommando på en enhet og dens hurtiglager

sg_senddiag

utfører en SCSI SEND DIAGNOSTIC kommando

sg_ses

sender kontroller og henter gjeldende status fra et SCSI Enclosure Services (SES) enhet

sg_ses_microcode

sender mikrokode til et SCSI enclosure

sg_start

sender en SCSI START STOP UNIT kommando for å starte, stoppe, laste eller løse ut medium

sg_stpg

sender SCSI SET TARGET PORT GROUPS kommando

sg_stream_ctl

utfører en SCSI STREAM CONTROL eller GET STREAM STATUS kommando på en enhet for å åpne eller lukke en I/O strøm

sg_sync

sender en SCSI kommando for å synkronisere hutiglageret

sg_test_rwbuf

tester SCSI vertsadapteren ved å utstede skrive- og leseoperasjoner på en enhets buffer og beregne sjekksummer

sg_timestamp

rapporterer eller setter tidsstemplet på en SCSI enhet

sg_turs

sender en eller flere SCSI TEST UNIT READY kommandoer

sg_unmap

sender SCSI UNMAP kommando

sg_verify

påkaller SCSI VERIFY kommando(er) på en blokkenhet

sg_vpd

henter Vital Product Data (VPD) sider ved hjelp av en SCSI INQUIRY kommando

sg_write_buffer

sender SCSI WRITE BUFFER kommando

sg_write_long

sender SCSI WRITE LONG kommando

sg_write_same

sender SCSI WRITE SAME kommando

sg_write_verify

sender SCSI WRITE AND VERIFY kommando

sg_write_x

utfører SCSI WRITE kommandoer på en enhet

sg_wr_mode

skriver modussider

sg_xcopy

kopierer data til og fra filer og enheter ved bruk av SCSI EXTENDED COPY (XCOPY)

sg_zone

utfører SCSI ZONE kommandoer på en enhet, for eksempel OPEN, CLOSE, FINISH eller SEQUENTIALIZE

libsgutils2.so

inneholder sg3_utils API funksjoner

sysmond-1.0.0

Introduksjon til sysmond

sysmond pakke (uttales sys-mon-d) er daemondelen av sysmond/sysmon3 klient/server-applikasjon som overvåker systemverdier inkludert CPU bruk, minnebruk og systemtemperaturer i et kompakt skjermvindu.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Package Information

Kjernekonfigurasjon

Det er mange forskjellige maskinvareenheter som registrerer temperaturer. Temperaturavlesningene oppdateres av kjernedrivere som støtter spesifikke enheter. For å finne ut hvilke enheter som finnes på et system lm-sensors-3-6-2 pakken har et Perl skript, sensors-detect som kan se etter spesifikke enheter som er i gjeldende system.

Etter at sensorenheter er kjent, må den aktuelle kjernedriveren være aktivert. I mange saker, men ikke alle, de riktige driverene er valgt som standard. Kjernens konfigurasjonsparametere ligger på:

Device Drivers --->                                    
  [*] Hardware Monitoring support --->        [CONFIG_HWMON]

I de fleste tilfeller minst Intel Core/Core2/Atom temperatursensor (SENSORS_CORETEMP) bør være aktivert for Intel baserte systemer eller CONFIG_SENSORS_K10TEMP (AMD) bør være aktivert for AMD baserte systemer.

Installasjon av sysmond

Installer sysmond ved å kjøre følgende kommandoer:

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Konfigurere sysmond

Oppstartsskript

Installer /etc/rc.d/init.d/sysmond init skriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-sysmond

Konfigurasjonsfil

Som standard er konfigurasjonsfilen /etc/sysmond.conf men det kan endres ved å skrive --config-file <filnavn> på kommandolinjen. I utgangspunktet er alle konfigurasjonselementene kommentert og standardinnstillingene spesifisert er brukt.

Contents

Installerte Programmer: sysmond
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

sysmon3-3.0.1

Introduksjon til sysmon3

sysmon3 pakke (uttales sys-mon-3) er klientdelen av sysmond/sysmon3 klient/serverapplikasjonen som overvåker systemverdier inkludert CPU-bruk, minnebruk og systemtemperaturer i et kompakt skjermvindu. Flere forekomster av sysmon3 kan bli kjørt på et system for å overvåke verdier på forskjellige systemer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

sysmon3 Avhengigheter

Påkrevd

Qt-6.10.2 (eller qt5)

Påkrevd ved kjøretid

sysmond-1.0.0 (kjøretid på systemet som skal overvåkes)

Installasjon av sysmon3

Installer sysmon3 ved å kjøre følgende kommandoer:

qmake sysmon3.pro &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

install -vm755 sysmon3 /usr/bin

Konfigurere sysmon3

Konfigurasjonsfiler

$HOME/.config/LinuxFromScratch/<monitored system>.conf

Konfigurasjonsfilene opprettes ved kjøretid for hvert system som overvåkes. De oppdateres vanligvis ikke manuelt, men administreres av programmets konfigurasjonswidgeter.

Ved første kjøring ber programmet om at systemet skal overvåkes. Etter testing at kommunikasjonen til serveren er tilfredsstillende og servernavnet er lagret, vil hovedvinduet starte. Etter første oppsett kan oppsett-widgeten omgås ved å sende servernavnet som et argument til programmet.

Programmet er designet for å ta opp minimal skjermplass, så som standard har den ikke ramme. Rammen kan slås av og på med Ctrl-F. Dette kan være nyttig for å plassere vinduet på ønsket sted. Etter første plassering lagres plasseringen i konfigurasjonsfilen for neste gang programmet startes.

En kort operasjonsmeny hentes frem med et høyreklikk på hovedvinduet. Konfigurasjonswidgeter briges opp med F1.

Innhold

Installerte Programmer: sysmon3
Installerte Biblioteker: Ingen
Installerte Mapper: $HOME/.config/LinuxFromScratch/

usbutils-019

Introduksjon til USB Utils

USB Utils pakken inneholder verktøy som brukes til å vise informasjon om USB busser i systemet og enheter koblet til dem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

USB Utils Avhengigheter

Påkrevd

libusb-1.0.29

Anbefalt

Installasjon av USB Utils

Installer USB Utils ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release &&

ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

For usb.ids datafiler, installer hwdata-0.404 pakken.

Skriptet lsusb.py viser informasjon i en mer lettlest form enn lsusb. For å finne alternativene, bruk lsusb.py -h. En bruksform anbefalt av utviklere er lsusb.py -ciu.

Innhold

Installerte Programmer: lsusb, lsusb.py, usb-devices, og usbhid-dump
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

lsusb

er et verktøy for å vise informasjon om alle USB busser i systemet og alle enheter koblet til dem, men ikke i lesbar vennlig form

lsusb.py

viser informasjon om alle USB busser i systemet og alle enheter koblet til dem i rimelig lesbar form

usb-devices

er et skallskript som viser detaljer om USB busser og enheter koblet til dem. Den er designet for å brukes hvis /proc/bus/usb/devices ikke er tilgjengelig på systemet ditt

usbhid-dump

brukes til å dumpe rapportbeskrivelser og strømmer fra HID (human interface device) grensesnitt for USB enheter



[2] Standard Xorg konfigurasjonsfil er /etc/X11/xorg.conf.d/30-keyboard.conf.

Kapittel 13. Programmering

Et basis LFS system kan brukes som en utviklingsplattform, men basissystemet inkluderer kun språkstøtte for C, C++, Perl, og Python. Dette kapittelet gir instruksjoner for å bygge mange populære programmeringsmiljøer for å utvide systemets utviklingsmuligheter betydelig.

cargo-c-0.10.20

Introduksjon til cargo-c

cargo-c pakken skaper en cargo underkommando for å bygge og installere C-ABI kompatible dynamiske og statiske biblioteker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

cargo-c Avhengigheter

Påkrevd

rustc-1.93.1

Anbefalt

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Installasjon av cargo-c

Først laster du ned en fil for å sikre at cargo bruker avhengighetsversjonene spesifisert av oppstrømsutviklerne når denne cargo-c versjonen (0.10.20) ble utgitt. Uten dette vil de nyeste versjonene av avhengighetene bli brukt og de kan forårsake brudd:

curl -fLO https://github.com/lu-zero/cargo-c/releases/download/v0.10.20/Cargo.lock

Notat

Normalt ville vi lagt en slik nedlasting inn i «Ytterligere Nedlastinger» seksjonen. Men i dette tilfellet kan vi ikke finne pakkenavnet og versjonen fra filnavnet Cargo.lock, så det er bedre å ikke sette tvetydig navngitt fil utenfor cargo-c-0.10.20 mappen. Vi bruker curl her fordi cURL-8.18.0 pakken burde vært installert som en nødvendig avhengighet av rustc-1.93.1.

md5sum til filen skal være 021854be3ef40003288171a6c5c65181.

Installer cargo-c ved å kjøre følgende kommandoer:

export LIBSSH2_SYS_USE_PKG_CONFIG=1    &&
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 &&

cargo build --release

For å teste resultatene, utsted: cargo test --release.

Nå, som root bruker:

install -vm755 target/release/cargo-{capi,cbuild,cinstall,ctest} /usr/bin/

Til slutt, deaktiver de eksporterte miljøvariablene:

unset LIB{SSH2,SQLITE3}_SYS_USE_PKG_CONFIG

Parameterforklaringer

export LIBSSH2_SYS_USE_PKG_CONFIG=1: Tillat cargo å koble til systemets libssh2. Utelat denne kommandoen hvis du ikke har installert libssh2-1.11.1.

export LIBSQLITE3_SYS_USE_PKG_CONFIG=1: Tillat cargo å koble til systemets sqlite.

Innhold

Installerte Programmer: cargo-capi, cargo-cbuild, cargo-cinstall, og cargo-ctest
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Cbindgen-0.29.2

Introduksjon til Cbindgen

Cbindgen kan brukes til å generere C bindinger for Rust kode.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

cbindgen Avhengigheter

Påkrevd

rustc-1.93.1

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Installasjon av cbindgen

Installer cbindgen ved å kjøre følgende kommandoer:

cargo build --release

For å teste resultatene, utsted: cargo test --release. Tre tester i profile.rs er kjent for å mislykkes fordi de forventer noen Rust ustabile funksjoner som er deaktivert i BLFS rustc-1.93.1 konfigurasjonen.

Nå, som root bruker:

install -Dm755 target/release/cbindgen /usr/bin/

Innhold

Installert Program: cbindgen
Installert Bibliotek: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

cbindgen

genererer C bindinger for Rust kode

Clisp-2.49.95

Introduksjon til Clisp

GNU Clisp er en Felles Lisp implementering (Common Lisp implementation) som inkluderer en tolk, kompilator, debugger og mange utvidelser.

Notat

Denne pakken har ikke hatt en «stable» utgivelse siden 2010. Pakken her ble opprettet fra upstream git repository for å gjøre det mulig å bygge den med gcc-15. Den siste commiten var mai 2025.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Clisp Avhengigheter

Anbefalt
Valgfri

libnsl-2.0.1 og libffcall

Installasjon av Clisp

Installer Clisp ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

../configure --srcdir=../  \
             --prefix=/usr \
             --docdir=/usr/share/doc/clisp-2.49.95 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--docdir=/usr/share/doc/clisp-2.49.95: denne bryteren tvinger HTML dokumentasjonen til å bli installert i en versjonert mappe.

--with-libffcall-prefix=/usr: bruk dette til å fortelle configure at du har installert valgfrie libffcall pakken.

Innhold

Installerte Programmer: clisp og clisp-link
Installerte Biblioteker: ulike statiske biblioteker i /usr/lib/clisp-2.49.95+/base/
Installerte Mapper: /usr/lib/clisp-2.49.95+, /usr/share/doc/clisp-2.49.95, og /usr/share/emacs/site-lisp

Korte Beskrivelser

clisp

er en ANSI Common Lisp kompilator, tolk og debugger

clisp-link

brukes til å koble en ekstern modul til clisp

CMake-4.2.3

Introduksjon til CMake

CMake pakken inneholder en moderne verktøysett som brukes til å generere Makefiler. Det er en etterfølger av automatisk generert configure skript og har som mål å være plattform- og kompilatoruavhengig. En betydelig bruker av CMake er KDE siden versjon 4.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://cmake.org/files/v4.2/cmake-4.2.3.tar.gz

  • Nedlasting MD5 sum: 803a1720ec822a8660118a38ca51fc1b

  • Nedlastingsstørrelse: 12 MB

  • Estimert diskplass som kreves: 600 MB (legg til 1.5 GB for tester)

  • Estimert byggetid: 2.2 SBU (legg til 4.3 SBU for tester, begge med parallellisme=4)

CMake Avhengigheter

Anbefalt
Valgfri

GCC-15.2.0 (for gfortran), git-2.53.0 (for bruk under tester), mercurial-7.2 (for bruk under tester), OpenJDK-21.0.9 (for bruk under tester), Qt-6.10.2 (for Qt basert GUI), sphinx-9.1.0 (for byggedokumenter), Subversion-1.14.5 (for testing), cppdap, jsoncpp, og rhash

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av CMake

Installer CMake ved å kjøre følgende kommandoer:

sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake &&

./bootstrap --prefix=/usr        \
            --system-libs        \
            --mandir=/share/man  \
            --no-system-jsoncpp  \
                        --no-system-cppdap   \
            --no-system-librhash \
            --docdir=/share/doc/cmake-4.2.3 &&
make

For å teste resultatene, utsted: bin/ctest -j$(nproc). Erstatt $(nproc) med et heltall mellom 1 og antall logiske systemkjerner hvis du ikke vil bruke alle.

Hvis du ønsker å undersøke et problem med en gitt "problem1-test", bruk bin/ctest -R "problem1-test" og for å utelate det, bruk bin/ctest -E "problem1-test". Disse alternativene kan bli brukt sammen: bin/ctest -R "problem1-test" -E "problem2-test". Alternativ -N kan brukes til å vise alle tilgjengelige tester, og du kan kjøre bin/ctest for en undersett av tester ved å bruke adskilt med mellomrom navn eller tall som alternativer. Alternativ --help kan brukes til å vise alle alternativer.

Nå, som root bruker:

make install

Parameterforklaringer

sed ... Modules/GNUInstallDirs.cmake: Denne kommandoen deaktiverer programmer som bruker cmake fra å prøve å installere filer i /usr/lib64/.

--system-libs: Denne bryteren tvinger byggesystemet å koble til den systeminstallerte versjonen for alle nødvendige biblioteker, uten de som er eksplisitt spesifisert via en --no-system-* valg.

--no-system-jsoncpp og --no-system-cppdap: Denne bryteren fjerner JSON-C++ biblioteket fra listen over systembiblioteker. En medfølgende versjon av biblioteket brukes i stedet.

--no-system-librhash: Denne bryteren fjerner librhash biblioteket fra listen over systembiblioteker. En medfølgende versjon av biblioteket brukes i stedet.

--no-system-{curl,libarchive,libuv,nghttp2}: Bruk det tilsvarende alternativet i listen for bootstrap hvis en av de anbefalte avhengighetene ikke er installert. En samlet versjon av avhengigheten vil bli brukt i stedet.

--qt-gui: Denne bryteren gjør det mulig å bygge Qt-basert GUI for CMake.

--parallel=: Denne bryteren gjør det mulig å utføre CMake bootstrap med flere jobber på en gang. Det er ikke nødvendig hvis MAKEFLAGS variabelen allerede er satt for bruk av flere prosessorer, hvis Using Multiple Processors er fulgt.

Innhold

Installerte Programmer: ccmake, cmake, cmake-gui (valgfri), cpack, og ctest
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/cmake-4.2 og /usr/share/doc/cmake-4.2.3

Korte Beskrivelser

ccmake

er en curses interaktiv grenseflate til cmake

cmake

er makefil generatoren

cmake-gui

(valgfri) er Qt-basert grenseflate til cmake

cpack

er CMake pakkeprogram

ctest

er et testverktøy for cmake genererte byggetrær

Doxygen-1.16.1

Introduksjon til Doxygen

Doxygen pakken inneholder et dokumentasjonssystem C++, C, Java, Objective-C, Corba IDL og til en viss grad PHP, C# og D. Det er nyttig for å generere HTML dokumentasjon og/eller en off-line referansehåndbok fra et sett med dokumenterte kildefiler. Det er også støtte for å generere utdata i RTF, PostScript, hyperlenket PDF, komprimert HTML og Unix mansider. Dokumentasjonen er trukket direkte fra kildene, noe som gjør det mye lettere å beholde dokumentasjon i samsvar med kildekoden.

Du kan også konfigurere Doxygen til å ta ut kodestrukturen fra udokumenterte kildefiler. Dette er veldig nyttig for raskt å finne veien i store kildedistribusjoner. Brukt sammen med Graphviz, du kan også visualisere relasjonene mellom de ulike elementene ved hjelp av inkluderte avhengighetsgrafer, arvediagrammer og samarbeidsdiagrammer, som alle er generert automatisk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://doxygen.nl/files/doxygen-1.16.1.src.tar.gz

  • Nedlasting MD5 sum: 5f8d932ba2d764b4a602b15de551033a

  • Nedlastingsstørrelse: 8.6 MB

  • Estimert diskplass som kreves: 393 MB (med tester)

  • Estimert byggetid: 1.2 SBU (med tester; begge bruker parallellisme=4)

Doxygen Avhengigheter

Påkrevd

CMake-4.2.3 og git-2.53.0

Anbefalt
Valgfri

Graphviz-14.1.2, ghostscript-10.06.0, libxml2-2.15.1 (påkrevd for testene), LLVM-21.1.8 (med clang), texlive-20250308 (eller install-tl-unx), xapian-1.4.30 (for doxyindexer), og javacc

Installasjon av Doxygen

Først må du fikse noen python skript:

grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'

Installer Doxygen ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -G "Unix Makefiles"          \
      -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      -D build_wizard=ON           \
      -D force_qt=Qt6              \
      -W no-dev .. &&
make

For å teste resultatene, kjør: make tests. En test, 012_cite.dox, er kjent for å mislykkes hvis texlive-20250308 ikke er install-tl-unx installert.

Hvis du ønsker å generere pakkedokumentasjonen, må du ha Python, TeX Live (for HTML dokumenter) og Ghostscript (for PDF dokumenter) installert, kjør deretter følgende kommando:

cmake  -D build_doc=ON \
       -D DOC_INSTALL_DIR=share/doc/doxygen-1.16.1 \
       .. &&
make docs

Nå, som root bruker:

make install &&
install -vm644 ../doc/*.1 /usr/share/man/man1

Hvis du har generert pakkedokumentasjonen, er mansidene automatisk installert, og du trenger ikke å kjøre den siste install ... kommandoen.

Parameterforklaringer

-D build_wizard=OFF: Bruk denne bryteren hvis Qt6 ikke er installert.

-D build_search=ON: Bruk denne bryteren hvis xapian er installert og du ønsker å bygge eksterne søkeverktøy (doxysearch.cgi og doxyindexer).

-D force_qt6=ON: Bruk denne bryteren til å bygge doxywizard med Qt6 selv om Qt5 er installert.

-D use_libclang=ON: Bruk denne bryteren hvis llvm med clang er installert, for å legge til støtte for libclang parsing.

Konfigurere Doxygen

Det er ingen reell konfigurasjon nødvendig for Doxygen pakke selv om tre ekstra pakker kreves hvis du ønsker å bruke utvidede funksjoner. Hvis du trenger formler for å lage PDF dokumentasjon, så må du ha texlive-20250308 installert. Hvis du trenger formler for å konvertere PostScript filer til punktgrafikk, da du må ha ghostscript-10.06.0 installert.

Innhold

Installerte Programmer: doxygen og valgfritt, doxywizard, doxyindexer og doxysearch.cgi
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/doxygen-1.16.1

Korte Beskrivelser

doxygen

er et kommandolinjebasert verktøy som brukes til å generere mal konfigurasjonsfiler og deretter generere dokumentasjon fra disse malene. Bruk doxygen --help for en forklaring av kommandolinjeparametrene

doxywizard

er en GUI grensesnitt for konfigurering og kjøring av doxygen

doxyindexer

genererer en søkeindeks kalt doxysearch.db fra en eller flere søkedatafiler produsert av doxygen. Se f.eks. https://javacc.github.io/javacc/

doxysearch.cgi

er et CGI program for å søke i data indeksert av doxyindexer

Dtc-1.7.2

Introduksjon til Dtc

dtc pakken inneholder enhetstreet kompiler for å jobbe med enhetstrekilde og binære filer og også libfdt, et verktøybibliotek for lesing og manipulering av enhetstrær i binært format.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Dtc Avhengigheter

Valgfri

libyaml-0.2.5, SWIG-4.4.1, og texlive-20250308

Installasjon av Dtc

Installer dtc ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D python=disabled  &&
ninja

For å teste resultatene, utsted: CC='gcc -Wl,-z,noexecstack' meson test -v.

Nå, som root bruker:

ninja install

Fortsatt som root bruker, fjern det ubrukelige statiske biblioteket:

rm /usr/lib/libfdt.a

Hvis du har texlive-20250308 installert, kan du bygge PDF formatet til dokumentasjonen ved å gi følgende kommando:

pushd ../Documentation
  latexmk -bibtex --pdf dtc-paper &&
  latexmk -bibtex --pdf dtc-paper -c
popd

For å installere dokumentasjonen, som root bruker utsted følgende kommando:

cp -R ../Documentation -T /usr/share/doc/dtc-1.7.2

Hvis du har installert SWIG-4.4.1 og du ønsker å installere Python 3 bindinger av denne pakken, bygg Python 3 modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir ..

Som root bruker, installer Python 3 modulen:

pip3 install --no-index --find-links dist --no-user libfdt

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D python=disabled: Denne bryteren forhindrer å bygge Python 3 bindingen med den avviklede metoden (kjøre setup.py direkte). Vi vil bygge Python 3 binding med pip3 wheel kommandoen separat om ønskelig.

CC='gcc -Wl,-z,noexecstack': Denne variabelen forhindrer å merke de delte bibliotekene i testpakken som å kreve kjørbar stabel. Glibc 2.41 eller nyere har sluttet å tillate dlopen et slikt delt bibliotek så testpakken vil mislykkes. Men de delte bibliotekene trenger egentlig ikke en kjørbar stabel, slik at vi kan bruke -Wl,-z,noexecstack for å fikse testpakken. Det trengs i CC miljøet for meson test fordi de delte bibliotekene er bygget av et testskript i stedet for meson/ninja byggesystem, og testskriptet gjenkjenner ikke andre «vanlige» miljøvariabler som LDFLAGS.

Innhold

Installerte Programmer: convert-dtsv0, dtc, dtdiff, fdtdump, fdtget, fdtoverlay, og fdtput
Installert Bibliotek: libfdt.so
Installert Mappe: /usr/lib/python3.14/site-packages/libfdt-1.7.2.dist-info og /usr/share/doc/dtc-1.7.2 (valgfritt)

Korte Beskrivelser

convert-dtsv0

konverterer enhetstre v0 kilde til enhetstre v1

dtc

kompilerer enhetstrekilde (dts) til binær blob for enhetstre (dtb), eller dekompilerer dtb til dts

dtdiff

sammenligner to forskjellige enhetstrær

fdtdump

skriver ut en lesbar versjon av en flat enhetstre fil

fdtget

leser verdier fra enhetstreet

fdtoverlay

påfører en rekke overlegg på en baseenhets treblob

fdtput

skriver en egenskapsverdi til et enhetstre

libfdt.so

er et hjelpebibliotek for lesing og manipulering av enhetstrær i binært format

GCC-15.2.0

Introduksjon til GCC

GCC pakken inneholder GNU kompilatoren samlingen. Denne siden beskriver installasjonen av kompilatorer for følgende språk: C, C++, Fortran, Objective C, Objective C++, Go, og Modula2. Siden C og C++ er installert i LFS, er denne siden enten for å oppgradere C og C++, eller for å installere ekstra kompilatorer.

Notat

Ytterligere språk, blant annet COBOL, D og Ada, er tilgjengelige i samlingen. COBOL støttes for øyeblikket bare på x86-64-systemer. D og Ada har et krav om binær bootstrap for den første installasjon, så deres installasjon er ikke beskrevet her. For å installere D eller Ada, kan du fortsette på samme måte som nedenfor etter installasjonen av den tilsvarende kompilatoren fra en binær pakke, til slutt legg til ada eller d eller cobol til --enable-languages linjen etter ønske.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Obs

Hvis du oppgraderer GCC fra en versjon før 15.2.0, da må du være forsiktig med å kompilere 3rd parts kjernemoduler. Du bør sørge for at kjernen og alle dens opprinnelige moduler også er kompilert med samme versjon av GCC som du bruker til å bygge tredjepartsmodulen. Dette problemet påvirker ikke den opprinnelige kjernen (og kjernemoduler) oppdateringer, siden instruksjonene nedenfor er en fullstendig reinstallasjon av GCC. Hvis du har eksisterende tredjepartsmoduler installert, sørg for at de kompileres på nytt med den oppdaterte versjonen av GCC.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/gcc/gcc-15.2.0/gcc-15.2.0.tar.xz

  • Nedlasting MD5 sum: b861b092bf1af683c46a8aa2e689a6fd

  • Nedlastingsstørrelse: 96 MB

  • Estimert diskplass som kreves: 12 GB (3.8 GB installert med alle oppførte språk; legg til 2 GB for tester)

  • Estimert byggetid: 16 SBU (legg til 33 SBU for tester; begge med parallellitet=8)

GCC Avhengigheter

Valgfri

GDB-17.1, Graphviz-14.1.2 (noen tester bruker den hvis den er installert; noter at hvis den er installert, men ikke bygget med libpng-1.6.55 disse testene vil mislykkes), Valgrind-3.26.0 (for tester), og ISL (for å aktivere grafittoptimalisering)

Installasjon av GCC

Viktig

Selv om du bare spesifiserer andre språk enn C og C++ til ./configure kommandoen nedenfor, vil installasjonsprosessen overskrive din eksisterende GCC C og C++ kompilatorer og biblioteker. Det anbefales å kjøre hele pakken med tester.

Ikke fortsett med make install kommandoen til du er sikker på at byggingen var vellykket. Du kan sammenligne dine testresultater med de funnet på https://gcc.gnu.org/ml/gcc-testresults/. Du vil kanskje også se informasjonen som finnes i GCC del av kapittel 8 i LFS boken (../../../../lfs/view/development/chapter08/gcc.html).

Instruksjonene nedenfor utfører med vilje en «bootstrap» prosess. Bootstrapping er nødvendig for robusthet og anbefales sterkt når du oppgraderer kompilatorversjonen. For å deaktivere bootstrap uansett, legg til --disable-bootstrap til ./configure alternativene nedenfor.

Installer GCC ved å kjøre følgende kommandoer:

case $(uname -m) in
  x86_64)
    sed -i.orig '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
  ;;
esac

mkdir build               &&
cd    build               &&

../configure              \
    --prefix=/usr         \
    --disable-multilib    \
    --with-system-zlib    \
    --enable-default-pie  \
    --enable-default-ssp  \
    --enable-host-pie     \
    --disable-fixincludes \
    --enable-languages=c,c++,fortran,go,objc,obj-c++,m2 &&
make

Hvis du kjører tester, som i LFS, fjern/fiks flere kjente testfeil:

Hvis du har installert tilleggspakker som f.eks Valgrind og gdb, gcc delen av testpakken vil kjøre mer tester enn i LFS. Noen av disse vil rapportere FAIL og andre XPASS (bestått når det forventes å FEILE). Fra og med gcc-15.2.0, oppstår omtrent 69 FAIL i «guality» pakken, samt diverse feil gjennom resten av testpakken. Hvis alle kompilatorene ovenfor er bygget, vil det være omtrent 107 uventede feil av over 617,000 tester. For å kjøre testene, utsted:

make -k check

Testene er veldig lange, og resultatene kan være vanskelige å finne i logger, spesielt hvis du bruker parallelle jobber med make. Du kan få et sammendrag av testene med:

../contrib/test_summary

Nå, som root bruker:

make install &&

mkdir -pv /usr/share/gdb/auto-load/usr/lib              &&
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib &&

chown -v -R root:root \
    /usr/lib/gcc/*linux-gnu/15.2.0/include{,-fixed}     &&

ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/15.2.0/liblto_plugin.so \
        /usr/lib/bfd-plugins/

Viktig

Nå bør du oppgradere readline til 8.3-rc1 eller nyere i henhold til LFS boken, ellers kan det hende at pakker som bruker readline ikke klarer å bygge.

Parameterforklaringer

mkdir build; cd build: GCC dokumentasjon anbefaler å bygge pakken i en dedikert byggemappe.

--disable-multilib: Denne parameteren sikrer at filer opprettes for den spesifikke arkitekturen til datamaskinen din.

--with-system-zlib: Bruker systemets zlib i stedet for den medfølgende. zlib brukes til komprimering og dekomprimering av GCC sin mellomliggende språk i LTO (Link Time Optimization) objektfiler.

--enable-default-pie: Gjør -fpie alternativet standard når du kompilerer programmer. Sammen med ASLR funksjonen aktivert i kjernen, beseirer dette en del angrep basert på kjente minneoppsett.

--enable-default-ssp: Gjør -fstack-protector-strong alternativet standard når du kompilerer programmer. SSP er en teknikk som hindrer endring av programflyten ved å ødelegge parameterstabelen.

--enable-host-pie: Gjør kompilatoren kjørbare PIE (Position Independent Executable). Dette kan brukes til forbedre beskyttelsen mot ROP angrep (Return Oriented Programming), og kan sees på som en del av en bredere trend for å herde binærfiler.

--enable-languages=c,c++,fortran,go,objc,obj-c++,m2: Denne kommandoen identifiserer hvilke språk som skal bygges. Du kan endre denne kommandoen for å fjerne uønskede språk. GCC støtter også Ada og D, men å bygge GCC med Ada (eller D) støtte trenger en eksisterende Ada (eller D) kompilator. Så de er ikke aktivert her

make -k check: Denne kommandoen kjører testpakken uten å stoppe hvis det oppstår feil.

../contrib/test_summary: Denne kommandoen vil produsere et sammendrag av resultatene fra testserien. Du kan legge til | grep -A7 Summ til kommandoen for å produsere en enda mer kondensert versjon av sammendraget. Du kan også ønske å omdirigere utdataene til en fil for gjennomgang og sammenligning senere.

--enable-host-shared --enable-languages=jit: Bygg libgccjit, et bibliotek for å bygge inn GCC i programmer og biblioteker for å generere maskin kode. På tross av «JIT» (just-in-time) i navnet, biblioteket kan også brukes til AOT (ahead-of-time) kompilering. --enable-host-shared er nødvendig for å bygge libgccjit, men det reduserer GCC betydelig. Så libgccjit bør bli bygget og installert separat, ikke som en del av «main» GCC installasjon. Hvis du trenger dette biblioteket, konfigurer GCC med disse to alternativene og installer biblioteket ved å kjøre make -C gcc jit.install-common jit.install-info som root bruker. Dette biblioteket brukes ikke av noen BLFS pakker, og er ikke testet av BLFS utviklerne.

mv -v /usr/lib/*gdb.py ...: Installasjonensteg setter noen filer som brukes av gdb under /usr/lib mappen. Dette genererer falske feilmeldinger når du utfører ldconfig. Dette kommandoen flytter filene til et annet sted.

chown -v -R root:root /usr/lib/gcc/*linux-gnu/...: Hvis pakken er bygget av en annen bruker enn root, vil eierskapet til installerte include mappen (og innholdet) vil være feil. Denne kommandoen endrer eierskapet til root bruker og gruppe.

Innhold

Noen program- og biblioteknavn og beskrivelser er ikke oppført her, men du finner dem på LFS seksjonen for GCC siden de opprinnelig var installert under byggingen av LFS.

Installerte Programmer: gccgo, gfortran, gm2, go, og gofmt, hardlenket til arkitektur spesifikke navn
Installerte Biblioteker: libgfortran.{so,a}, libgm2.{so,a} libgo.{so,a}, libgobegin.a, libgolibbegin.a, libobjc.{so,a}, og en rekke andre kjøretidsbiblioteker og kjørbare filer
Installerte Mapper: /usr/lib/go

Korte Beskrivelser

gccgo

er en GCC basert kompilator for Go språket

gm2

er en GCC basert kompilator for Modula-2 språket

go

er et verktøy for å administrere Go kildekode

gofmt

er et verktøy for formatering av Go kildekode

gfortran

er en GCC basert kompilator for Fortran språket

GC-8.2.12

Introduksjon til GC

GC pakken inneholder Boehm-Demers-Weiser konservative søppelsamler, som kan brukes som søppelsamler erstatning for C malloc funksjonen eller C++ new operator. Det lar deg allokere minne i utgangspunktet som du normalt ville gjort, uten eksplisitt deallokering av minne som ikke lenger er nyttig. Samleren resirkulerer minnet automatisk når det fastslår at det ikke lenger kan være tilgang til. Samleren brukes også av en rekke programmeringsspråk implementeringer som enten bruker C som mellomkode, ønsker å lette enklere interoperasjon med C biblioteker, eller bare foretrekker det enkle samlergrensesnitt. Alternativt kan søppelsamleren brukes som en lekkasjedetektor for C- eller C++-programmer, selv om det ikke er hovedmålet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Valgfri

libatomic_ops-7.10.0

Installasjon av GC

Installer GC ved å kjøre følgende kommandoer:

./configure --prefix=/usr      \
            --enable-cplusplus \
            --disable-static   \
            --docdir=/usr/share/doc/gc-8.2.12 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
install -v -m644 doc/gc.man /usr/share/man/man3/gc_malloc.3

Parameterforklaringer

--docdir=/usr/share/doc/gc-8.2.12: Dette alternativet brukes slik at pakken vil installere dokumentasjon i en versjonert mappe.

--enable-cplusplus: Denne parameteren aktiverer bygging og installasjon av C++ biblioteket sammen med standard C bibliotek.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libcord.so, libgc.so, libgccpp.so, og libgctba.so
Installerte Mapper: /usr/include/gc og /usr/share/doc/gc-8.2.12

Korte Beskrivelser

libcord.so

inneholder et trebasert strengbibliotek

libgc.so

inneholder et C grensesnitt til den konservative søppelsamleren, primært designet for å erstatte C malloc funksjonen

libgccpp.so

inneholder et C++ grensesnitt til den konservative søppelsamleren

libgctba.so

inneholder et C++ grensesnitt for å kaste dårlige tildelinger

GDB-17.1

Introduksjon til GDB

GDB, GNU Project debugger, lar deg se hva som skjer «på innsiden» i et annet program mens det kjører -- eller hva et annet program gjorde i det øyeblikket det krasjet. Merk at GDB er mest effektiv ved sporing av programmer og biblioteker som ble bygget med feilsøkingssymboler og ikke er strippet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/gdb/gdb-17.1.tar.xz

  • Nedlasting MD5 sum: dbe28c65254063f4f397f0b205b510ba

  • Nedlastingsstørrelse: 24 MB

  • Estimert diskplass som kreves: 888 MB (legg til 824 MB for dokumenter; legg til 7.8 GB for tester)

  • Estimert byggetid: 1.2 SBU (legg til 0.4 SBU for dokumenter; legg til 12.0 SBU tester; alle bruker parallellisme=8)

GDB Avhengigheter

Anbefalt kjøretidsavhengighet
Valgfri

Doxygen-1.16.1, GCC-15.2.0 (ada, gfortran, og go er brukt for tester), Guile-3.0.11, rustc-1.93.1 (brukt for noen tester), Valgrind-3.26.0, og SystemTap (kjøretid, brukt til tester)

Installasjon av GDB

Installer GDB ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

../configure --prefix=/usr          \
             --with-system-readline \
             --with-system-zlib     \
             --with-python=/usr/bin/python3 &&
make

Eventuelt for å bygge API dokumentasjonen ved hjelp av Doxygen-1.16.1, kjør:

make -C gdb/doc doxy

Det anbefales ikke å kjøre testene. Resultatene varierer mye avhengig av systemarkitekturen og hvilke valgfrie avhengigheter som er installert og hvilken versjon av gcc som brukes. På ett testet system var det 140 uventede feil (av over 108 000 tester) og på et annet system var det "bare" 14 uventede feil. Tiden for å kjøre testene varierer fra ca. 3 SBU til over 15 SBU ved bruk av -j8. Dette avhenger av antall tester som får tidsavbrudd og andre faktorer.

Tips

Med en vanlig make check, er det mange advarsel meldinger om en manglende global konfigurasjonsfil. Disse kan unngås ved å kjøre touch global.exp og forberede make check kommandoen med DEJAGNU=$PWD/global.exp. I tillegg kan testene bruke mindre tid betraktelig ved å bruke make valget "-j<N>" hvor <N> er antall kjerner på systemet ditt. Noen ganger kan bruk av parallellitet imidlertid føre til merkelige feil.

For å teste resultatene uansett, utsted:

pushd gdb/testsuite &&
make  site.exp      &&
echo  "set gdb_test_timeout 30" >> site.exp &&
make check 2>1 | tee gdb-check.log
popd

Se gdb/testsuite/README og TestingGDB. Det er mange ytterligere problemer med testpakken:

  • Rene mapper er nødvendig hvis du kjører testene på nytt. For den grunnen, lag en kopi av den kompilerte kildekodemappen før testene i tilfelle du må kjøre testene på nytt.

  • Resultatene kan også avhenge av installert kompilatorer.

  • På noen AMD baserte systemer, over 200 ekstra tester kan mislykkes på grunn av en forskjell i trådimplementeringen på disse CPUene.

  • For gdb-17.1, med en Intel i7-14700K, var det 120 uventede feil og over 126 500 beståtte tester.

Nå, som root bruker:

make -C gdb install &&
make -C gdbserver install

Hvis du har bygget API dokumentasjonen, er den nå i gdb/doc/doxy. Du kan installere den (som root bruker):

install -d /usr/share/doc/gdb-17.1 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-17.1

Parameterforklaringer

--with-system-readline: Denne bryteren tvinger GDB å bruke kopien av Readline installert i LFS.

--with-system-zlib: Denne bryteren tvinger GDB å bruke kopien av Zlib installert i LFS.

--with-python=/usr/bin/python3: Denne bryteren tvinger GDB å bruke Python 3.

Innhold

Installerte Programmer: gcore, gdb, gdbserver, gdb-add-index, og gstack
Installert Bibliotek: libinproctrace.so
Installerte Mapper: /usr/{include,share}/gdb and /usr/share/doc/gdb-17.1

Korte Beskrivelser

gcore

genererer en kjernedump av et program som kjører

gdb

er GNU Debugger

gdbserver

er en ekstern server for GNU debugger (den tillater programmer å feilsøkes fra en annen maskin)

gdb-add-index

Tillater å legge til indeksfiler til ELF binærfiler. Dette setter fart på gdb starting av store programmer.

gstack

skriver ut en stabelsporing fra et program som kjører for øyeblikket

libinproctrace.so

inneholder funksjoner for sporingsmiddelet i prosessen. Agenten gjør det mulig å installere raske sporingspunkter, og viser statiske sporpunkter markører, sondering av statiske sporingsmarkører og startsporing overvåkning.

Git-2.53.0

Introduksjon til Git

Git er en gratis og åpen kildekode, distribuert versjonskontrollsystem designet for å håndtere alt fra små til veldig store prosjekter med fart og effektivitet. Hver Git clone er et fullverdig depot med fullstendig historikk og full revisjonssporing, ikke avhengig av nettverkstilgang eller en sentral server. Forgrening og sammenslåing går raskt og er lett å gjøre. Git brukes til versjonskontroll av filer, omtrent som verktøy som f.eks mercurial-7.2, Bazaar, Subversion-1.14.5, CVS, Perforce, og Team Foundation Server.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.kernel.org/pub/software/scm/git/git-2.53.0.tar.xz

  • Nedlasting MD5 sum: 3857733169a6443e48d20c75ee32f732

  • Nedlastingsstørrelse: 7.6 MB

  • Estimert diskplass som kreves: 371 MB (med nedlastet dokumentasjon; legg til 22 MB for å bygge dokumenter; legg til 24 MB for tester)

  • Estimert byggetid: 0.3 SBU (med parallellitet=4; legg til 1.0 SBU for å bygge dokumenter, og opptil 6.4 SBU (avhengig av diskhastighet) for tester)

Ytterligere Nedlastinger

Git Avhengigheter

Anbefalt
Valgfri

Apache-2.4.66 (for noen tester), Fcron-3.4.0 (kjøretid, for planlegging av git maintenance jobber), GnuPG-2.5.17 (kjøretid, kan brukes til å signere Git utførelser eller tagger, eller verifisere signaturene av dem), OpenSSH-10.2p1 (kjøretid, nødvendig for å bruke Git over ssh), Subversion-1.14.5 med Perl bindinger (kjøretid, for git svn), Tk-8.6.17 (gitk, en enkel Git arkivvisningsprogram, bruker Tk ved kjøretid), Valgrind-3.26.0, Authen::SASL (kjøretid, for git send-email), og IO-Socket-SSL-2.098 (kjøretid, for git send-email for å koble til en SMTP server med SSL kryptering)

Valgfri (for å lage mansidene, html dokumenter og andre dokumenter)

xmlto-0.0.29 og asciidoc-10.2.1, og også dblatex (for PDF versjonen av brukerhåndboken), og docbook2x for å lage infosider

Installasjon av Git

Installer Git ved å kjøre følgende kommandoer:

./configure --prefix=/usr                   \
            --with-gitconfig=/etc/gitconfig \
            --with-python=python3           \
            --with-libpcre2                 &&
make

Du kan bygge mansidene og/eller html dokumentene, eller bruke nedlastede. Hvis du velger å bygge dem, bruk de to neste instruksjonene.

Hvis du har installert asciidoc-10.2.1 kan du lage html versjonen av mansidene og andre dokumenter:

make html

Hvis du har installert asciidoc-10.2.1 og xmlto-0.0.29 kan du lage mansidene:

make man

Testpakken kan kjøres i parallell modus. For å kjøre testpakken, kjør: GIT_UNZIP=nonexist make test -k. GIT_UNZIP innstillingen forhindrer testpakken fra å bruke unzip, vi trenger det fordi i BLFS unzip er en symbolkobling til bsdunzip som ikke tilfredsstiller forutsetningen i enkelte testtilfeller. Hvis noen testtilfeller mislykkes, kan listen over mislykkede tester vises via make -C t aggregate-results.

Nå, som root bruker:

make perllibdir=/usr/lib/perl5/5.42/site_perl install

Hvis du opprettet mansidene og/eller html dokumentene

Installer mansidene som root bruker:

make install-man

Installer html dokumentene som root bruker:

make htmldir=/usr/share/doc/git-2.53.0 install-html

Hvis du lastet ned mansidene og/eller html dokumentene

Hvis du lastet ned mansidene, untar dem som root bruker:

tar -xf ../git-manpages-2.53.0.tar.xz \
    -C /usr/share/man --no-same-owner --no-overwrite-dir

Hvis du lastet ned html dokumentene, untar dem som root user:

mkdir -vp   /usr/share/doc/git-2.53.0 &&
tar   -xf   ../git-htmldocs-2.53.0.tar.xz \
      -C    /usr/share/doc/git-2.53.0 --no-same-owner --no-overwrite-dir &&

find        /usr/share/doc/git-2.53.0 -type d -exec chmod 755 {} \; &&
find        /usr/share/doc/git-2.53.0 -type f -exec chmod 644 {} \;

Omorganiser tekst og html i html dokumentene (begge metodene)

For begge metodene inkluderer html dokumentene mange vanlige tekstfiler. Omorganiser filene som root bruker:

mkdir -vp /usr/share/doc/git-2.53.0/man-pages/{html,text}         &&
mv        /usr/share/doc/git-2.53.0/{git*.adoc,man-pages/text}     &&
mv        /usr/share/doc/git-2.53.0/{git*.,index.,man-pages/}html &&

mkdir -vp /usr/share/doc/git-2.53.0/technical/{html,text}         &&
mv        /usr/share/doc/git-2.53.0/technical/{*.adoc,text}        &&
mv        /usr/share/doc/git-2.53.0/technical/{*.,}html           &&

mkdir -vp /usr/share/doc/git-2.53.0/howto/{html,text}             &&
mv        /usr/share/doc/git-2.53.0/howto/{*.adoc,text}            &&
mv        /usr/share/doc/git-2.53.0/howto/{*.,}html               &&

sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.53.0/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.53.0/howto-index.adoc

Parameterforklaringer

--with-gitconfig=/etc/gitconfig: Dette setter /etc/gitconfig er filen som lagrer standard innstillinger for Git for hele systemet.

--with-python=python3: Bruk denne bryteren for å bruke Python 3, i stedet for EOL Python 2. Python brukes til git p4 grensesnitt til Perforce repositories, og brukes også i noen tester.

--with-libpcre2: Dette sikrer bygging av git grep med PCRE2 biblioteket installert i LFS, så git grep vil støtte --perl-regexp alternativet.

tar -xf ../git-manpages-2.53.0.tar.gz -C /usr/share/man --no-same-owner: Dette untarer git-manpages-2.53.0.tar.gz. -C alternativet gjør at tar endrer mappe til /usr/share/man før den begynner å dekomprimere dokumentene. --no-same-owner alternativet stopper tar fra å bevare bruker- og gruppedetaljene til filer. Dette er nyttig siden brukeren eller gruppen kanskje ikke eksisterer på ditt system; dette kan (potensielt) være en sikkerhetsrisiko.

mv /usr/share/doc/git-2.53.0 ...: Disse kommandoene flytter noen av filene til undermapper for å gjøre det enklere å sortere gjennom dokumentene og finn det du leter etter.

find ... chmod ...: Disse kommandoene korrigerer tillatelser i tar-filen for den sendte dokumentasjonen.

Configuring Git

Konfigurasjonsfiler

~/.gitconfig og /etc/gitconfig

Innhold

Installerte Programmer: git, git-receive-pack, git-upload-archive, og git-upload-pack (hardlenket til hver annen), git-cvsserver, git-shell, gitk, og scalar
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/libexec/git-core, /usr/lib/perl5/5.42/site_perl/Git, og /usr/share/{doc/git-2.53.0,git-core,git-gui,gitk,gitweb}

Korte Beskrivelser

git

er den dumme innholdssporeren

git-cvsserver

er en CVS serveremulator for Git

gitk

er en grafisk Git depotleser (trenger Tk-8.6.17)

git-receive-pack

påkalles av git send-pack og oppdaterer depoet med informasjonen matet fra den eksterne enden

git-shell

er et påloggingsskall for SSH kontoer for å gi begrenset Git adgang

git-upload-archive

påkalles av git archive --remote og sender et generert arkiv til den andre enden over git protokollen

git-upload-pack

påkalles av git fetch-pack, det oppdager hvilke objekter den andre siden mangler, og sender de etter pakking

scalar

er et lagringsadministrasjonsverktøy som optimerer Git for bruk i store depoter

Kjøre en Git server

Introduksjon

Denne delen vil beskrive hvordan du setter opp, administrerer og sikrer en git server. Git har mange alternativer tilgjengelig. For mer detaljert dokumentasjon se https://git-scm.com/book/en/v2.

Server Avhengigheter

Påkrevd

git-2.53.0 og OpenSSH-10.2p1

Sette opp en Git Server

Følgende instruksjoner vil installere en git server. Det vil bli satt opp til å bruke OpenSSH som sikker ekstern tilgangsmetode.

Konfigurasjon av serveren består av følgende trinn:

1. Sette opp brukere, grupper og tillatelser

Du må være bruker root for den første delen av konfigurasjonen. Opprett git bruker og gruppe og sett en ubrukelig passordhash med følgende kommandoer:

groupadd -g 58 git &&
useradd -c "git Owner" -d /home/git -m -g git -s /usr/bin/git-shell -u 58 git &&
sed -i '/^git:/s/^git:[^:]:/git:NP:/' /etc/shadow

Sett inn en ubrukelig passordhash (erstatter ! med NP) låser opp kontoen, men den kan ikke brukes for å logge på via passordautentisering. Det kreves av sshd for å fungere skikkelig. Deretter oppretter du noen filer og mapper i hjemmemappen til git brukeren som gir tilgang til git depotet ved å bruke ssh nøkler.

install -o git -g git -dm0700 /home/git/.ssh &&
install -o git -g git -m0600 /dev/null /home/git/.ssh/authorized_keys

For enhver utvikler som bør ha tilgang til depotet legg til hans/hennes offentlige ssh nøkkel til /home/git/.ssh/authorized_keys. Først må du legge til noen alternativer for å hindre brukere fra å bruke tilkobling til git for portvideresending til andre maskiner som git serveren kan nå.

echo -n "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty " >> /home/git/.ssh/authorized_keys &&
cat <user-ssh-key> >> /home/git/.ssh/authorized_keys

Det er også nyttig å angi standardnavnet til den første grenen av nye depoter ved å endre git konfigurasjonen. Som root bruker, kjør:

git config --system init.defaultBranch trunk

Legg til slutt til /usr/bin/git-shell inngang til /etc/shells konfigurasjonsfil. Dette skallet har blitt satt i git brukerprofil og sørger for at kun git relaterte handlinger kan utføres:

echo "/usr/bin/git-shell" >> /etc/shells

2. Lag et git depot

Depotet kan være hvor som helst på filsystemet. Det er viktig at git brukeren har lese-/skrivetilgang til den plasseringen. Vi bruker /srv/git som basismappe. Lag et nytt git depot med følgende kommandoer (som root bruker):

Notat

I alle instruksjonene nedenfor bruker vi project1 som et eksempel på depotnavn. Du bør navngi depotet ditt som et kort beskrivende navn for ditt spesifikke prosjekt.

install -o git -g git -m755 -d /srv/git/project1.git &&
cd /srv/git/project1.git                             &&
git init --bare                                      &&
chown -R git:git .

3. Fyll ut depotet fra et klientsystem

Notat

Alle instruksjonene i denne delen og den neste bør gjøres på et brukersystem, ikke på serversystemet.

Nå som depotet er opprettet, kan det brukes av utviklere til å legge inn noen filer i den. Når ssh nøkkelen til brukeren er importert til git sin authorized_keys fil, kan brukeren samhandle med depotet.

En minimal konfigurasjon bør være tilgjengelig på utviklerens system som spesifiserer brukernavnet og e-postadressen. Lag denne minimale konfigurasjonsfilen på klientsiden:

cat > ~/.gitconfig <<EOF
[user]
        name = <users-name>
        email = <users-email-address>
EOF

På utviklerens maskin, sett opp noen filer som skal skyves til depotet som det første innholdet:

Notat

gitserver begrepet som brukes nedenfor skal være vertsnavnet (eller ip adressen) til git serveren.

mkdir myproject
cd myproject
git init --initial-branch=trunk
git remote add origin git@gitserver:/srv/git/project1.git
cat >README <<EOF
This is the README file
EOF
git add README
git commit -m 'Initial creation of README'
git push --set-upstream origin trunk

Det første innholdet blir nå sendt til serveren og er tilgjengelig for andre brukere. På den gjeldende maskinen er argumentet --set-upstream origin trunk er ikke lenger nødvendig siden det lokale depotet er koblet til det eksterne depotet. Påfølgende dytt kan utføres som

git push

Andre utviklere kan nå klone depotet og gjøre endringer i innholdet (så lenge ssh nøklene deres har blitt installert):

git clone git@gitserver:/srv/git/project1.git
cd project1
vi README
git commit -am 'Fix for README file'
git push

Notat

Dette er et veldig grunnleggende serveroppsett basert på OpenSSH adgang. Alle utviklere bruker git brukeren for å utføre handlinger på depotet og endringene brukere foretar kan skilles ut som det lokale brukernavnet (se ~/.gitconfig) er registrert i endringssett.

Tilgangen er begrenset av de offentlige nøklene som er lagt til git sin authorized_keys filen og det er ingen mulighet for publikum til å eksportere/klone depotet. For å aktiver dette, fortsett med trinn 4 for å sette opp git serveren for offentlig lesetilgang.

I URLen som brukes til å klone prosjektet, den absolutte banen (her /srv/git/project1.git) må spesifiseres da depotet ikke er i git sin hjemmemappe, men i /srv/git. For å bli kvitt eksponeringen som avslører strukturen til serverinstallasjonen, en symbolkobling kan legges til i git sin hjemmemappe for hvert prosjekt som dette:

ln -svf /srv/git/project1.git /home/git/

Nå kan depotet klones ved bruk av

git clone git@gitserver:project1.git

4. Konfigure Serveren

Oppsettet beskrevet ovenfor gjør et depot tilgjengelig for autentiserte brukere (med å gi den offentlige ssh nøkkelfilen). Det er også en enkel måte å publisere depotet til uautentiserte brukere — selvfølgelig uten skriveadgang.

Kombinasjonen av tilgang via ssh (for autentiserte brukere) og eksport av arkiver til uautentiserte brukere via nissen er i de fleste tilfeller nok for en utviklingsside.

Notat

Nissen vil være tilgjengelig på port 9418 som standard. Sørg for at brannmuroppsettet tillater tilgang til denne porten.

For å starte serveren ved oppstart, installer git-daemon oppstartskriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-git-daemon

For å tillate git å eksportere et depot, en fil som heter git-daemon-export-ok kreves i hver depotmappe på serveren. Filen trenger ikke noe innhold, bare dens eksistens muliggjør, dens fravær deaktiverer eksporten av det depotet.

touch /srv/git/project1.git/git-daemon-export-ok

Skriptet for å starte git nissen bruker noen standardverdier internt. Det viktigste er veien til depotmappen som er satt til /srv/git. I tilfelle du av en eller annen grunn har opprettet depotet i en annen plassering, må du fortelle oppstartsskriptet hvor depot er å finne. Dette kan oppnås ved å lage en konfigurasjonsfilen navngitt /etc/sysconfig/git-daemon. Denne konfigurasjonsfilen vil bli importert hvis den eksisterer, noe som betyr at den er det valgfri. Filen kan se ut som:

# Begin /etc/sysconfig/git-daemon

# Specify the location of the git repository
GIT_BASE_DIR="/srv/git/"

# Directories added to whitelist
DFT_REPO_DIR="$GIT_BASE_DIR"

# Add extra options which will appended to the 'git daemon'
# command executed in the boot script
GIT_DAEMON_OPTS=""

# End /etc/sysconfig/git-daemon

Det er bare tre alternativer å angi i konfigurasjonsfilen:

  • GIT_BASE_DIR=<dirname>

    Spesifiser plasseringen av git depoene. Relative stier som brukes når du får tilgang til nissen vil oversettes i forhold til denne mappen.

  • DFT_REPO_DIR=<dirname>

    Denne mappen er lagt til den hvite listen over tillatte mapper. Denne variabelen kan inneholde flere mappenavn, men er vanligvis satt lik GIT_BASE_DIR.

  • GIT_DAEMON_OPTS=<options>

    I tilfelle spesielle alternativer til git daemon kommandoen er nødvendig, må de spesifiseres i denne innstillingen. Et eksempel kan være å justere portnummeret som nissen lytter på. I dette tilfellet, legg til --port=<port number> til denne variabelen. For mer informasjon om hvilke alternativer som kan angis, ta en titt på utdataene til git daemon --help.

Etter å ha startet nissen, kan uautentiserte brukere klone eksporterte depoer ved å bruke

git clone git://gitserver/project1.git

Som basismappen er /srv/git standard (eller satt til en egendefinert verdi i konfigurasjonen), git tolker den innkommende banen (/project1.git) i forhold til den basismappen slik at depotet i /srv/git/project1.git er servert.

Guile-3.0.11

Introduksjon til Guile

Guile pakken inneholder GNU-prosjektets utvidelsesspråkbibliotek. Guile inneholder også en frittstående Scheme tolk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/guile/guile-3.0.11.tar.xz

  • Nedlasting MD5 sum: f215f364387f6c9b008efaa11e8079dc

  • Nedlastingsstørrelse: 5.6 MB

  • Estimert diskplass som kreves: 195 MB (legg til 3 MB for tester)

  • Estimert byggetid: 4.2 SBU (Bruker parallellisme=4; legg til 0,3 SBU for tester)

Guile Avhengigheter

Påkrevd

GC-8.2.12 og libunistring-1.4.1

Valgfri

Emacs-30.2 og GDB-17.1 (kun kjøretids avhengighet).

Installasjon av Guile

Installer Guile ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/guile-3.0.11 &&
make      &&
make html &&

makeinfo --plaintext -o doc/r5rs/r5rs.txt doc/r5rs/r5rs.texi &&
makeinfo --plaintext -o doc/ref/guile.txt doc/ref/guile.texi

Når du kjører testpakken, må du først fjerne en mislykket test som stopper testene: rm test-suite/tests/srfi-207.test. Deretter for å teste resultatene, utsted: ./check-guile.

Nå, som root bruker:

make install      &&
make install-html &&

mkdir -p                       /usr/share/gdb/auto-load/usr/lib &&
mv /usr/lib/libguile-*-gdb.scm /usr/share/gdb/auto-load/usr/lib &&
mv /usr/share/doc/guile-3.0.11/{guile.html,ref} &&
mv /usr/share/doc/guile-3.0.11/r5rs{.html,}     &&

find examples -name "Makefile*" -delete         &&
cp -vR examples   /usr/share/doc/guile-3.0.11   &&

for DIRNAME in r5rs ref; do
  install -v -m644  doc/${DIRNAME}/*.txt \
                    /usr/share/doc/guile-3.0.11/${DIRNAME}
done &&
unset DIRNAME

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: guild, guile, guile-config, guile-snarf og guile-tools
Installerte Biblioteker: libguile-3.0.so og guile-readline.so
Installerte Mapper: /usr/include/guile, /usr/lib/guile, /usr/share/doc/guile-3.0.11 og /usr/share/guile

Korte Beskrivelser

guile

er en frittstående Scheme tolk for Guile

guile-config

er et Guile skript som gir informasjon som er nødvendig for å koble programmene dine til Guile biblioteket, omtrent på samme måte PkgConfig gjør det

guile-snarf

er et skript for å analysere deklarasjonene i din C kode for Scheme synlige C funksjoner

guild

er et innpakningsprogram installert sammen med guile, som vet hvor en bestemt modul er installert og kaller den, og sender sine argumenter til programmet

guile-tools

er en symbolkobling til guild

LLVM-21.1.8

Introduksjon til LLVM

LLVM pakken inneholder en samling av modulære og gjenbrukbare kompilator og verktøykjede teknologier. Lavnivå virtuell maskin (LLVM) kjernebiblioteker gir en moderne kilde og mål uavhengig optimaliserer, sammen med kodegenereringsstøtte for mange populære CPUer (samt noen mindre vanlige!). Disse bibliotekene er bygget rundt en godt spesifisert koderepresentasjon kjent som LLVM mellomrepresentasjon ("LLVM IR").

Clang gir nye C, C++, Objective C og Objective C++ grensesnitt for LLVM og kreves av noen skrivebordspakker som f.eks firefox og for rust hvis det er bygget ved hjelp av systemets LLVM.

Compiler RT pakken gir kjøretids rense og profilerings biblioteker for utviklere som bruker Clang og LLVM.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Cmake moduler for LLVM

Tredjepartsavhengigheter for LLVM byggesystemet

Anbefalt Nedlasting

Clang

Valgfri Nedlasting

Compiler RT

LLVM Avhengigheter

Påkrevd

CMake-4.2.3

Valgfri

Doxygen-1.16.1, git-2.53.0, Graphviz-14.1.2, libunwind-1.8.3, libxml2-2.15.1, psutil-7.2.2 (for tester), Pygments-2.19.2, PyYAML-6.0.3 (for tester), rsync-3.4.1 (for tester), sphinx-9.1.0, texlive-20250308 (eller install-tl-unx), Valgrind-3.26.0, Zip-3.0, myst-parser (for bygging av dokumentasjonen), OCaml, og Z3

Installasjon av LLVM

To ekstra tarballer llvm-cmake-21.1.8.src.tar.xz og llvm-third-party-21.1.8.src.tar.xz er nødvendig for LLVM byggesystemet. Oppstrøms forventer at de pakkes ut på samme nivå som llvm-21.1.8.src.tar.xz tarballen, og de utpakkede mappene omdøpt til cmake og third-party. Pakk dem ut og endre byggesystemet for å unngå å lage tvetydige navn på mapper utenfor llvm-21.1.8.src hierarkiet:

tar -xf ../llvm-cmake-21.1.8.src.tar.xz                              &&
tar -xf ../llvm-third-party-21.1.8.src.tar.xz                        &&
sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-21.1.8.src@'          \
    -i CMakeLists.txt                                                &&
sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@third-party-21.1.8.src@' \
    -i cmake/modules/HandleLLVMOptions.cmake

Notat

Disse to tarballene trekkes ut i mapper navngitt cmake-21.1.8.src og third-party-21.1.8.src, dvs. mappenavnene mangler llvm- prefikset.

Installer clang inn i kildetreet ved å kjøre følgende kommandoer:

tar -xf ../clang-21.1.8.src.tar.xz -C tools &&
mv tools/clang-21.1.8.src tools/clang

Hvis du har lastet ned compiler-rt, installer den i kildetreet ved å kjøre følgende kommandoer:

tar -xf ../compiler-rt-21.1.8.src.tar.xz -C projects    &&
mv projects/compiler-rt-21.1.8.src projects/compiler-rt

Det er mange Python skript i denne pakken som bruker /usr/bin/env python for å få tilgang til systemets Python som på LFS er Python-3.14.3. Bruk følgende kommando for å fikse disse skriptene:

grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'

Sørg for å installere FileCheck programmet som er nødvendig av testpakken til noen pakker (for eksempel rustc-1.93.1):

sed 's/utility/tool/' -i utils/FileCheck/CMakeLists.txt

Installer LLVM ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

CC=gcc CXX=g++                               \
cmake -D CMAKE_INSTALL_PREFIX=/usr           \
      -D CMAKE_SKIP_INSTALL_RPATH=ON         \
      -D LLVM_ENABLE_FFI=ON                  \
      -D CMAKE_BUILD_TYPE=Release            \
      -D LLVM_BUILD_LLVM_DYLIB=ON            \
      -D LLVM_LINK_LLVM_DYLIB=ON             \
      -D LLVM_ENABLE_RTTI=ON                 \
      -D LLVM_TARGETS_TO_BUILD="host;AMDGPU" \
      -D LLVM_BINUTILS_INCDIR=/usr/include   \
      -D LLVM_INCLUDE_BENCHMARKS=OFF         \
      -D CLANG_DEFAULT_PIE_ON_LINUX=ON       \
      -D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang \
      -W no-dev -G Ninja ..                  &&
ninja

Hvis du ønsker å kjøre testpakken og du har lastet ned compiler-rt, omgå et problem som forårsaker testfeil når du bygger LLVM med GCC og -D CLANG_CONFIG_FILE_SYSTEM_DIR og hindre at noen testserier bruker ld.gold som LFS Binutils pakken ikke gir lenger:

sed -e 's/config.has_no_default_config_flag/True/' \
    -e 's/"-fuse-ld=gold"//'     
    -i ../projects/compiler-rt/test/lit.common.cfg.py

LLVM testpakken kan produsere mange kjernedumpfiler. De vil okkupere en stor mengde diskplass, og kjernedumpprosessen kan reduserer testingen betydelig. For å teste resultatene med kjernedump deaktivert, utsted:

sh -c 'ulimit -c 0 && ninja check-all'

Hvis -jN (N erstattet med et nummer) sendes til ninja, testene vil bygges med N logiske kjerner, men kjører med alle tilgjengelige logiske kjerner. Kjør testkommandoen i en cgroup ( les «Bruk Linux Control Group for å begrense ressursbruken» for detaljer) for å begrense antall logiske kjerner for å kjøre testene. 23 cfi tester er kjent for å mislykkes fordi deres antagelse om linker er ikke sant med BFD linkeren, og vi har måttet stoppe dem fra å bruke den fjernede Gold linkeren. En test navngitt DataFlowSanitizer-x86_64 :: atomic.cpp er kjent for å mislykkes med gcc-15.1 eller nyere. En test navngitt Linux/clone_setns.cpp vil mislykkes hvis CONFIG_USER_NS ikke er aktivert i kjernekonfigurasjonen.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D LLVM_ENABLE_FFI=ON: Denne bryteren tillater LLVM å bruke libffi.

-D LLVM_BUILD_LLVM_DYLIB=ON: Denne bryteren bygger bibliotekene som statiske og kobler dem alle sammen til en unik delt. Dette er den anbefalte måten å bygge et delt bibliotek på.

-D CMAKE_BUILD_TYPE=Release: Denne bryteren aktiverer kompilatoroptimaliseringer for å øke hastigheten på koden og redusere størrelsen. Den deaktiverer også noen kompileringskontroller som ikke er nødvendige på en produksjonssystem.

-D LLVM_TARGETS_TO_BUILD="host;AMDGPU": Denne bryteren gjør det mulig å bygge for samme mål som verten, og også for r600 AMD GPU som brukes av Mesa r600 og radeonsi drivere. Standard er alle målene. Du kan bruke en semikolonseparert liste. Gyldige mål er: host, AArch64, AMDGPU, ARM, AVR, BPF, Hexagon, Lanai, LoongArch, Mips, MSP430, NVPTX, PowerPC, RISCV, Sparc, SystemZ, VE, WebAssembly, X86, XCore, eller alle.

-D LLVM_LINK_LLVM_DYLIB=ON: Brukes sammen med -D LLVM_BUILD_LLVM_DYLIB=ON, denne bryteren aktiverer kobling av verktøyene mot det delte biblioteket i stedet for de statiske. Det reduserer størrelsen litt og sikrer også at llvm-config vil bruke libLLVM-21.so riktig.

-D LLVM_ENABLE_RTTI=ON: Denne bryteren brukes til å bygge LLVM med informasjon om kjøretidstype. Dette er nødvendig for å bygge Mesa-25.3.5.

-D LLVM_BINUTILS_INCDIR=/usr/include: Denne bryteren brukes til å fortelle byggesystemet plasseringen av binutils deklarasjoner, som ble installert i LFS. Dette tillater bygging av LLVMgold.so, som trengs for å bygge programmer med clang og Link Time Optimization (LTO).

-D LLVM_INCLUDE_BENCHMARKS=OFF: brukes til å deaktivere generasjonsbyggmål for LLVM benchmarks. Dette alternativet krever tilleggskode som ikke er tilgjengelig for øyeblikket.

-D CLANG_DEFAULT_PIE_ON_LINUX=ON: gjør -fpie alternativet standard når du kompilerer programmer. Sammen med ASLR funksjonen aktivert i kjernen, dette beseirer en slags angrep basert på kjente minneoppsett.

-D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang: gjør at clang og clang++ søker /etc/clang for konfigurasjonsfiler.

-D BUILD_SHARED_LIBS=ON: hvis brukt i stedet for -D LLVM_BUILD_LLVM_DYLIB=ON og -D LLVM_LINK_LLVM_DYLIB=ON, bygger alle LLVM biblioteker (ca. 60) som delte biblioteker i stedet for statiske.

-D LLVM_ENABLE_DOXYGEN=ON -D LLVM_ENABLE_DOCS=ON: Aktiverer generering av søkbar HTML dokumentasjon hvis du har installert Doxygen-1.16.1. Dokumentasjonen blir bygget på slutten av byggeprosessen.

Konfigurere LLVM

Konfigurasjonsinformasjon

Hvis du har bygget Clang, som root bruker opprett to konfigurasjonsfiler å lage SSP aktivert som standard for clang og clang++, sånn at standardkonfigurasjonen av deres SSP funksjon vil bli konsistent med GCC-15.2.0:

mkdir -pv /etc/clang &&
for i in clang clang++; do
  echo -fstack-protector-strong > /etc/clang/$i.cfg
done

Innhold

Installerte Programmer: amdgpu-arch, analyze-build, bugpoint, c-index-test, clang, clang++ (symbolkoblinger til clang-21), clang-21, clang-check, clang-cl, clang-cpp (siste to symbolkoblinger til clang), clang-extdef-mapping, clang-format, clang-installapi, clang-linker-wrapper, clang-nvlink-wrapper, clang-offload-bundler, clang-offload-packager, clang-refactor, clang-repl, clang-scan-deps, clang-sycl-linker, clang-tblgen, diagtool, dsymutil, FileCheck, git-clang-format, hmaptool, intercept-build, llc, lli, llvm-addr2line (symbolkobling til llvm-symbolizer), llvm-ar, llvm-as, llvm-bcanalyzer, llvm-bitcode-strip (symbolkobling til llvm-objcopy), llvm-cat, llvm-cfi-verify, llvm-cgdata, llvm-config, llvm-cov, llvm-c-test, llvm-ctxprog-util, llvm-cvtres, llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap, llvm-debuginfo-analyzer, llvm-debuginfod, llvm-debuginfod-find, llvm-diff, llvm-dis, llvm-dlltool (symbolkobling til llvm-ar), llvm-dwarfdump, llvm-dwarfutil, llvm-dwp, llvm-exegesis, llvm-extract, llvm-gsymutil, llvm-ifs, llvm-install-name-tool (symbolkobling til llvm-objcopy), llvm-jitlink, llvm-lib (symbolkobling til llvm-ar), llvm-libtool-darwin, llvm-link, llvm-lipo, llvm-lto, llvm-lto2, llvm-mc, llvm-mca, llvm-ml, llvm-modextract, llvm-mt, llvm-nm, llvm-objcopy, llvm-objdump, llvm-opt-report, llvm-otool (symbolkobling til llv-objdump), llvm-pdbutil, llvm-profdata, llvm-profgen, llvm-ranlib (symbolkobling til llvm-ar), llvm-rc, llvm-readelf (symbolkobling til llvm-readobj), llvm-readobj, llvm-readtapi, llvm-reduce, llvm-remarkutil, llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress, llvm-strings, llvm-strip (symbolkobling til llvm-objcopy), llvm-symbolizer, llvm-tblgen, llvm-tli-checker, llvm-undname, llvm-windres (symbolkobling til llvm-rc), llvm-xray, nvptx-arch, opt, sancov, sanstats, scan-build, scan-build-py, scan-view, og verify-uselistorder
Installerte Biblioteker: libLLVM.so, libLLVM*.a (107 biblioteker), libLTO.so, libRemarks.so, libclang.so, libclang-cpp.so, libclang*.a (43 biblioteker), og LLVMgold.so
Installerte Mapper: /usr/include/{clang,clang-c,llvm,llvm-c}, /usr/lib/{clang,cmake/{clang,llvm},libear,libscanbuild}, /usr/share/{clang,opt-viewer,scan-build,scan-view}, og /etc/clang

Korte Beskrivelser

amdgpu-arch

viser AMD GPUer installert; ved kjøretid trenger den libhsa-runtime64.so som ikke er en del av BLFS

analyze-build

er et statisk analyseverktøy

bugpoint

er det automatiske reduksjonsverktøyet for testtilfeller

c-index-test

brukes til å teste libclang API og demonstrere bruken

clang

er Clang C, C++, og Objective-C kompilator

clang-check

er et verktøy for å utføre statisk kodeanalyse og vise abstrakt syntaks trær (AST)

clang-extdef-mapping

er et verktøy for å samle USR navn og plasseringen til eksterne definisjoner i en kildefil

clang-format

er et verktøy for å formatere C/C++/Java/JavaScript/Objective-C/Protobuf kode

clang-linker-wrapper

er et innpakningsverktøy over vertslinkeren

clang-offload-bundler

er et verktøy for å pakke/oppløse OpenMP avlastede filer knyttet til en vanlig kildefil

clang-offload-packager

er et verktøy for å samle flere objektfiler til en enkelt binær, som deretter kan brukes til å lage en fatbinærholdig avlastningskode

clang-refactor

er et Clang basert refaktoriseringsverktøy for C, C++ og Objective-C

clang-scan-deps

er et verktøy for å skanne etter avhengigheter i en kildefil

clang-tblgen

er et program som oversetter kompilatorrelatert mål beskrivelse (.td) filer til C++ kode og andre utdataformater

diagtool

er en kombinasjon av verktøy for å håndtere diagnostikk i clang

FileCheck

er et verktøy som leser to filer (en fra standardinndata, og en spesifisert på kommandolinjen) og bruker den ene til å bekrefte den andre.

dsymutil

er et verktøy som brukes til å manipulere arkiverte DWARF feilsøkingssymbolfiler, kompatibel med Darwin kommandoen dsymutil

git-clang-format

kjører clang-format på git genererte oppdateringer (krever git-2.53.0)

hmaptool

er et Python verktøy for å dumpe og konstruere deklarasjonskart

intercept-build

genererer en database med byggekommandoer for et prosjekt

llc

er LLVM statisk kompilator

lli

brukes til å kjøre programmer direkte fra LLVM bitkode

llvm-addr2line

er et verktøy som brukes til å konvertere adresser til filnavn og linjetall

llvm-ar

er LLVM arkiverer

llvm-as

er LLVM assembler

llvm-bcanalyzer

er LLVM bitkode analysator

llvm-bitcode-strip

fjerner LLVM bitkode fra et objekt

llvm-cat

er et verktøy for å sette sammen llvm moduler

llvm-cfi-verify

identifiserer om Control Flow Integrity beskytter alle indirekte kontrollflytinstruksjoner i den medfølgende objektfilen, DSO, eller binære

llvm-config

Printer LLVM kompileringsalternativer

llvm-cov

brukes til å sende ut dekningsinformasjon

llvm-c-test

er en bytecode disassembler

llvm-cvtres

er et verktøy for å konvertere Microsoft ressursfiler til COFF

llvm-cxxdump

brukes som en C++ ABI Data Dumper

llvm-cxxfilt

brukes til å demangle C++ symboler i llvm kode

llvm-cxxmap

brukes til å omforme C++ manglede symboler

llvm-debuginfo-analyzer

skriver ut en logisk representasjon av feilsøkingsinformasjon på lavt nivå

llvm-debuginfod

er en tjeneste som gir feilsøkingsinformasjon over en HTTP API for å analysere strippede binære filer

llvm-debuginfod-find

er et grensesnitt til llvm-debuginfod nissen for å finne debuginfod artefakter

llvm-diff

er LLVM strukturelle 'diff'

llvm-dis

er LLVM disassembler

llvm-dwarfdump

skriver ut innholdet av DWARF seksjoner i objektfiler

llvm-dwarfutil

er et verktøy for å kopiere og manipulere feilsøkingsinformasjon

llvm-dwp

slår sammen delte DWARF filer

llvm-elfabi

brukes til å lese informasjon om en ELF binærs ABI

llvm-exegesis

er et benchmarking verktøy som bruker informasjon tilgjengelig i LLVM til å måle vertsmaskininstruksjonskarakteristikker som latens eller portnedbrytning

llvm-extract

brukes til å trekke ut en funksjon fra en LLVM modul

llvm-gsymutil

brukes til å behandle GSYM Symbolication Format filer som konvertere minneadresser til funksjonsnavn og kildefillinje. Disse filene er mindre enn DWARF- eller Breakpad-filer

llvm-ifs

brukes til å slå sammen grensesnittstubs med objektfiler

llvm-install-name-tool

brukes til å omskrive lastekommandoer til MachO binært format

llvm-jitlink

brukes til å analysere flyttbare objektfiler for å lage innholdet kjørbar i en målprosess

llvm-libtool-darwin

gir grunnleggende libtool funksjonalitet på Darwin-baserte systemer. Dette er mest nyttig hvis du genererer binærfiler for macOS systemer

llvm-link

er LLVM linker

llvm-lipo

brukes til å lage universelle binærfiler fra MachO filer

llvm-lto

er LLVM LTO (link time optimization) linker

llvm-lto2

er en testpakke for det oppløsningsbaserte LTO grensesnittet

llvm-mc

er en frittstående maskinkode assembler/disassembler

llvm-mca

er et ytelsesanalyseverktøy for statisk å måle ytelsen til maskinkoden

llvm-ml

er en lekeplass for maskinkode levert av LLVM

llvm-modextract

er et verktøy for å trekke ut en modul fra flermodul bitkodefiler

llvm-mt

er et verktøy for å generere signerte filer og mapper fra en side-by-side monteringsmanifest (brukes for Microsoft SDK)

llvm-nm

brukes til å liste LLVM bitkode og objektfilens symboltabell

llvm-objcopy

er LLVMs versjon av et objektfil verktøy

llvm-objdump

er en LLVM objektfil dumper

llvm-opt-report

er et verktøy for å generere en optimaliseringsrapport fra YAML optimalisering opptaksfiler

llvm-pdbutil

er en PDB (Program Database) dumper. PDB er et Microsoft format

llvm-profdata

er et lite verktøy for å manipulere og skrive ut profildatafiler

llvm-profgen

genererer LLVM SPGO profileringsinformasjon

llvm-ranlib

brukes til å generere en indeks for et LLVM arkiv

llvm-rc

er et plattformuavhengig verktøy for å kompilere ressursskript inn i binære ressursfiler

llvm-readobj

viser formatspesifikk informasjon på lavt nivå om objektfiler

llvm-readtapi

er LLVM TAPI filleseren og transformatoren

llvm-reduce

brukes til å automatisk redusere testcases når du kjører en testpakke

llvm-remarkutil

konverterer merknadsfiler mellom bitstrøm og YAML; eller skriver ut funksjonsinstruksjon telleinformasjon i merknadsfiler

llvm-rtdyld

er LLVM MC-JIT verktøy

llvm-size

er LLVM objektstørrelse dumper

llvm-split

er LLVM modul splitter

llvm-stress

brukes til å generere tilfeldige .ll filer

llvm-strings

skrive ut strenger funnet i en binær (objektfil, kjørbar eller arkivbibliotek)

llvm-symbolizer

konverterer adresser til kildekodeplasseringer

llvm-tblgen

er LLVM Target Description To C++ Code Generator

llvm-tli-checker

er LLVM TargetLibraryInfo kontra SDK kontroll

llvm-undname

er et verktøy for å demangle navn

llvm-xray

er en implementering av Googles XRay funksjonsanropssporingssystem

nvptx-arch

viser NVIDIA GPUer installert; ved kjøretid trenger den libcuda.so som ikke er en del av BLFS

opt

er LLVM optimizer

sancov

er behandlingsverktøyet for rensedekning

sanstats

er behandlingsverktøyet for rensestatistikk

scan-build

er Perl skript som påkaller Clang statiske analysator

scan-build-py

er Python skript som påkaller Clang statiske analysator

scan-view

er en viser for Clang statiske analysator resultater

verify-uselistorder

er LLVM verktøy for å bekrefte brukslistens rekkefølge

Lua-5.4.8

Introduksjon til Lua

Lua er en kraftig lettvektsprogrammeringsspråk utviklet for å utvide applikasjoner. Det er også ofte brukt som et frittstående språk for allmenn bruk. Lua er implementert som et lite bibliotek med C funksjoner, skrevet i ANSI C, og kompilerer umodifisert i alle kjente plattformer. Gjennomføringsmålene er enkelhet, effektivitet, portabilitet og lave innbyggingskostnader. Resultatet er en rask språkmotor med lite fotavtrykk, noe som også gjør den ideell i innebygde systemer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.lua.org/ftp/lua-5.4.8.tar.gz

  • Nedlasting MD5 sum: 81cf5265b8634967d8a7480d238168ce

  • Nedlastingsstørrelse: 368 KB

  • Estimert diskplass som kreves: 3.7 MB (med Basis tester)

  • Estimert byggetid: mindre enn 0.1 SBU (med Basis tester)

Ytterligere Nedlastinger

Installasjon av Lua

Noen pakker sjekker for pkg-config filen for Lua, som blir opprettet med:

cat > lua.pc << "EOF"
V=5.4
R=5.4.8

prefix=/usr
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include
INSTALL_LIB=${prefix}/lib
INSTALL_MAN=${prefix}/share/man/man1
INSTALL_LMOD=${prefix}/share/lua/${V}
INSTALL_CMOD=${prefix}/lib/lua/${V}
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua -lm -ldl
Cflags: -I${includedir}
EOF

Installer Lua ved å kjøre følgende kommandoer:

patch -Np1 -i ../lua-5.4.8-shared_library-1.patch &&
make linux

For å teste resultatene, kjør: make test. «Dette vil kjøre tolken og skrive ut versjonen.» Mer omfattende tester kan utføres hvis du lastet ned "Testpakke" tarballen. Disse testene må utføres etter at pakken er installert, og derfor henviser vi til beskrivelsen nedenfor.

Nå, som root bruker:

make INSTALL_TOP=/usr                \
     INSTALL_DATA="cp -d"            \
     INSTALL_MAN=/usr/share/man/man1 \
     TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.8" \
     install &&

mkdir -pv                      /usr/share/doc/lua-5.4.8 &&
cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-5.4.8 &&

install -v -m644 -D lua.pc /usr/lib/pkgconfig/lua.pc

Her beskriver vi kun "Grunntestene". Untar tarballen og endre til lua-5.4.8-tests mappen, deretter kjør lua -e "_U=true" all.lua. Hvis testene avsluttes uten feil, vil du se en melding som inneholder strengen "final OK".

Innhold

Installerte Programmer: lua og luac
Installert Bibliotek: liblua.so
Installerte Mapper: /usr/{lib,share}/lua og /usr/share/doc/lua-5.4.8

Korte Beskrivelser

lua

er den frittstående Lua tolken

luac

er Lua kompilatoren

liblua.so

inneholder Lua API funksjoner

luajit-20260213

Introduksjon til luajit

luajit pakken inneholder en Just-In-Time kompilator for Lua. Det brukes ofte som skriptmiddelvare, og det gir høy ytelse samtidig som den har et lavt minneavtrykk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av luajit

Installer luajit ved å kjøre følgende kommandoer:

make PREFIX=/usr amalg

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PREFIX=/usr install &&
rm -v /usr/lib/libluajit-5.1.a

Parameterforklaringer

amalg: Dette sikrer en sammenslått konstruksjon, dvs. LuaJIT kjernen er kompilert som en enorm C fil, noe som tillater GCC å generere raskere og kortere kode.

Innhold

Installerte Programmer: luajit (symlink to luajit-2.1.ROLLING) og luajit-2.1.ROLLING
Installerte Biblioteker: libluajit-5.1.so
Installerte Mapper: /usr/include/luajit-2.1 og /usr/share/luajit-2.1

Korte Beskrivelser

luajit

gir en Just-In-Time kompilator for Lua

libluajit-5.1.so

inneholder et API for Just-In-Time kompilatoren for Lua

Mercurial-7.2

Introduksjon til Mercurial

Mercurial er en distribuert kildekontroll styringsverktøy som ligner på Git og Bazaar. Mercurial er skrevet i Python og brukes av prosjekter som Mozilla for Firefox og Thunderbird.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.mercurial-scm.org/release/mercurial-7.2.tar.gz

  • Nedlasting MD5 sum: 1b2c2066fcae11baac8341422e1b44c8

  • Nedlastingsstørrelse: 8.8 MB

  • Estimert diskplass som kreves: 126 MB (med dokumenter, legg til 33 MB for tester)

  • Estimert byggetid: 0.6 SBU (med dokumenter, legg til 24 SBU for tester; begge bruker parallellisme=4)

Mercurial Avhengigheter

Påkrevd

setuptools_scm-9.2.2

Valgfri

build-1.4.0, docutils-0.22.4 (nødvendig for å bygge dokumentasjonen), git-2.53.0, OpenSSH-10.2p1 (kjøretid, for å få tilgang til ssh://... depoter), Pygments-2.19.2, rustc-1.93.1 (se rust/README.rst og rust/rhg/README.md), Subversion-1.14.5 (med Python bindinger), Which-2.23 (brukt i en test), CVS, pyflakes, og re2

Installasjon av Mercurial

Mercurial er bygget og installert i en enkelt kommando som root bruker:

make PREFIX=/usr install

Dokumentasjonen er bygget av kommandoen ovenfor (i man- og html-formater), men bare man sidene er installert. Hvis du ønsker å installere html dokumentasjon, utsted som root bruker:

mkdir /usr/share/doc/mercurial-7.2 &&
cp -R doc/html /usr/share/doc/mercurial-7.2

Hvis du ønsker å kjøre testene, må rusttestene fjernes siden de for øyeblikket er ødelagt på grunn av syntaksfeil. For å gjøre dette, utsted:

sed -i '178,181d' Makefile

Det er også et problem med tillatelser i byggemappen, siden den ovenstående install kommandoen har opprettet filer eid av root, som en test prøver å modifisere. For å bøte på dette, utsted, som root bruker:

chown -Rv brukernavn .

Hvor brukernavn erstattes med brukernavnet til personen som kjører testene. For å kjøre testpakken, utsted følgende:

TESTFLAGS="-j<N> --with-hg /usr/bin/hg" make check

hvor <N> er et heltall mellom én og antall ( prosessor X tråder ), inkludert (standard er totalt antall prosessorer som returnert av nproc). Tester kan mislykkes fordi noen feilmeldinger har endret seg i Python eller noen avskrivningsadvarsler skrives ut som ikke var til stede da testen ble designet.

For å undersøke eventuelle tilsynelatende mislykkede tester, kan du bruke run-tests.py skriptet i tests mappen. For å se nesten førti brytere, noen av dem veldig nyttige, kjør tests/run-tests.py --help. Når du kjører følgende kommandoer, vil du bare kjøre testene som mislyktes før:

pushd tests  &&
  ./run-tests.py --with-hg /usr/bin/hg --retest
popd

En interessant bryter er --time, som vil generere en tabell over alle utførte tester og deres respektive start, slutt, bruker, system og sanntid når testene er fullført. Merk at disse brytere kan brukes med make check ved å inkludere dem i TESTFLAGS miljøvariabelen.

Etter installasjonen to veldig raske og enkle tester burde kjøres riktig. Den første trenger litt konfigurasjon:

cat >> ~/.hgrc << "EOF"
[ui]
username = <user_name> <user@mail>
EOF

hvor du må erstatte <user_name> og <user@mail> (mail er valgfritt og kan utelates, men hvis du beholder det, bør du også beholde vinkelparentesene «<>»). Med brukeridentiteten definert, kjør hg debuginstall og flere linjer vil vises, den siste leser "no problems detected". En annen rask og enkel test er bare hg, som skal gi grunnleggende kommandoer som kan brukes med hg.

Konfigurere Mercurial

Konfigurasjonsfiler

/etc/mercurial/hgrc og ~/.hgrc

De aller fleste utvidelser er deaktivert som standard. Kjør hg help extensions hvis du trenger å aktivere noen, f.eks. når man undersøker testfeil. Dette vil sende ut en liste over aktiverte og deaktiverte utvidelser, samt mer informasjon som hvordan aktivere eller deaktivere utvidelser ved hjelp av konfigurasjonsfiler.

Hvis du har installert make-ca-1.16.1 og ønsker Mercurial å bruke sertifikatene, som root bruker, kjør:

install -v -d -m755 /etc/mercurial &&
cat > /etc/mercurial/hgrc << "EOF"
[web]
cacerts = /etc/pki/tls/certs/ca-bundle.crt
EOF

Innhold

Installerte Programmer: hg
Installerte Biblioteker: flere interne moduler under /usr/lib/python3.14/site-packages/mercurial
Installerte Mapper: /etc/mercurial, /usr/lib/python3.14/site-packages/hgdemandimport, /usr/lib/python3.14/site-packages/hgext, /usr/lib/python3.14/site-packages/hgext3rd, /usr/lib/python3.14/site-packages/mercurial, /usr/lib/python3.14/site-packages/mercurial-7.2.dist-info, og /usr/share/doc/mercurial-7.2

Korte Beskrivelser

hg

er Mercurial versjonskontrollsystemet

NASM-3.01

Introduksjon til NASM

NASM (Netwide Assembler) er en 80x86 assembler designet for portabilitet og modularitet. Det inkluderer en disassembler også.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

NASM Avhengigheter

Valgfri (for å generere dokumentasjon):

asciidoc-10.2.1 og xmlto-0.0.29

Installasjon av NASM

Hvis du lastet ned den valgfrie dokumentasjonen, legg den inn i kildetreet:

tar -xf ../nasm-3.01-xdoc.tar.xz --strip-components=1

Installer NASM ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du lastet ned den valgfrie dokumentasjonen, installer den med følge instruksjoner som root bruker:

install -m755 -d         /usr/share/doc/nasm-3.01/html  &&
cp -v doc/html/*.html    /usr/share/doc/nasm-3.01/html  &&
cp -v doc/*.{txt,ps,pdf} /usr/share/doc/nasm-3.01

Innhold

Installerte Programmer: nasm og ndisasm
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/nasm-3.01

Korte Beskrivelser

nasm

er en portabel 80x86 assembler

ndisasm

er en 80x86 binærfil disassembler

Patchelf-0.18.0

Introduksjon til Patchelf

patchelf pakken inneholder et lite verktøy for å endre den dynamiske linkeren og RPATH til ELF kjørbare filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Patchelf

Installer patchelf ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --docdir=/usr/share/doc/patchelf-0.18.0 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installert Program: patchelf

Korte Beskrivelser

patchelf

er et enkelt verktøy for å endre eksisterende kjørbare ELF filer og biblioteker; den kan endre den dynamiske lasteren ("ELF tolker") av kjørbare filer og endre RPATH for kjørbare filer og biblioteker.

Perl Moduler

Introduksjon til Perl Moduler

Perl modulpakker (også referert til som Distribusjoner, fordi hver kan inneholde flere moduler) legger til nyttige objekter til Perl språket. Pakkene oppført på denne siden er påkrevd eller anbefalt for andre pakker i boken. Hvis de har avhengige moduler, er de enten på denne siden ellers på neste side (Perl Modulavhengigheter).

I mange tilfeller er bare de påkrevde eller anbefalte avhengighetene oppført - det kan være andre moduler som lar flere tester kjøres, men å utelate dem vil fortsatt gjøre at testene PASS.

For noen få moduler har BLFS redaktørene bestemt at andre moduler fortsatt oppført som forutsetninger ikke er påkrevd, og utelatt dem.

Der en alfabetisk-tidligere avhengighet av samme modul trekker inn en avhengighet, er det ikke nevnt for de senere avhengighetene til den samme modulen. Du bør bygge de oppførte avhengighetene i rekkefølge.

Det er generelt verdt å kjøre testene for perl moduler, de kan ofte vise problemer som manglende avhengigheter som kreves for å bruke modulen. Her har redaksjonen forsøkt å skille disse avhengigheter som bare kreves for å kjøre testpakker, men de vil ikke bli nevnt for en modul der en av dens avhengigheter bruker den modulen for sin egen testpakke. Det vil si hvis du har tenkt å kjøre testpakkene, vennligst kjør dem for hver avhengighet av modulen.

Det er mulig å automatisk installere gjeldende versjoner av en modul og alle manglende eller for gamle avhengigheter anbefalt av oppstrøms ved bruk av CPAN. Se CPAN automatisert installasjon av perl moduler på slutten av denne siden.

De fleste av disse modulene installerer bare filene under /usr/lib/perl5/site_perl/5.xx.y og de vil ikke dokumenteres. Ett eller to installeringsprogrammer (for det meste perl skript), eller et bibliotek, i /usr/bin/ eller /usr/lib/ og disse er dokumentert.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/perl-modules

Archive::Zip-1.68

Introduksjon til Archive::Zip

Archive::Zip modulen lar et Perl program lage, manipulere, lese og skrive Zip arkivfiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Archive::Zip Avhengigheter
Anbefalt (for testpakken)

libarchive-3.8.5

Installasjon av Archive::Zip

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Innhold

Installerte Programmer: crc32

Korte Beskrivelser

crc32

beregner og skriver til stdout CRC-32 verdiene til de gitte filer

autovivification-0.18

Introduksjon til autovivification modulen

Denne modulen lar deg deaktivere autovivification (den automatiske opprettelsen og populasjon av nye arrays og hashes når udefinerte variabler er dereferert), og eventuelt gi en advarsel eller en feil når det ville har oppstått.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av autovivification

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Business::ISBN-3.012

Introduksjon til Business::ISBN

The Business::ISBN modulen gir funksjoner for å arbeide med Internasjonale standard boknumre.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Business::ISBN Avhengigheter
Påkrevd

Business-ISBN-Data-20260203.001

Installasjon av Business::ISBN

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Business::ISMN-1.205

Introduksjon til Business::ISMN

Business::ISMN modulen gir funksjoner for å arbeide med Internasjonale standard musikknumre.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Business::ISMN Avhengigheter
Påkrevd

Tie-Cycle-1.233

Installasjon av Business::ISMN

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Business::ISSN-1.008

Introduksjon til Business::ISSN

Business::ISSN modulen gir funksjoner for å arbeide med Internasjonale standard serienumre.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Business::ISSN

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Class::Accessor-0.51

Introduksjon til Class::Accessor

Class::Accessor genererer accessorer/mutatorer for klassen din.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Class::Accessor

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Data::Compare-1.29

Introduksjon til Data::Compare

Data::Compare modulen sammenligner to perl datastrukturer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Data::Compare Avhengigheter
Påkrevd

Clone-0.47 og File-Find-Rule-0.35

Installasjon av Data::Compare

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Data::Dump-1.25

Introduksjon til Data::Dump

Data::Dump gir pen utskrift av datastrukturer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Data::Dump

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Data::Uniqid-0.12

Introduksjon til Data::Uniqid

Data::Uniqid gir tre enkle rutiner for å generere unike IDer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Data::Uniqid

Selv om den endelige testen mislykkes og rapporterer en feil, testpakken returnerer en status på 0. Feilen kan trygt ignoreres.

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

DateTime::Calendar::Julian-0.107

Introduksjon til DateTime::Calendar::Julian

DateTime::Calendar::Julian implementerer den julianske kalenderen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
DateTime::Calendar::Julian Avhengigheter
Påkrevd

DateTime-1.66

Installasjon av DateTime::Calendar::Julian

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

DateTime::Format::Builder-0.83

Introduksjon til DateTime::Format::Builder

DateTime::Format::Builder oppretter DateTime parser klasser og objekter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
DateTime::Format::Builder Avhengigheter
Påkrevd

DateTime-Format-Strptime-1.80 og Params-Validate-1.31

Installasjon av DateTime::Format::Builder

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Encode::EUCJPASCII-0.03

Introduksjon til Encode::EUCJPASCII

Encode::EUCJPASCII gir en eucJP-open (utvidet Unix-kode, japansk) kartlegging.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Encode::EUCJPASCII

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Encode::HanExtra-0.23

Introduksjon til Encode::HanExtra

Encode::HanExtra modulen gir ekstra sett med kinesiske kodinger som ikke er inkludert i kjernekodemodulen på grunn av størrelseproblemer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Encode::HanExtra

Denne modulen bruker de "usikre" bygge og installasjons instruksjonene (I perl-5.26.0 bruken av nåværende mappe i @INC ble fjernet for sikkerhets årsaker og denne modulen har ikke blitt oppdatert) :

PERL_USE_UNSAFE_INC=1 perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Encode::JIS2K-0.05

Introduksjon til Encode::JIS2K

Encode::JIS2K modulen gir JIS X 0212 (aka JIS 2000) kodinger.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Encode::JIS2K

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

File::FcntlLock-0.22

Introduksjon til File::FcntlLock

File::FcntlLock er en modul for å gjøre fillåsing i en objektorientert måte ved hjelp av fcntl(2) systemanrop. Dette tillater låser på deler av en fil så vel som på hele filen og overvinner noen kjente problemer med flock(2), hvorpå Perl sin flock() funksjon er basert på som standard.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av File::FcntlLock

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

File::Slurper-0.014

Introduksjon til File::Slurper

File::Slurper er en enkel, fornuftig og effektiv modul for å slurpe en fil.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
File::Slurper Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av File::Slurper

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

File::Which-1.27

Introduksjon til File::Which

File::Which gir en flyttbar implementering av 'which' verktøyet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av File::Which

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

HTML::Parser-3.83

Introduksjon til HTML::Parser

HTML::Parser distribusjon er en samling av moduler som analyserer og henter ut informasjon fra HTML dokumenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
HTML::Parser Avhengigheter
Påkrevd

HTML-Tagset-3.24 og HTTP-Message-7.01 (strengt tatt ikke nødvendig for bygging, men dens modul HTTP::Header er nødvendig for tester og et kjøretidskrav for HTML::HeadParser fra denne distribusjonen).

Installasjon av HTML::Parser

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

HTTP::Daemon-6.16

Introduksjon til HTTP::Daemon

Forekomster av HTTP::Daemon klasse er HTTP/1.1-servere som lytter på en socket for innkommende forespørsler. HTTP::Daemon er en underklasse av IO::Socket::INET, slik at du kan utføre socket operasjoner direkte på den også.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
HTTP::Daemon Avhengigheter
Påkrevd

HTTP-Message-7.01

Notat

Makefile.PL og kjøre testene vil klage på at Module::Build::Tiny mangler, men det trengs bare for Build.PL som brukes hvis systemet mangler en C kompilator.

Installasjon av HTTP::Daemon

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

IO::Socket::SSL-2.098

Introduksjon til IO::Socket::SSL

IO::Socket::SSL gjør bruk av SSL/TLS mye enklere ved å pakke inn den nødvendige funksjonalitet inn i det velkjente IO::Socket grensesnittet og gir sikre standarder når det er mulig.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
IO::Socket::SSL Avhengigheter
Påkrevd

make-ca-1.16.1 og Net-SSLeay-1.94

Valgfri

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av IO::Socket::SSL

Denne modulen bruker en variant av standard bygging og installasjonbruksanvisning:

yes | perl Makefile.PL &&
make                   &&
make test

En test, Client non-SSL connection, er kjent for å feile.

Nå, som root bruker:

make install

Parameterforklaringer

yes: Perl vil spørre om du ønsker å kjøre eksterne tester, som vil "mislykkes mykt" hvis det er nettverksproblemer. Standard er 'y', som vil la deg skripte bygget.

IO::String-1.08

Introduksjon til IO::String

IO::String - Emuler filgrensesnitt for strenger i kjernen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av IO::String

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

IPC::Run3-0.049

Introduksjon til IPC::Run3

IPC::Run3 brukes til å kjøre en underprosess med inndata/utdata omdirigering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av IPC::Run3

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Lingua::Translit-0.29

Introduction to Lingua::Translit

Lingua::Translit og dens translit program translittererer tekst mellom skrivesystemer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Lingua::Translit

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Innhold

Installerte Programmer: translit

Korte Beskrivelser

translit

translitterer tekst mellom skrivesystemer ved hjelp av ulike standarder

LWP (libwww-perl-6.81)

Introduksjon til LWP - Verdensvev biblioteket for Perl

libwww-perl samlingen er et sett med Perl moduler som gir et enkelt og konsistent applikasjonsprogrammeringsgrensesnitt (API) til Verdensveven. Hovedfokuset til biblioteket er å gi klasser og funksjoner som lar deg skrive WWW klienter. Biblioteket inneholder også moduler som er av mer generell bruk og til og med klasser som hjelper deg å implementere enkle HTTP servere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
libwww-perl Avhengigheter
Påkrevd

File-Listing-6.16, HTTP-CookieJar-0.014, HTTP-Cookies-6.11, HTTP-Daemon-6.16, HTTP-Negotiate-6.01, HTML-Parser-3.83, Net-HTTP-6.24, Try-Tiny-0.32 og WWW-RobotRules-6.02

Anbefalt (påkrevd for testpakken)

Installasjon av libwww-perl

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Etter å ha installert denne pakken, hvis du vil ha støtte for HTTPS protokollen installer LWP-Protocol-https-6.14.

Innhold

Installerte Programmer: lwp-download, lwp-dump, lwp-mirror, lwp-request

Korte Beskrivelser

lwp-download

er et skript for å hente en stor fil fra nettet

lwp-dump

brukes til å se hvilke deklarasjoner og innhold som returneres for en URL

lwp-mirror

er et enkelt speilverktøy

lwp-request

er en enkel kommandolinjebrukeragent

List::AllUtils-0.19

Introduksjon til List::AllUtils

List::Allutils modulen kombinerer List::Util og List::MoreUtils i en liten pakke.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
List::AllUtils Avhengigheter
Påkrevd

List-SomeUtils-0.59 og List-UtilsBy-0.12

Installasjon av List::AllUtils

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

List::MoreUtils-0.430

Introduksjon til List::MoreUtils

List::MoreUtils gir ting som mangler i List::Util.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
List::MoreUtils Avhengigheter
Påkrevd

Exporter-Tiny-1.006003 og List-MoreUtils-XS-0.430

Installasjon av List::MoreUtils

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Log::Log4perl-1.57

Introduksjon til Log::Log4perl

Log::Log4perl gir en Log4j implementering for perl.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Log::Log4perl

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Innhold

Installerte Programmer: l4p-templ

Korte Beskrivelser

l4p-templ

skriver ut teksten til en Log4perl konfigurasjonsmal for å starte en ny Log4perl konfigurasjonsfil

LWP::Protocol::https-6.14

Introduksjon til LWP::Protocol::https

LWP::Protocol::https gir https støtte for LWP::UserAgent (dvs. libwww-perl-6.81). Når modulen er installert er LWP i stand til å få tilgang til nettsteder ved hjelp av HTTP over SSL/TLS.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
LWP::Protocol::https Avhengigheter
Påkrevd

IO-Socket-SSL-2.098, libwww-perl-6.81, og make-ca-1.16.1 med /etc/pki/tls/certs/ca-bundle.crt.

Installasjon av LWP::Protocol::https

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Module::Build-0.4234

Introduksjon til Module::Build

Module::Build lar perl moduler bygges uten at make kommandoen er tilstede.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Module::Build

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Merk at denne modulen også kan bygges ved bruk av Build.PL

Innhold

Installerte Programmer: config_data

Korte Beskrivelser

config_data

brukes til å spørre eller endre konfigurasjonen av perl moduler

Net::DNS-1.54

Introduksjon til Net::DNS

Net::DNS er en DNS løser implementert i Perl. Den kan brukes til å utføre nesten alle typer DNS spørringer fra et Perl skript.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Net::DNS

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Parse::RecDescent-1.967015

Introduksjon til Parse::RecDescent

Parse::RecDescent genererer trinnvis ovenfra og ned rekursiv nedstigningstekst parsere fra enkle yacc-lignende grammatikkspesifikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Parse::RecDescent

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Parse::Yapp-1.21

Introduksjon til Parse::Yapp

Parse::Yapp er en Perl utvidelse for å generere og bruke LALR parsere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Parse::Yapp

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Innhold

Installerte Programmer: yapp

Korte Beskrivelser

yapp

er en frontend til Parse::Yapp modulen, som lar deg lage en Perl OO parser fra en grammatikkfil

PerlIO::utf8_strict-0.010

Introduksjon til PerlIO::utf8_strict

PerlIO::utf8_strict gir et raskt og korrekt UTF-8 PerlIO lag. I motsetning til Perls standard :utf8 lag, sjekker den inndataen for korrekthet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
PerlIO::utf8_strict Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av PerlIO::utf8_strict

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Regexp::Common-2024080801

Introduksjon til Regexp::Common

Regexp::Common gir vanlige etterspurte uttrykk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Regexp::Common

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

SGMLSpm-1.1

Introduksjon til SGMLSpm

SGMLSpm modulen er et Perl bibliotek som brukes til å analysere utdataene fra James Clarks SGMLS og NSGMLS parsere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av SGMLSpm

Før du begynner byggingen, utsted følgende kommando for å forhindre en feil:

chmod -v 644 MYMETA.yml

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Etter at pakken er installert, kjør følgende kommando som root bruker:

ln -sv sgmlspl.pl /usr/bin/sgmlspl

Innhold

Installerte Programmer: sgmlspl.pl, sgmlspl

Korte Beskrivelser

sgmlspl.pl

er en SGML prosessor

sgmlspl

er en symbolsk lenke som brukes under installasjonen av DocBook-utils-0.6.14

Sort::Key-1.33

Introduksjon til Sort::Key

Sort::Key gir et sett med funksjoner for å sortere lister med verdier etter noen beregnet nøkkelverdi.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Sort::Key

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Command-0.11

Introduksjon til Test::Command

Test::Command tester utgangsstatusen, STDOUT, eller STDERR, av en ekstern kommando.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::Command

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Differences-0.72

Introduksjon til Test::Differences

Test::Differences tester strenger og datastrukturer og viser forskjeller hvis de ikke stemmer overens.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Test::Differences Avhengigheter
Påkrevd

Text-Diff-1.45

Anbefalt (påkrevd for testpakken)

Installasjon av Test::Differences

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Text::BibTeX-0.91

Introduksjon til Text::BibTeX

Text::BibTeX gir et grensesnitt for å lese og analysere BibTeX filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Text::BibTeX Avhengigheter
Påkrevd

Config-AutoConf-0.320 og ExtUtils-LibBuilder-0.09

Installasjon av Text::BibTeX

Denne modulen er bygd ved bruk av Build.PL:

perl Build.PL &&
./Build       &&
./Build test

Nå, som root bruker:

./Build install

Innhold

Installerte Programmer: biblex, bibparse, dumpnames
Installerte Biblioteker: libbtparse.so

Korte Beskrivelser

biblex

utfører leksikalsk analyse på en BibTeX fil

bibparse

analyserer en serie BibTeX filer med kommandolinjealternativer for å kontrollere oppførselen til strengens etterbehandling

dumpnames

analyserer en BibTeX fil, deler "forfatter" og "editor" felt inn i navnelister, og dumper deretter alt til stdout

libbtparse.so

er et bibliotek for å analysere og behandle BibTeX datafiler

Text::CSV-2.06

Introduksjon til Text::CSV

Text::CSV er en kommaseparert verdimanipulator som bruker XS (ekstern subrutine (eXternal Subroutine) - for subrutiner skrevet i C eller C++) eller ren perl.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Text::CSV Avhengigheter
Anbefalt

Installasjon av Text::CSV

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Text::Roman-3.5

Introduksjon til Text::Roman

Text::Roman tillater konvertering mellom romerske og arabiske algoritmer (tall systemer, f.eks. MCMXLV og 1945).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Text::Roman

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Unicode::Collate-1.31

Introduksjon til Unicode::Collate

Unicode::Collate gir en Unicode kollasjonsalgoritme.

Notat

Dette er en kjernemodul. Hvis du bruker perl-5.28.0 eller senere, er versjonen god nok til biber-2.21 og du trenger ikke å installere denne modulen på nytt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Unicode::Collate

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Unicode::LineBreak-2019.001

Introduksjon til Unicode::LineBreak

Unicode::LineBreak gir en UAX #14 Unicode linjebrytende algoritme.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Unicode::LineBreak Avhengigheter
Påkrevd

MIME-Charset-1.013.1 og Wget-1.25.0 (for å laste ned to filer fra unicode.org i testpakken)

Valgfri

Installasjon av Unicode::LineBreak

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

URI-5.34

Introduksjon til URI

Denne modulen implementerer URI klassen. Objekter av denne klassen representerer "Uniform Resource Identifier-referanser" som spesifisert i RFC 2396 (og oppdatert av RFC 2732). En Uniform Resource Identifier er en kompakt streng av karakterer som identifiserer en abstrakt eller fysisk ressurs. En Uniform Resource Identifier kan videre klassifiseres som enten en Uniform Resource Locator (URL) eller et Uniform Resource Name (URN). Skillet mellom URL og URN spiller ingen rolle for URI klassens grensesnitt. En "URI referanse" er en URI som kan ha tilleggsinformasjon vedlagt i form av en fragmentidentifikator.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
URI Avhengigheter
Påkrevd

MIME-Base32-1.303

Anbefalt (påkrevd for testpakken)
Valgfri

Business-ISBN-3.012

Installasjon av URI

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

XML::LibXML::Simple-1.01

Introduksjon til XML::LibXML::Simple

XML::LibXML::Simple modulen er en omskriving av XML::Simple for å bruke XML::LibXML parser for XML strukturer, i stedet for vanlig Perl eller SAX parsere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
XML::LibXML::Simple Avhengigheter
Påkrevd

XML-LibXML-2.0210

Installasjon av XML::LibXML::Simple

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

XML::LibXSLT-2.003000

Introduksjon til XML::LibXSLT

XML-LibXSLT gir et grensesnitt til libxslt-1.1.45

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
XML::LibXSLT Avhengigheter
Påkrevd

libxslt-1.1.45 og XML-LibXML-2.0210

Installasjon av XML::LibXSLT

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

XML::Simple-2.25

Introduksjon til XML::Simple

XML::Simple gir en enkel API for å lese og skrive XML (spesielt config filer). Den er avviklet og bruken frarådes.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
XML::Simple Avhengigheter
Valgfri

XML-SAX-1.02 (for en alternativ parser som vil bli brukt hvis tilgjengelig, ellers vil XML::Parser (som ble installert i LFS) bli brukt)

Installasjon av XML::Simple

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

XML::Writer-0.900

Introduksjon til XML::Writer

XML::Writer gir en Perl utvidelse for å skrive XML dokumenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av XML::Writer

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

CPAN automatisert installasjon av perl moduler

Automatisk installasjon av Perl moduler.

Det er en alternativ måte å installere modulene ved å bruke cpan skallets install kommando. Kommandoen laster automatisk ned den nyeste kilden fra CPAN arkivet for modulen og eventuelle manglende avhengighetsmoduler oppført av oppstrøm. Deretter pakker den ut hver modul, kjører kompileringen, testene og installerer den.

Du må fortsatt installere eventuelle ikke-perl avhengigheter før du kjører den automatiserte installasjonsmetoden. Det kan være lurt å rydde build/ mappen etter installering, for å frigjøre plass. Hvis noen etterinstallasjonshandlinger f.eks som å lage en symbolkobling er nevnt, bør du også gjøre det.

Første gang du kjører cpan, du vil bli spurt om å legge inn informasjon om nedlastingsplasseringer og metoder. Denne informasjonen lagres i filer som ligger i ~/.cpan.

Spesielt kan det være lurt å konfigurere det slik at Sudo-1.9.17p2 brukes til installasjonene, slik at du kan bygge og teste som en vanlig bruker. Følgende eksempler har ikke brukt denne tilnærmingen.

Start cpan skallet ved å kjøre 'cpan' som root bruker. Enhver modul kan nå bli installert fra cpan>  ledeteksten med kommandoen:

install <Module::Name>

For ytterligere kommandoer og hjelp, kjør 'help' fra cpan>  ledeteksten.

Alternativt, for skriptede eller ikke-interaktive installasjoner, bruk følgende syntaks som root bruker for å installere en eller flere moduler:

cpan -i <Module1::Name> <Module2::Name>

Se gjennom cpan.1 manside for ytterligere parametere du kan sende til cpan på kommandolinjen.

Perl Modulavhengigheter

Perl Moduler som bare kreves av andre moduler

Modulene på forrige side er referert fra andre sider i BLFS, men disse modulene er bare i boken som avhengigheter av disse modulene. Hvis du bruker CPAN installasjonsmetoden, trenger du ikke lese denne siden.

BLFS redaktørene legger mye mindre vekt på disse modulene, og versjoner vil ikke bli gjennomgått regelmessig. I alle tilfeller er det bare nødvendige eller anbefalte avhengigheter som er oppført - det kan være andre moduler som tillater at flere tester kjøres, men å utelate dem vil fortsatt tillate testene PASS.

Notat

Linkene på denne siden (til metacpan.org) skal gå til "kjente gode" versjoner som deres avhengigheter er riktige for. Hvis du ønsker å bruke en senere versjon, vennligst sjekk endringsfilen på https://metacpan.org - noen ganger er det oppført avhengigheter som er lagt til, andre ganger ikke. Noen av disse modulene har svært hyppige oppdateringer, ofte med forskjellige avhengigheter. De linkede metacpan.org versjonene nedenfor var kjent for å fungere med modulversjonene i BLFS sist gjennomgått.

Men hvis du legger merke til at endringsfilen for en nyere versjon enn den som er i gjeldende utviklingsbok rapporterer en løsning for et sikkerhetsproblem rapporter dette til enten blfs-dev eller blfs-support listen.

Tilsvarende, hvis du oppdager at en oppdatert modul på forrige side trenger en ekstra avhengighet, vennligst rapporter dette.

Algorithm::Diff-1.201

Introduksjon til Algorithm::Diff

Algorithm::Diff beregner "intelligent" forskjeller mellom to filer eller lister.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Algorithm::Diff

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Alien::Build-2.84

Introduksjon til Alien::Build

Alien::Build gir verktøy for å bygge eksterne (ikke-CPAN) avhengigheter for CPAN.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Alien::Build Avhengigheter
Påkrevd

Capture-Tiny-0.50, File-Which-1.27, FFI-CheckLib-0.31 og File-chdir-0.1011

Installasjon av Alien::Build

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Alien::Build::Plugin::Download::GitLab-0.01

Introduksjon til Alien::Build::Plugin::Download::GitLab

Alien::Build::Plugin::Download::GitLab lar Alien::Build laste ned fra GitLab (i praksis lastes ikke dette ned hvis det nødvendige biblioteket allerede er installert på systemet).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Alien::Build::Plugin::Download::GitLab Avhengigheter
Påkrevd

Alien-Build-2.84 og URI-5.34

Installasjon av Alien::Build::Plugin::Download::GitLab

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Alien::Libxml2-0.20

Introduksjon til Alien::Libxml2

Alien::Libxml2 er designet for å tillate moduler å installere C libxml2 biblioteket på systemet ditt. I BLFS brukes pkg-config for å finne hvordan du kobler til den installerte libxml2-2.15.1.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Alien::Libxml2 Avhengigheter
Påkrevd

Alien-Build-Plugin-Download-GitLab-0.01, libxml2-2.15.1, og Path-Tiny-0.150

Anbefalt (påkrevd for testpakken)

Installasjon av Alien::Libxml2

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

B::COW-0.007

Introduksjon til B::COW

B::COW gir ekstra hjelpere for B kjernemodulen å sjekke Copy On Write.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av B::COW

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

B::Hooks::EndOfScope-0.28

Introduksjon til B::Hooks::EndOfScope

B::Hooks::EndOfScope lar deg kjøre kode når Perl er ferdig med kompilering av det omkringliggende omfanget.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
B::Hooks::EndOfScope Avhengigheter
Påkrevd

Module-Implementation-0.09, Sub-Exporter-Progressive-0.001013 og Variable-Magic-0.64

Anbefalt (påkrevd for testpakken)

Installasjon av B::Hooks::EndOfScope

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Business::ISBN::Data-20260203.001

Introduksjon til Business-ISBN-Data

Business-ISBN-Data er en datapakke for Business::ISBN.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Business-ISBN-Data

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Capture::Tiny-0.50

Introduksjon til Capture::Tiny

Capture::Tiny modulen fanger opp STDOUT og STDERR fra Perl, XS (ekstern subrutine, dvs. skrevet i C eller C++) eller eksterne programmer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Capture::Tiny

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Class::Data::Inheritable-0.10

Introduksjon til Class::Data::Inheritable

Class::Data::Inheritable er for å lage accessor/mutatorer til klassedata. Det vil si hvis du vil lagre noe om klassen din som helhet (i stedet for om et enkelt objekt).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Class::Data::Inheritable

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Class::Inspector-1.36

Introduksjon til Class::Inspector

Class::Inspector lar deg få informasjon om en lastet klasse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Class::Inspector

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Class::Singleton-1.6

Introduksjon til Class::Singleton

En Singleton beskriver en objektklasse som bare kan ha en instans i hvilket som helst system, for eksempel en utskriftskø. Denne modulen implementerer en Singleton klasse som andre klasser kan utledes fra.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Class::Singleton

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Class:Tiny-1.008

Introduksjon til Class:Tiny

Class:Tiny tilbyr et minimalistisk klassebyggesett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Class:Tiny

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Clone-0.47

Introduksjon til Clone

Clone kopierer perl datatyper rekursivt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Clone Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av Clone

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Clone::PP-1.08

Introduksjon til Clone::PP

Clone:PP kopierer Perl datatyper rekursivt, noe som muliggjør en dyp kopiering av en gitt Perl datastruktur.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Fu::Bar

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Config::AutoConf-0.320

Introduksjon til Config::AutoConf

Config::AutoConf modulen implementerer noen av AutoConf makroene (oppdage en kommando, oppdage et bibliotek, etc.) i ren perl.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Config::AutoConf Avhengigheter
Påkrevd

Capture-Tiny-0.50 og File-Slurper-0.014

Installasjon av Config::AutoConf

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

CPAN::Meta::Check-0.018

Introduksjon til CPAN::Meta::Check

CPAN::Meta::Check verifiserer om kravene beskrevet i et CPAN::Meta objekt er tilstede.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av CPAN::Meta::Check

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

DateTime-1.66

Introduksjon til DateTime

DateTime er et dato- og klokkeslettobjekt for perl.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
DateTime Avhengigheter
Påkrevd

DateTime-Locale-1.45 og DateTime-TimeZone-2.66

Anbefalt (påkrevd for testpakken)

Installasjon av DateTime

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

DateTime::Format::Strptime-1.80

Introduksjon til DateTime::Format::Strptime

DateTime::Format::Strptime implementerer det meste av strptime(3), dvs. det tar en streng og et mønster og returnerer et DateTime objekt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
DateTime::Format::Strptime Avhengigheter
Påkrevd

DateTime-1.66

Installasjon av DateTime::Format::Strptime

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

DateTime::Locale-1.45

Introduksjon til DateTime::Locale

DateTime::Locale gir lokaliseringsstøtte for DateTime-1.66.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
DateTime::Locale Avhengigheter
Påkrevd

Dist-CheckConflicts-0.11, File-ShareDir-1.118, namespace-autoclean-0.31 og Params-ValidationCompiler-0.31

Anbefalt (påkrevd for testpakken)

Installasjon av DateTime::Locale

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

DateTime::TimeZone-2.66

Introduksjon til DateTime::TimeZone

Denne klassen er basisklassen for alle tidssoneobjekter. En tidssone er representert internt som et sett av observanser, som hver beskriver forskyvningen fra GMT for en gitt tidsperiode.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
DateTime::TimeZone Avhengigheter
Påkrevd

Class-Singleton-1.6, Module-Runtime-0.018, og Params-ValidationCompiler-0.31

Anbefalt (påkrevd for testpakken)

Installasjon av DateTime::TimeZone

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Devel::StackTrace-2.05

Introduksjon til Devel::StackTrace

Devel::StackTrace gir et objekt som representerer et stabelspor.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Devel::StackTrace

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Dist::CheckConflicts-0.11

Introduksjon til Dist::CheckConflicts

Dist::CheckConflicts erklærer versjonskonflikter for en distribusjon, for å støtte postinstallasjonsoppdateringer av avhengige distribusjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Dist::CheckConflicts Avhengigheter
Påkrevd

Module-Runtime-0.018

Anbefalt (påkrevd for testpakken)

Installasjon av Dist::CheckConflicts

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Encode::Locale-1.05

Introduksjon til Encode::Locale

Encode::Locale bestemmer lokalkodingen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Encode::Locale

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Eval::Closure-0.14

Introduksjon til Eval::Closure

Eval::Closure skaper trygt og rent lukkinger via strengevaluering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Eval::Closure Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av Eval::Closure

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Exception::Class-1.45

Introduksjon til Exception::Class

Exception::Class lar deg deklarere ekte unntaksklasser i Perl.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Exception::Class Avhengigheter
Påkrevd

Class-Data-Inheritable-0.10 og Devel-StackTrace-2.05

Installasjon av Exception::Class

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Exporter::Tiny-1.006003

Introduksjon til Exporter::Tiny

Exporter::Tiny er en eksportør med funksjonene til Sub::Exporter men bare kjerneavhengigheter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Exporter::Tiny

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

ExtUtils::LibBuilder-0.09

Introduksjon til ExtUtils::LibBuilder

ExtUtils::LibBuilder er et verktøy for å bygge C biblioteker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
ExtUtils::LibBuilder Avhengigheter
Påkrevd

Module-Build-0.4234

Installasjon av ExtUtils::LibBuilder

Denne modulen er bygd ved bruk av Build.PL:

perl Build.PL &&
./Build       &&
./Build test

Nå, som root bruker:

./Build install

FFI::CheckLib-0.31

Introduksjon til FFI::CheckLib

FFI::CheckLib sjekker om et bestemt dynamisk bibliotek er tilgjengelig for FFI (Foreign Function Interface) å bruke.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
FFI::CheckLib Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av FFI::CheckLib

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

File::chdir-0.1011

Introduksjon til File::chdir

File::chdir gir en mer fornuftig måte å endre mapper på.

Perls chdir() har det uheldige problemet med å være veldig, veldig, veldig global. Hvis noen del av programmet kaller chdir() eller et bibliotek du bruker kaller chdir(), endrer den gjeldende arbeidsmappen for *hele* programmet. File::chdir gir deg et alternativ, $CWD og @CWD.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av File::chdir

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

File::Copy::Recursive-0.45

Introduksjon til File::Copy::Recursive

Denne modulen kopierer og flytter mapper rekursivt (eller enkeltfiler), til en valgfri dybde og forsøker å bevare hver fil eller mappe sin modus.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
File::Copy::Recursive Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av File::Copy::Recursive

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

File::Find::Rule-0.35

Introduksjon til File::Find::Rule

File::Find::Rule er et vennligere grensesnitt til File::Find. Det lar deg bygge regler som spesifiserer ønskede filer og mapper.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
File::Find::Rule Avhengigheter
Påkrevd

Number-Compare-0.03 og Text-Glob-0.11

Installasjon av File::Find::Rule

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Innhold

Installerte Programmer: findrule

Korte Beskrivelser

findrule

er en kommandolinjeinnpakning for File::Find::Rule

File::Listing-6.16

Introduksjon til File::Listing

File::Listing analyserer en mappeoppføring.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
File::Listing Avhengigheter
Påkrevd

HTTP-Date-6.06

Installasjon av File::Listing

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

File::ShareDir-1.118

Introduksjon til File::ShareDir

File::ShareDir lar deg få tilgang til datafiler som har blitt installert av File::ShareDir::Install.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
File::ShareDir Avhengigheter
Påkrevd

Class-Inspector-1.36 og File-ShareDir-Install-0.14

Installasjon av File::ShareDir

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

File::ShareDir::Install-0.14

Introduksjon til File::ShareDir::Install

File::ShareDir::Install lar deg installere skrivebeskyttede datafiler fra en distribusjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av File::ShareDir::Install

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

HTML::Tagset-3.24

Introduksjon til HTML::Tagset

HTML::Tagset gir flere datatabeller som er nyttige for å analysere HTML.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av HTML::Tagset

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

HTTP::CookieJar-0.014

Introduksjon til HTTP::CookieJar

HTTP::CookieJar gir en minimalistisk HTTP brukeragent informasjonskapsel jar.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
HTTP::CookieJar Avhengigheter
Påkrevd

HTTP-Date-6.06

Anbefalt (påkrevd for testpakken)

Installasjon av HTTP::CookieJar

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

HTTP::Cookies-6.11

Introduksjon til HTTP::Cookies

HTTP::Cookies gir en klasse for objekter som representerer en "cookie jar" -- det vil si en database med alle HTTP informasjonskapslene som en gitt LWP::UserAgent (fra libwww-perl-6.81) objekt vet om.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
HTTP::Cookies Avhengigheter
Påkrevd

HTTP-Message-7.01

Installasjon av HTTP::Cookies

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

HTTP::Date-6.06

Introduksjon til HTTP::Date

HTTP::Date gir funksjoner for å håndtere datoformatene som brukes av HTTP protokollen og også med noen andre datoformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
HTTP::Date Avhengigheter
Anbefalt

Installasjon av HTTP::Date

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

HTTP::Message-7.01

Introduksjon til HTTP::Message

HTTP::Message gir en basisklasse for meldingsobjekter i HTTP stil.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
HTTP::Message Avhengigheter
Påkrevd

Clone-0.47, Encode-Locale-1.05, HTTP-Date-6.06, IO-HTML-1.004, LWP-MediaTypes-6.04, og URI-5.34

Anbefalt (påkrevd for testpakken)

Installasjon av HTTP::Message

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

HTTP::Negotiate-6.01

Introduksjon til HTTP::Negotiate

HTTP::Negotiate gir en komplett implementering av HTTP innholdets forhandlingsalgoritme.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
HTTP::Negotiate Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av HTTP::Negotiate

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

IO::HTML-1.004

Introduksjon til IO::HTML

IO::HTML åpner en HTML fil med automatisk tegnsettgjenkjenning.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av IO::HTML

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

IPC::System::Simple-1.30

Introduksjon til IPC::System::Simple

IPC::System::Simple tar det harde arbeidet med å kalle eksterne kommandoer og produserer detaljert diagnostikk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av IPC::System::Simple

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

List::MoreUtils::XS-0.430

Introduksjon til List::MoreUtils::XS

List::MoreUtils::XS er en kompilert bakstykke for List::MoreUtils

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av List::MoreUtils::XS

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

List::SomeUtils-0.59

Introduksjon til List::SomeUtils

List::SomeUtils gir ting som mangler i List::Util.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
List::SomeUtils Avhengigheter
Påkrevd

Module-Implementation-0.09 og List-SomeUtils-XS-0.58

Installasjon av List::SomeUtils

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

List::SomeUtils::XS-0.58

Introduksjon til List::SomeUtils::XS

List::SomeUtils::XS er en (raskere) XS (ekstern subrutine (eXternal Subroutine)) implementering for List::SomeUtils.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
List::SomeUtils::XS Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av List::SomeUtils::XS

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

List::UtilsBy-0.12

Introduksjon til List::UtilsBy

List::UtilsBy gir en rekke listeverktøy av høyere orden.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av List::UtilsBy

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

LWP::MediaTypes-6.04

Introduksjon til LWP::MediaTypes

LWP::MediaTypes gjetter medietypen (dvs. MIME-typen) for en fil eller URL.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
LWP::MediaTypes Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av LWP::MediaTypes

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

MIME::Base32-1.303

Introduksjon til MIME::Base32

MIME::Base32 er for Koding/dekoding av data.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av MIME::Base32

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

MIME::Charset-1.013.1

Introduksjon til MIME::Charset

MIME::Charset gir informasjon om tegnsett som brukes for MIME meldinger på internett, for eksempel deres koding.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
MIME::Charset Avhengigheter
Anbefalt

Installasjon av MIME::Charset

Denne modulen bruker en variant av standard konstruksjon og installasjon instruksjoner:

yes '' | perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Parameterforklaringer

yes |: Perl vil spørre om du ønsker å installere en ytterligere modul for håndtering av eldre japanske kodinger, og en annen som den vil bruke for å oversette dokumentasjon til japansk. Standardalternativet er 'n', ved å bruke 'yes' kan du skripte bygget.

Module::Implementation-0.09

Introduksjon til Module::Implementation

Module::Implementation laster en av flere alternative underliggende implementeringer av en modul (f.eks. ekstern subrutine eller ren Perl, eller en implementering for et gitt OS).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Module::Implementation Avhengigheter
Påkrevd

Module-Runtime-0.018 og Try-Tiny-0.32

Anbefalt (kreves for testpakken)

Installasjon av Module::Implementation

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Module::Runtime-0.018

Introduksjon til Module::Runtime

Module::Runtime gir funksjoner for å håndtere kjøretidshåndtering av Perl moduler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Module::Runtime

Selv om Module::Build fortsatt er oppført som en forutsetning, er det ikke lenger nødvendig på systemer med en fungerende make.

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

MRO::Compat-0.15

Introduksjon til MRO::Compat

"mro" navneområdet gir flere verktøy for å håndtere metoden oppløsningsrekkefølge og metodebufring generelt i Perl 5.9.5 og høyere. Denne modulen gir disse grensesnittene for tidligere versjoner av Perl.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av MRO::Compat

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

namespace::autoclean-0.31

Introduksjon til namespace::autoclean

Denne modulen er veldig lik namespace::clean, bortsett fra at den vil rense alle importerte funksjoner, uansett om du importerte dem før eller etter at du brukte pragmaen. Den vil heller ikke røre noe som ser ut som en metode.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
namespace::autoclean Avhengigheter
Påkrevd

namespace-clean-0.27

Anbefalt (kreves for testpakken)

Installasjon av namespace::autoclean

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

namespace::clean-0.27

Introduksjon til namespace::clean

Denne pakken lar deg holde importer og funksjoner unna navneområdet ditt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
namespace::clean Avhengigheter
Påkrevd

B-Hooks-EndOfScope-0.28 og Package-Stash-0.40

Installasjon av namespace::clean

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Net::HTTP-6.24

Introduksjon til Net::HTTP

Net::HTTP klassen er en HTTP klient på lavt nivå. En forekomst av klassen representerer en tilkobling til en HTTP server.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Net::HTTP Avhengigheter
Påkrevd

URI-5.34

Installasjon av Net::HTTP

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Net::SSLeay-1.94

Introduksjon til Net::SSLeay

Net::SSLeay er en Perl utvidelse for bruk av OpenSSL.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Net::SSLeay

Notat

En test navngitt 32_x509_get_cert_info.t er kjent for å feile med OpenSSL-3.4.0 eller senere. Hvis du aktiverer de eksterne testene, en test i t/external/15_altnames.t kan mislykkes.

Denne modulen bruker en variant av standard konstruksjon og installasjon instruksjoner:

yes '' | perl Makefile.PL &&
make                      &&
make test || true

Nå, som root bruker:

make install

Parameterforklaringer

yes '': Perl vil spørre om du ønsker å kjøre eksterne tester, som vil mislykkes hvis du ikke har nettverkstilkobling. Standard er 'n', hvis du spesifiserer dette, kan du skripte bygget.

|| true: Når du kjører et skript som avsluttes ved feil, forhindrer dette stopp på grunn av kjente testfeil.

Number::Compare-0.03

Introduksjon til Number::Compare

Number::Compare kompilerer en enkel sammenligning med en anonym subrutine, som du kan kalle med en verdi som skal testes mot. Den forstår IEC standardstørrelser (k, ki, m, mi, g, gi).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Number::Compare

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Package::Stash-0.40

Introduksjon til Package::Stash

Manipulering av stashes (Perls symboltabeller) er av og til nødvendig, men utrolig rotete, og lett å ta feil. Denne modulen skjuler alt det bak en enkel API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Package::Stash Avhengigheter
Påkrevd

Dist-CheckConflicts-0.11 og Module-Implementation-0.09

Anbefalt (påkrevd for testpakken)

Installasjon av Package::Stash

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Params::Validate-1.31

Introduksjon til Params::Validate

Params::Validate lar deg validere metode- eller funksjonskall parametere til et vilkårlig spesifisitetsnivå.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Params::Validate Avhengigheter
Påkrevd

Module-Build-0.4234 og Module-Implementation-0.09

Anbefalt (påkrevd for testpakken)

Installasjon av Params::Validate

Denne modulen er bygd ved bruk av Build.PL:

perl Build.PL &&
./Build       &&
./Build test

Nå, som root bruker:

./Build install

Params::ValidationCompiler-0.31

Introduksjon til Params::ValidationCompiler

Params::ValidationCompiler bygger en optimalisert subrutineparameter validator.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Params::ValidationCompiler Avhengigheter
Påkrevd

Exception-Class-1.45 og Specio-0.53

Anbefalt (påkrevd for testpakken)

Installasjon av Params::ValidationCompiler

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Path::Tiny-0.150

Introduksjon til Path::Tiny

Path::Tiny gir et lite raskt verktøy for å jobbe med filbaner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Path::Tiny

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Role::Tiny-2.002004

Introduksjon til Role::Tiny

Role::Tiny er et minimalistisk rollekomposisjonsverktøy.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Role::Tiny

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Scope::Guard-0.21

Introduksjon til Scope::Guard

Scope::Guard gir en praktisk måte å utføre opprydding eller andre former av ressursforvaltning på slutten av et virkefelt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Scope::Guard

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Specio-0.53

Introduksjon til Specio

Specio gir klasser for å representere typebegrensninger og tvang, sammen med syntaks for å deklarere dem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Specio Avhengigheter
Påkrevd

Devel-StackTrace-2.05, Eval-Closure-0.14, Module-Runtime-0.018, Role-Tiny-2.002004, Sub-Quote-2.006009, og Try-Tiny-0.32

Anbefalt (påkrevd for testpakken)
Valgfri

namespace-autoclean-0.31 (for tespakken)

Installasjon av Specio

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Sub::Exporter::Progressive-0.001013

Introduksjon til Sub::Exporter::Progressive

Sub::Exporter::Progressive er en innpakning for Sub::Exporter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Sub::Exporter::Progressive

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Sub::Quote-2.006009

Introduksjon til Sub::Quote

Sub::Quote gir måter å generere subrutiner fra strenger.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Sub::Quote

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Sub::Uplevel-0.2800

Introduksjon til Sub::Uplevel

Sub::Uplevel lar deg lure en som caller sånn at den kjører i en høyere stabelramme.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Sub::Uplevel

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Term::Table-0.028

Introduksjon til Term::Table

Term::Table formaterer en deklarasjon og rader til en tabell. Dette brukes av noen sviktende tester for å gi diagnostikk om hva som har gått galt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Term::Table Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av Term::Table

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Deep-1.205

Introduksjon til Test::Deep

Test::Deep gir deg svært fleksible måter å sjekke at resultatet du fikk er resultatet du forventet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::Deep

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Exception-0.43

Introduksjon til Test::Exception

Test::Exception gir praktiske metoder for å teste unntaks basert kode.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Test::Exception Avhengigheter
Påkrevd

Sub-Uplevel-0.2800

Installasjon av Test::Exception

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Fatal-0.018

Introduksjon til Test::Fatal

Test::Fatal modulen gir enkle hjelpere for å teste kode som kaster unntak.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Test::Fatal Avhengigheter
Påkrevd

Try-Tiny-0.32

Installasjon av Test::Fatal

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::File-1.995

Introduksjon til Test::File

Test::File gir en samling testverktøy for filattributter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Test::File Avhengigheter
Anbefalt (påkrevd for testpakken)

Installasjon av Test::File

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::File::ShareDir-1.001002

Introduksjon til Test::File::ShareDir

Test::File::ShareDir er noe lavt nivå rørleggerarbeid for å muliggjøre en distribusjon å utføre tester mens de bruker sine egne delte mapper på en måte som ligner på hvordan de vil bli installert. Dette tillater File-ShareDir-1.118 for å se den nyeste versjonen av innholdet i stedet for det som er installert på målsystemet der du tester.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Test::File::ShareDir Avhengigheter
Påkrevd

Class-Tiny-1.008, File-Copy-Recursive-0.45, File-ShareDir-1.118, Path-Tiny-0.150, og Scope-Guard-0.21

Anbefalt (påkrevd for testpakken)

Installasjon av Test::File::ShareDir

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::LeakTrace-0.17

Introduksjon til Test::LeakTrace

Test::LeakTrace sporer minnelekkasjer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::LeakTrace

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Needs-0.002010

Introduksjon til Test::Needs

Test::Needs hopper over tester hvis en forespurt modul ikke er til stede.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::Needs

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Requires-0.11

Introduksjon til Test::Requires

Test::Requires modul sjekker om en annen (valgfri) modul kan lastes, og hvis ikke hopper den over alle gjeldende tester.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::Requires

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::RequiresInternet-0.05

Introduksjon til Test::RequiresInternet

Test::RequiresInternet er ment å enkelt teste nettverkstilkobling før funksjonstester begynner å koble til ikke-lokale Internett ressurser.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::RequiresInternet

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Simple-1.302219

Introduksjon til Test::Simple

Test::Simple inneholder grunnleggende verktøy for å skrive tester.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Test::Simple Avhengigheter
Påkrevd

Term-Table-0.028

Installasjon av Test::Simple

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::utf8-1.03

Introduksjon til Test::utf8

Test::utf8 er en samling tester som er nyttige for å håndtere utf8 strenger i Perl.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::utf8

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Warnings-0.038

Introduksjon til Test::Warnings

Test::Warnings tester for advarsler og mangelen på dem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::Warnings

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test::Without::Module-0.23

Introduksjon til Test::Without::Module

Denne modulen lar deg bevisst skjule moduler fra et program til og med selv om de er installert. Dette er mest nyttig for å teste moduler som har en reserve når en viss avhengighetsmodul ikke er installert.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Test::Without::Module

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Test2::Plugin::NoWarnings-0.10

Introduksjon til Test2::Plugin::NoWarnings

Test2::Plugin::NoWarnings fører til at tester mislykkes hvis det er noen advarsler mens de kjører.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Test2::Plugin::NoWarnings Avhengigheter
Påkrevd

Test-Simple-1.302219

Anbefalt (påkrevd for testpakken)

Installasjon av Test2::Plugin::NoWarnings

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Text::CSV_XS-1.61

Introduksjon til Text::CSV_XS

Text::CSV_XS gir fasiliteter for sammensetning og nedbrytning av kommadelte verdier.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Text::CSV_XS

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Text::Diff-1.45

Introduksjon til Text::Diff

Text::Diff utfører forskjeller på filer og opptakssett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Text::Diff Avhengigheter
Påkrevd

Algorithm-Diff-1.201

Installasjon av Text::Diff

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Text::Glob-0.11

Introduksjon til Text::Glob

Text::Glob implementerer glob(3) stilmatching som kan brukes til samsvar mot tekst, i stedet for å hente navn fra et filsystem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Text::Glob

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Tie::Cycle-1.233

Introduksjon til Tie::Cycle

Du bruker Tie::Cycle for å gå gjennom en liste om og om igjen. Med en gang du kommer til slutten av listen, går du tilbake til begynnelsen. Du trenger ikke å bekymre deg for noe av dette siden tie magi gjør det for deg.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Tie::Cycle

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

TimeDate-2.33

Introduksjon til TimeDate

TimeDate gir diverse tidssone manipulasjonsrutiner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av TimeDate

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Try::Tiny-0.32

Introduksjon til Try::Tiny

Try::Tiny gir try og catch forventing og håndtering av eksepsjonelle forhold, og å unngå særheter i Perl og vanlige feil.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Try::Tiny Avhengigheter
Valgfri (kan brukes av testpakken)

Capture-Tiny-0.50

Installasjon av Try::Tiny

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Variable::Magic-0.64

Introduksjon til Variable::Magic

Magic er Perl sin måte å forbedre variabler på. Med denne modulen kan du legge til din egen magi til en hvilken som helst variabel.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Variable::Magic

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

WWW::RobotRules-6.02

Introduksjon til WWW::RobotRules

WWW::RobotRules analyserer robots.txt filer, oppretter en WWW::RobotRules objekt med metoder for å sjekke om tilgang til en gitt URL er forbudt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
WWW::RobotRules Avhengigheter
Påkrevd (kjøretid)

libwww-perl-6.81 (installer denne modulen først og installer den senere)

Installasjon av WWW::RobotRules

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

XML::LibXML-2.0210

Introduksjon til XML::LibXML

XML::LibXML er en perl binding for libxml2-2.15.1.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Ytterligere Nedlasting
XML::LibXML Avhengigheter
Påkrevd

Alien-Libxml2-0.20 og XML-SAX-1.02

Installasjon av XML::LibXML

Først bruker du en oppdatering for å fikse problemer med testpakken når den er kompilert mot libxml2-2.15:

patch -Np1 -i ../XML-LibXML-2.0210-testsuite_fixes-2.patch

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

XML::NamespaceSupport-1.12

Introduksjon til XML::NamespaceSupport

XML::NamespaceSupport tilbyr en enkel måte å behandle namespaced XML navn fra alle programmer som kan trenge dem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av XML::NamespaceSupport

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

XML::SAX-1.02

Introduksjon til XML::SAX

XML::SAX er en SAX API for tolkertilgang for Perl. Det inkluderer klasser og APIer som kreves for å implementere SAX drivere, sammen med en fabrikkklasse for å returnere enhver SAX tolker installert på brukerens system.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
XML::SAX Avhengigheter
Påkrevd

libxml2-2.15.1, XML-NamespaceSupport-1.12, og XML-SAX-Base-1.09

Installasjon av XML::SAX

Denne modulen bruker en variant av standard konstruksjon og installasjonsbruksanvisning:

yes | perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Parameterforklaringer

yes: Perl vil spørre om du vil at den skal endre ParserDetails.ini og venter deretter på svar. Standard er 'y'. Ved å bruke "yes" kan du skripte dette.

XML::SAX::Base-1.09

Introduksjon til XML::SAX::Base

Denne modulen har en veldig enkel oppgave - å være en basisklasse for PerlSAX sine drivere og filtre.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av XML::SAX-Base

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

PHP-8.5.2

Introduksjon til PHP

PHP er PHP Hypertext Preprocessor. Primært brukt i dynamiske nettsider, gjør det mulig å programmere kode direkte innebygd i HTML markeringen. Den er også nyttig som et generelt skriptspråk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.php.net/distributions/php-8.5.2.tar.xz

  • Nedlasting MD5 sum: f6af79d3102b72a67b5f89230636a7b8

  • Nedlastingsstørrelse: 14 MB

  • Estimert diskplass som kreves: 638 MB (med tester)

  • Estimert byggetid: 1.5 SBU (legg til 2.4 SBU for tester; begge med parallellitet=4)

Ytterligere Nedlastinger

PHP Avhengigheter

Anbefalt
Valgfrie Systemverktøy og Biblioteker

Aspell-0.60.8.2, enchant-2.8.14, libxslt-1.1.45, en MTA (som gir en sendmail kommando), AppArmor, Dmalloc, Net-SNMP, oniguruma, OSSP mm, re2c, og XMLRPC-EPI

Valgfrie Grafikkverktøy og Biblioteker

FreeType-2.14.1, libexif-0.6.25, libjpeg-turbo-3.1.3, libpng-1.6.55, libtiff-4.7.1, libwebp-1.6.0, et grafiske miljø, FDF Toolkit, GD, og t1lib

Valgfrie Nettverktøy

cURL-8.18.0, tidy-html5-5.8.0, Caudium, Hyperwave, og WDDX

Valgfrie Databehandlingsverktøy og Biblioteker

lmdb-0.9.35, MariaDB-11.8.6 eller MySQL, OpenLDAP-2.6.12, PostgreSQL-18.2, unixODBC-2.3.14, Berkeley DB (deprecated) Adabas, Birdstep, cdb, DBMaker, Empress, FrontBase, IBM DB2, libiodbc, Mini SQL, Monetra, og QDBM

PHP gir også støtte til mange kommersielle databaseverktøy som f.eks Oracle, SAP og ODBC Router.

Valgfrie Sikkerhetsverktøy/Krypteringsverktøy og Biblioteker

Cyrus SASL-2.1.28, libmcrypt, og mhash

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/php

Installasjon av PHP

Du kan bruke PHP for server-side skripting, kommandolinjeskripting eller GUI applikasjoner på klientsiden. Denne boken gir instruksjoner for å sette opp PHP for server-side skripting ettersom det er den vanligste formen.

Notat

PHP har mange flere configure alternativer som vil muliggjøre støtte for ulike ting. Du kan bruke ./configure --help for å se en fullstendig liste over tilgjengelige alternativer. Også bruk av PHP nettsiden anbefales på det sterkeste, siden deres nettbaserte dokumenter er veldig bra. Et eksempel på en configure kommando som bruker mange av de vanligste avhengighetene finner du på https://anduin.linuxfromscratch.org/BLFS/files/php_configure.txt.

Hvis du av en eller annen grunn ikke har libxml2-2.15.1 installert, må du legge til --disable-libxml til configure kommandoen i instruksjonene nedenfor. Merk at dette vil forhindre pear kommandoen fra å bli bygget.

Installer PHP ved å kjøre følgende kommandoer:

./configure --prefix=/usr                \
            --sysconfdir=/etc            \
            --localstatedir=/var         \
            --datadir=/usr/share/php     \
            --mandir=/usr/share/man      \
            --without-pear               \
            --enable-fpm                 \
            --with-fpm-user=apache       \
            --with-fpm-group=apache      \
            --with-config-file-path=/etc \
            --with-zlib                  \
            --enable-bcmath              \
            --with-bz2                   \
            --enable-calendar            \
            --enable-dba=shared          \
            --with-gdbm                  \
            --with-gmp                   \
            --enable-ftp                 \
            --with-gettext               \
            --enable-mbstring            \
            --disable-mbregex            \
            --with-readline              &&
make

For å teste resultatene, kjør: make test. Flere tester (av over 20000) kan mislykkes, i så fall blir du spurt om du vil sende rapporten til PHP utviklerne. Hvis du ønsker å automatisere testen, kan du prefikse kommandoen med yes "n" | .

Nå, som root bruker:

make install                                     &&
install -v -m644 php.ini-production /etc/php.ini &&

install -v -m755 -d /usr/share/doc/php-8.5.2 &&
install -v -m644    CODING_STANDARDS* EXTENSIONS NEWS README* UPGRADING* \
                    /usr/share/doc/php-8.5.2

Standard konfigurasjonsfilene for fastCGI prosessbehandleren er bare installert hvis den ikke allerede finnes på systemet. Hvis dette er den første installasjonen, bør de gis nytt navn, som root bruker:

if [ -f /etc/php-fpm.conf.default ]; then
  mv -v /etc/php-fpm.conf{.default,} &&
  mv -v /etc/php-fpm.d/www.conf{.default,}
fi

Den forhåndsbygde HTML dokumentasjonen er pakket i to former: en tarball som inneholder mange individuelle filer, nyttig for rask innlasting i din nettleser, og en stor individuell fil, som er nyttig for å bruke søkeverktøyet til nettleseren din. Hvis du lastet ned en av, eller begge, av dokumentasjonsfiler, kjør følgende kommandoer som root brukeren for å installere dem (merk disse instruksjonene forutsetter engelske dokumenter, endre tarball navnene nedenfor hvis nødvendig).

For «Singel HTML» fil:

install -v -m644 ../php_manual_en.html.gz \
    /usr/share/doc/php-8.5.2 &&
gunzip -v /usr/share/doc/php-8.5.2/php_manual_en.html.gz

For «Mange HTML filer» tarball:

tar -xvf ../php_manual_en.tar.gz \
    -C /usr/share/doc/php-8.5.2 --no-same-owner

Den medfølgende pear er ikke installert på grunn av en feil som kan forurense filsystemet med flere skjulte filer og kataloger. Hvis pear er nødvendig, kjør følgende kommandoer for å installere den:

wget https://pear.php.net/go-pear.phar
php ./go-pear.phar

Parameterforklaringer

--datadir=/usr/share/php: Dette arbeider rundt en feil i byggemaskineriet, som installerer noen data til feil plassering.

--enable-fpm: Denne parameteren tillater byggingen av fastCGI Process Manager.

--without-pear: Denne bryteren deaktiverer installasjon av medfølgende pear programvare.

--with-config-file-path=/etc: Denne parameteren gjør at PHP leter etter php.ini konfigurasjonsfilen i /etc.

--with-zlib: Denne parameteren legger til støtte for Zlib kompresjon.

--enable-bcmath: Aktiverer bc stilpresisjons matematiske funksjoner.

--with-bz2: Legger til støtte for Bzip2 kompresjonsfunksjoner.

--enable-calendar: Denne parameteren gir støtte for kalenderkonvertering.

--enable-dba=shared: Denne parameteren aktiverer støtte for database (dbm-stil) abstraksjonslagsfunksjoner.

--enable-ftp: Denne parameteren aktiverer FTP funksjoner.

--with-gettext: Aktiverer funksjoner som bruker Gettext tekstoversettelse.

--enable-mbstring: Denne parameteren muliggjør støtte for multibyte strenger.

--with-readline: Denne parameteren aktiverer kommandolinje Readline støtte.

--disable-libxml: Dette alternativet tillater å bygge PHP uten libxml2 installert.

--with-apxs2: I stedet for å bygge fastCGI prosess behandleren, er det mulig å bygge en apache modul. Dette har en viss ytelsesstraff for tungt belastede servere, men kan være lettere å sette opp. Denne bryteren er inkompatibel med --enable-fpm og --with-fpm-... brytere.

--with-mysqli=shared: Dette alternativet inkluderer MySQLi støtte.

--with-mysql-sock=/run/mysqld/mysqld.sock: Plassering av MySQL unix socket pekeren.

--with-pdo-mysql=shared: Dette alternativet inkluderer PDO: MySQL støtte.

--with-tidy=shared: Dette alternativet inkluderer tidy bibliotek brukerstøtte.

Konfigurere PHP

Konfigurasjonsfiler

/etc/php.ini, /etc/pear.conf, /etc/php-fpm.conf, og /etc/php-fpm.d/www.conf

Konfigurasjonsinformasjon

Filen som brukes som standard /etc/php.ini konfigurasjonsfilen anbefales av PHP utviklingsteam. Denne filen endrer standardoppførselen til PHP. Hvis ingen /etc/php.ini brukes, faller alle konfigurasjonsinnstillinger til standardinnstillingene. Du burde se gjennom kommentarene i denne filen og sørg for at endringene er akseptable i ditt spesielle miljø.

FastCGI prosessbehandleren bruker konfigurasjonsfilen /etc/php-fpm.conf. Standardfilen levert med PHP inkluderer alle /etc/php-fpm.d/*.conf etter tur. Det er en sendt /etc/php-fpm.d/www.conf fil, som inneholder parametrene knyttet til interaksjonen med Apache Internett server.

Du har kanskje lagt merke til følgende fra utdataen av make install kommandon:

You may want to add: /usr/lib/php to your php.ini include_path

Hvis ønskelig, legg til oppføringen ved å bruke følgende kommando som root bruker:

sed -i 's@php/includes"@&\ninclude_path = ".:/usr/lib/php"@' \
    /etc/php.ini

For å aktivere fastCGI støtte i Apache nettserver, to LoadModule direktiver må legges til httpd.conf filen. De er kommentert ut, så bare gi følgende kommando som root bruker:

sed -i -e '/proxy_module/s/^#//'      \
       -e '/proxy_fcgi_module/s/^#//' \
       /etc/httpd/httpd.conf

Disse modulene godtar forskjellige ProxyPass direktiver. En mulighet er (som root bruker):

echo \
'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/srv/www/$1' >> \
/etc/httpd/httpd.conf

I tillegg kan det være nyttig å legge til en oppføring for index.php til DirectoryIndex direktivet til httpd.conf filen. Til slutt å legger til en linje for å sette opp .phps utvidelse for å vise fremhevet PHP kilde kan være ønskelig:

AddType application/x-httpd-php-source .phps

Du må starte på nytt Apache Internett server etter å ha gjort endringer i httpd.conf filen.

Oppstartsskript

For å starte php-fpm nissen automatisk når systemet startes på nytt, installer /etc/rc.d/init.d/php oppstartsskript fra blfs-bootscripts-20251220 pakken som root bruker:

make install-php

Innhold

Installerte Programmer: phar (symlenke), phar.phar, php, php-cgi, php-config, php-fpm, phpdbg, og phpize
Installerte Biblioteker: dba.so og opcache.so i /usr/lib/php/extensions/no-debug-non-zts-20240924
Installerte Mapper: /etc/php-fpm.d, /usr/{include,lib,share}/php, og /usr/share/doc/php-8.5.2

Korte Beskrivelser

php

er et kommandolinjegrensesnitt som lar deg analysere og kjøre PHP kode

pear

er PHP Extension and Application Repository (PEAR) pakken behandler. Dette er ikke installert som standard

php-fpm

er fastCGI prosessbehandler for PHP

phpdbg

er den interaktive PHP feilsøkeren

Python-3.14.3

Introduksjon til Python 3

Python 3 pakken inneholder Python utviklingsmiljø. Dette er nyttig for objektorientert programmering, skriving av skript, prototyping av store programmer eller utvikling av hele applikasjoner.

Notat

Python 3 ble installert i LFS. Den eneste grunnen til å gjenoppbygge den her er hvis valgfrie moduler er nødvendig, eller for å oppgradere denne pakken.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Hvis du oppgraderer til en ny Python-3 minor versjon (f.eks. fra Python-3.13.x til Python-3.14.0), må du installere på nytt eventuelle Python moduler du har installert. Du burde også installer pakker på nytt som genererer Python moduler inkludert GLib-2.86.4 (med GObject Introspection), opencv-4.13.0, FontForge-20251009, gnome-tweaks-49.0, Samba-4.23.5, og Graphviz-14.1.2 (hvis swig er installert).

Før du oppgraderer, kan du få en liste over moduler installert med pip3 list. Listen kan være ufullstendig siden noen Python moduler ikke er installert med pip3, for eksempel cracklib modulen installert med CrackLib-2.10.3. Bruk ls /usr/lib/python3.minor/site-packages for en omfattende liste.

Python modulene fra LFS må også installeres på nytt: flit-core, packaging, wheel, setuptools, meson, MarkupSafe, og Jinja2.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.python.org/ftp/python/3.14.3/Python-3.14.3.tar.xz

  • Nedlasting MD5 sum: ef513dcb836d219ae0e2b16ac9c87d0f

  • Nedlastingsstørrelse: 23 MB

  • Estimert diskplass som kreves: 333 MB (legg til 65 MB for tester)

  • Estimert byggetid: 1.7 SBU (legg til 1.0 SBU for tester; begge bruker parallellisme=4)

Ekstra Valgfri Nedlasting

Python 3 Avhengigheter

Valgfri

BlueZ-5.86, GDB-17.1 (nødvendig for noen tester), Valgrind-3.26.0, og libmpdec

Valgfri (For Tilleggsmoduler)

libnsl-2.0.1, Tk-8.6.17, og Berkeley DB (deprecated)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Python3

Installasjon av Python 3

Installer Python 3 ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --enable-shared        \
            --with-system-expat    \
            --enable-optimizations \
            --without-static-libpython &&
make

Noen tester er kjent for å av og til henge på ubestemt tid. Så for å teste resultatene, kjør testpakken, men sett en tidsbegrensning på 2 minutter for hver testforsøk:

make test TESTOPTS="--timeout 120"

For et relativt tregt system må du kanskje øke tidsbegrensningen og 1 SBU (målt når du bygger Binutils passerer 1 med én CPU kjerne) bør være nok. Noen tester er flassete, så testpakken vil kjøre mislykkede tester automatisk på nytt. Hvis en test mislyktes, men deretter bestått når den kjøres på nytt, bør den anses som bestått.

Av over 47,000 tester er følgende tester kjent for å feile: test_zipfile.

Nå, som root bruker:

make install

Hvis oppgraderingen og dokumentasjonen er lastet ned, kan du eventuelt installere det som root bruker:

install -v -dm755 /usr/share/doc/python-3.14.3/html

tar --strip-components=1  \
    --no-same-owner       \
    --no-same-permissions \
    -C /usr/share/doc/python-3.14.3/html \
    -xvf ../python-3.14.3-docs-html.tar.bz2

Parameterforklaringer

CXX="/usr/bin/g++" ./configure ...: Unngå en irriterende melding under konfigurasjonen.

--with-system-expat: Denne bryteren muliggjør kobling mot systemversjonen av Expat.

--enable-optimizations: Denne bryteren aktiverer stabile, men dyre, optimaliseringer.

--with-lto: Denne valgfrie bryteren muliggjør tykk Link Time Optimization. Uvanlig skaper det en mye større /usr/lib/python3.14/config-3.14-<arch>-linux-gnu/libpython3.14.a med en liten økning i kompileringstiden til Python. Kjøretidsresultater ser ikke ut til å vise noen fordel av å gjøre dette.

Konfigurere Python 3

For at python3 skal finne den installerte dokumentasjon, opprett følgende versjonsuavhengig symbolkobling:

ln -svfn python-3.14.3 /usr/share/doc/python-3

og legg til følgende miljøvariabel til den enkelte brukers eller systemets profil:

export PYTHONDOCS=/usr/share/doc/python-3/html

Innhold

Installerte Programmer: idle3 (symlenke) og idle3.14, pip3 og pip3.14, pydoc3 (symlenke) og pydoc3.14, python3 (symlenke); og python3.14, og python3-config (symlenke) og python3.14-config
Installerte Biblioteker: libpython3.14.so og libpython3.so
Installerte Mapper: /usr/include/python3.14, /usr/lib/python3.14, og /usr/share/doc/python-3.14.3

Korte Beskrivelser

idle3

er et innpakningsskript som åpner en Python bevisst GUI redigerer. For at dette skriptet skal kjøre, må du ha installert Tk før Python sånn at Tkinter Python modul blir bygget

pydoc3

er Python dokumentasjonsverktøy

python3

er en tolket, interaktiv, objektorientert programmeringsspråk

python3.14

er et versjonsspesifikt navn for python programmet

Python-3.11.1

Introduksjon til Python 3.11

Python 3.11 pakken inneholder en eldre versjon av Python utviklingsmiljø. Dette er bare nødvendig for å bygge seamonkey-2.53.23 fordi byggesystemet ikke har blitt oppdatert for å støtte Python-3.14.3.

Notat

IKKE installer denne pakken hvis du ikke installerer Seamonkey.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Python 3.11

Installer Python 3.11 ved å kjøre følgende kommandoer:

./configure --prefix=/opt/python3.11 \
./configure --prefix=/opt/python3.11 \
            --with-system-expat      \
            --without-static-libpython &&
make

Siden denne pakken bare brukes i svært begrensede situasjoner, anbefales ikke tester.

Nå, som root bruker:

make install

Parameterforklaringer

CXX="/usr/bin/g++" ./configure ...: Unngå en irriterende melding under konfigurasjonen.

--prefix=/opt/python3.11: Dette installerer python 3.11 inn i /opt for å unngå konflikter med systemversjonen av python, og muliggjør enkel fjerning/isolering når programmer oppdateres til python3.12 eller nyere.

--disable-shared: Denne bryteren deaktiverer bygging av delte biblioteker. Siden alle pakkene som trenger python-3.11 har bygget i moduler og ikke kobler direkte til python, er det trygt å slå av støtte for delt bibliotek.

--with-system-expat: Denne bryteren muliggjør kobling mot systemversjonen av Expat.

Innhold

Installerte Programmer: python3.11
Installerte Biblioteker: libpython3.11.a
Installerte Mapper: /opt/python3.11/include/python3.11, og /opt/python3.11/lib/python3.11,

Korte Beskrivelser

python3.11

er et versjonsspesifikt navn for python programmet

Python Moduler

Introduksjon til Python Moduler

Python modulpakker legger nyttige objekter til Python språket. Moduler brukt av pakker i hele BLFS er oppført her, sammen med deres avhengigheter.

Viktig

I BLFS bygger og installerer vi normalt Python 3 moduler med pip3. Vennligst pass på at pip3 install kommandoer i boken skal bli kjørt som root med mindre det er for et virtuelt Python miljø. Kjøring av pip3 install som en ikke-root bruker kan synes å fungere fint, men det vil føre til at den installerte modulen blir utilgjengelig for andre brukere.

pip3 install vil ikke installere en allerede installert modul som standard. For å bruke pip3 install kommandoen for å oppgradere en modul (for eksempel fra meson-0.61.3 til meson-0.62.0), sett inn --upgrade inn i kommandolinjen. Hvis det virkelig er nødvendig for å nedgradere en modul eller installere den samme versjonen på nytt av en eller annen grunn, sett inn --force-reinstall inn i kommandolinjen.

Hvis du har installert make-ca-1.16.1 før og har kopiert filer fra /etc/profile.d til et nytt system, må du installere make-ca først før du installerer Python moduler fra denne siden.

Asciidoc-10.2.1

Introduksjon til Asciidoc Modulen

Asciidoc pakken er et tekstdokument format for å skrive notater, dokumentasjon, artikler, bøker, e-bøker, lysbildefremvisninger, nettsider, man-sider og blogger. AsciiDoc filer kan bli oversatt til mange formater, inkludert HTML, PDF, EPUB og man page.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Asciidoc Avhengigheter
Valgfri (kjøretid)

docbook-xsl-nons-1.79.2, fop-2.11, libxslt-1.1.45, Lynx-2.9.2, dblatex, og W3m

Installasjon av Asciidoc

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user asciidoc

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: a2x og asciidoc
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/asciidoc og /usr/lib/python3.14/site-packages/asciidoc-10.2.1.dist-info
Korte Beskrivelser

a2x

er verktøykjedea behandler for AsciiDoc (konverterer Asciidoc tekstfiler til andre filformater)

asciidoc

konverterer en AsciiDoc tekstfil til HTML eller DocBook

blueprint-compiler-0.18.0

Introduksjon til blueprint-compiler

blueprint-compiler Pakken inneholder en kompilator for et markupspråk for GTK brukergrensesnitt. Dette brukes for tiden mest med GNOME applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
blueprint-compiler Avhengigheter
Påkrevd

PyGObject-3.54.5

Valgfri (påkrevd for å kjøre testene)

GTK-4.20.3

Valgfri (påkrevd for å bygge dokumentasjonen)

sphinx-9.1.0

Installasjon av blueprint-compiler

Installer blueprint-compiler ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å kjøre testene, utsted: ninja test. Testene må kjøres i et grafisk miljø, og du må ha GTK-4.20.3 installert.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D docs=true: Bruk dette alternativet hvis du har sphinx-9.1.0 installert og du vil bygge dokumentasjonen.

Innhold

Installert Program: blueprint-compiler
Installerte Biblioteker: Ingen
Installert Mappe: /usr/lib/python3.14/site-packages/blueprint-compiler
Korte Beskrivelser

blueprint-compiler

kompilerer blåkopier til GTK brukergrensesnitt

build-1.4.0

Introduksjon til build

build er et Python byggegrensesnitt implementering av PEP-517-resolusjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
build Avhengigheter
Påkrevd

pyproject_hooks-1.2.0

Valgfri (for tester)

pytest-9.0.2, filelock, pytest-cov, pytest-mock, pytest-rerunfailures, pytest-xdist, uv, og virtualenv

Installasjon av build

Bygg pakken med:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

For å installere pakken, kjør følgende som root bruker:

pip3 install --no-index --find-links dist --no-user build

Forutsatt pytest-9.0.2 er installert men den andre valgfrie avhengighetene ikke er det, kan installasjonen testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install --group test                      &&
python3 -m pytest
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: pyproject-build
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/build og /usr/lib/python3.14/site-packages/build-1.4.0.dist-info
Korte Beskrivelser

pyproject-build

er en enkel Python bygge grensesnitt

cachecontrol-0.14.4

Introduksjon til cachecontrol Modulen

CacheControl er en port for cachings algoritmer i httplib2 for bruk med requests session objekter. Den ble skrevet fordi httplib2s bedre støtte for caching ofte dempes av mangelen på trådsikkerhet. Det samme gjelder forespørsler når det gjelder caching.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
CacheControl Avhengigheter
Påkrevd

msgpack-1.1.2, requests-2.32.5, og uv_build-0.10.2

Valgfri (for testing)

pytest-9.0.2, sphinx-9.1.0, redis, filelock, CherryPy, cheroot, codespell, furo, mypy, pytest-cov, ruff, sphinx-copybutton, types-redis, and types-requests

Installasjon av CacheControl

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user cachecontrol

For å kjøre testene, utsted:

python3 -m venv --system-site-packages testenv &&
testenv/bin/pip3 install 'cachecontrol[dev]'   &&
testenv/bin/python3 -m pytest

pytest kan sende ut en advarsel om et unntak som ikke kan hentes etter at testene er fullført. Dette er forventet på grunn av versjonen av 'cheroot' modulen som testene laster ned.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: doesitcache
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/CacheControl-0.14.4.dist-info og /usr/lib/python3.14/site-packages/cachecontrol
Korte Beskrivelser

doesitcache

er et udokumentert kommandolinjeskript.

CSSSelect-1.4.0

Introduksjon til CSSSelect Modulen

CSSSelect gir CSS velgere for Python.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
CSSSelect Avhengigheter
Påkrevd

setuptools_scm-9.2.2

Valgfri (for testing)

lxml-6.0.2 og pytest-9.0.2

Installasjon av CSSSelect

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user cssselect

For å teste installasjonen kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/cssselect

Cython-3.2.4

Introduksjon til Cython Modulen

Cython pakken gir en kompilator for å skrive C utvidelser for Python språket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Cython Avhengigheter

Valgfri (for tester)

GDB-17.1 og pytest-9.0.2

Installasjon av Cython

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user Cython

Denne pakken kommer med en testpakke, men det tar lang tid å kjøre den (over 40 SBU). Testpakken vil skrive ut data på skjermen for å gjøre brukeren oppmerksom på at den fortsatt kjører. For å kjøre testene, utfør følgende: python3 runtests.py.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: cygdb, cython, og cythonize
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/Cython, /usr/lib/python3.14/site-packages/Cython-3.2.4.dist-info, og /usr/lib/python3.14/site-packages/pyximport
Korte Beskrivelser

cygdb

er Cython feilsøkingsprogram

cython

er en kompilator for kode skrevet på Cython språket. Utdataen er et C/C++ program som kan kompileres med en C/C++ kompilator

cythonize

er en kompilator for kode skrevet på Cython språket. Utdataen er en utvidelsesmodul som kan importeres direkte fra Python

dbusmock-0.38.1

Introduksjon til dbusmock

dbusmock er et Python bibliotek nyttig for å skrive tester for programvare som snakker med D-Bus tjenester.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
dbusmock Avhengigheter
Påkrevd

D-Bus Python-1.4.0

Valgfri

pytest-9.0.2 (kreves for å kjøre testpakken), PyGObject-3.54.5 (kreves for å kjøre testpakken), BlueZ-5.86 (valgfritt for testpakken), og UPower-1.91.1 (valgfritt for testpakken; hvis ikke installert vil en test mislykkes)

Installasjon av dbusmock

Bygg pakken med:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

For å installere pakken, kjør følgende som root bruker:

pip3 install --no-index --find-links dist --no-user python-dbusmock

For å teste resultatene, utsted: LC_ALL=C pytest. Flere advarsler om kommende API endringer i senere versjoner av Python skrives ut under testene.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/dbusmock og /usr/lib/python3.14/site-packages/python_dbusmock-0.38.1.dist-info

D-Bus Python-1.4.0

Introduksjon til D-Bus Python Modulen

D-Bus Python gir Python bindinger til D-Bus API grensesnittet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
D-Bus Python Avhengigheter
Påkrevd

dbus-1.16.2, GLib-2.86.4, meson_python-0.19.0, og patchelf-0.18.0

Valgfri

PyGObject-3.54.5 (for tester)

Installasjon av D-Bus Python

Bygg D-Bus Python modulen ved å kjøre følgende kommando:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Installer nå modulen som root bruker:

pip3 install --no-index --find-links dist --no-user dbus-python

For å teste resultatet, utsted: DBUS_TOP_SRCDIR=$PWD PYTHON=python3 dbus-run-session test/run-test.sh.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/dbus and /usr/lib/python3.14/site-packages/dbus_python-1.4.0.egg-info

docutils-0.22.4

Introduksjon til docutils

docutils er et sett med Python moduler og programmer for å behandle rentekstdokumenter til formater som HTML, XML eller LaTeX.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av docutils

Fjern først noen filer installert i en tidligere versjon som ikke lenger er gyldige. Som root bruker:

for f in /usr/bin/rst*.py; do
  rm -fv /usr/bin/$(basename $f .py)
done

For å bygge Python 3 applikasjoner, kjør følgende kommando:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

For å installere Python applikasjoner kjør følgende kommando som root bruker:

pip3 install --no-index --find-links dist --no-user docutils

For å teste installasjonen, utsted: test/alltests.py.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: docutils, rst2html4, rst2html5, rst2html, rst2latex, rst2man, rst2odt, rst2pseudoxml, rst2s5, rst2xetex, og rst2xml
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/docutils{,-0.22.4.dist-info}
Korte Beskrivelser

docutils

konverterer dokumenter til ulike formater

rst2html

genererer (X)HTML dokumenter fra frittstående reStructuredText kilder

rst2html4

genererer (X)HTML dokumenter fra frittstående reStructuredText kilder

rst2html5

genererer HTML5 dokumenter fra frittstående reStructuredText kilder

rst2latex

genererer LaTeX dokumenter fra frittstående reStructuredText kilder

rst2man

genererer vanlige unix manual dokumenter fra frittstående reStructuredText kilder

rst2odt

genererer OpenDocument/OpenOffice/ODF dokumenter fra frittstående reStructuredText kilder

rst2odt_prepstyles

Fiks en tekstbehandler generert styles.odt for odtwriter bruk

rst2pseudoxml

genererer pseudo-XML fra frittstående reStructuredText kilder (for testformål)

rst2s5

genererer S5 (X)HTML lysbildefremvisning fra frittstående reStructuredText kilder

rst2xetex

genererer LaTeX dokumenter fra frittstående reStructuredText kilder for kompilering med Unicode bevisste TeX varianter XeLaTeX eller LuaLaTeX

rst2xml

genererer Docutils-native XML fra frittstående reStructuredText kilder

rstpep2html

genererer (X)HTML fra reStructuredText-format PEP filer

Doxypypy-0.8.8.7

Introduksjon til Doxypypy Modulen

Doxypypy pakken er et doxygen filter for python.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Doxypypy Avhengigheter
Påkrevd

chardet-5.2.0 og Doxygen-1.16.1 (ved kjøretid)

Installasjon av Doxypypy

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user doxypypy

Denne pakken kommer ikke med en fungerende testpakke.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: doxypypy
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/doxypypy og /usr/lib/python3.14/site-packages/doxypypy-0.8.8.7.dist-info
Korte Beskrivelser

doxypypy

filtrerer Python kode for bruk med Doxygen, ved å bruke en syntaks bevisst tilnærming.

Doxyqml-0.5.3

Introduksjon til Doxyqml Modulen

Doxyqml pakken tillater bruk av Doxygen for å dokumentere QML klasser.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Doxyqml Avhengigheter
Påkrevd (Kjøretid)

Doxygen-1.16.1

Valgfri (for testing)

pytest-9.0.2

Installasjon av Doxyqml

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user doxyqml

For å teste installasjonen, utsted:

python3 tests/functional/tests.py &&
python3 tests/unit/tests.py

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: doxyqml
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/doxyqml og /usr/lib/python3.14/site-packages/doxyqml-0.5.3.dist-info
Korte Beskrivelser

doxyqml

er et Doxygen inndatafilter for QML filer.

Gi-DocGen-2026.1

Introduksjon til Gi-DocGen Modulen

Gi-DocGen er en dokumentgenerator for GObject baserte biblioteker. GObject er basistypen til GNOME prosjektet. GI-DocGen gjenbruker introspeksjonsdataene generert av GObject baserte biblioteker for å generere API referansen til disse bibliotekene, samt annen tilleggsdokumentasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Gi-DocGen Avhengigheter
Påkrevd

Markdown-3.10.2, Pygments-2.19.2, og typogrify-2.1.0

Valgfri

Graphviz-14.1.2 (kjøretid, for visualisere klassehierarkigrafer) og pytest-9.0.2 (for testing)

Installasjon av gi-docgen

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user gi-docgen

For å teste installasjonen, kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: gi-docgen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/gidocgen og /usr/lib/python3.14/site-packages/gi_docgen-2026.1.dist-info

Korte Beskrivelser

gi-docgen

administrerer dokumentasjon for libgobject baserte biblioteker.

html5lib-1.1

Introduksjon til html5lib Module

html5lib gir et rent python-bibliotek for å analysere HTML. Den er designet for å samsvare med WHATWG HTML spesifikasjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Ytterligere Nedlastinger
html5lib Avhengigheter
Påkrevd

six-1.17.0 og webencodings-0.5.1

Installasjon av html5lib

Først, fiks en byggefeil med Python 3.14 forårsaket av fjerning av flere metoder fra 'ast' modulen:

patch -Np1 -i ../html5lib-1.1-python_3.14_buildfix-1.patch

For å bygge Python 3 modulen, kjør:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

For å installere modulen, utsted følgende kommando som root bruker:

pip3 install --no-index --find-links dist --no-user html5lib

Denne pakken har en testpakke, men den fungerer ikke fordi den er avhengig av flere hardkodede versjoner av pakker som bare kan brukes med Python 3.6.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/html5lib og /usr/lib/python3.14/site-packages/html5lib-1.1.dist-info

lxml-6.0.2

Introduksjon til lxml Modulen

lxml gir Python bindinger for libxslt-1.1.45 og libxml2-2.15.1.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
lxml Avhengigheter
Påkrevd

libxslt-1.1.45

Installasjon av lxml

For å bygge Python 3 modulen, kjør:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

For å installere modulen, kjør følgende kommando som root bruker:

pip3 install --no-index --find-links dist --no-user lxml

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/lxml og /usr/lib/python3.14/site-packages/lxml-6.0.2.dist-info

Mako-1.3.10

Introduksjon til Mako Modulen

Mako er en Python modul som implementerer hyperrask og lett maldesign for Python plattformen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

Tarball navnet har endret seg fra Mako til mako, men likevel installeres modulen som Mako.

Mako Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Mako

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Installer modulen som root bruker:

pip3 install --no-index --find-links dist --no-user Mako

For å teste installasjonen, kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: mako-render
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/mako og /usr/lib/python3.14/site-packages/Mako-1.3.10.dist-info
Korte Beskrivelser

mako-render

gjengir en mal

NumPy-2.4.2

Introduksjon til NumPy Modulen

NumPy er den grunnleggende pakken for vitenskapelig databehandling med Python.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
NumPy Avhengigheter
Påkrevd

cython-3.2.4, meson_python-0.19.0, og pyproject-metadata-0.11.0

Valgfri

fortran fra GCC-15.2.0, lapack og cblas, og openblas

Valgfri (for testing)

attrs-25.4.0, pytest-9.0.2, pytz-2025.2, og hypothesis

Installasjon av NumPy

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir \
           -C setup-args=-Dallow-noblas=true $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user numpy

Installasjonen kan testes med følgende kommandoer:

mkdir -p test                                  &&
cd       test                                  &&
python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install hypothesis                        &&
python3 -c "import numpy, sys; sys.exit(numpy.test() is False)"
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: f2py, f2py3 og f2py3.14 (3 kopier av samme skript)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/numpy
Korte Beskrivelser

f2py

er Fortran til Python grensesnittgeneratorverktøyet.

psutil-7.2.2

Introduksjon til psutil Modulen

psutil (process and system utilities) er et bibliotek på tvers av plattformer for å hente informasjon om kjørende prosesser og systemutnyttelse (CPU, minne, disker, nettverk, sensorer) i Python. Det er hovedsakelig nyttig for systemovervåking, profilering og begrensning av prosessressurser og styring av kjørende prosesser. Den implementerer mange funksjoner som tilbys av klassiske UNIX kommandolinjeverktøy som ps, top, iotop, lsof, netstat, ifconfig, free og andre.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Pakke Avhengigheter
Valgfri (for testing)

pytest-9.0.2, colorama, pyleak, pyperf, pypinfo, pytest-instafail, pytest-subtests, og pytest-xdist

Installasjon av psutil

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user psutil

For å kjøre testene må de binære modulene kopieres:

cp build/lib*/psutil/*.so psutil

For å teste resultatene, utsted:

python3 -m venv --system-site-packages testenv                      &&
testenv/bin/pip3 install colorama pytest-{instafail,subtests,xdist} \
                         psleak pyperf pypinfo                      &&
PSUTIL_DEBUG=1 testenv/bin/python3 -m pytest
  • Testen navngitt TestSystemAPIs::test_disk_usage, TestFetchAllProcesses::test_all, og TestNetAPIs::test_net_if_addrs er kjent for å mislykkes.

  • Testen navngitt TestSystemNetIfAddrs::test_ips er kjent for å mislykkes hvis IPv6 tunelling er aktivert i kjernen.

  • Testen navngitt TestAvailProcessAPIs::test_io_counters er kjent for å feile hvis kjernen ikke har CONFIG_TASK_IO_ACCOUNTING aktivert.

  • Testen navngitt TestExampleScripts::test_who er kjent for å mislykkes hvis innloggingsbehandleren ikke skriver til /run/utmp.

  • Testen navngitt TestSystemAPIs::test_users er kjent for å mislykkes hvis /run/utmp filen inneholder en oppføring for innloggingsskjermen. Den kan også mislykkes av samme grunn som TestExampleScripts::test_who.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/psutil-7.2.2.dist-info

Py3c-1.4

Introduksjon til Py3c

Py3c hjelper deg med å overføre C utvidelser til Python 3. Den gir en detaljert veiledning, og et sett med makroer til gjør portering enkel og redusere gjenbruk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Py3c

Py3c pakken er en pakke med kun deklarasjoner og på grunn av det er ingen konfigurasjon og kompilering nødvendig.

For å teste pakken, kjør:

make test-python3 &&
make test-python3-cpp

For å installere Python 3 modulen, kjør følgende kommando som root bruker:

make prefix=/usr install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/py3c

PyAtSpi2-2.58.1

Introduksjon til PyAtSpi2

PyAtSpi2 pakken inneholder Python bindinger for kjernekomponenter av GNOME Accessibility.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
PyAtSpi2 Avhengigheter
Påkrevd

D-Bus Python-1.4.0 og PyGObject-3.54.5

Anbefalt

Installasjon av PyAtSpi2

For å bygge PyAtSpi2 kjør følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D enable_tests=true .. &&
ninja

For å kjøre testene utsted: ninja test. Testene må kjøres i et grafisk miljø.

For å installere modulen, kjør følgende kommando som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pyatspi

PyCairo-1.29.0

Introduksjon til PyCairo Modulen

PyCairo gir Python bindinger til Cairo.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
PyCairo Avhengigheter
Påkrevd

Cairo-1.18.4

Valgfri

pytest-9.0.2 (for tester)

Installasjon av PyCairo

Installer PyCairo ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å kjøre testene krever denne pakken den valgfrie pytest modulen. Hvis den er installert, kjør testene ved å kjøre ninja test.

Nå, som root bruker:

ninja install

Innhold

Installert Program: Ingen
Installert Bibliotek: Ingen
Installerte Mapper: /usr/include/pycairo, /usr/lib/python3.14/site-packages/cairo, og /usr/lib/python3.14/site-packages/pycairo-1.29.0.egg-info

pygdbmi-0.11.0.0

Introduksjon til pygdbmi Modulen

GDB/MI er et linjebasert maskinorientert tekstgrensesnitt til GDB og er aktivert ved å spesifisere ved å bruke kommandolinjealternativet --interpreter (se Modusalternativer). Den er spesielt ment å støtte utvikling av systemer som bruker feilsøkeren som bare en liten del av et større system.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av pygdbmi

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pygdbmi

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pygdbmi-0.11.0.0.dist-info

Pygments-2.19.2

Introduksjon til Pygments Modulen

Pygments er en generell syntaksmarkør skrevet i Python, for mer enn 300 språk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Pygments Avhengigheter

Påkrevd

hatchling-1.28.0

Valgfri (for testing)

pytest-9.0.2 og wcag-contrast-ratio

Installasjon av Pygments

Bygg Python 3 modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

For å installere pakken, kjør følgende som root bruker:

pip3 install --no-index --find-links dist --no-user Pygments

For å teste installasjonen, sørg for at pytest-9.0.2 er installert og kjør:

python3 -m venv --system-site-packages testenv &&
testenv/bin/pip3 install wcag-contrast-ratio   &&
testenv/bin/python -m pytest

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: pygmentize
Installert Bibliotek: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pygments og /usr/lib/python3.14/site-packages/Pygments-2.19.2.dist-info

Korte Beskrivelser

pygmentize

uthever en inndatafil og skriver resultatet til en utdatafil

PyGObject-3.54.5

Introduksjon til PyGObject3 Modulen

PyGObject3 gir Python bindinger til GObject klassen fra GLib.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
PyGObject3 Avhengigheter
Påkrevd

GLib-2.86.4 (med GObject Introspection)

Anbefalt
Valgfri (for testene)

GTK-4.20.3, pep8, pyflakes, og pytest-9.0.2

Installasjon av PyGObject3

Først, hvis du ikke har GTK-4.20.3 installert, fjern to tester:

mv -v tests/test_gdbus.py{,.nouse}         &&
mv -v tests/test_overrides_gtk.py{,.nouse}

Installer pygobject3 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test. En allerede aktiv grafisk sesjon med en bussadresse er nødvendig for å kjøre testene.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D pycairo=disabled: bruk denne bryteren hvis du ikke har PyCairo-1.29.0 installert.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: /usr/lib/python3.14/site-packages/gi/_gi{,_cairo}.cpython-314-<arch>-linux-gnu.so
Installerte Mapper: /usr/include/pygobject-3.0 og /usr/lib/python3.14/site-packages/{gi,pygtkcompat}

pyparsing-3.3.2

Introduksjon til pyparsing Modulen

pyparsing modulen er en alternativ tilnærming til å lage og utføre enkel grammatikk, vs tradisjonell lex/yacc tilnærming, eller bruk av regulære uttrykk. Den gir et bibliotek med klasser som klientkoden bruker til å konstruere grammatikken direkte i Python koden.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
pyparsing Avhengigheter
Valgfri

railroad-diagrams og matplotlib (også nødvendig for tester)

Valgfri (for testing)

pytest-9.0.2

Installasjon av pyparsing

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pyparsing

Forutsatt pytest-9.0.2 er installert, men de andre valgfrie avhengighetene ikke er installert, installasjonen kan testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install railroad-diagrams matplotlib      &&
python3 /usr/bin/pytest
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pyparsing og /usr/lib/python3.14/site-packages/pyparsing-3.3.2.dist-info

pySerial-3.5

Introduksjon til pySerial Modulen

pySerial modulen innkapsler tilgangen til serieporten.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
pySerial Avhengigheter
Påkrevd

setuptools_scm-9.2.2

Valgfri (for testing)

pytest-9.0.2

Installasjon av pySerial

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pyserial

For å teste installasjonen kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: pyserial-miniterm og pyserial-ports
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pyserial-3.5.dist-info og /usr/lib/python3.14/site-packages/serial
Korte Beskrivelser

pyserial-miniterm

er en konsollapplikasjon som gir en liten terminalapplikasjon. Den kan arve terminalfunksjoner fra terminalen den kjører i.

pyserial-ports

viser tilgjengelige porter.

Pytest-9.0.2

Introduksjon til Pytest Modulen

Pytest rammeverket gjør det enkelt å skrive små, lesbare tester, og kan skaleres for å støtte kompleks funksjonstesting for applikasjoner og biblioteker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Pytest Avhengigheter
Påkrevd

iniconfig-2.3.0, pluggy-1.6.0, og Pygments-2.19.2

Anbefalt
Valgfri (for testing)

attrs-25.4.0, requests-2.32.5, argcomplete, hypothesis, mock, og xmlschema

Installasjon av Pytest

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pytest

Installasjonen kan testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install pytest[dev]                       &&
python3 /usr/bin/pytest
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: pytest og py.test (forskjellige filer, men med samme innhold)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/_pytest, /usr/lib/python3.14/site-packages/pytest, og /usr/lib/python3.14/site-packages/pytest-9.0.2.dist-info
Korte Beskrivelser

pytest

setter opp, administrerer og/eller kjører tester i python modulkilde mappene

PyXDG-0.28

Introduksjon til PyXDG Modulen

PyXDG er et Python bibliotek for å få tilgang til freedesktop.org standarder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Ytterligere Nedlastinger
PyXDG Dependencies
Optional (for testing)

pytest-9.0.2 and shared-mime-info-2.4

Installasjon av PyXDG

Først, fiks flere problemer forårsaket av Python 3.14:

patch -Np1 -i ../pyxdg-0.28-python3_14-fixes-1.patch

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Installer modulen som root bruker:

pip3 install --no-index --find-links dist --no-user pyxdg

For å teste resultatene, utsted: pytest. Merk at to tester, MimeTest::test_get_type og MimeTest::test_get_type2, er kjent for å feile på grunn av små forskjeller i MIME typer fra de nyere versjonene av shared-mime-info pakken.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Mapper: /usr/lib/python3.14/site-packages/xdg og /usr/lib/python3.14/site-packages/pyxdg-0.28.dist-info

PyYAML-6.0.3

Introduksjon til PyYAML Modulen

PyYAML er en Python modul som implementerer neste generasjons YAML parser og emitter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
PyYAML Avhengigheter
Anbefalt
Valgfri

pytest-9.0.2 (for testing)

Installasjon av PyYAML

Bygg PyYAML med følgende kommando::

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Installer nå modulen som root bruker:

pip3 install --no-index --find-links dist --no-user PyYAML

For å teste resultatene, utsted: pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/PyYAML-0.2.5.dist-info

Recommonmark-0.7.1

Introduksjon til Recommonmark Modulen

Recommonmark er en docutils kompatibilitetsbro til CommonMark. Det lar deg skrive CommonMark inne i Docutils og Sphinx prosjekter. Recommonmark er nå avviklet til fordel for MyST-Parser. Dessverre, libinput-1.31.0 avhenger av denne modulen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Recommonmark Avhengigheter
Påkrevd

commonmark-0.9.1 og sphinx-9.1.0

Valgfri (for testing)

pytest-9.0.2

Installasjon av Recommonmark

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user recommonmark

Recommonmark er nå avskrevet til fordel for MyST-Parser. Av denne grunn, må mange tester deaktiveres fordi de ikke passer med nyere versjoner av Sphinx. Installasjonen kan bli delvis testet med følgende kommando:

pytest -k 'not (test_integration or test_code or test_headings or test_image or test_links or test_lists)'

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: cm2html, cm2latex, cm2man, cm2pseudoxml, cm2xetex, og cm2xml
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/recommonmark og /usr/lib/python3.14/site-packages/recommonmark-0.7.1.dist-info

Korte Beskrivelser

cm2html

genererer et html dokument fra markdown kilder

cm2latex

genererer et latex dokument fra markdown kilder

cm2man

genererer en manpage fra markdown kilder

cm2pseudoxml

genererer et pseudo-XML dokument fra markdown kilder

cm2xetex

genererer et xetex dokument fra markdown kilder

cm2xml

genererer et XML dokument fra markdown kilder

Requests-2.32.5

Introduksjon til Requests Modulen

Requests pakken er et elegant og enkelt HTTP bibliotek for Python, bygget for mennesker. Det tillater å sende HTTP/1.1 forespørsler ekstremt enkelt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Ytterligere Nedlastinger
Requests Avhengigheter
Påkrevd

charset-normalizer-3.4.4, idna-3.11, og urllib3-2.6.3

Anbefalt
Valgfri

PySocks (også nødvendig for testing)

Valgfri (for testing)

pytest-9.0.2, pytest-mock, pytest-httpbin, pytest-cov, pytest-xdist, og trustme

Installasjon av Requests

Bruk først en oppdatering slik at den samme miljøvariabelen som allerede er brukt til å peke på systemsertifikater i Python3 følgende installasjonen av make-ca også kan brukes av denne modulen:

patch -Np1 -i ../requests-use_system_certs-1.patch

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user requests

Forutsatt at pytest-9.0.2 er installert, men de andre valgfrie avhengigheter ikke er det, kan installasjonen testes med følgende kommandoer:

Notat

Noen av oppsettinstruksjonene nedenfor kan indikere en feil på grunn av avhengige modulversjoner, men disse feilene påvirker ikke testresultatene.

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install pytest-mock    \
             pytest-httpbin \
             pytest-cov     \
             pytest-xdist   \
             pysocks        \
             trustme                           &&
python3 /usr/bin/pytest tests
deactivate

Notat

Se make-ca-1.16.1 for hvordan du setter miljøvariabelen, og for hvordan lokale kopier av Certifi og Requests modulene er installert i et virtuelt miljø vil overstyre systemets sertifikater.

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/requests og /usr/lib/python3.14/site-packages/requests-2.32.5.dist-info

Scour-0.38.2

Introduksjon til Scour Modulen

Scour er en SVG (Scalable Vector Graphics) optimaliserer/renser som reduserer størrelsen ved å optimere struktur og fjerne unødvendige data.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Scour Avhengigheter
Påkrevd

six-1.17.0

Valgfri (nødvendig for testing)

pytest-9.0.2

Installasjon av scour

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

For å installere modulen, kjør følgende kommando som root bruker:

pip3 install --no-index --find-links dist --no-user scour

For å teste resultatene, utsted: pytest

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: scour
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/scour og /usr/lib/python3.14/site-packages/scour-0.38.2.dist-info

Korte Beskrivelser

scour

er et program for å optimalisere og rense SVG filer

sentry-sdk-2.35.0

Introduksjon til sentry-sdk Modulen

sentry-sdk modulen er den offisielle Python SDK for Sentry.io.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
sentry-sdk Avhengigheter
Påkrevd

certifi-2026.1.4 og urllib3-2.6.3

Installasjon av sentry-sdk

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sentry-sdk

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sentry_sdk-2.35.0.dist-info og /usr/lib/python3.14/site-packages/sentry_sdk

six-1.17.0

Introduksjon til Six Modulen

Six er et Python 2 til 3 kompatibilitetsbibliotek.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
six Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Six

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user six

For å kjøre testene, utsted: pytest

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/six-1.17.0.dist-info

Sphinx-9.1.0

Introduksjon til Sphinx Modulen

Sphinx pakken er et sett med verktøy for å oversette noen strukturerte tekstformater til pen dokumentasjon i ulike formater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinx Avhengigheter
Påkrevd

alabaster-1.0.0, babel-2.18.0, docutils-0.22.4, imagesize-1.4.1, Pygments-2.19.2, requests-2.32.5, roman-numerals-4.1.0, snowballstemmer-3.0.1, sphinxcontrib-applehelp-2.0.0, sphinxcontrib-devhelp-2.0.0, sphinxcontrib-htmlhelp-2.1.0, sphinxcontrib-jsmath-1.0.1, sphinxcontrib-qthelp-2.0.0, og sphinxcontrib-serializinghtml-2.0.0

Valgfri (for tester)

cython-3.2.4, html5lib-1.1, pytest-9.0.2, texlive-20250308, defusedxml, og typing_extensions

Installasjon av Sphinx

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinx

Forutsatt cython-3.2.4 og pytest-9.0.2 er installert, men de andre valgfrie avhengighetene ikke er installert, kan installasjonen testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install sphinx[test] defusedxml           &&
python3 -m pytest
deactivate

Fire tester (av over 2400 tester) er kjent for å mislykkes: Tre i test_ext_autodoc.py og en i test_util_typing.py.

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: sphinx-apidoc, sphinx-autogen, sphinx-build, og sphinx-quickstart
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinx og /usr/lib/python3.14/site-packages/sphinx-9.1.0.dist-info
Korte Beskrivelser

sphinx-apidoc

oppretter en reST fil fra python moduler og pakker

sphinx-autogen

genererer ReStructuredText fra spesielle direktiver inneholdt i gitte inndatafiler

sphinx-build

genererer dokumentasjon i ulike formater fra ReStructuredText kildefiler

sphinx-quickstart

genererer nødvendige filer for et sfinx prosjekt

Sphinx_rtd_theme-3.1.0

Introduksjon til Sphinx_rtd_theme Modulen

sphinx_rtd_theme modulen er et Sphinx tema designet for å gi en flott leseropplevelse for dokumentasjonsbrukere på både stasjonære og mobile enheter. Dette temaet brukes primært på Read the Docs, men kan fungere med alle Sphinx prosjekter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinx_rtd_theme Avhengigheter
Påkrevd

sphinx-9.1.0 og sphinxcontrib-jquery-4.1

Valgfri (for tester)

pytest-9.0.2 og readthedocs-sphinx-ext

Installasjon av Sphinx_rtd_theme

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinx_rtd_theme

Forutsatt pytest-9.0.2 er installert, men de andre valgfrie avhengighetene ikke er installert, kan installasjonen testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install readthedocs-sphinx-ext            &&
python3 /usr/bin/pytest
deactivate

Én test vil returnere en advarsel om kommende endringer i docutils.

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinx_rtd_theme og /usr/lib/python3.14/site-packages/sphinx_rtd_theme-3.1.0.dist-info

Python Avhengigheter

Introduksjon til Python Avhengigheter

Python moduler oppført i Python Moduler har avhengigheter som ikke refereres til av andre pakker i BLFS. Disse avhengighetene er oppført her. De vil ikke bli oppdatert regelmessig, med mindre en nyere versjon er nødvendig.

Viktig

I BLFS bygger og installerer vi normalt Python 3 moduler med pip3. Vennligst pass på at pip3 install kommandoer i boken skal kjøres som root med mindre det er for et virtuelt Python miljø. Kjøring av pip3 install som ikke-root bruker kan synes å fungere fint, men det vil føre til at den installerte modulen blir utilgjengelig av andre brukere.

pip3 install vil ikke installere en allerede installert modul som standard. For å bruke pip3 install kommandoen til å oppgradere en modul (for eksempel fra meson-0.61.3 til meson-0.62.0), sett inn --upgrade inn i kommandolinjen. Hvis det virkelig er nødvendig å nedgradere en modul eller installere den samme versjonen på nytt av en eller annen grunn, sett inn --force-reinstall inn i kommandolinjen.

Alabaster-1.0.0

Introduksjon til Alabaster Modulen

Alabaster pakken er et tema for sphinx dokumentasjonssystem. Selv om det er utviklet separat, er det standardtemaet for sfinx.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Alabaster

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user alabaster

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/alabaster og /usr/lib/python3.14/site-packages/alabaster-1.0.0.dist-info

Attrs-25.4.0

Introduksjon til Attrs Modulen

Attrs pakken er en pythonmodul som gjør det mulig å skrive attributter uten ekstra boilerplate.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Attrs Avhengigheter
Påkrevd

hatch-fancy-pypi-readme-25.1.0 og hatch_vcs-0.5.0

Avhengigheter (for testing)

pytest-9.0.2, cloudpickle, hypothesis, Pympler, mypy, pytest-mypy-plugins, pytest-xdist[psutil], og zope.interface

Installasjon av Attrs

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user attrs

For å teste installasjonen, kjør:

python3 -m venv --system-site-packages testenv &&
testenv/bin/pip3 install --group mypy          &&
PATH=$PWD/testenv/bin:$PATH testenv/bin/python -m pytest

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/attr, /usr/lib/python3.14/site-packages/attrs, og /usr/lib/python3.14/site-packages/attrs-25.4.0.dist-info

babel-2.18.0

Introduksjon til Babel Modulen

Babel pakken er en integrert samling av hjelpemidler som hjelper til med internasjonalisering og lokalisere Python applikasjoner, med vekt på nettbaserte applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Babel Avhengigheter
Påkrevd

pytz-2025.2

Valgfri (for testing)

pytest-9.0.2, freezegun, og pytest-cov

Installasjon av Babel

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user Babel

Forutsatt pytest-9.0.2 er installert, men de andre valgfrie avhengigheter ikke er det, kan installasjonen testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install pytest-cov freezegun              &&
python3 /usr/bin/pytest
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: pybabel
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/babel og /usr/lib/python3.14/site-packages/Babel-2.18.0.dist-info
Korte Beskrivelser

pybabel

er et kommandolinjegrensesnitt for å jobbe med meldings kataloger

certifi-2026.1.4

Introduksjon til Certifi Modulen

certifi modulen gir Mozillas nøye kurert samling av rotsertifikater for å validere påliteligheten til SSL sertifikater mens du verifiserer identiteten til TLS vertene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av certifi

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user certifi

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/certifi og /usr/lib/python3.14/site-packages/certifi-2026.1.4.dist-info

Chardet-5.2.0

Introduksjon til chardet Modulen

Chardet er en universell tegnkodings detektor.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Chardet Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Chardet

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user chardet

For å teste installasjonen kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: chardetect
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/chardet og /usr/lib/python3.14/site-packages/chardet-5.2.0.dist-info
Korte Beskrivelser

chardetect

er en universell tegnkodingsdetektor

Charset-normalizer-3.4.4

Introduksjon til charset-normalizer Modulen

charset-normalizer biblioteket hjelper med å lese tekst fra en ukjent tegnkoding.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Charset-normalizer Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og pytest-cov

Installasjon av Charset-normalizer

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user charset-normalizer

Forutsatt pytest-9.0.2 er installert, men de andre valgfrie avhengighetene ikke er det, kan installasjonen testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install pytest-cov                        &&
python3 /usr/bin/pytest                        &&
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: normalizer
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/charset_normalizer og /usr/lib/python3.14/site-packages/charset_normalizer-3.4.4.dist-info
Korte Beskrivelser

normalizer

er en universell tegnsettdetektor (oppdager opprinnelseskoding og normaliserer tekst til unicode)

Commonmark-0.9.1

Introduksjon til Commonmark Modulen

Commonmark Python tolker for CommonMark Markdown spesifikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Commonmark Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og hypothesis

Installasjon av Commonmark

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user commonmark

Forutsatt pytest-9.0.2 er installert og de andre valgfrie avhengighetene ikke er, kan installasjonen testes med:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install hypothesis                        &&
python3 /usr/bin/pytest commonmark/tests/unit_tests.py
python3 commonmark/tests/run_spec_tests.py
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: cmark
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/commonmark og /usr/lib/python3.14/site-packages/commonmark-0.9.1.dist-info

Korte Beskrivelser

cmark

behandler Markdown i henhold til CommonMark spesifikasjonen

Editables-0.5

Introduksjon til Editables Modulen

Editables er et python bibliotek for å lage «redigerbare wheels.»

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Redigerbare Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Editables

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user editables

For å teste installasjonen, utsted: pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/editables og /usr/lib/python3.14/site-packages/editables-0.5.dist-info

Hatchling-1.28.0

Introduksjon til Hatchling Modulen

Hatchling er en utvidbar, standard kompatibel byggebakstykke for python moduler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Hatchling Avhengigheter
Påkrevd

editables-0.5, pathspec-1.0.4, pluggy-1.6.0, og trove-classifiers-2026.1.14.14

Installasjon av Hatchling

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user hatchling

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: hatchling
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/hatchling og /usr/lib/python3.14/site-packages/hatchling-1.28.0.dist-info

Korte Beskrivelser

hatchling

er en python modulbygger

Hatch-Fancy-Pypi-Readme-25.1.0

Introduksjon til Hatch-Fancy-Pypi-Readme Modulen

Hatch-Fancy-Pypi-Readme er et hatch programtillegg som fyller readme feltet inn i metadataene til en Python modul fra markup språkets dokumentasjonsfiler for modulen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Hatch-Fancy-Pypi-Readme Avhengigheter
Påkrevd

hatchling-1.28.0

Valgfri (for testing)

build-1.4.0 og pytest-9.0.2

Installasjon av Hatch-Fancy-Pypi-Readme

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user hatch-fancy-pypi-readme

For å teste installasjonen, utsted: pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/hatch_fancy_pypi_readme og /usr/lib/python3.14/site-packages/hatch_fancy_pypi_readme-25.1.0.dist-info

Hatch_vcs-0.5.0

Introduksjon til Hatch-vcs Modulen

Hatch_vcs er et Hatch programtillegg for versjonskontroll med flere versjonskontrollsystemer ( VCS ).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Hatch_vcs Avhengigheter
Påkrevd

hatchling-1.28.0 og setuptools_scm-9.2.2

Valgfri (for testing)

git-2.53.0 og pytest-9.0.2

Installasjon av Hatch_vcs

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user hatch_vcs

For å teste installasjonen, kjør (HOME= hindrer .gitconfig filen i hjemmemappen fra å forstyrre testene): HOME= pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/hatch_vcs og /usr/lib/python3.14/site-packages/hatch_vcs-0.5.0.dist-info

Idna-3.11

Introduksjon til Idna Modulen

Idna modul gir støtte for IDNA protokollen (Internationalized Domain Names in Applications). som spesifisert i RFC 5891.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Idna Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Idna

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user idna

For å teste installasjonen, kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/idna og /usr/lib/python3.14/site-packages/idna-3.11.dist-info

Imagesize-1.4.1

Introduksjon til Imagesize Modulen

imagesize pakke analyserer bildefil deklarasjoner og returnerer bildestørrelsen og DPI. Det fungerer med JPEG/JPEG 2000/PNG/GIF/TIFF/SVG/Netpbm/WebP formater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Imagesize Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og requests-2.32.5

Installasjon av Imagesize

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user imagesize

Testene for denne pakken er kjent for å være ødelagte. For å teste installasjonen uansett, kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/imagesize og /usr/lib/python3.14/site-packages/imagesize-1.4.1.dist-info

Iniconfig-2.3.0

Introduksjon til Iniconfig Modulen

Iniconfig er en liten og enkel INI-fil analysemodul.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Iniconfig Avhengigheter
Påkrevd

hatch_vcs-0.5.0

Valgfri (for testing)

pytest-9.0.2

Installasjon av Iniconfig

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user iniconfig

For å teste resultatene, utsted: pytest

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/iniconfig og /usr/lib/python3.14/site-packages/iniconfig-2.3.0.dist-info

maturin-1.11.5

Introduksjon til maturin Modulen

maturin modulen tilbyr et byggesystem for rust binærfiler og crates generert fra Python pakker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
maturin Avhengigheter
Påkrevd

rustc-1.93.1 og setuptools_rust-1.12.0

Valgfri

patchelf-0.18.0 og zig

Valgfri (for testing)

cffi, pycparser, og virtualenv

Installasjon av maturin

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user maturin

For å teste installasjonen, utsted:

python3 -m venv --system-site-packages testenv     &&
testenv/bin/pip3 install cffi pycparser virtualenv &&
PATH=$PWD/testenv/bin:$PATH cargo test

Tre tester, integration_cffi_mixed, pyo3_mixed_include_exclude_sdist, og pyo3_no_extension_module, er kjent for å mislykkes.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installert Program: maturin
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/maturin og /usr/lib/python3.14/site-packages/maturin-1.11.5.dist-info

Korte Beskrivelser

maturin

bygger crates med pyo3, cffi og uniffi bindinger, samt rust binærfiler som Python pakker

Markdown-3.10.2

Introduksjon til Markdown Modulen

Markdown er en Python analyser for John Grubers Markdown spesifikasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Markdown Avhengigheter
Valgfri (for testing)

pytest-9.0.2, PyYAML-6.0.3, og coverage

Installasjon av Markdown

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user Markdown

Forutsatt pytest-9.0.2 og PyYAML-6.0.3 er installert og de andre valgfrie avhengighetene ikke er installert, kan installasjonen testes med:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install coverage                          &&
python3 /usr/bin/pytest --ignore=tests/test_syntax/extensions/test_md_in_html.py
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: markdown_py
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/markdown og /usr/lib/python3.14/site-packages/Markdown-3.10.2.dist-info

Korte Beskrivelser

markdown_py

konverterer markdown filer til (x)html

Meson_python-0.19.0

Introduksjon til Meson_python Modulen

Meson_python modulen inneholder en Python build backend (PEP 517) for Meson prosjekter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Meson_python Avhengigheter
Påkrevd

pyproject-metadata-0.11.0

Anbefalt (Kjøretid)

patchelf-0.18.0

Valgfri (for testing)

build-1.4.0, cython-3.2.4, git-2.53.0, pytest-9.0.2, og pytest-mock

Installasjon av Meson_python

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user meson_python

For å teste installasjonen, sørg for at git-2.53.0, patchelf-0.18.0, og pytest-9.0.2 er installert, deretter utsted (HOME= som hindrer at .gitconfig filen i hjemmemappen fra å forstyrrer testene):

python3 -m venv --system-site-packages testenv &&
testenv/bin/pip3 install --group=test          &&
HOME= testenv/bin/python -m pytest

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/meson_python og /usr/lib/python3.14/site-packages/meson_python-0.19.0.dist-info

Msgpack-1.1.2

Introduksjon til Msgpack Modulen

Msgpack er en effektiv binær serialiseringsformat. Den lar deg utveksle data mellom flere språk som JSON. Men det er raskere og mindre. Denne pakken gir CPython bindinger for lesing og skriving av Msgpack data.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Msgpack Avhengigheter
Påkrevd

cython-3.2.4

Valgfri (for testing)

pytest-9.0.2

Installasjon av Msgpack

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user msgpack

For å teste installasjonen kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/msgpack-1.1.2.dist-info og /usr/lib/python3.14/site-packages/msgpack

Pathspec-1.0.4

Introduksjon til Pathspec Modulen

Pathspec er et hjelpebibliotek for mønstermatching av filstier.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Pathspec Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Pathspec

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pathspec

For å teste installasjonen, kjør pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pathspec og /usr/lib/python3.14/site-packages/pathspec-1.0.4.dist-info

Pluggy-1.6.0

Introduksjon til Pluggy Modulen

Pluggy pakken gir brukerne muligheten til å utvide eller endre virkemåten til et vertsprogram ved å installere et programtillegg for det programmet. Programtilleggskoden vil kjøre som en del av den normale programkjøringen, endre eller forbedre visse aspekter av det. I hovedsak, pluggy muliggjør funksjonstilkobling slik at en bruker kan bygge «programtilleggssystemer».

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Pluggy Avhengigheter
Anbefalt
Valgfri (for testing)

pytest-9.0.2

Installasjon av Pluggy

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pluggy

For å teste installasjonen, utsted: pytest

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pluggy og /usr/lib/python3.14/site-packages/pluggy-1.6.0.dist-info

Pyproject_Hooks-1.2.0

Introduksjon til Pyproject_Hooks Module

Pyproject_Hooks er et lavnivåbibliotek for å kalle byggebakstykker i pyproject.toml-baserte prosjekter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Pyproject_Hooks Avhengigheter
Valgfri (for tester)

pytest-9.0.2 og testpath

Installasjon av Pyproject_Hooks

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pyproject_hooks

Forutsatt pytest-9.0.2 er installert, men den andre valgfri avhengighet ikke er det, kan installasjonen testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install testpath                          &&
python3 -m pytest
deactivate

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pyproject_hooks og /usr/lib/python3.14/site-packages/pyproject_hooks-1.2.0.dist-info

Pyproject-Metadata-0.11.0

Introduksjon til Pyproject-Metadata Modulen

Pyproject-Metadata modulen inneholder en dataklasse for PEP 621 metadata med støtte for «core metadata» (PEP 643) generasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Pyproject-Metadata Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og exceptiongroup

Installasjon av Pyproject-Metadata

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pyproject-metadata

For å teste installasjonen, sørg for ay pytest-9.0.2 er installert og kjør:

python3 -m venv --system-site-packages testenv &&
testenv/bin/pip3 install exceptiongroup        &&
testenv/bin/python3 -m pytest

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pyproject_metadata og /usr/lib/python3.14/site-packages/pyproject_metadata-0.11.0.dist-info

Pytz-2025.2

Introduksjon til Pytz Modulen

Pytz biblioteket bringer IANA tz databasen inn i Python. Det tillater nøyaktig tidssoneberegning på tvers av plattformer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Pytz Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Pytz

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user pytz

For å teste installasjonen, kjør pytest. Noen få advarsler er utstedt.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/pytz og /usr/lib/python3.14/site-packages/pytz-2025.2.dist-info

Roman-numerals-4.1.0

Introduksjon til Roman-numerals Modulen

Roman-numerals er et Python bibliotek for manipulering av velformede romertall.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Roman-numerals Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Roman-numerals

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user roman-numerals

For å teste installasjonen, utsted: pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/roman_numerals og /usr/lib/python3.14/site-packages/roman_numerals-4.1.0.dist-info

semantic_version-2.10.0

Introduksjon til semantic_version Modulen

semantic_version modulen bringer et lite bibliotek for å håndtere standard for Semantic Versioning i Python.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
semantic_version Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og Django

Installasjon av semantic_version

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user semantic_version

For å teste installasjonen, kjør pytest. Det er 500+ advarsler på grunn av utdatert syntaks med nyere versjoner av Python.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/semantic_version og /usr/lib/python3.14/site-packages/semantic_version-2.10.0.dist-info

setuptools_rust-1.12.0

Introduksjon til setuptools_rust Modulen

setuptools_rust modulen tilbyr et programtillegg til setuptools som tillater kompilering av Python utvidelser i Rust.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
setuptools_rust Avhengigheter
Påkrevd

semantic_version-2.10.0

Valgfri (for testing)

pytest-9.0.2

Installasjon av setuptools_rust

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user setuptools_rust

For å teste installasjonen, utsted: pytest --doctest-modules setuptools_rust tests. Én advarsel vil vises om en API avvikling.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/setuptools_rust og /usr/lib/python3.14/site-packages/setuptools_rust-1.12.0.dist-info

Setuptools_scm-9.2.2

Introduksjon til Setuptools_scm Modulen

Setuptools_scm pakken brukes til å trekke ut Python pakkeversjoner fra git- eller hg-metadata i stedet for å erklære dem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Setuptools_scm Avhengigheter
Valgfri (for testing)

build-1.4.0, git-2.53.0, mercurial-7.2, pytest-9.0.2, Sudo-1.9.17p2, pytest-timeout, rich, ruff, mypy, griffe, og flake8

Installasjon av Setuptools_scm

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user setuptools_scm

For å teste installasjonen, sørg for at pytest-9.0.2 og de andre valgfrie avhengighetene er installert og kjør (HOME= forhindrer at .gitconfig filen i hjemmemappen forstyrrer testene):

python3 -m venv --system-site-packages testenv &&
testenv/bin/pip3 install --group test          &&
TZ=UTC HOME= testenv/bin/python3 -m pytest

Hvis git-2.53.0 og/eller mercurial-7.2 ikke er installert, vil testene avhengig av den(e) som mangler, hoppes over. Noen tester kan påkalle Sudo-1.9.17p2 og be om et passord.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/setuptools_scm og /usr/lib/python3.14/site-packages/setuptools_scm-9.2.2.dist-info

Smartypants-2.0.2

Introduksjon til Smartypants Modulen

Smartypants oversetter vanlig ASCII tegnsetting til «smart» typografisk HTML enheter for tegnsetting.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Smartypants Avhengigheter
Valgfri (for testing)

docutils-0.22.4, Pygments-2.19.2, og pytest-9.0.2

Installasjon av Smartypants

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user smartypants

For å teste resultatene, utsted:

cp /usr/bin/smartypants . &&
pytest

En test, SetupTestCase::test_long_description, er kjent for å skrive ut en advarsel om kommende endringer i docutils.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: smartypants
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/smartypants-2.0.2.dist-info

Korte Beskrivelser

smartypants

oversetter ASCII tegnsetting til HTML tegnsetting.

Snowballstemmer-3.0.1

Introduksjon til Snowballstemmer Modulen

Snowballstemmer pakken er liten strengbehandlingsspråk for å lage stammealgoritmer for bruk i informasjonsinnhenting, pluss en samling stammealgoritmer implementert ved å bruke den. Stemming kartlegger ulike former av samme ord til en felles «stamme» — for eksempel den engelske stammen kartlegger connection, connections, connective, connected, og connecting til connect. Å kjører et søk etter connected ville også finne dokumenter som bare har de andre formene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Snowballstemmer

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user snowballstemmer

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/snowballstemmer og /usr/lib/python3.14/site-packages/snowballstemmer-3.0.1.dist-info

Sphinxcontrib-applehelp-2.0.0

Introduksjon til Sphinxcontrib-applehelp Modulen

Sphinxcontrib-applehelp pakken er en Sphinx utvidelse som skriver ut Apple hjelpebøker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinxcontrib-applehelp Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og sphinx-9.1.0 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-applehelp

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinxcontrib-applehelp

For å teste installasjonen, kjør pytest. Testpakken vil skrive ut en advarsel om kommende endringer i docutils.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinxcontrib og /usr/lib/python3.14/site-packages/sphinxcontrib_applehelp-2.0.0.dist-info

Sphinxcontrib-devhelp-2.0.0

Introduksjon til Sphinxcontrib-devhelp Modulen

Sphinxcontrib-devhelp pakken er en Sphinx utvidelse som skriver ut Devhelp dokumenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinxcontrib-devhelp Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og sphinx-9.1.0 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-devhelp

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinxcontrib-devhelp

For å teste installasjonen, kjør pytest.

Testpakken vil skrive ut en advarsel om kommende endringer i docutils.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinxcontrib og /usr/lib/python3.14/site-packages/sphinxcontrib_devhelp-2.0.0.dist-info

Sphinxcontrib-htmlhelp-2.1.0

Introduksjon til Sphinxcontrib-htmlhelp Modulen

Sphinxcontrib-htmlhelp pakken er en Sphinx utvidelse som gjengir HTML hjelpefiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinxcontrib-htmlhelp Avhengigheter
Valgfri (for testing)

pytest-9.0.2, sphinx-9.1.0 (sirkulær avhengighet), og html5lib-1.1

Installasjon av Sphinxcontrib-htmlhelp

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinxcontrib-htmlhelp

Hvis de valgfrie avhengighetene er installert, kan pakken testes med:

pytest

Testpakken vil skrive ut en advarsel om kommende endringer i docutils.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinxcontrib og /usr/lib/python3.14/site-packages/sphinxcontrib_htmlhelp-2.1.0.dist-info

Sphinxcontrib-jquery-4.1

Introduksjon til Sphinxcontrib-jquery Modulen

Sphinxcontrib-jquery pakken er en Sphinx utvidelse som inkluderer jQuery på nyere Sphinx utgivelser.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinxcontrib-jquery Avhengigheter
Påkrevd

sphinx-9.1.0

Valgfri (for testing)

pytest-9.0.2

Installasjon av Sphinxcontrib-jquery

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken leveres ikke med en fungerende testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinxcontrib-jquery

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinxcontrib og /usr/lib/python3.14/site-packages/sphinxcontrib_jquery-4.1.dist-info

Sphinxcontrib-jsmath-1.0.1

Introduksjon til Sphinxcontrib-jsmath Modulen

Sphinxcontrib-jsmath pakken er en Sphinx utvidelse som gjengir visning matematikk i HTML via JavaScript.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinxcontrib-jsmath Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og sphinx-9.1.0 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-jsmath

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinxcontrib-jsmath

Installasjonen kan testes med følgende kommandoer:

sed -i 's/text()/read_&/' tests/test_jsmath.py &&
pytest

sed ... kommandoen er nødvendig på grunn av en endring i Sphinx API for versjoner større enn 5.0. Selv med fiksen, én test i tests/test_jsmath.py pakken er kjent for å mislykkes: test_disabled_when_equations_not_found. Én advarsel om kommende endringer i docutils skrives også ut.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinxcontrib og /usr/lib/python3.14/site-packages/sphinxcontrib_jsmath-1.0.1.dist-info

Sphinxcontrib-qthelp-2.0.0

Introduksjon til Sphinxcontrib-qthelp Modulen

Sphinxcontrib-qthelp pakken er en Sphinx utvidelse som skriver ut QtHelp dokumenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinxcontrib-qthelp Avhengigheter
Valgfri (for testing)

pytest-9.0.2, sphinx-9.1.0 (sirkulær avhengighet), og defusedxml

Installasjon av Sphinxcontrib-qthelp

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinxcontrib-qthelp

Installasjonen kan testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
testenv/bin/pip3 install defusedxml            &&
testenv/bin/python -m pytest

Testpakken vil skrive ut en advarsel om kommende endringer i docutils.

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinxcontrib og /usr/lib/python3.14/site-packages/sphinxcontrib_qthelp-2.0.0.dist-info

Sphinxcontrib-serializinghtml-2.0.0

Introduksjon til Sphinxcontrib-serializinghtml Modulen

Sphinxcontrib-serializinghtml pakken er en Sphinx utvidelse som skriver ut «serialiserte» HTML filer (json og pickle).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Sphinxcontrib-serializinghtml Avhengigheter
Valgfri (for testing)

pytest-9.0.2 og sphinx-9.1.0 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-serializinghtml

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user sphinxcontrib-serializinghtml

For å teste installasjonen, først installer sphinx-9.1.0, deretter kjør pytest. Testpakken vil skrive ut en advarsel om kommende endringer i docutils.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/sphinxcontrib og /usr/lib/python3.14/site-packages/sphinxcontrib_serializinghtml-2.0.0.dist-info

Trove-Classifiers-2026.1.14.14

Introduksjon til Trove-Classifiers Modulen

Trove-Classifiers er et Python bibliotek for å omfatte alle gyldige PyPI klassifiserere som brukes til å kategorisere prosjekter og utgivelser per PEP 301, for eksempel Topic :: System :: Filesystems og Development Status :: 6 - Mature.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Trove-Classifiers Avhengigheter
Valgfri (for testing)

pytest-9.0.2

Installasjon av Trove-Classifiers

Først hardkode pakkeversjonen inn i setup.py å omgå et problem som forårsaker at generert wheel inneholder en feil versjonsstreng når calver modulen ikke er installert:

sed -i '/calver/s/^/#/;$iversion="2026.1.14.14"' setup.py

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user trove-classifiers

For å teste installasjonen, utsted: pytest.

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/trove_classifiers og /usr/lib/python3.14/site-packages/trove_classifiers-2026.1.14.14.dist-info

Typogrify-2.1.0

Introduksjon til Typogrify Modulen

Typogrify gir filtre for å forbedre webtypografi, inkludert støtte for Django- og Jinja-maler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Typogrify Avhengigheter
Påkrevd

smartypants-2.0.2

Installasjon av Typogrify

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user typogrify

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/typogrify og /usr/lib/python3.14/site-packages/typogrify-2.1.0.dist-info

Urllib3-2.6.3

Introduksjon til Urllib3 Modulen

Urllib3 modul er en kraftig, brukervennlig HTTP klient for Python. Det bringer mange kritiske funksjoner som mangler fra Python standardbibliotekene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Urllib3 Avhengigheter
Påkrevd

hatch_vcs-0.5.0

Valgfri (for tester)

pytest-9.0.2, httpx, hypercorn, mock, PySocks, pytest-timeout, python-dateutil, quart, quart-trio, tornado, trio, og trustme

Installasjon av Urllib3

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user urllib3

Forutsatt pytest-9.0.2 er installert, men de andre valgfrie avhengigheter ikke er det, kan installasjonen testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install --group dev                       &&
python3 /usr/bin/pytest --timeout 10
deactivate

Minst 46 feil forventes med instruksjonene ovenfor. Det er flere grunner. For det første bruker oppstrøms en oppdatert versjon av hypercorn modulen til sin egen testing, som bare kan fås gjennom githttps://github.com/urllib3/hypercorn.git, ved revisjon «urllib3-changes», og bør installeres først i det virtuelle miljøet. For det andre ser det ut til at testpakken ikke har blitt tilpasset nyere versjoner av Python og til nyere versjoner eksterne Python moduler. Spesielt henger noen tester seg, så pytest trenger --timeout bryteren.

Parameterforklaringer

-w dist: bygger den passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 at den skal kjøre byggingen i systemmiljøet i stedet for å opprette et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URL-er i stedet)).

--find-links dist: ser etter lenker til arkiver som wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtigbufferen for å forhindre en advarsel ved installasjon som root bruker.

--no-user: Forhindre at du feilaktig kjører install kommandoen som ikke-root bruker.

--system-site-packages: Tillater at Python3 venv modulen får tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--upgrade: Oppgrader pakken til den nyeste tilgjengelige versjonen. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert..

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/urllib3 og /usr/lib/python3.14/site-packages/urllib3-2.6.3.dist-info

uv_build-0.10.2

Introduksjon til uv_build Modulen

uv_build modulen tilbyr PEP 517 byggebakstykket fra Python pakkehåndteringssystemet 'uv'.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
uv_build Avhengigheter
Påkrevd

maturin-1.11.5

Installasjon av uv_build

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Denne pakken leveres ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user uv_build

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installert Program: uv_build
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/uv_build og /usr/lib/python3.14/site-packages/uv_build-0.10.2.dist-info

webencodings-0.5.1

Introduksjon til Webencodings Modulen

webencodings modulen er en Python implementering av WHATWG Encoding standard.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av webencodings

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-user webencodings

Parameterforklaringer

-w dist: bygger det passende "wheel" for denne modulen i mappen dist.

--no-build-isolation: forteller pip3 å kjøre bygging inn systemmiljøet i stedet for å lage et midlertidig byggemiljø.

--no-deps: hindrer pip3 i å bygge wheels for prosjektets avhengigheter.

--no-index: ignorerer pakkeindeksen (ser bare på --find-links URLer i stedet).

--find-links dist: ser etter lenker til arkiver som for eksempel wheel (.whl) filer i mappen dist.

--no-cache-dir: Deaktiverer hurtiglageret for å forhindre en advarsel når du installerer som root bruker.

--no-user: Forhindre feilaktig kjøring av install kommandoen som en ikke-rootbruker.

--upgrade: Oppgrader pakken til den nyeste tilgjengelig versjon. Dette alternativet brukes med install kommandoen hvis en versjon av pakken allerede er installert.

--force-reinstall: Installer pakken på nytt selv om den er oppdatert. Dette alternativet brukes med install kommandoen hvis du installerer pakken på nytt eller går tilbake til en tidligere versjon av pakken.

--no-deps: Ikke installer pakkeavhengigheter. Dette alternativet kan være nødvendig med --upgrade eller --force-reinstall alternativene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/webencodings og /usr/lib/python3.14/site-packages/webencodings-0.5.1.dist-info

Ruby-4.0.1

Introduksjon til Ruby

Ruby pakken inneholder Ruby utviklingsmiljø. Dette er nyttig for objektorientert skripting.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.1.tar.xz

  • Nedlasting MD5 sum: 693837ccd6cbbca625742e642989796a

  • Nedlastingsstørrelse: 18 MB

  • Estimert diskplass som kreves: 2.8 GB (med C API dokumenter og tester)

  • Estimert byggetid: 1.6 SBU (med C API dokumenter; bruke parallellisme=4; legg til 0.4 SBU for tester)

Ruby Avhengigheter

Påkrevd

libyaml-0.2.5

Valgfri

Doxygen-1.16.1, Graphviz-14.1.2, rustc-1.93.1, Tk-8.6.17, Valgrind-3.26.0, Berkeley DB (deprecated) og DTrace

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av Ruby

Notat

Hvis du har installert en pakke som gir en rubinperle, som f.eks asciidoctor-2.0.26, du må installere disse pakkene på nytt når du oppgraderer til en ny minor versjon av Ruby.

Installer Ruby ved å kjøre følgende kommandoer:

./configure --prefix=/usr         \
            --disable-rpath       \
            --enable-shared       \
            --without-valgrind    \
            --without-baseruby    \
            ac_cv_func_qsort_r=no \
            --docdir=/usr/share/doc/ruby-4.0.1 &&
make

Valgfritt bygg CAPI dokumentene ved å kjøre følgende kommandoer:

make capi

For å teste resultatene, utsted: make -k check. Hvis miljøet har variabler relatert til proxy innstillinger (all_proxy, ALL_PROXY, http_proxy, og etc.) aktivert, testpakken vil avslutte tidlig med meldinger som net/ftp is not found. Sørg for at du deaktiver disse variablene for testpakken.

Nå, som root bruker:

make install

Notat

Hvis du har installert Ruby-On-Rails applikasjoner og gjorde en oppgradering av Ruby ved å installere denne pakken, må du kanskje kjøre en oppdatering der også (som root bruker):

cd /path/to/web/app
bundle update rake

og start nettserveren som betjener applikasjonen på nytt.

Parameterforklaringer

--disable-rpath: Denne bryteren deaktiverer innebygging av /usr/lib som et bibliotek søkesti inn i ruby programmet. Å gjøre det er ikke nødvendig (fordi /usr/lib er et system biblioteksbane), og det kan føre til at testpakken kjører med systemets libruby.so i stedet for det nettopp bygde når Ruby er installert.

--enable-shared: Denne bryteren gjør det mulig å bygge libruby delte bibliotek.

--without-baseruby: Denne bryteren forhindrer bruk av systemets ruby hvis den allerede er installert. Byggesystemet vil bruke den nybygde versjonen i stedet.

ac_cv_func_qsort_r=no: Denne bryteren forhindrer å bruke qsort_r funksjonen fra Glibc. Ruby gjør litt aggressiv optimalisering forutsatt en viss implementeringsdetaljer om sorteringsalgoritmen, men antagelsen stemmer ikke med Glibc implementeringen. Med denne bryteren vil Ruby bruke sin egen sorteringsimplementering i stedet.

--disable-install-doc: Denne bryteren deaktiverer bygging og installering av rdoc indekser og C API dokumenter.

--disable-install-rdoc: Denne bryteren deaktiverer bygging og installering av rdoc indekser.

--disable-install-capi: Denne bryteren deaktiverer bygging og installering av C API dokumenter.

Innhold

Installerte Programmer: bundle, bundler, erb, gem, irb, racc, rake, rbs, rdbg, rdoc, ri, ruby, og typeprof
Installerte Biblioteker: libruby.so
Installerte Mapper: /usr/include/ruby-4.0.0, /usr/lib/ruby, /usr/share/doc/ruby-4.0.1 og /usr/share/ri

Korte Beskrivelser

bundle

lager pakker med Ruby Gems

bundler

administrerer en applikasjons avhengigheter gjennom hele livssyklusen

erb

er et kommandolinjegrensesnitt for eRuby, som gir et malsystem for Ruby

gem

er kommandoen for RubyGems, som er en sofistikert pakke administrator for Ruby. Denne er lik Pythons 'pip' kommando

irb

er det interaktive grensesnittet for Ruby

rake

er et make lignende byggeverktøy for Ruby

rdbg

er en interaktiv feilsøking for Ruby

rdoc

genererer Ruby dokumentasjon

ri

viser dokumentasjon fra en database på Ruby klasser, moduler og metoder

ruby

er et tolket skriptspråk for raskt og enkel objektorientert programmering

libruby.so

inneholder API funksjonene som kreves av Ruby

Rustc-1.93.1

Introduksjon til Rust

Rust programmeringsspråket er utformet for å være et trygt, samtidig, praktisk språk.

Som med mange andre programmeringsspråk, rustc (rustkompilatoren) trenger en binær for oppstartssekvensen. Den vil laste ned en stage0 binær ved starten av bygningen, så du må ha en internettforbindelse for å bygge denne pakken.

Notat

Selv om BLFS vanligvis installeres i /usr, når du senere oppgraderer til en nyere versjon av rust de gamle bibliotekene i /usr/lib/rustlib vil bestå, med forskjellige hasher i navnene sine, men de vil ikke være brukbare og vil kaste bort plass. Redaktørene anbefaler å plassere filene i /opt mappen. Spesielt hvis du må gjenoppbygge denne pakken med en modifisert konfigurasjon (f.eks. bruke den leverte LLVM-en etter å ha bygget med delt LLVM, kanskje for å kompilere crates for arkitekturer som BLFS LLVM bygget ikke støtter), er det mulig at installasjonen etterlater en ødelagt cargo program. Hvis dette skjer, bør du enten fjerne den eksisterende installasjonen først, eller bruke et annet prefiks, for eksempel /opt/rustc-1.93.1-build2.

Hvis du foretrekker det, kan du selvfølgelig endre prefikset til /usr.

Det nåværende rustbuild byggesystemet vil bruke alle prosessorer, selv om det ikke skalerer godt og ofte faller tilbake til å bare bruke én kjerne mens det venter på at et bibliotek skal kompileres. Det kan imidlertid stort sett begrenses til et spesifisert antall prosessorer ved en kombinasjon av å legge til bryteren --jobs <N> (f.eks. '--jobs 4' for å begrense til 4 prosessorer) ved hver kalling av ./x.py og bruke CARGO_BUILD_JOBS=<N> miljøvariabel. For øyeblikket er dette ikke effektivt når noen av rustc-testene kjøres.

Den nåværende versjonen av rusts num_cpus crate gjenkjenner nå at cgroups kan brukes til å begrense hvilke prosessorer den har lov til å bruke. Hvis din maskin mangler DRAM (vanligvis mindre enn 2 GB DRAM per kjerne), kan det være et alternativ til å koble CPU-er fra. Les «Bruk Linux Control Group for å begrense ressursbruken» for informasjon om hvordan du bruker en cgroup.

For øyeblikket, Rust gir ingen garantier for en stabil ABI.

Notat

Rustc bygger som standard ALLE støttede arkitekturer, ved bruk av en sendt kopi av LLVM. I BLFS er byggingen kun for X86 arkitekturen. Hvis du skal utvikle rust crates, er det ikke sikkert at denne byggingen er tilstrekkelig for dine formål.

Byggetidene for denne versjonen når den gjentas på samme maskin er ofte rimelig konsekvent, men som med alle kompilatorer som bruker rustc, kan det være noen veldig langsomme avvikere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://static.rust-lang.org/dist/rustc-1.93.1-src.tar.xz

  • Nedlasting MD5 sum: 65de3c1b0a9304b16ff27433a0dafb95

  • Nedlastingsstørrelse: 258 MB

  • Estimert diskplass som kreves: 10 GB (324 MB installert); legg til 11 GB hvis du kjører testene

  • Estimert byggetid: 10 SBU (inkludert nedlastingstid; legg til 15 SBU for tester, begge med parallellisme=8)

Rust Avhengigheter

Påkrevd

CMake-4.2.3 og cURL-8.18.0

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Anbefalt

Notat

Hvis en anbefalt avhengighet ikke er installert, må du endre instruksjonene for å bygge og bruke en levert kopi i Rustc kildetarballen i stedet. Se delen Parameterforklaringer for flere detaljer.

Valgfri

GDB-17.1 (brukes av testpakken hvis den er til stede), git-2.53.0 (kreves av testpakken), cranelift, jemalloc, libgccjit (les Parameterforklaringer i GCC-15.2.0), og libgit2

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/rust

Installasjon av Rust

For å installere i /opt mappen, fjerne evt eksisterende /opt/rustc symbolkobling og opprett en ny mappe (dvs. med et annet navn hvis du prøver en modifisert versjon av samme versjon). Som root bruker:

mkdir -pv /opt/rustc-1.93.1      &&
ln -svfn rustc-1.93.1 /opt/rustc

Notat

Hvis flere versjoner av Rust er installert i /opt, endre til en annen versjonen krever bare å endre /opt/rustc symbolsk lenke og deretter kjøre ldconfig.

Opprett en passende bootstrap.toml fil som vil konfigurere bygget.

cat << EOF > bootstrap.toml
# See bootstrap.toml.example for more possible options,
# and see src/bootstrap/defaults/bootstrap.dist.toml for a few options
# automatically set when building from a release tarball
# (unfortunately, we have to override many of them).

# Tell x.py that the editors have reviewed the content of this file
# and updated it to follow the major changes of the building system,
# so x.py will not warn users to rewiew that information.
change-id = 148795

[llvm]
# When using the system installed copy of LLVM, prefer the shared libraries
link-shared = true

# If building the shipped LLVM source, only enable the x86 target
# instead of all the targets supported by LLVM.
targets = "X86"

[build]
description = "for BLFS r12.4-1462"

# Omit the documentation to save time and space (the default is to build them).
docs = false

# Do not look for new versions of the dependencies online.
locked-deps = true

# Only install these extended tools. Cargo, clippy, rustdoc, and rustfmt
# are installed by a default rustup installation, and rust-src is needed
# to build the Rust code in Linux kernel (in case you need such a kernel
# feature).
tools = ["cargo", "clippy", "rustdoc", "rustfmt", "src"]

[install]
prefix = "/opt/rustc-1.93.1"
docdir = "share/doc/rustc-1.93.1"

[rust]
channel = "stable"

# Enable the same optimizations as the official upstream build.
lto = "thin"
codegen-units = 1

# Don't build llvm-bitcode-linker which is only useful for the NVPTX
# backend that we don't enable.
llvm-bitcode-linker = false

[target.x86_64-unknown-linux-gnu]
llvm-config = "/usr/bin/llvm-config"

[target.i686-unknown-linux-gnu]
lvm-config = "/usr/bin/llvm-config"
EOF

Kompiler Rust ved å kjøre følgende kommandoer:

export LIBSSH2_SYS_USE_PKG_CONFIG=1
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
./x.py build

Notat

Testpakken vil generere noen meldinger i system log for feller på ugyldige opkoder, og for segmenteringsfeil. I seg selv er disse ingenting å bekymre seg for, det er bare en måte for en test å avslutte.

Å kjøre testene, utsted:

./x.py test --verbose --no-fail-fast | tee rustc-testlog

Test navngitt tests/run-make/rustdoc-target-modifiers er kjent for å mislykkes fordi vi ikke har aktivert AArch64 målet i LLVM-21.1.8.

Som med alle store testpakker, kan noen tester mislykkes på noen maskiner - hvis antallet feil er lavt, sjekk loggen for 'failures:' og se gjennom linjer over det, spesielt 'stderr:' linjene. Enhver omtale av en SIGSEGV eller signal 11 i en mislykket test er en grunn til bekymring.

Notat

Hvis du har strippet /usr/lib/libc.a med strip --strip-unneeded, alt statiske koblete Rustprogrammer vil krasje med SIGSEGV ved oppstart, noe som forårsaker flere tester (for eksempel tests/ui/process/nofile-limit.rs) å mislykkes med SIGSEGV.

Det er forårsaket av en Glibc feil som påvirker Glibc-2.42 og flere tidligere utgivelser, så for nå har vi byttet ut --strip-unneeded med --strip-debug i både LFS boka og i «Strippe En Gang Til» for å omgå det. Hvis du opplever dette problemet, gjenoppbygg Glibc og erstatt /usr/lib/libc.a filen med den ustrippede libc.a fra nybygget.

Hvis du får noen andre sviktende tester som rapporterer et utgavenummer, så bør du søke etter det problemet. For eksempel når rustc >= 1.41.1 ble bygget med en versjon av sysllvm før 10.0 testen for problem 69225 mislyktes https://github.com/rust-lang/rust/issues/69225 og det burde være betraktet som en kritisk feil (de ga ut 1.41.1 på grunn av det). De fleste andre feil vil ikke være kritiske.

Derfor bør du bestemme antall feil. Antall tester som har bestått og ikke bestått finner du ved å kjøre:

grep '^test result:' rustc-testlog |
 awk '{sum1 += $4; sum2 += $6} END { print sum1 " passed; " sum2 " failed" }'

De andre tilgjengelige feltene er $8 for de som ble ignorert (dvs. hoppet over), $10 for "målt" og $12 for "filtrert ut", men begge de to siste er sannsynligvis null.

Nå, som root bruker, installer pakken:

Notat

Hvis sudo eller su er påberopt for å bytte til root bruker, sikre at LIBSSH2_SYS_USE_PKG_CONFIG og LIBSQLITE3_SYS_USE_PKG_CONFIG er riktig sendt ellers kan følgende kommando gjenoppbygge cargo med sendte kopier av libssh2 og sqlite. For sudo, bruk --preserve-env=LIB{SSH2,SQLITE3}_SYS_USE_PKG_CONFIG alternativet. For su, ikke bruk - eller --login alternativene.

./x.py install

Fortsatt som root bruker, fiks installasjonen av dokumentasjonen, symbollenke en Zsh fullføringsfilen til riktig sted, og flytt en Bash fullføringsfilen til stedet anbefalt av Bash ferdigstillelse vedlikeholdere:

rm -fv /opt/rustc-1.93.1/share/doc/rustc-1.93.1/*.old   &&
install -vm644 README.md                                \
               /opt/rustc-1.93.1/share/doc/rustc-1.93.1 &&

install -vdm755 /usr/share/zsh/site-functions      &&
ln -sfv /opt/rustc/share/zsh/site-functions/_cargo \
        /usr/share/zsh/site-functions

mv -v /etc/bash_completion.d/cargo /usr/share/bash-completion/completions

Til slutt, deaktiver eksporterte miljøvariabler:

unset LIB{SSH2,SQLITE3}_SYS_USE_PKG_CONFIG

Parameterforklaringer

ln -svfn rustc-1.93.1 /opt/rustc: hvis dette ikke er den første bruken av /opt/rustc symbolkobling, overskriv den ved tvang, og bruk '-n'-flagget for å unngå å få forvirrende resultater fra f.eks. ls -l.

tools = ["cargo", "clippy", "rustdoc", "rustfmt"]: bygg bare verktøyene fra 'standard' profilen fra binær kommandoen rustup som anbefales for de fleste brukere. De andre verktøyene er neppe nyttige med mindre du bruker (gammel) kode analysatorer eller redigering av standardbiblioteket.

channel = "stable": Dette sikrer at bare stabile funksjoner brukes. Standardinnstillingen i bootstrap.toml er å bruke utviklingsfunksjoner som ikke er passende for en utgitt versjon av rust.

[target.x86_64-unknown-linux-gnu]: syntaksen til bootstrap.toml krever en llvm-config oppføring for hvert mål som system-llvm skal brukes for. Endre målet til [target.i686-unknown-linux-gnu] hvis du bygger på 32-bit x86. Hele denne delen bør utelates hvis du ønsker å bygge mot den sendte llvm, men det resulterende bygget vil være større og ta lengre tid.

export LIBSSH2_SYS_USE_PKG_CONFIG=1: tillat cargo for å lenke til den systeminstallerte kopien av libssh2. Utelat denne kommandoen hvis du ikke har installert libssh2-1.11.1.

export LIBSQLITE3_SYS_USE_PKG_CONFIG=1: Tillat cargo for å koble til systemets installerte kopi av sqlite.

--verbose: denne bryteren kan noen ganger gi mer informasjon om en test som mislykkes.

--no-fail-fast: denne bryteren sikrer at testpakken ikke vil stoppe ved den første feilen.

Konfigurere Rust

Konfigurasjonsinformasjon

Hvis du har installert rustc i /opt, må du oppdatere følgende konfigurasjonsfiler slik at rustc er riktig funnet av andre pakker og systemprosesser.

Som root bruker, opprett /etc/profile.d/rustc.sh filen:

cat > /etc/profile.d/rustc.sh << "EOF"
# Begin /etc/profile.d/rustc.sh

pathprepend /opt/rustc/bin           PATH

# End /etc/profile.d/rustc.sh
EOF

Oppdater gjeldende PATH umiddelbart etter installasjonen for ditt nåværende skall som en vanlig bruker:

source /etc/profile.d/rustc.sh

Innhold

Installerte Programmer: cargo-clippy, cargo-fmt, cargo, clippy-driver, rust-gdb, rust-gdbgui, rust-lldb, rustc, rustdoc, og rustfmt
Installerte Biblioteker: librustc_driver-<16-byte-hash>.so og libstd-<16-byte-hash>.so
Installerte Mapper: ~/.cargo, /opt/rustc, symbolsk lenke til /opt/rustc-1.93.1

Korte Beskrivelser

cargo-clippy

utfører lint sjekker for en cargo pakke

cargo-fmt

formaterer alle bin og lib filer i gjeldende crate ved hjelp av rustfmt

cargo

er Pakkebehandler for Rust

clippy-driver

utfører lint sjekker for rust

rust-gdb

er et innpakningsskript for gdb, som trekker inn Python pretty-printing moduler installert i /opt/rustc-1.93.1/lib/rustlib/etc

rust-gdbgui

er et innpakningsskript for et grafisk grensesnitt til gdb som kjører i en nettleser

rust-lldb

er et innpakningsskript for LLDB (LLVM-feilsøkeren) som trekke inn Python pretty-printing modulene

rustc

er rust kompilatoren

rustdoc

genererer dokumentasjon fra rust kildekode

rustfmt

formaterer rust kode

libstd-<16-byte-hash>.so

er Rust Standard Bibliotek, grunnlaget for flyttbar Rust programvare

rust-bindgen-0.72.1

Introduksjon til rust-bindgen

rust-bindgen pakken inneholder et verktøy som genererer rustbindinger fra C/C++ deklarasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

rust-bindgen Avhengigheter

Påkrevd

rustc-1.93.1 og LLVM-21.1.8 (med Clang, kjøretid)

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Installasjon av rust-bindgen

Installer rust-bindgen ved å kjøre følgende kommandoer:

cargo build --release

For å teste resultatene, utsted: cargo test --release. To tester, header_issue_544_stylo_creduce_2_hpp og header_nsbasehashtable_hpp, er kjent for å feile.

Nå, som root bruker:

install -v -m755 target/release/bindgen /usr/bin

Fortsatt som root bruker, installer Bash og Zsh kompletterings støttefiler:

bindgen --generate-shell-completions bash \
    > /usr/share/bash-completion/completions/bindgen
bindgen --generate-shell-completions zsh  \
    > /usr/share/zsh/site-functions/_bindgen

Innhold

Installerte Programmer: bindgen
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

bindgen

genererer bindinger for Rust fra C/C++ deklarasjoner

SCons-4.10.1

Introduksjon til SCons

SCons er et verktøy for å bygge programvare (og andre filer) implementert i Python.

Notat

Ved utvidelse av tarballen utvides pakken til scons-4.10.1, ikke det forventede SCons-4.10.1.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av SCons

Bygg pakken:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Som root bruker, installer pakken:

pip3 install --no-index --find-links dist --no-user SCons &&
install -v -m664 *.1 /usr/share/man/man1

Innhold

Installerte Programmer: scons, scons-configure-cache, og sconsign
Installerte Biblioteker: Ingen
Installert Mappe: /usr/lib/python3.14/site-packages/SCons{,-4.10.1.dist-info}

Korte Beskrivelser

scons

er et programvarekonstruksjonsverktøy

scons-configure-cache

viser eller konverterer konfigurasjonen til en SCons hurtiglagermappe

sconsign

printer SCons .sconsign filinformasjon

slang-2.3.3

Introduksjon til slang

S-Lang (slang) er et tolket språk som kan være innebygd i en applikasjon for å lage applikasjonen utvidbar. Det gir fasiliteter som kreves av interaktive applikasjoner som skjerm-/skjermstyring, tastaturinndata og tastaturkart.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Slang Avhengigheter

Valgfri

libpng-1.6.55 og Oniguruma

Installasjon av Slang

Notat

Denne pakken støtter ikke parallellbygging.

Installer slang ved å kjøre følgende kommandoer:

./configure --prefix=/usr       \
            --sysconfdir=/etc   \
make -j1 RPATH=

For å teste resultatene, utsted: LC_ALL=C make check.

Nå, som root bruker:

make install_doc_dir=/usr/share/doc/slang-2.3.3   \
     SLSH_DOC_DIR=/usr/share/doc/slang-2.3.3/slsh \
     RPATH= install

Parameterforklaringer

--with-readline=gnu: Denne parameteren setter GNU Readline skal brukes av parsergrensesnittet i stedet for slang interne versjon.

RPATH=: Dette overstyrer make variabel forhindrer hardkoding av biblioteksøkestier (rpath) inn i binære kjørbare filer og delte biblioteker. Denne pakken gjør det ikke trenger rpath for en installasjon til standardplasseringen, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

install_doc_dir=/usr/share/doc/slang-2.3.3 SLSH_DOC_DIR=/usr/share/doc/slang-2.3.3/slsh: Dette overstyrer make variabler sikrer installasjon av denne pakken med en versjonert dokumentasjonsinstallasjonsmappe.

Konfigurere slang

Konfigurasjonsfiler

~/.slshrc og /etc/slsh.rc

Innhold

Installert Program: slsh
Installerte Biblioteker: libslang.so og numerous support modules
Installerte Mapper: /usr/lib/slang, /usr/share/doc/slang-2.3.3 og /usr/share/slsh

Korte Beskrivelser

slsh

er et enkelt program for å tolke slang skript. Den støtter dynamisk lasting av slang moduler og inkluderer en Readline grensesnitt for interaktivt bruk

Subversion-1.14.5

Introduksjon til Subversion

Subversion er et versjonskontrollsystem som er designet for å være en overbevisende erstatning for CVS i åpen kildekode fellesskapet. Det utvider og forsterker CVS' funksjonssett, samtidig som det opprettholder et lignende grensesnitt for de som allerede er kjent med CVS. Disse instruksjonene installerer klient- og serverprogramvaren som brukes til manipulere et Subversion depot. Opprettelse av et depot er dekket i Kjøre en Subversion Server.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://archive.apache.org/dist/subversion/subversion-1.14.5.tar.bz2

  • Nedlasting MD5 sum: af6001dc7af2f1242a4f72e8a5c565d2

  • Nedlastingsstørrelse: 8.3 MB

  • Estimert diskplass som kreves: 260 MB (legg til 189 MB for bindinger, 54 MB for dokumenter, 1,3 GB for tester)

  • Estimert byggetid: 1.5 SBU (Bruker parallellisme=4; legg til 2.0 SBU for bindinger, 30 SBU for tester)

Ytterligere Nedlastinger

Subversion Avhengigheter

Påkrevd

Apr-Util-1.6.3

Anbefalt
Valgfri

Apache-2.4.66, Boost-1.90.0, Cyrus SASL-2.1.28, dbus-1.16.2, Doxygen-1.16.1 (for å generere HTML dokumentasjon), gnome-keyring-48.0, libsecret-0.21.7, Py3c-1.4 (for python bindinger og tester), Ruby-4.0.1, SWIG-4.4.1, og UTF8proc

Valgfri (for Java bindinger)

En av OpenJDK-21.0.9, Dante eller Jikes, JUnit 4 (for å teste Java bindingene) og apache-ant-1.10.15.

Installasjon av Subversion

Først, fiks flere problemer med Python 3.14 og SWIG-4.4:

patch -Np1 -i ../subversion-1.14.5-upstream_fixes-1.patch

Installer Subversion ved å kjøre følgende kommandoer:

./configure --prefix=/usr            \
            --disable-static         \
            --with-apache-libexecdir \
            --with-utf8proc=internal &&
make

Hvis du har Doxygen-1.16.1 installert og du ønsker å bygge API dokumentasjon, kjør:

doxygen doc/doxygen.conf

Hvis du ønsker å bygge Java bindingene, send --enable-javahl parameteren til configure kommandoen. I tillegg, hvis du vil kjøre Java testpakken, må du spesifisere plasseringen av JUnit filen ved å legge til --with-junit=<path to junit jar> (for eksempel --with-junit=/usr/local/java/lib/junit-4.13.jar) til configure. JUnit jar filen er ikke lenger inkludert i apache-ant-1.10.15 og må lastes ned for seg selv. For å bygge Java bindingene, kjør følgende kommando:

make -j1 javahl

Hvis du skal kompilere Ruby bindinger, sett C standarden for å forhindre at byggingen feiler:

sed -i 's/Wno-int-to-pointer-cast/std=gnu17/' Makefile

Hvis du vil kompilere Perl, Python, eller Ruby bindinger, kjør en av følgende kommandoer:

make swig-pl # for Perl
make swig-py \
     swig_pydir=/usr/lib/python3.14/site-packages/libsvn \
     swig_pydir_extra=/usr/lib/python3.14/site-packages/svn # for Python
make swig-rb # for Ruby

For å teste resultatene, kjør: make check.

For å teste resultatene av noen av SWIG bindinger, kan du bruke en av følgende kommandoer: make check-swig-pl, make check-swig-py, or make check-swig-rb.

Nå, som root bruker:

make install &&

install -v -m755 -d /usr/share/doc/subversion-1.14.5 &&
cp      -v -R doc/* /usr/share/doc/subversion-1.14.5

Hvis du bygde Java bindingene, kjør følgende kommando som root brukeren for å installere dem:

make install-javahl

Hvis du bygde Perl, Python, eller Ruby bindinger, kjør noe av de følgende kommandoer som root bruker for å installere dem:

make install-swig-pl
make install-swig-py \
      swig_pydir=/usr/lib/python3.14/site-packages/libsvn \
      swig_pydir_extra=/usr/lib/python3.14/site-packages/svn
make install-swig-rb

Java bindingene må installeres for at testene skal kjøre, siden testene prøver å se etter dem i CLASSPATH. For å teste resultater av Java bindingsbygget, kjør LANG=C make check-javahl.

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-apache-libexecdir: Hvis Apache-2.4.66 er installert, de delte Apache moduler blir bygget. Denne bryteren gjør det mulig å installere disse modulene i Apache sin konfigurert modul mappe i stedet for /usr/libexec. Det har ingen effekt hvis Apache ikke er installert.

--with-utf8proc=internal: Fjern disse bryterne hvis du har installert de valgfrie avhengighetene.

--enable-javahl: muliggjør kompilering av Java høynivå bindinger. Kjøre make javahl er nødvendig å gjøre kompilasjonen.

--with-junit=<location of the junit jar file>: gir plasseringen av junit jar, ellers kan javahl testene ikke bli kjørt.

--disable-gmock: Ikke bruk Googlemock testing rammeverk.

Konfigurere Subversion

Konfigurasjonsfiler

~/.subversion/config og /etc/subversion/config

Konfigurasjonsinformasjon

/etc/subversion/config er Subversion systemomfattende konfigurasjonsfil. Denne filen brukes til å spesifisere standarder for forskjellige svn kommandoer.

~/.subversion/config er brukerens personlige konfigurasjonsfil. Den brukes til å overstyre standardinnstillingene for hele systemet i /etc/subversion/config.

Innhold

Installerte Programmer: svn, svnadmin, svnbench, svndumpfilter, svnfsfs, svnlook, svnmucc, svnrdump, svnserve, svnsync, og svnversion
Installerte Biblioteker: libsvn_*-1.so og valgfritt, et Java bibliotek, mod_dav_svn.so og mod_authz_svn.so Apache HTTP DSO moduler og diverse Perl, Python og Ruby moduler.
Installerte Mapper: /usr/include/subversion-1, /usr/lib/perl5/site_perl/5.42/{,auto/}SVN, /usr/lib/python3.14/site-packages/{libsvn,svn}, /usr/lib/ruby/site_ruby/<x.y.z>/{,<arch-linux>-linux/}svn, /usr/lib/svn-javahl, og /usr/share/doc/subversion-1.14.5

Korte Beskrivelser

svn

er et kommandolinjeklientprogram som brukes til å få tilgang til Subversion depoter

svnadmin

er et verktøy for å lage, justere eller reparere et Subversion depot

svnbench

er et referanseverktøy

svndumpfilter

er et program for filtrering av Subversion depot dumpfile format strømmer

svnfsfs

er FSFS (FileSystem atop of the FileSystem - Subversion filsystemimplementering) verktøy for depot manipulering

svnlook

er et verktøy for å inspisere et Subversion depot

svnmucc

er en Multiple URL Command Client for Subversion

svnrdump

er et verktøy for å dumpe eller laste et eksternt Subversion depot

svnserve

er et tilpasset frittstående serverprogram, i stand til å kjøre som en nisse prosess eller påberopt av SSH

svnsync

er Subversion depot synkroniseringsverktøy

svnversion

brukes til å rapportere versjonsnummeret og tilstanden til en fungerende Subversion depot kopi

libsvn_*-1.so

er støttebibliotekene som brukes av Subversion programmer

mod_authz_svn.so

er et programtilleggmodul for Apache HTTP server, brukes til å autentisere brukere til et Subversion depot over Internett eller et intranett

mod_dav_svn.so

er et programtilleggmodul for Apache HTTP server, brukes for å gjøre et Subversion depot tilgjengelig for andre over Internett eller et intranett

Kjøre en Subversion Server

Kjøre en Subversion Server

Denne delen vil beskrive hvordan du setter opp, administrerer og sikrer en Subversion server.

Subversion Server Avhengigheter

Påkrevd

Subversion-1.14.5 og OpenSSH-10.2p1

Sette opp en Subversion Server.

Følgende instruksjoner vil installere en Subversion server, som vil bli satt opp for å bruke OpenSSH som en sikker fjerntilgangs metode, med svnserve tilgjengelig for anonym adgang.

Konfiguringen av Subversion server består av følgende trinn:

1. Sett opp brukere, grupper og tillatelser

Du må være bruker root for den første delen av konfigurasjonen. Opprett svn bruker og gruppe med følgende kommandoer:

groupadd -g 56 svn &&
useradd -c "SVN Owner" -d /home/svn -m -g svn -s /bin/false -u 56 svn

Hvis du planlegger å ha flere depoter, bør du ha en gruppe dedikert til hvert depot for enkel administrasjon. Opprett svntest gruppe for testdepot og legg til svn bruker til den gruppen med følgende kommandoer:

groupadd -g 57 svntest &&
usermod -G svntest -a svn

I tillegg bør du sette umask 002 samtidig som arbeider med et depot slik at alle nye filer vil være skrivbare av eier og gruppe. Dette gjøres obligatorisk ved å lage et innpakningsskript for svn og svnserve:

mv /usr/bin/svn /usr/bin/svn.orig &&
mv /usr/bin/svnserve /usr/bin/svnserve.orig &&
cat >> /usr/bin/svn << "EOF"
#!/bin/sh
umask 002
/usr/bin/svn.orig "$@"
EOF
cat >> /usr/bin/svnserve << "EOF"
#!/bin/sh
umask 002
/usr/bin/svnserve.orig "$@"
EOF
chmod 0755 /usr/bin/svn{,serve}

Notat

Hvis du bruker Apache for å jobbe med depotet over HTTP, selv for anonym tilgang, bør du pakke inn /usr/sbin/httpd i et lignende skript.

2. Opprett et Subversion depot.

Det er flere måter å sette opp et subversion depot. Det anbefales å ta en titt på SVN Book tilsvarende kapittel. Et grunnleggende depot kan settes opp med instruksjonene nedenfor.

Opprett et nytt Subversion depot med følgende kommandoer (som root bruker):

install -v -m 0755 -d /srv/svn &&
install -v -m 0755 -o svn -g svn -d /srv/svn/repositories &&
svnadmin create /srv/svn/repositories/svntest

Nå som depotet er opprettet, skal det fylles ut med noe nyttig. Du må ha en forhåndsdefinert mappe utforming satt opp akkurat slik du vil at depotet ditt skal se ut. For eksempel, her er et eksempel på BLFS utformingsoppsett med en rot av svntest/. Du må sette opp et mappetre som ligner på følgende:

svntest/            # The name of the repository
   trunk/           # Contains the existing source tree
      BOOK/
      bootscripts/
      edguide/
      patches/
      scripts/
   branches/        # Needed for additional branches
   tags/            # Needed for tagging release points

Når du har opprettet mappeoppsettet som vist ovenfor, er du klar til å utføre den første importen:

svn import -m "Initial import." \
    </path/to/source/tree>      \
    file:///srv/svn/repositories/svntest

Endre nå eier- og gruppeinformasjon for depoet, og legg til en uprivilegert bruker for svn og svntest gruppene:

chown -R svn:svntest /srv/svn/repositories/svntest    &&
chmod -R g+w         /srv/svn/repositories/svntest    &&
chmod g+s            /srv/svn/repositories/svntest/db &&
usermod -G svn,svntest -a <username>

svntest er gruppen tilordnet til svntest depotet. Som nevnt tidligere, letter dette administrasjon av flere depoter ved bruk av OpenSSH for autentisering. Fremover, må du legge til den uprivilegerte brukeren din og eventuelle andre brukere som du ønsker å ha skrivetilgang til depotet, til svn og svntest gruppene.

I tillegg vil du legge merke til at i det nye depotet db mappen er set-groupID. Hvis begrunnelsen ikke umiddelbart er åpenbart når du bruker en ekstern autentiseringsmetode (som for eksempel ssh), den klebrige biten er satt slik at alle nye filer vil eies av brukeren, med gruppen svntest. Hvem som helst i svntest gruppen kan opprette filer, men fortsatt gi hele gruppen skrivetilgang til disse filene. Dette unngår å låse ut andre brukere fra depotet.

Gå nå tilbake til en uprivilegert brukerkonto, og ta en titt på det nye depotet med svnlook:

svnlook tree /srv/svn/repositories/svntest/

Notat

Du må kanskje logge ut og inn igjen for å oppdatere gruppemedlemskapet ditt. su <username> bør fungere også.

3. Konfigure Serveren

Som nevnt tidligere, vil disse instruksjonene konfigurere serveren til å kun bruke ssh for skrivetilgang til depoet og å gi anonym tilgang ved hjelp av svnserve. Det er flere andre måter å tilby tilgang til depotet. Disse tilleggskonfigurasjonene er best forklart på https://svnbook.red-bean.com/.

Tilgangskonfigurasjon må gjøres for hvert depot. Opprett svnserve.conf filen for svntest depoet ved hjelp av følgende kommandoer:

cp /srv/svn/repositories/svntest/conf/svnserve.conf \
   /srv/svn/repositories/svntest/conf/svnserve.conf.default &&

cat > /srv/svn/repositories/svntest/conf/svnserve.conf << "EOF"
[general]
anon-access = read
auth-access = write
EOF

Det er ikke mye i konfigurasjonsfilen i det hele tatt. Du vil merke at kun den generelle delen kreves. Ta en titt på svnserve.conf.default filen for informasjon om bruk av svnserve sin innebygde autentiseringsmetode.

4. Starte Serveren

For å starte serveren ved oppstart, installer svn oppstartskript inkludert i blfs-bootscripts-20251220 pakken:

make install-svn

SWIG-4.4.1

Introduksjon til SWIG

SWIG (Simplified Wrapper and Interface Generator) er en kompilator som integrerer C og C++ med språk inkludert Perl, Python, Tcl, Ruby, PHP, Java, JavaScript, C#, D, Go, Lua, Octave, R, Racket, Scilab, Scheme, og Ocaml. SWIG kan også eksportere parsetreet til Lisp s-expressions og XML.

SWIG leser kommentert C/C++ deklarasjonsfiler og lager innpakningskode (glue kode) for å lage den tilsvarende C/C++ bibliotekene som er tilgjengelige for de oppførte språk, eller for å utvide C/C++ programmer med et skriptspråk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://downloads.sourceforge.net/swig/swig-4.4.1.tar.gz

  • Nedlasting MD5 sum: 775105851d39ab2fbf093ad743cb1e0a

  • Nedlastingsstørrelse: 8.3 MB

  • Estimert diskplass som kreves: 93 MB (2.5 GB med tester)

  • Estimert byggetid: 0.2 SBU (legg til opptil 50 SBU for tester avhengig av installerte språk; begge bruker parallellisme=4)

SWIG Avhengigheter

Valgfri

Boost-1.90.0 for tester, og alle de nevnte språkene i innledningen, som kjøretidsavhengigheter

Installasjon av SWIG

Installer SWIG ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make JSCXX=g++ TCL_INCLUDE= -k check. Deaktiveringen av variabelen TCL_INCLUDE er nødvendig siden den ikke er riktig satt av configure. Testene utføres kun for språk installert på maskinen din, så diskplass og SBU-verdier gitt for testene kan variere, og bør betraktes som bare antakelser av størrelser. I følge SWIG sin dokumentasjon, svikt hos noen tester bør ikke anses som skadelige. Go testene er buggy og kan generere mye meningsløst utdata. 8 av testene i JavaScript pakken er kjent for å mislykkes.

Nå, som root bruker:

make install &&
cp -v -R Doc -T /usr/share/doc/swig-4.4.1

Parameterforklaringer

--without-<language>: gjør det mulig å deaktivere oppbygging av tester og eksempler for <language>, men alle språk evner til SWIG er alltid bygget.

Innhold

Installerte Programmer: swig og ccache-swig
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/doc/swig-4.4.1 og /usr/share/swig

Korte Beskrivelser

swig

tar en grensesnittfil som inneholder C/C++ deklarasjoner og SWIG spesielle instruksjoner, og genererer tilsvarende innpakningskode nødvendig for å bygge utvidelsesmoduler

ccache-swig

er en kompilatorhurtiglager, som øker hastigheten på re-kompilering av C/C++/SWIG kode

Tk-8.6.17

Introduksjon til Tk

Tk pakken inneholder en TCL GUI Verktøysett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Tk Avhengigheter

Påkrevd

Xorg Biblioteker

Installasjon av Tk

Installer Tk ved å kjøre følgende kommandoer:

cd unix &&
./configure --prefix=/usr \
            --mandir=/usr/share/man \
            $([ $(uname -m) = x86_64 ] && echo --enable-64bit) &&

make &&

sed -e "s@^\(TK_SRC_DIR='\).*@\1/usr/include'@" \
    -e "/TK_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \
    -i tkConfig.sh

Det anbefales ikke å kjøre testene. Feil vil bli rapportert i løpet av tester, avhengig av skjermoppløsningen/funksjonene, installerte fonter og andre X relaterte parametere, men sluttrapporten kan vise 0 feil. Noen tester vil stjele fokus, og noen kan krasje X serveren. Å teste resultatene uansett, kjør: make test. Sørg for å kjøre det fra en X Window skjermenhet med GLX utvidelsene lastet, men likevel kan testene henge.

Nå, som root bruker:

make install &&
make install-private-headers &&
ln -v -sf wish8.6 /usr/bin/wish &&
chmod -v 755 /usr/lib/libtk8.6.so

Parameterforklaringer

--enable-64bit: Denne bryteren brukes til å aktivere 64 bit støtte i Tk på 64 bit operativsystemer.

make install-private-headers: Denne kommandoen brukes til å installere Tk bibliotekgrensesnitt deklarasjoner som brukes av andre pakker hvis de lenker til Tk biblioteket.

ln -v -sf wish8.6 /usr/bin/wish: Dette kommandoen brukes til å lage en symbolsk kompatibilitetskobling til wish8.6 filen siden mange pakker forventer en fil navngitt wish.

sed -e ... tkConfig.sh: Tk pakken forventer at kildetreet er bevart slik at pakker avhengig av det for deres kompilering kan bruke det. Denne sed fjerner referansene til byggemappen og erstatter dem med sunnere systemomfattende plasseringer.

Innhold

Installerte Programmer: wish og wish8.6
Installerte Biblioteker: libtk8.6.so og libtkstub8.6.a
Installert Mappe: /usr/lib/tk8.6

Korte Beskrivelser

wish

er en symbolkobling til wish8.6 programmet

wish8.6

er et enkelt skall som inneholder Tk verktøysett som lager et hovedvindu og deretter prosesserer Tcl kommandoer

libtk8.6.so

inneholder de nødvendige API funksjonene av Tk

unifdef-2.12

Introduksjon til unifdef

unifdef pakken inneholder et verktøy som er nyttig for å fjerne forbehandler betingelser fra kode.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av unifdef

Først, fiks et problem når det bygges med gcc-15:

sed -i 's/constexpr/unifdef_&/g' unifdef.c

Løs nå et problem hvis du installerer pakken på nytt:

sed -i 's/ln -s/ln -sf/' Makefile

Installer unifdef ved å kjøre følgende kommandoer:

make

For å teste resultatene, utsted: make test.

Til slutt, fullfør installasjonen som root bruker:

make prefix=/usr install

Innhold

Installerte Programmer: unifdef og unifdefall
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

unifdef

fjerner forbehandler betingelser fra kode

unifdefall

fjerner forbehandler betingelser fra kode over et helt tre

Vala-0.56.18

Introduksjon til Vala

Vala er et nytt programmeringsspråk som har som mål å bringe moderne programmeringsspråkfunksjoner til GNOME utviklere uten å pålegge noen ekstra kjøretidskrav og uten å bruke en annen ABI sammenlignet med applikasjoner og biblioteker skrevet i C.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Vala Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection påkrevd for tester)

Anbefalt
Valgfri

dbus-1.16.2 (Nødvendig for tester), libxslt-1.1.45 (Nødvendig for å generere dokumentasjonen), help2man, jing, og weasyprint

Installasjon av Vala

Først, fiks et problem som gjør at valadoc krasjer når den kompileres mot graphviz-13 eller nyere:

patch -Np1 -i ../vala-0.56.18-graphviz_13_fix-1.patch

Installer Vala ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make bootstrap

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

bootstrap: Dette make målet tvinger byggesystemet å bygge pakken to ganger og bruke valac kjørbare produsert i det første bygget til å regenerere .c filer fra .vala filer. Dette er nødvendig fordi oppdateringen endrer en av .vala filer. Men det er ikke nødvendig hvis en valac kjørbare allerede installert på systemet. I dette tilfellet kjører du bare make.

--disable-valadoc: Dette alternativet er nødvendig hvis Graphviz-14.1.2 ikke er installert.

Innhold

Installerte Programmer: vala, vala-0.56, valac, valadoc, vala-gen-introspect, og vapigen (symbolkoblinger); valac-0.56, valadoc-0.56, vala-gen-introspect-0.56, og vapigen-0.56
Installert Bibliotek: libvala-0.56.so og libvaladoc-0.56.so
Installerte Mapper: /usr/include/vala-0.56, /usr/include/valadoc-0.56, /usr/lib/vala-0.56, /usr/lib/valadoc-0.56, /usr/share/vala, /usr/share/vala-0.56, /usr/share/valadoc-0.56, og /usr/share/devhelp/books/vala-0.56

Korte Beskrivelser

valac

er en kompilator som oversetter Vala kildekoden til C kilde- og deklarasjonsfiler

valadoc

er en dokumentasjonsgenerator for å generere API dokumentasjon fra Vala kildekode basert på libvala

vala-gen-introspect

genererer en GI fil for GObject og GLib baserte pakker

vapigen

er et verktøy som genererer Vala API (VAPI) filer fra GI filer

libvala-0.56.so

inneholder Vala API funksjoner

Valgrind-3.26.0

Introduksjon til Valgrind

Valgrind er et instrumenteringsrammeverk for å bygge dynamiske analyseverktøy. Det finnes Valgrind verktøy som automatisk kan oppdage mange minnehåndterings- og trådfeil, og profilprogrammer i detalj. Valgrind kan også brukes til å bygge nye verktøy.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://sourceware.org/pub/valgrind/valgrind-3.26.0.tar.bz2

  • Nedlasting MD5 sum: 856da1bc568212df6df502295a0439c0

  • Nedlastingsstørrelse: 16 MB

  • Estimert diskplass som kreves: 414 MB (legg til 86 MB for tester)

  • Estimert byggetid: 0.5 SBU (legg til 6.4 SBU for tester; begge bruker parallellisme=4)

Valgrind Avhengigheter

Valgfri

docbook-xml-4.5 (for tester), GDB-17.1 (for tester), libaio-0.3.113, LLVM-21.1.8 (med Clang), og Which-2.23 (for tester)

Installasjon av Valgrind

Installer Valgrind ved å kjøre følgende kommandoer:

sed -i 's|/doc/valgrind||' docs/Makefile.in &&

./configure --prefix=/usr \
            --datadir=/usr/share/doc/valgrind-3.26.0 &&
make

For å teste resultatene, kjør: make regtest. Testene kan henge for alltid hvis GDB-17.1 ikke er installert. Noen tester er kjent for å henge også, avhengig av versjonen av glibc. Noen få tester kan mislykkes i ulike pakker. Problematiske tester kan deaktiveres ved å endre prereq: linjen i den tilsvarende .vgtest filen til prereq: false. For eksempel:

sed -e 's@prereq:.*@prereq: false@' \
    -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest

En ekstra testpakke er nå tilgjengelig som tester Valgrind med hver systemanrop levert av kjernen.Testsettet er utformet for å teste ikke bare glibc og kjernens overholdelse av standarder, men også Valgrinds evne til å håndtere forskjellige systemanrop. Testsettet krever en internettforbindelse for å laste ned testene, og det tar lang tid tid å kjøre (en ekstra 20 SBUs og 1,3 GB diskplass.) make ltpchecks. Merk at utdataene vil vise flere feil der Valgrind for øyeblikket ikke støtter visse systemanrop, men loggene for testspakken kan finnes i auxprogs/auxchecks/ltp-full-20250930/ltp/tests mappen.

Notat

OpenMP tester hoppes over hvis libgomp har blitt kompilert med --enable-linux-futex (standard). Om nødvendig, bare kompiler libgomp biblioteket på nytt fra gcc byggetreet, send --disable-linux-futex til configure, lagre biblioteket et sted og endre koblingen fra /usr/lib/libgomp.so.1 til å peke på det nye bibliotek.

Nå, som root bruker:

make install

Parameterforklaringer

sed -i ... docs/Makefile.in : Dette sed sørger for installering av dokumentasjonen i en versjonert mappe.

--enable-lto=yes: Dette alternativet lar deg bygge Valgrind med LTO (link time optimization). Dette gir en mindre/raskere Valgrind (opptil 10%), men byggetiden øker til ca 5,5 SBU.

Innhold

Installerte Programmer: callgrind_annotate, callgrind_control, cg_annotate, cg_diff, cg_merge, ms_print, valgrind, valgrind-di-server, valgrind-listener, og vgdb
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/valgrind, /usr/libexec/valgrind, /usr/include/valgrind, og /usr/share/doc/valgrind-3.26.0

Korte Beskrivelser

valgrind

er et program for feilsøking og profilering av Linux kjørbare filer

callgrind_annotate

tar en utdatafil produsert av Valgrind verktøyet Callgrind og skriver ut informasjon i en lettlest form

callgrind_control

kontrollerer programmer som kjøres av Valgrind verktøyet Callgrind

cg_annotate

er et etterbehandlingsverktøy for Valgrind verktøyet Cachegrind

cg_diff

sammenligner to Cachegrind utdatafiler

cg_merge

slår sammen flere Cachegrind utdatafiler til en fil

ms_print

tar en utdatafil produsert av Valgrind verktøyet Massif og skriver ut informasjonen i en lettlest form

valgrind-di-server

er en server som leser debuginfo fra objekter som er lagret på en annen maskin

valgrind-listener

lytter på en socket for Valgrind kommentarer

vgdb

er et mellomledd mellom Valgrind og GDB eller et skall

yasm-1.3.0

Introduksjon til yasm

Yasm er en fullstendig omskrivning av NASM-3.01 assembleren. Den støtter x86 og AMD64 instruksjonssett, aksepterer NASM og GAS assembler syntakser og binære utdataer, ELF32 og ELF64 objektformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

yasm Avhengigheter

Valgfri

cython-3.2.4 og Python2

Installasjon av yasm

Først, fiks et problem når det bygges med gcc-15:

sed -e 's/def __cplusplus/ defined(__cplusplus) || __STDC_VERSION__ >= 202311L/' \
    -i libyasm/bitvect.h

Installer yasm ved å kjøre følgende kommandoer:

sed -i 's#) ytasm.*#)#' Makefile.in &&

./configure --prefix=/usr &&
make

For å teste resultatene, utsted: make -j1 check.

Nå, som root bruker:

make install

Parameterforklaringer

sed -i 's#) ytasm.*#)#' Makefile.in: Denne sed forhindrer at den kompilerer 2 programmer (vsyasm og ytasm) som bare er til bruk på Microsoft Windows.

Innhold

Installert Program: yasm
Installert Bibliotek: libyasm.a
Installert Mappe: /usr/include/libyasm

Korte Beskrivelser

yasm

er en flyttbart, retargetable assembler som støtter x86 og AMD64 instruksjonssett, aksepterer NASM og GAS assembler syntakser og gir ut binærfiler i ELF32 og ELF64 objektformater

libyasm.a

gir all kjernefunksjonaliteten til yasm, for å manipulere maskininstruksjoner og objektfilkonstruksjoner

Java

Java-21.0.9

Om Java

Java er forskjellig fra de fleste pakkene i LFS og BLFS. Det er et programmeringsspråk som fungerer med filer med bytekode for å skaffe instruksjoner og utfører dem i en Java Virtual Machine (JVM). Et introduksjonsprogramm til java ser slik ut:

public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello, World");
    }
}

Dette programmet er lagret som HelloWorld.java. Filnavnet, HelloWorld, må samsvare med klassenavnet. Den konverteres deretter til bytekode med javac HelloWorld.java. Utdatafilen er HelloWorld.class. Programmet kjøres med java HelloWorld. Dette oppretter en JVM og kjører koden. «Klasse»-utvidelsen må ikke spesifiseres.

Flere klassefiler kan kombineres til en fil med jar kommandoen. Dette ligner på standard tar kommando. For eksempel kommandoen jar cf myjar.jar *.class vil kombinere alle klassefiler i en mappe til en jar fil. Disse fungerer som biblioteksfiler.

JVM kan søke etter og bruke klasser i jar filer automatisk. Den bruker CLASSPATH miljøvariabelen for å søke etter jar filer. Dette er en standard liste over kolonseparerte mappenavn som ligner på PATH miljøvariabelen.

Binær JDK Informasjon

Å lage en JVM fra kilden krever et sett med sirkulære avhengigheter. Det første som trengs er et sett med programmer kalt Java Utviklingssett (JDK). Dette settet med programmer inkluderer java, javac, jar, og flere andre. Det inkluderer også flere basis jar filer.

For å starte, satte vi opp en binær installasjon av JDK opprettet av BLFS redaktørene. Den er installert i /opt mappen for å tillate flere installasjoner, inkludert en kildebasert versjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Binær Pakkeinformasjon

Java Binary Kjøretidsavhengigheter

alsa-lib-1.2.15.3, Cups-2.4.16, giflib-5.2.2, Little CMS-2.18, og Xorg Biblioteker

Installasjon av Java BinaryJDK

Begynn med å pakke ut den passende binære tarballen for din arkitektur og endre til den utpakkede mappen. Installer binæren OpenJDK med følgende kommandoer som root bruker:

install -vdm755 /opt/OpenJDK-21.0.9-bin &&
mv -v * /opt/OpenJDK-21.0.9-bin         &&
chown -R root:root /opt/OpenJDK-21.0.9-bin

Den binære versjonen er nå installert. Du kan lage en symbolkobling til den versjonen ved å utstede, som root bruker:

ln -sfn OpenJDK-21.0.9-bin /opt/jdk

Du kan nå gå videre til Konfigurering av Java miljøet, hvor instruksjonene forutsetter at koblingen ovenfor eksisterer.

OpenJDK-21.0.9

Introduksjon til OpenJDK

OpenJDK er en åpen kildekode implementering av Oracles Java Standard Edition plattform. OpenJDK er nyttig for utvikling av Java programmer, og gir en komplett kjøretidsmiljø å kjøre Java programmer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

OpenJDK er GPL kode, med et spesielt unntak laget for ikke-gratis prosjekter for å bruke disse klassene i sine proprietære produkter. På samme måte som LGPL, som lar ikke-gratis programmer koble til biblioteker levert av gratis programvare GNU General Public License, version 2, with the Classpath Exception tillater tredjepartsprogrammer å bruke klasser levert av gratis programvare uten krav om at tredjepartsprogramvaren også skal være gratis. Som med LGPL, eventuelle endringer som er gjort i de gratis programvaredelene av en tredjepartsapplikasjon, må også gjøres fritt tilgjengelig.

Notat

OpenJDK kilde inkluderer en veldig grundig, åpen kildekode testpakke ved hjelp av JTreg testpakken. Testinstruksjonene nedenfor tillater testing av den nettopp bygde JDK for rimelig kompatibilitet med den proprietære Oracle JDK. Men for en uavhengig implementering for å kreve kompatibilitet, må den passere en proprietær JCK/TCK testpakke. Ingen påstander om kompatibilitet, eller til og med delvis kompatibilitet, kan gjøres uten å ha bestått en godkjent testpakke.

Oracle gir gratis tilgang til fellesskapet, fra sak til sak, et lukket verktøysett for å sikre 100 % kompatibilitet med sin proprietære JDK. Verken den binære versjonen som er gitt på Java-21.0.9 siden heller ikke JVM bygget med instruksjonene nedenfor har blitt testet mot TCK. Enhver versjon som er bygget etter instruksjonene som er gitt, kan ikke hevde å være kompatibel med den proprietære JDK, uten at bruker selv søker om og fullfører kompatibilitetstestene.

Med det i tankene er binærfilene produsert ved hjelp av denne byggemetoden regelmessig testet mot TCK av medlemmene som er oppført på nettstedet ovenfor. I tillegg til fellesskapslisensen ovenfor, en pedagogisk, ikke-kommersiell lisens for TCK kan fås her.

Pakkeinformasjon

  • Nedlasting (HTTP): https://github.com/openjdk/jdk21u/archive/jdk-21.0.9-ga.tar.gz

  • Nedlasting MD5 sum: 4accf6cbdd48f1f1151c2ec50dbf01b1

  • Nedlastingsstørrelse: 109 MB

  • Estimert diskplass som kreves: 3.9 GB (legg til 589 MB for tester)

  • Estimert byggetid: 4.5 SBU med 4 jobber (legg til 24 SBU for tester med 4 jobber)

Ytterligere Nedlastinger

Valgfri testpakke

OpenJDK Avhengigheter

Påkrevde Avhengigheter

En eksisterende binær (Java-21.0.9 eller en tidligere bygget versjon av denne pakken. Instruksjonene nedenfor forutsetter at du bruker Konfigurering av Java miljøet), alsa-lib-1.2.15.3, cpio-2.15, Cups-2.4.16, libarchive-3.8.5, Which-2.23, Xorg Biblioteker, og Zip-3.0

Anbefalt
Valgfri

git-2.53.0, Graphviz-14.1.2, mercurial-7.2, ccache, pandoc, og pigz

Installasjon av OpenJDK

Hvis du har lastet ned den valgfrie testpakken, pakk den ut nå:

tar -xf ../jtreg-7.3.1+1.tar.gz

Notat

Før du fortsetter, bør du sørge for at miljøet ditt PATH variabelen inneholder plasseringen til Java kompilatoren som brukes til bootstrapping OpenJDK. Dette er det eneste kravet til miljøet. Moderne Java installasjoner trenger ikke JAVA_HOME og CLASSPATH brukes ikke her. Videre, OpenJDK utviklere anbefaler deaktivering av JAVA_HOME og CLASSPATH.

Byggesystemet tillater ikke -j bryteren i MAKEFLAGS. Se kommandoforklaringen for --with-jobs= for mer informasjon om tilpasning av parallellisering.

Konfigurer og bygg pakken med følgende kommandoer:

export MAKEFLAGS_HOLD=$MAKEFLAGS           &&
unset  JAVA_HOME                           &&
unset  CLASSPATH                           &&
unset  MAKEFLAGS                           &&
bash configure --enable-unlimited-crypto    \
               --disable-warnings-as-errors \
               --with-stdc++lib=dynamic     \
               --with-giflib=system         \
               --with-harfbuzz=system       \
               --with-jtreg=$PWD/jtreg      \
               --with-lcms=system           \
               --with-libjpeg=system        \
               --with-libpng=system         \
               --with-zlib=system           \
               --with-version-build="10"    \
               --with-version-pre=""        \
               --with-version-opt=""        \
               --with-jobs=$(nproc)         \
               --with-cacerts-file=/etc/pki/tls/java/cacerts &&
make images

For å teste resultatene, må du kjøre jtreg programmet. Du kan angi antall samtidige tester ved å legge til -conc:<X> verdi i kommandoen nedenfor (tester vil kjøre sekvensielt ellers):

export JT_JAVA=$(echo $PWD/build/*/jdk) &&
jtreg/bin/jtreg -jdk:$JT_JAVA -automatic -ignore:quiet -v1 \
    test/jdk:tier1 test/langtools:tier1 &&
unset JT_JAVA

For mer kontroll over testpakken, se gjennom dokumentasjonen tilgjengelig i jtreg/doc/jtreg/usage.txt. For å gjennomgå resultatene, se filene JTreport/test_{jdk,langtools}/text/stats.txt og JTreport/test_{jdk,langtools}/text/summary.txt. Du bør forvente å se rundt 80 mislykket og 10 feil.

Installer pakken med følgende kommandoer som root bruker:

install -vdm755 /opt/jdk-21.0.9+10             &&
cp -Rv build/*/images/jdk/* /opt/jdk-21.0.9+10 &&
chown -R root:root /opt/jdk-21.0.9+10          &&
for s in 16 24 32 48; do
  install -vDm644 src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
                  /usr/share/icons/hicolor/${s}x${s}/apps/java.png
done

Notat

Hvis du bare ønsker å installere Java Runtime Environment, kan du erstatte build/*/images/jre i ovenstående cp kommandoen.

Det vil være mange binærfiler med feilsøkingsinformasjon som tar opp over halvparten av den installerte størrelsen. Hvis du ikke bryr deg om feilsøking, kan du fjerne informasjonen:

find /opt/jdk-21.0.9+10 -name *.debuginfo -delete

Restore the MAKEFLAGS variable:

export MAKEFLAGS=$MAKEFLAGS_HOLD &&
unset  MAKEFLAGS_HOLD

Det er nå to OpenJDK SDKs installert i /opt. Du bør bestemme deg for hvilken du vil bruke som standard. Normalt ville du valgt den nettopp installerte OpenJDK. Hvis ja, gjør følgende som root bruker:

ln -v -nsf jdk-21.0.9+10 /opt/jdk

Om ønskelig kan du opprette .desktop filer for å legge til oppføringer i menyen for java og jconsole. De nødvendige ikonene har allerede blitt installert. Som root bruker:

mkdir -pv /usr/share/applications &&

cat > /usr/share/applications/openjdk-java.desktop << "EOF" &&
[Desktop Entry]
Name=OpenJDK Java 21.0.9 Runtime
Comment=OpenJDK Java 21.0.9 Runtime
Exec=/opt/jdk/bin/java -jar
Terminal=false
Type=Application
Icon=java
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
NoDisplay=true
EOF
cat > /usr/share/applications/openjdk-jconsole.desktop << "EOF"
[Desktop Entry]
Name=OpenJDK Java 21.0.9 Console
Comment=OpenJDK Java 21.0.9 Console
Keywords=java;console;monitoring
Exec=/opt/jdk/bin/jconsole
Terminal=false
Type=Application
Icon=java
Categories=Application;System;
EOF

Parameterforklaringer

bash configure...: det øverste nivå configure er en innpakning rundt autotools. Den er ikke kjørbar og må kjøres gjennom bash.

--enable-unlimited-crypto: På grunn av begrensninger på bruk av kryptografi i noen land, er det en mulighet å begrense størrelsen på krypteringsnøkler og bruken av noen algoritmer i en policyfil. Denne bryteren lar deg sende en policyfil med ingen begrensning. Det er brukerens ansvar å sørge for korrekt overholdelse av loven.

--disable-warnings-as-errors: Denne bryteren deaktiverer bruken av -Werror i bygget.

--with-stdc++lib=dynamic: Denne bryteren tvinger byggesystemet å koble til libstdc++.so (dynamisk) i stedet for libstdc++.a (statisk).

--with-jobs=$(nproc): -j sendt til make fungerer ikke med make som påberopt her. Som standard vil byggesystemet bruke antallet CPUer - 1.

--with-jtreg=$PWD/jtreg: Denne bryteren forteller configure hvor du finner jtreg. Utelat hvis du ikke har lastet ned valgfri testpakke.

--with-{giflib,harfbuzz,lcms,libjpeg,libpng,zlib}=system: Disse bryterne tvinger byggesystemet å bruke systembibliotekene i stedet for de medfølgende versjonene.

--with-version-build: Foreløpig, byggesystemet inkluderer ikke byggenummeret i versjonsstrengen. Det kan spesifiseres her.

--with-version-pre: Denne bryteren lar deg prefikse versjonsstrengen med en egendefinert streng.

--with-version-opt: Denne bryteren lar deg legge til en valgfri byggebeskrivelse til versjonsstrengen.

--with-cacerts-file=/etc/pki/tls/java/cacerts: Angir hvor du finner en cacerts fil, /etc/pki/tls/java/ på et BLFS system. Ellers blir en tom opprettet. Du kan bruke /usr/sbin/make-ca --force kommando for å generere den når du har installert Java binærfilene.

--with-boot-jdk: Denne bryteren gir plassering av den midlertidige JDK. Den er normalt ikke nødvendig hvis java finnes i PATH.

Konfigurere OpenJDK

Konfigurasjonsinformasjon

Normalt er Java miljøet konfigurert etter installasjon av den binære versjonen, og kan også brukes med den nettopp bygde pakken. Gjennomgå Konfigurering av Java miljøet i tilfelle du ønsker å endre noe.

For å teste om manualsidene er riktig installert, kjør source /etc/profile og man java for å vise den respektive manualsiden.

Sette opp JRE Certificate Authority Certificates (cacerts) filen

Hvis du har kjørt instruksjonene på make-ca-1.16.1 siden, trenger du bare å lage en symbolkobling på standardplasseringen for cacerts filen. Som bruker root:

ln -sfv /etc/pki/tls/java/cacerts /opt/jdk/lib/security/cacerts

For å sjekke installasjonen, kjør:

cd /opt/jdk
bin/keytool -list -cacerts

Ved ledeteksten Enter keystore password:, skriv changeit (standard) eller bare trykk på «Enter» tasten. Hvis cacerts filen var installert riktig, vil du se en liste over sertifikatene med relatert informasjon for hver enkelt. Hvis ikke, må du installere dem på nytt.

Innhold

Installerte Programmer: jar, jarsigner, java, javac, javadoc, javap, jcmd, jconsole, jdb, jdeprscan, jdeps, jfr, jhsdb, jimage, jinfo, jlink, jmap, jmod, jpackage, jps, jrunscript, jshell, jstack, jstat, jstatd, jwebserver, keytool, rmiregistry, og serialver
Installerte Biblioteker: 37 biblioteker i /opt/jdk-21.0.9+10/lib/
Installerte Mapper: /opt/jdk-21.0.9+10

Korte Beskrivelser

jar

kombinerer flere filer til et enkelt jar arkiv

jarsigner

signerer jar filer og verifiserer signaturene og integriteten av en signert jar fil

java

starter en Java applikasjon ved å starte et Java kjøretids miljø, laster en spesifisert klasse og påkaller dens hoved metode

javac

leser klasse- og grensesnittdefinisjoner, skrevet i Java programmeringsspråk, og kompilerer dem til bytekode klassefiler

javadoc

analyserer erklæringene og dokumentasjonskommentarene i en sett med Java kildefiler og produserer et tilsvarende sett med HTML sider som beskriver klassene, grensesnittene, konstruktsjonsmetoder, og felt

javap

demonterer en Java klassefil

jcmd

er et verktøy for å sende diagnostiske kommandoforespørsler til en kjørende Java Virtual Machine

jconsole

er et grafisk konsollverktøy for å overvåke og administrere både lokale og eksterne Java applikasjoner og virtuelle maskiner

jdb

er en enkel kommandolinjefeilsøker for Java klasser

jdeprscan

skanner klasse- eller jar-filer for bruk av utdaterte API elementer

jdeps

viser avhengighetene på pakkenivå eller klassenivå til Java klassefiler

jfr

er et verktøy for å jobbe med «Flight Recorder» filer

jhsdb

er et verktøy for å analysere innholdet i en kjernedump fra en krasjet Java Virtual Machine (JVM)

jimage

brukes til å liste, trekke ut, bekrefte eller få informasjon om moduler i jimage formatet

jinfo

skriver ut Java konfigurasjonsinformasjon for en gitt Java prosess, kjernefil eller en ekstern feilsøkingsserver

jlink

brukes til å sette sammen og optimalisere et sett med moduler og deres avhengigheter inn i et tilpasset kjøretidsbilde

jmap

skriver ut minnekart for delte objekter eller heap minnedetaljer av en gitt prosess, kjernefil eller en ekstern feilsøkingsserver

jmod

oppretter JMOD filer og viser innholdet i eksisterende JMOD filer

jpackage

genererer java applikasjonspakker og bilder

jps

viser de instrumenterte JVM-ene på målsystemet

jrunscript

er et kommandolinjeskriptskall

jshell

er et interaktivt verktøy for å lære Java programmering språk og prototyping av Java kode

jstack

skriver ut Java stabelspor av Java tråder for en gitt Java prosess, kjernefil eller en ekstern feilsøkingsserver

jstat

viser ytelsesstatistikk for en instrumentert JVM

jstatd

er en RMI-serverapplikasjon som overvåker opprettelsen og terminering av instrumenterte JVM-er

jwebserver

gir en minimal HTTP server, designet for å brukes til prototyping, testing og feilsøking

keytool

er et nøkkel- og sertifikatadministrasjonsverktøy

rmiregistry

oppretter og starter et eksternt objektregister på den spesifiserte porten på gjeldende vert

serialver

returnerer serialVersionUID for en eller flere klasser i en skjema egnet for kopiering til en klasse i utvikling

Konfigurering av Java miljøet

Sette opp miljøet

Etter at pakkeinstallasjonen er fullført, er neste trinn å sørge for at systemet kan finne filene på riktig måte. Hvis du setter opp påloggingsskript som anbefalt i Oppstartsfilene til Bash Skallet, oppdater miljøet ved å skape openjdk.sh skriptet, som root bruker:

cat > /etc/profile.d/openjdk.sh << "EOF"
# Begin /etc/profile.d/openjdk.sh

# Set JAVA_HOME directory
JAVA_HOME=/opt/jdk

# Adjust PATH
pathappend $JAVA_HOME/bin

# Auto Java CLASSPATH: Copy jar files to, or create symlinks in, the
# /usr/share/java directory.

AUTO_CLASSPATH_DIR=/usr/share/java

pathprepend . CLASSPATH

for dir in `find ${AUTO_CLASSPATH_DIR} -type d 2>/dev/null`; do
    pathappend $dir CLASSPATH
done

for jar in `find ${AUTO_CLASSPATH_DIR} -name "*.jar" 2>/dev/null`; do
    pathappend $jar CLASSPATH
done

export JAVA_HOME

# By default, Java creates several files in a directory named
# /tmp/hsperfdata_[username]. This directory contains files that are used for
# performance monitoring and profiling, but aren't normally needed on a BLFS
# system. This environment variable disables that feature.
_JAVA_OPTIONS="-XX:-UsePerfData"

export _JAVA_OPTIONS

unset AUTO_CLASSPATH_DIR dir jar _JAVA_OPTIONS

# End /etc/profile.d/openjdk.sh
EOF

Hvis Sudo-1.9.17p2 er installert, skal superbrukeren ha tilgang til variablene ovenfor. Utfør følgende kommandoer som root bruker:

cat > /etc/sudoers.d/java << "EOF"
Defaults env_keep += JAVA_HOME
Defaults env_keep += CLASSPATH
Defaults env_keep += _JAVA_OPTIONS
EOF

For å bruke mandb til å inkludere OpenJDK manualsidene i sin database, kjør, som root bruker:

cat >> /etc/man_db.conf << "EOF" &&
# Begin Java addition
MANDATORY_MANPATH     /opt/jdk/man
MANPATH_MAP           /opt/jdk/bin     /opt/jdk/man
MANDB_MAP             /opt/jdk/man     /var/cache/man/jdk
# End Java addition
EOF

mkdir -p /var/cache/man &&
mandb -c /opt/jdk/man

Sette opp Sertifiseringsinstanssertifikatene for Java

OpenJDK bruker sitt eget format for CA sertifikater. Java sikkerhetsmodulene bruker $JAVA_HOME/lib/security/cacerts som standard. For å holde alle sertifikatene på ett sted bruker vi /etc/pki/tls/java/cacerts. Instruksjonene på make-ca-1.16.1 siden som tidligere opprettet filen lokalisert i /etc/pki/tls/java. Sett opp en symbolkobling på standardplasseringen som root bruker:

ln -sfv /etc/pki/tls/java/cacerts /opt/jdk/lib/security/cacerts

Bruk følgende kommando for å sjekke om cacerts filen er installert:

/opt/jdk/bin/keytool -list -cacerts

Ved ledeteksten Enter keystore password:, skriv inn changeit (standard) eller bare trykk på «Enter» tasten. Hvis cacerts filen var installert riktig, vil du se en liste over sertifikatene med relatert informasjon for hver enkelt. Hvis ikke, må du installere dem på nytt.

Hvis du senere installerer en ny JVM, må du bare opprette symbollinken i standardplasseringen for å kunne bruke cacertene.

apache-ant-1.10.15

Introduksjon til Apache Ant

Apache Ant pakken er en Java-basert byggeverktøy. I teorien er det som make kommando, men uten make sine retningslinjer. Ant er annerledes. I stedet for en modell som er utvidet med skallbaserte kommandoer, Ant er utvidet ved hjelp av Java klasser. I stedet for å skrive skallkommandoer, er konfigurasjonsfilene XML baserte, og kaller ut et måltre som utfører ulike oppgaver. Hver oppgave kjøres av et objekt som implementerer et bestemt oppgavegrensesnitt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Apache Ant Avhengigheter

Påkrevd

A JDK (Java binær or OpenJDK-21.0.9) og GLib-2.86.4

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Installasjon av Apache Ant

Bygg en begrenset bootstrap versjon av Apache Ant ved å bruke følgende kommando:

./bootstrap.sh

Last ned kjøretidsavhengighetene ved å bruke fetch.xml ant byggeskript:

bootstrap/bin/ant -f fetch.xml -Ddest=optional

Bygg Apache Ant ved å kjøre følgende kommandoer:

./build.sh -Ddist.dir=$PWD/ant-1.10.15 dist

Installer, som root bruker:

cp -rv ant-1.10.15 /opt/            &&
chown -R root:root /opt/ant-1.10.15 &&
ln -sfv ant-1.10.15 /opt/ant

Parameterforklaringer

bootstrap/bin/ant -f fetch.xml -Ddest=optional: Laster ned de manglende avhengighetene til brukerens hjemmekatalog, og kopierer dem inn i kildetreet (i lib/optional mappem, hvor ant henter dem ved byggetid).

./build.sh -Ddist.dir=$PWD/ant-1.10.15 dist: Denne kommandoen bygger, tester og installerer pakken inn i en midlertidig mappe.

Konfigurere Apache Ant

Konfigurasjonsfiler

/etc/ant/ant.conf, ~/.ant/ant.conf, og ~/.antrc

Konfigurasjonsinformasjon

Noen pakker vil kreve at ant er i søkestien og at ANT_HOME miljøvariabelen er definert. Oppfyll disse kravene ved å utstede, som root bruker:

cat > /etc/profile.d/ant.sh << EOF
# Begin /etc/profile.d/ant.sh

pathappend /opt/ant/bin
export ANT_HOME=/opt/ant

# End /etc/profile.d/ant.sh
EOF

Instruksjonene ovenfor forutsetter at du har konfigurert systemet som beskrevet i Oppstartsfilene til Bash Skallet.

Innhold

Installerte Programmer: ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl, og runant.py
Installerte Biblioteker: En rekke ant*.jar og avhengige biblioteker i $ANT_HOME/lib
Installerte Mapper: /opt/ant-1.10.15

Korte Beskrivelser

ant

er en Javabasert byggeverktøy som brukes av mange pakker i stedet for det konvensjonelle make programmet

antRun

er et støtteskript som brukes til å starte ant byggeskript i en gitt mappe

antRun.pl

er et Perl skript som gir lignende funksjonalitet som tilbys av antRun skriptet

complete-ant-cmd.pl

er et Perl skript som tillater Bash å fullføre en ant kommandolinje

runant.pl

er et Perl innpakningsscript som brukes til å påkalle ant

runant.py

er et Python innpakningsscript som brukes til å påkalle ant

ant*.jar

filene er Apache Ant Java klassebiblioteker

Del IV. Nettverk

Kapittel 14. Koble til et Nettverk

LFS boken dekker oppsett av nettverk ved å koble til et LAN med en statisk IP adresse. Det finnes andre metoder som brukes for å få en IP adresse og koble til et LAN og andre nettverk (som Internett). De mest populære metodene (DHCP og PPP) dekkes i dette kapittelet.

DHCP står for Dynamic Host Configuration Protocol. Det er en protokoll som brukes av mange nettsteder for automatisk å gi informasjon som IP adresser, nettverksmasker og rutinginformasjon til datamaskiner. Hvis nettverket ditt bruker DHCP, trenger du en DHCP klient for å koble til den.

dhcpcd-10.3.0

Introduksjon til dhcpcd

dhcpcd er en implementering av en DHCP klient spesifisert i RFC2131. En DHCP klient er nyttig for å tilkoble datamaskinen til et nettverk som bruker DHCP for å tilordne nettverksadresser. dhcpcd streber etter å være en fullt utstyrt, men likevel veldig lett DHCP klient.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

dhcpcd Avhengigheter

Valgfri

LLVM-21.1.8 (med Clang), ntp-4.2.8p18, chronyd, og ypbind

Privilegeseparasjon

Nylige utgivelser av dhcpcd støtter valgfritt rettighetsseparasjon. Siden de praktiske sikkerhetsfordelene ved dette er uklart for et program som dhcpcd og oppsettet er mer komplisert, deaktiverer boken det for øyeblikket som standard.

Hvis du imidlertid ønsker å bruke rettighetsseparasjon, tilleggs installasjonstrinn er nødvendig for å sette opp det riktige miljøet. Kjør følgende kommandoer som root bruker:

install  -v -m700 -d /var/lib/dhcpcd &&

groupadd -g 52 dhcpcd        &&
useradd  -c 'dhcpcd PrivSep' \
         -d /var/lib/dhcpcd  \
         -g dhcpcd           \
         -s /bin/false       \
         -u 52 dhcpcd &&
chown    -v dhcpcd:dhcpcd /var/lib/dhcpcd 

Installasjon av dhcpcd

Bygg dhcpcd med rettighetsseparasjon ved å kjøre følgende kommandoer:

./configure --prefix=/usr                \
            --sysconfdir=/etc            \
            --libexecdir=/usr/lib/dhcpcd \
            --dbdir=/var/lib/dhcpcd      \
            --runstatedir=/run           \
            --disable-privsep         &&
make

Alternativt, bygg dhcpcd med privilegium separasjon ved å kjøre følgende kommandoer:

./configure --prefix=/usr                \
            --sysconfdir=/etc            \
            --libexecdir=/usr/lib/dhcpcd \
            --dbdir=/var/lib/dhcpcd      \
            --runstatedir=/run           \
            --privsepuser=dhcpcd         &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

--libexecdir=/usr/lib/dhcpcd: Denne bryteren setter en bedre plassering for de interne dhcpcd bibliotekene.

--dbdir=/var/lib/dhcpcd: Denne bryteren justerer databasemappen fordi standardmappen, /var/db, ikke er FHS kompatibel.

--runstatedir=/run: Denne bryteren stiller inn kjøretidens tilstands mappe fordi standard /var/run er en symbolsk lenke til /run, og bruke /var/run er avviklet.

--disable-privsep: Denne bryteren deaktiverer privilegier separasjon, som er standard i dhcpcd. Denne bryteren brukes ikke i byggekonfigurasjonen der rettighetsseparasjon brukes.

--privsepuser=dhcpcd: Denne bryteren stiller inn rettighetsseparasjon bruker i byggekonfigurasjonen hvor rettighet eskalering brukes.

--with-hook=...: Du kan eventuelt installere flere kroker, for eksempel å installere noen konfigurasjonsfiler som f.eks ntp.conf. Et sett med kroker finner du i dhcpcd-hooks mappen i byggetreet.

Konfigurere dhcpcd

Konfigurasjonsfiler

/etc/dhcpcd.conf

Generell Konfigurasjonsinformasjon

For å konfigurere dhcpcd, må du først installere nettverkstjenesteskriptet, /usr/lib/services/dhcpcd inkludert i blfs-bootscripts-20251220 pakken (som bruker root):

make install-service-dhcpcd

Notat

Standard for dhcpcd er å angi vertsnavnet og mtu. Den overskriver også /etc/resolv.conf og /etc/ntp.conf. Disse modifikasjonene av systemfiler gjøres av kroker som er lagret i /usr/lib/dhcpcd/dhcpcd-hooks. Du kan endre denne virkemåten ved å fjerne eller legge til kroker fra/til den mappen. Utførelsen av kroker kan deaktiveres ved å bruke --nohook (-C) kommandolinjealternativ eller av nohook alternativet i /etc/dhcpcd.conf filen.

Til slutt, som the root user, opprett /etc/sysconfig/ifconfig.eth0 konfigurasjonsfilen ved hjelp av følgende kommandoer. Juster deretter for ytterligere grensesnitt:

cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q -h $HOSTNAME <insert appropriate start options here>"
DHCP_STOP="-k <insert additional stop options here>"
EOF

For mer informasjon om passende DHCP_START og DHCP_STOP verdier, undersøk man siden for dhcpcd.

Konfigurasjonsinformasjon: fast ip

Selv om det ikke er vanlig, er det mulig at du trenger å konfigurere dhcpcd til å bruke en fast ip. Her, gir vi et eksempel. Som root bruker, opprett /etc/sysconfig/ifconfig.eth0 konfigurasjonsfilen ved å bruke følgende kommandoer. Juster passende for ytterligere grensesnitt og for den faktiske ip og ruteren du trenger:

cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q -S ip_address=192.168.0.10/24 -S routers=192.168.0.1"
DHCP_STOP="-k"
EOF

Du kan enten bruke DNS servere i /etc/resolv.conf fra et annet system, dine foretrukne servere, eller bare eksempelet /etc/resolv.conf.head filen nedenfor som den er:

cat > /etc/resolv.conf.head << "EOF"
# OpenDNS servers
nameserver 208.67.222.222
nameserver 208.67.220.220
EOF

Innhold

Installert Program: dhcpcd
Installert Bibliotek: /usr/lib/dhcpcd/dev/udev.so
Installerte Mapper: /{usr,var}/lib/dhcpcd and /usr/share/dhcpcd

Korte Beskrivelser

dhcpcd

er en implementering av DHCP klienten spesifisert i RFC2131

udev.so

legger til udev støtte for grensesnitt ankomst og avgang; dette er fordi udev liker å gi nytt navn til grensesnittet, noe det ikke kan gjøre hvis dhcpcd tar det først

Kapittel 15. Nettverksprogrammer

Disse applikasjonene er vanligvis klientapplikasjoner for å få tilgang til riktig server over hele bygget eller over hele verden. Tcpwrappers og portmap er støtteprogrammer for nisser som du kan ha kjørende på maskinen din.

bridge-utils-1.7.1

Introduksjon bridge-utils

bridge-utils pakken inneholder et verktøy nødvendig for å opprette og administrere broenheter. Dette er nyttig ved oppsett av nettverk for en vertsbasert virtuell maskin (VM).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

bridge-utils Avhengigheter

Valgfri (for å kjøre testene)

Net-tools-2.10

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

[*] Networking support --->                                                [NET]
  Networking options --->
    <*/M> 802.1d Ethernet Bridging                                      [BRIDGE]

Installasjon av bridge-utils

Installer bridge-utils ved å kjøre følgende kommandoer:

autoconf                  &&
./configure --prefix=/usr &&
make

Testing av resultatene krever å kjøre de seks skallskriptene i tools/ mappen. To av testene krever to Ethernet porter. Noen tester vil ikke bevare den gjeldende nettverkskonfigurasjonen. Se tests/README for detaljer.

Nå, som root bruker:

make install

Konfigurere bridge-utils

Konfigurasjonsinformasjon

For å automatisere brooppretting og konfigurasjon, installer /usr/lib/services/bridge tjenesteskript inkludert i blfs-bootscripts-20251220 pakken.

make install-service-bridge

Notat

bridge skriptet avhenger av kommandoene /sbin/ifup og /sbin/ifdown og tjenesteskriptet ipv4-static fra LFS oppstartsskripter datert 27 Januar, 2012 eller senere.

Følgende konfigurasjonsfil vil opprette en broenhet ved oppstart og feste eth0 enheten til den. Hvis mer enn en enhet er ønsket, bruk en mellomromseparert liste over INTERFACE_COMPONENTS. Denne konfigurasjon er nyttig når du planlegger å kjøre en virtuell maskin som f.eks kvm/qemu.

Andre SERVICE kombinasjoner er mulig, for eksempel, SERVICE="bridge dhcp". I så fall adresseparametere er ikke nødvendig, men forstyrrer ikke hvis de er tilstede. Brotjenesten kan også brukes alene, men vil kreve ytterligere etterfølgende konfigurasjon.

Obs

Ikke kjør en parallell konfigurasjon for en enhet i INTERFACE_COMPONENTS listen. For eksempel, i eksemplet nedenfor, ikke konfigurer /etc/sysconfig/ifconfig.eth0 til å kjøre ved oppstart. Kommandoen ifdown br0 etterfulgt av kommandoen ifup eth0 vil fungere, men ikke prøv å ha begge oppe samtidig.

cat > /etc/sysconfig/ifconfig.br0 << "EOF"
ONBOOT=yes
IFACE=br0
VIRTINT=yes
SERVICE="bridge ipv4-static"  # Space separated
IP=192.168.1.32
GATEWAY=192.168.1.1
PREFIX=24
BROADCAST=192.168.1.255
CHECK_LINK=no                 # Don't check before bridge is created
STP=no                        # Spanning tree protocol, default no
INTERFACE_COMPONENTS="eth0"   # Add to IFACE, space separated devices
IP_FORWARD=true
EOF

Alle adresser bør endres for å møte dine omstendigheter.

Innhold

Installert Program: brctl
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

brctl

er et program som brukes til å sette opp, vedlikeholde og inspisere ethernet brokonfigurasjonen i linuxkjernen

cifs-utils-7.5

Introduksjon til cifs-utils

cifs-utils pakken gir et middel for montering av SMB/CIFS delinger på et Linuxsystem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

cifs-utils Avhengigheter

Påkrevd

Talloc-2.4.4

Anbefalt
Valgfri

docutils-0.22.4 (for å lage mansidene), keyutils-1.6.3 (kreves for å bygge PAM modulen), Linux-PAM-1.7.2, Samba-4.23.5, og libcap-2.77 med PAM eller libcap-ng

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjerne på nytt om nødvendig:

File systems --->
  [*] Network File Systems --->                            [NETWORK_FILESYSTEMS]
    <*/M> SMB3 and CIFS support (advanced network filesystem)             [CIFS]

Avhengig av serverkonfigurasjonen kan flere kjernealternativer være nødvendig.

Installasjon av cifs-utils

Først må du gjøre byggesystemet kompatibelt med GCC-15:

autoreconf -fiv

Installer cifs-utils ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --disable-pam \
            --disable-systemd &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-pam: Ikke bygg PAM støtte. Fjern den og bruk --with-pamdir (se under), hvis Linux-PAM-1.7.2 er installert og du ønsker PAM støtte.

--disable-systemd: Deaktiver systemd spesifikk oppførsel for mount.cifs.

--with-pamdir=/usr/lib/security: Installer PAM modulen i /usr/lib/security.

Innhold

Installerte Programmer: cifs.idmap, cifs.upcall, cifscreds, getcifsacl, mount.cifs, mount.smb3, setcifsacl, smb2-quota, og smbinfo
Installert Bibliotek: /usr/lib/cifs-utils/idmapwb.so og valgfritt PAM modulen /usr/lib/security/pam_cifscreds.so
Installert Mappe: /usr/lib/cifs-utils

Korte Beskrivelser

cifs.idmap

er et brukerområde hjelpeprogram for linux CIFS klientfilsystemet. Det er en rekke aktiviteter som kjernen ikke enkelt kan gjøre av seg selv. Dette programmet er et infoprogram som gjør disse tingene for kjernen og returnerer deretter resultatet. Det er ikke ment å kjøres fra kommandolinjen

cifs.upcall

er et brukerområde hjelpeprogram for linux CIFS klient filsystemet. Den er ment å kjøres når kjernen kaller request-key for en bestemt nøkkeltype. Det er ikke ment å kjøres fra kommandolinjen

cifscreds

er et verktøy for å administrere legitimasjon (brukernavn og passord) med det formål å etablere økter i flerbrukermontering

getcifsacl

er en brukerromshjelper for å vise en ACL i en sikkerhetsbeskrivelse for Common Internet File System (CIFS)

mount.cifs

monterer et Linux CIFS filsystem. Det blir vanligvis anropt indirekte av mount(8) kommandoen når du bruker -t cifs alternativet

mount.smb3

monterer et SMB3 basert filsystem. Det blir vanligvis anropt indirekte av mount(8) kommandoen når du bruker -t smb3 alternativet

setcifsacl

er ment å endre en ACL for en sikkerhetsdeskriptor for et filsystemobjekt

smb3-quota

viser kvoteinformasjon for et SMB filsystem

smbinfo

viser SMB-spesifikk filinformasjon, for eksempel sikkerhetsbeskrivelser og kvoter

NcFTP-3.3.0

Introduksjon til NcFTP

NcFTP pakken inneholder et kraftig og fleksibelt grensesnitt til Internett standard Filoverførings Protokoll. Den er ment å erstatte eller supplere ftp programmet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

NcFTP Avhengigheter

Valgfri

LLVM-21.1.8 (med Clang, brukes som standard hvis installert)

Installation of NcFTP

For å installere NcFTP, kjør følgende kommandoer:

CC=/usr/bin/gcc \
./configure --prefix=/usr --sysconfdir=/etc &&
make -C libncftp shared &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make -C libncftp soinstall &&
make install

Parameterforklaringer

CC=/usr/bin/gcc. Denne miljøvariabelen sikrer at gcc blir brukt hvis LLVM-21.1.8 er installert.

make -C ... && make ...: Disse kommandoene lager og installerer det dynamiske biblioteket libncftp som deretter brukes til å linke mot ved kompilering av hovedprogrammet.

Innhold

Installerte Programmer: ncftp, ncftpbatch, ncftpget, ncftpls, ncftpput, og ncftpspooler
Installert Bibliotek: libncftp.so
Installerte Mapper: Ingen

Korte Beskrivelser

ncftp

er et nettleserprogram for File Transfer Protocol

ncftpbatch

er en individuell satsvis FTP jobb prosessor

ncftpget

er et internett filoverføringsprogram for skript som brukes til å hente filer

ncftpls

er et internett filoverføringsprogram for skript som brukes til å liste filer

ncftpput

er et internett filoverføringsprogram for skript som brukes til å overføre filer

ncftpspooler

er en global satsvis FTP jobb prosessor nisse

Net-tools-2.10

Introduksjon til Net-tools

Net-tools pakken er en samling av programmer for å kontrollere nettverksundersystemet til Linux kjernen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Net-tools

Instruksjonene nedenfor automatiserer konfigurasjonsprosessen ved å kanalisere yes til make kommandoen. Hvis du ønsker å kjøre den interaktive konfigurasjonsprosessen (ved å endre instruksen til bare make), men du er ikke sikker på hvordan du skal svare på alle spørsmålene, så er det bare å godta standardinnstillingene. Dette vil være helt greit i de fleste tilfeller. Det du blir spurt om her er en haug med spørsmål om hvilke nettverksprotokoller du har aktivert i kjernen din. Standardsvarene vil aktivere verktøyene fra denne pakke til å fungere med de vanligste protokollene: TCP, PPP og flere andre. Du må fortsatt faktisk aktivere disse protokollene i kjernen—det du gjør her er bare å fortelle at pakken skal inkludere støtte for disse protokollene i programmene, men det er opp til kjernen å gjøre protokollene tilgjengelige.

Notat

Denne pakken har flere unødvendige protokoller og maskinvareenhets spesifikke funksjoner som er foreldet. Å bare bygge det minimum som trengs for systemet ditt, hopp over yes kommandoen og svar hvert spørsmål interaktivt. Minimum nødvendige alternativer er 'UNIX protokollfamilie' og 'INET (TCP/IP) protokollfamilie'.

For denne pakken bruker vi DESTDIR metoden for installasjon for enkelt å fjerne filer fra bygget som overskriver de vi ønsker å beholde eller ikke er passende for systemet vårt.

Installer Net-tools ved å kjøre følgende kommandoer:

export BINDIR='/usr/bin' SBINDIR='/usr/bin' &&
yes "" | make -j1                           &&
make DESTDIR=$PWD/install -j1 install       &&
rm    install/usr/bin/{nis,yp}domainname    &&
rm    install/usr/bin/{hostname,dnsdomainname,domainname,ifconfig} &&
rm -r install/usr/share/man/man1            &&
rm    install/usr/share/man/man8/ifconfig.8 &&
unset BINDIR SBINDIR

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

chown -R root:root install &&
cp -a install/* /

Parameterforklaringer

export BINDIR='/usr/bin' SBINDIR='/usr/bin': Sørg for at de kjørbare filene er installert på riktig sted.

yes "" | make : Kanalisere yes til make config hopper over den interaktive konfigurasjonen og godta standardinnstillingene.

rm ...: Fjern unødvendige programmer og man sider.

Innhold

Installerte Programmer: arp, ipmaddr, iptunnel, mii-tool, nameif, netstat, plipconfig, rarp, route, og slattach
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

arp

brukes til å manipulere kjernens ARP hurtigbuffer, vanligvis for å legge til eller slette en oppføring, eller for å dumpe hele hurtigbufferen

ipmaddr

legger til, sletter og viser et grensesnitts multicast adresser

iptunnel

legger til, endrer, sletter og viser et grensesnitts tunneler

mii-tool

kontrollerer eller setter statusen til et nettverksgrensesnitts Media Independent Interface (MII) enhet

nameif

navngir nettverksgrensesnitt basert på MAC adresser

netstat

brukes til å rapportere nettverkstilkoblinger, rutingtabeller og grensesnittstatistikk

plipconfig

brukes til å finjustere PLIP enhetsparametrene, for å forbedre ytelsen

rarp

brukes til å manipulere kjernens RARP tabell

route

brukes til å manipulere IP rutingstabellen

slattach

kobler et nettverksgrensesnitt til en seriell linje. Dette lar deg bruke vanlige terminallinjer for punkt-til-punkt koblinger til andre datamaskiner

NFS-Utils-2.8.5

Introduksjon til NFS Utilities

NFS Utilities pakken inneholder brukerrom server og klient verktøy som er nødvendige for å bruke kjernens NFS egenskaper. NFS er en protokoll som tillater deling av filsystemer over nettverk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

NFS Utilities Avhengigheter

Påkrevd

libevent-2.1.12, libnl-3.12.0, libtirpc-1.3.7, libxml2-2.15.1, og rpcsvc-proto-1.4.4

Valgfri

Cyrus SASL-2.1.28 (for SASL autentisering), libnsl-2.0.1 (for NIS klient støtte), LVM2-2.03.38 (libdevmapper for NFSv4 støtte), OpenLDAP-2.6.12 (for LDAP autentisering), MIT Kerberos V5-1.22.2 eller libgssapi, og librpcsecgss (for GSS og RPC sikkerhetsstøtte), og libcap-2.77 med PAM

Påkrevd (kjøretid)

rpcbind-1.2.8

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen (velg klient og/eller server støtte etter behov) og kompiler kjernen på nytt om nødvendig:

File systems --->
  [*] Network File Systems --->                            [NETWORK_FILESYSTEMS]
    <*/M> NFS client support                                            [NFS_FS]
    <*/M> NFS server support                                              [NFSD]

Velg de aktuelle underalternativene som vises når alternativene ovenfor er valgt.

Notat

I BLFS antar vi at nfs v3 vil bli brukt. Hvis serveren tilbyr nfs v4 (for linux, CONFIG_NFSD_V4) da vil auto-forhandling for v3 mislykkes, og du må legge til nfsver=3 til monteringsalternativene. Dette gjelder også hvis det alternativet er aktivert i klientens kjerne, for eksempel i en distro som prøver å montere fra en BLFS v3 server.

Selv om ingen i endene av tilkoblingen støtter nfs v4, å legge til nfsver=3 er fortsatt gunstig fordi det forhindrer en feilmelding "NFS: bad mount option value specified: minorversion=1" å bli logget ved hver montering.

Installasjon av NFS Utilities

Installer NFS Utilities ved å kjøre følgende kommandoer:

./configure --prefix=/usr       \
            --sysconfdir=/etc   \
            --sbindir=/usr/sbin \
            --disable-nfsv4     \
            --disable-gss &&
make

Nå, som root bruker:

make install                       &&
chmod u+w,go+r /usr/sbin/mount.nfs &&
chown nobody:nogroup /var/lib/nfs

Testene for denne pakken krever at pakken er installert. I tillegg må rpc.statd-demonen ikke kjøre og testene må kjøres som root bruker.

For å teste resultatene, utsted, som root:

make check

Parameterforklaringer

--disable-gss: Deaktiverer GSSAPI støtte i denne pakken. Hvis du trenger å bruke den, må du sørge for at MIT Kerberos V5-1.22.2 er installert, og at du har GSSAPI støtte aktivert i libtirpc-1.3.7 også.

LIBS="-lsqlite3 -levent_core": er påkrevd for fsidd programmet.

chown nobody:nogroup /var/lib/nfs: rpc.statd-programmet bruker eierskapet til denne mappen til å angi sitt UID og GID. Denne kommandoen setter dem til uprivilegerte oppføringer.

Konfigurere NFS Utilities

Server Konfigurering

/etc/exports inneholder de eksporterte mappene på NFS servere. Referere til exports.5 manualside for syntaksen til denne filen. Se også "NFS HowTo" tilgjengelig på https://nfs.sourceforge.net/nfs-howto/ for informasjon om hvordan konfigurere servere og klienter på en sikker måte. Som for eksempel for å dele /home mappen over det lokale nettverket, kan følgende linje legges til:

cat >> /etc/exports << EOF
/home 192.168.0.0/24(rw,subtree_check,anonuid=99,anongid=99)
EOF

Notat

Pass på å erstatte mappen, nettverksadressen. og prefikset ovenfor for å matche nettverket ditt. Det eneste mellomrommet i linjen over skal være mellom mappen og nettverksadressen.

Oppstartsskript

Installer /etc/rc.d/init.d/nfs-server init skriptet inkludert i blfs-bootscripts-20251220 pakken for å starte serveren ved oppstart.

make install-nfs-server

Nå oppretter du /etc/sysconfig/nfs-server konfigurasjonsfilen:

cat > /etc/sysconfig/nfs-server << "EOF"
PORT="2049"
PROCESSES="8"
KILLDELAY="10"
EOF

Notat

Parametrene ovenfor kan eventuelt plasseres i /etc/sysconfig/rc.site.

Klient Konfigurering

/etc/fstab inneholder mappene som skal monteres på klienten. Alternativt kan partisjonene bli montert ved å bruke mount kommandoen med riktige alternativer. For å montere /home og /usr partisjoner, legg til følgende til /etc/fstab:

<server-name>:/home  /home nfs   rw,_netdev 0 0
<server-name>:/usr   /usr  nfs   ro,_netdev 0 0

Alternativene som kan brukes er spesifisert i man 5 nfs . Hvis både klienten og serveren kjører nyere versjoner av linux, vil de fleste alternativene bli forhandlet (men se merknaden ovenfor på nfsver=3). Du kan spesifisere enten rw eller ro, _netdev hvis filsystemet skal automatisk monteres ved oppstart, eller noauto (og kanskje user) for andre filsystemer.

Hvis filserveren ikke kjører en nyere versjon av linux, må du kanskje spesifisere andre alternativer.

Oppstartsskript

Notat

Følgende oppstartsskript er ikke obligatorisk hvis nfs-server skriptet er installert.

Installer /etc/rc.d/init.d/nfs-client init skriptet inkludert i blfs-bootscripts-20251220 pakken for å starte klienttjenestene ved oppstart.

make install-nfs-client

For å montere nfs filsystemer automatisk, klienter må også installere netfs oppstartsskript som beskrevet i Konfigurering for Nettverksfilsystemer.

Innhold

Installerte Programmer: exportfs, fsidd, mountstats, mount.nfs, mount.nfs4 (link til mount.nfs), nfsconf, nfsdclnts, nfsiostat, nfsstat, rpc.mountd, rpc.nfsd, rpc.statd, rpcdebug, showmount, sm-notify, start-statd, umount.nfs (link til mount.nfs), og umount.nfs4 (link til mount.nfs)
Installerte Biblioteker: None
Installerte Mapper: /var/lib/nfs

Korte Beskrivelser

exportfs

opprettholder en liste over NFS eksporterte filsystemer

fsidd

tilbyr et lokalt UNIX domene socket grensesnitt for alle NFS brukerområder for å spørre i reeksportdatabasen

mountstats

viser statistikk for NFS klient per montering

mount.nfs

brukes til å montere en nettverksressurs brukt av NFS

mount.nfs4

brukes til å montere en nettverksressurs brukt av NFSv4

nfsconf

kan brukes til å teste og hente konfigurasjonsinnstillinger fra en rekke nfs-utils konfigurasjonsfiler

nfsdclnts

skriver ut informasjon om NFS klienter

nfsiostat

rapporterer inn-/utdata statistikk for nettverksfilsystemer

nfsstat

viser statistikk holdt om NFS klienter og server aktivitet

rpc.mountd

implementerer NFS monteringsprotokollen på en NFS server

rpc.nfsd

implementerer brukernivådelen av NFS tjeneste på serveren

rpc.statd

brukes av NFS fillåsetjeneste. Kjør på begge sider, klient så vel som server, når du ønsker fillåsing aktivert

rpcdebug

setter eller sletter kjernens NFS klient og server feilsøkingsflagg

showmount

viser monteringsinformasjon for en NFS server

sm-notify

brukes til å sende meldinger om omstart av Network Status Monitor

start-statd

er et skript kalt av nfsmount når du monterer et filsystem med låsing aktivert, hvis statd ikke ser ut til å kjøre. Det kan bli tilpasset med hvilke flagg som passer for nettstedet

umount.nfs

brukes til å demontere en nettverksressurs brukt av NFS

umount.nfs4

brukes til å demontere en nettverksressurs brukt av NFSv4

Konfigurering for Nettverksfilsystemer

Mens LFS er i stand til å montere nettverksfilsystemer som NFS, disse er ikke montert av mountfs init skriptet. Nettverksfilsystemer må monteres etter at nettverket er aktivert og avmontert før nettverket går ned. netfs oppstartsskriptet ble skrevet for å håndtere både oppstartstidsmontering av nettverksfilsystemer, hvis oppføringen i /etc/fstab inneholder _netdev alternativet, og avmontering av alle nettverksfilsystemer før nettverket bringes ned.

Som root bruker, installer /etc/rc.d/init.d/netfs oppstartsskriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-netfs

ntp-4.2.8p18

Introduksjon til ntp

ntp pakken inneholder en klient og server for å holde tiden synkronisert mellom ulike datamaskiner over et nettverk. Denne pakken er den offisielle referanseimplementeringen av NTP protokollen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ntp Avhengigheter

Påkrevd

IO-Socket-SSL-2.098

Valgfri

libcap-2.77 med PAM, libevent-2.1.12, libedit, og libopts fra AutoGen

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/ntp

Installasjon av ntp

Det bør være en dedikert bruker og gruppe til å ta kontroll over ntpd nissen etter den er startet. Utfør følgende kommandoer som root bruker:

groupadd -g 87 ntp &&
useradd -c "Network Time Protocol" -d /var/lib/ntp -u 87 \
        -g ntp -s /bin/false ntp

Løs et typeproblem ved å kjøre

sed -e "s;pthread_detach(NULL);pthread_detach(0);" \
    -i configure \
       sntp/configure

Installer ntp ved å kjøre følgende kommandoer:

./configure --prefix=/usr      \
            --bindir=/usr/sbin \
            --sysconfdir=/etc  \
            --enable-linuxcaps \
            --with-lineeditlibs=readline \
            --docdir=/usr/share/doc/ntp-4.2.8p18 &&
make

To test the results, issue: make check.

Nå, som root bruker:

make install &&
install -v -o ntp -g ntp -d /var/lib/ntp

Parameterforklaringer

--bindir=/usr/sbin: Denne parameteren plasserer de administrative programmene i /usr/sbin.

--enable-linuxcaps: ntpd kjøres som bruker ntp, så bruk Linux-funksjoner for ikke-root klokkekontroll.

--with-lineeditlibs=readline: Denne bryteren aktiverer Readline støtte for ntpdc og ntpq programmer. Hvis utelatt, libedit brukes hvis den er installert, ellers ingen readline funksjoner vil bli kompilert.

Konfigurere ntp

Konfigurasjonsfiler

/etc/ntp.conf

Konfigurasjonsinformasjon

Følgende konfigurasjonsfil definerer først forskjellige ntp servere med åpen tilgang fra forskjellige kontinenter. For det andre, den oppretter en drift fil hvor ntpd lagrer frekvensforskyvning og en pid-fil for å lagre ntpd prosess-ID. Siden dokumentasjonen inkludert med pakken er sparsom, besøk ntp nettstedet på https://www.ntp.org/ og https://www.ntppool.org/ for mer informasjon.

cat > /etc/ntp.conf << "EOF"
# Asia
server 0.asia.pool.ntp.org

# Australia
server 0.oceania.pool.ntp.org

# Europe
server 0.europe.pool.ntp.org

# North America
server 0.north-america.pool.ntp.org

# South America
server 2.south-america.pool.ntp.org

driftfile /var/lib/ntp/ntp.drift
pidfile   /run/ntpd.pid
EOF

Det kan være lurt å legge til en «Security session.» For forklaringer, se https://www.eecis.udel.edu/~mills/ntp/html/accopt.html#restrict.

cat >> /etc/ntp.conf << "EOF"
# Security session
restrict    default limited kod nomodify notrap nopeer noquery
restrict -6 default limited kod nomodify notrap nopeer noquery

restrict 127.0.0.1
restrict ::1
EOF

Synkronisering av tiden

Det er to alternativer. Alternativ en er å kjøre ntpd kontinuerlig og la den synkronisere tiden på en gradvis måte. Det andre alternativet er å kjøre ntpd med jevne mellomrom (ved hjelp av cron) og oppdater tiden hver gang ntpd er planlagt.

Hvis du velger alternativ en, installer da /etc/rc.d/init.d/ntp init skriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-ntpd

Hvis du foretrekker å kjøre ntpd med jevne mellomrom, legg til følgende kommando til root sin crontab:

ntpd -q

Utfør følgende kommando hvis du vil angi maskinvareklokke til gjeldende systemtid ved avslutning og omstart:

ln -v -sf ../init.d/setclock /etc/rc.d/rc0.d/K46setclock &&
ln -v -sf ../init.d/setclock /etc/rc.d/rc6.d/K46setclock

Omvendt er allerede satt opp av LFS.

Innhold

Installerte Programmer: calc_tickadj, ntp-keygen, ntp-wait, ntpd, ntpdate, ntpdc, ntpq, ntptime, ntptrace, sntp, tickadj, og update-leap
Installerte Biblioteker: None
Installerte Mapper: /usr/share/ntp, /usr/share/doc/ntp-4.2.8 og /var/lib/ntp

Korte Beskrivelser

calc_tickadj

beregner optimal verdi for tick gitt ntp drift fil

ntp-keygen

genererer kryptografiske datafiler som brukes av NTPv4 autentiseringen og identifiseringsordninger

ntp-wait

er nyttig ved oppstart, for å utsette oppstartssekvensen til ntpd har satt tiden

ntpd

er en ntp nisse som kjører i bakgrunnen og beholder dato og klokkeslett synkronisert basert på svar fra konfigurerte ntp servere. Den fungerer også som en ntp server

ntpdate

er et klientprogram som setter dato og klokkeslett basert på svaret fra en ntp server. Denne kommandoen er utdatert

ntpdc

brukes til å spørre ntp nissen om dens nåværende tilstand og å be om endringer i den tilstanden

ntpq

er et hjelpeprogram som brukes til å overvåke ntpd operasjoner og bestemme ytelse

ntptime

leser og viser tidsrelaterte kjernevariabler

ntptrace

sporer en kjede av ntp servere tilbake til primærkilden

sntp

er en Simple Network Time Protocol (SNTP) klient

tickadj

leser, og eventuelt modifiserer, flere tidtakingsrelaterte variabler i eldre kjerner som ikke har støtte for presisjon tidtaking

update-leap

er et skript for å bekrefte og, om nødvendig, oppdatere sprangsekundet sin definisjonsfil.

Notat

I november 2022, på den 27. generalkonferansen om vekter og målinger, ble det besluttet å forlate sprangsekundet. I tillegg dette skriptet hardkoder en URL for en oppdateringsfil som ikke lenger finnes. Sist gang et sprangsekund ble erklært var januar 2017. Dette skriptet vil sannsynligvis bli fjernet i en fremtidig utgivelse.

rpcbind-1.2.8

Introduksjon til rpcbind

rpcbind programmet er en erstatning for portmap. Det kreves for import eller eksport av delte mapper for Network File System (NFS).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

rpcbind Avhengigheter

Påkrevd

libtirpc-1.3.7

Installasjon av rpcbind

For å få rpcbind til å virke riktig, fiks først pakken for å bruke riktig tjenestenavn:

sed -i "/servname/s:rpcbind:sunrpc:" src/rpcbind.c

Installer rpcbind ved å kjøre følgende kommandoer:

./configure --prefix=/usr                                  \
            --bindir=/usr/sbin                             \
            --with-rpcuser=root                            \
            --enable-warmstarts                            \
            --without-systemdsystemunitdir                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--with-rpcuser=root: Dette virker rundt en feil i konfigureringsskriptet.

--without-systemdsystemunitdir: Denne versjonen av BLFS støtter ikke systemd.

Konfigurere rpcbind

Oppstartsskript

Installer /etc/rc.d/init.d/rpcbind init skriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-rpcbind

Innhold

Installert Program: rpcbind og rpcinfo
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

rpcbind

er en server som konverterer RPC programnumre til universelle adresser. Den må kjøres på verten for å kunne lage RPC anrop til en server på den maskinen

rpcinfo

foretar et RPC kall til en RPC server og rapporterer data iht til de forespurte alternativene

rsync-3.4.1

Introduksjon til rsync

rsync pakken inneholder rsync verktøyet. Dette er nyttig for synkronisering av store filarkiver over et nettverk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.samba.org/ftp/rsync/src/rsync-3.4.1.tar.gz

  • Nedlasting MD5 sum: 04ce67866db04fd7a1cde0b78168406e

  • Nedlastingsstørrelse: 1.1 MB

  • Estimert diskplass som kreves: 11 MB (med tester; legg til 24 MB for HTML API dokumentasjon)

  • Estimert byggetid: 0.6 SBU (med tester)

Ytterligere Nedlastinger

rsync Avhengigheter

Anbefalt
Valgfri

Doxygen-1.16.1 og xxhash

Installasjon av rsync

Av sikkerhetsgrunner å kjøre rsync server som en uprivilegert bruker og gruppe oppfordres. Hvis du har tenkt å kjøre rsync som en nisse, opprett rsyncd bruker og gruppe med følgende kommandoer utstedt av root brukeren:

groupadd -g 48 rsyncd &&
useradd -c "rsyncd Daemon" -m -d /home/rsync -g rsyncd \
    -s /bin/false -u 48 rsyncd

Først, fiks et sikkerhetsproblem:

patch -Np1 -i ../rsync-3.4.1-security_fix-1.patch

Installer rsync ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-xxhash \
            --without-included-zlib &&
make

Hvis du har Doxygen-1.16.1 installert og ønsker å bygge HTML API dokumentasjon, kjør:

doxygen

For å kjøre testene, fiks én test og kjør deretter testpakken:

sed -i '/typedef/d' wildtest.c &&
make check

Nå, som root bruker:

make install

Hvis du har laget dokumentasjonen, installer den ved å bruke følgende kommandoer som root bruker:

install -v -m755 -d          /usr/share/doc/rsync-3.4.1/api &&
install -v -m644 dox/html/*  /usr/share/doc/rsync-3.4.1/api

Parameterforklaringer

--disable-xxhash: Denne bryteren deaktiverer avansert xxhash kontrollsum støtte. Fjern denne bryteren hvis du har installert xxhash.

--without-included-zlib: Denne bryteren aktiverer kompilering med det systeminstallerte zlib biblioteket.

Konfigurere rsync

Konfigurasjonsfiler

/etc/rsyncd.conf

Konfigurasjonsinformasjon

For klienttilgang til eksterne filer, må du kanskje installere OpenSSH-10.2p1 pakken for å koble til den eksterne serveren.

Dette er en enkel nedlastingskonfigurasjon for å sette opp kjørende rsync som en server. Se rsyncd.conf(5) manualside for flere alternativer (dvs. brukerautentisering).

cat > /etc/rsyncd.conf << "EOF"
# This is a basic rsync configuration file
# It exports a single module without user authentication.

motd file = /home/rsync/welcome.msg
use chroot = yes

[localhost]
    path = /home/rsync
    comment = Default rsync module
    read only = yes
    list = yes
    uid = rsyncd
    gid = rsyncd

EOF

Du kan finne ytterligere konfigurasjonsinformasjon og generell dokumentasjon om rsynchttps://rsync.samba.org/documentation.html.

Oppstartsskript

Merk at du bare trenger å starte rsync server hvis du vil tilby et rsync arkiv på din lokale maskin. Du trenger ikke dette skriptet for å kjøre rsync klienten.

Installer /etc/rc.d/init.d/rsyncd init skriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-rsyncd

Innhold

Installert Program: rsync og rsync-ssl
Installerte Biblioteker: Ingen
Installerte Mapper: Valgfritt, /usr/share/doc/rsync-3.4.1

Korte Beskrivelser

rsync

er en erstatning for rcp (og scp) som har mange flere funksjoner. Den bruker «rsync algoritme» som gir en veldig rask metode for synkronisering av eksterne filer. Den gjør dette ved å sende bare forskjellene i filene på tvers av lenken, uten at det kreves at begge sett med filer er tilstede i den ene enden av lenken på forhånd

rsync-ssl

er et hjelpeskript som brukes når du kobler til en rsync nissen som har SSL støtte innebygd

Samba-4.23.5

Introduksjon til Samba

Samba pakken gir fil og utskrifts tjenester til SMB/CIFS klienter og Windows nettverk til Linux klienter. Samba kan også konfigureres som en Windows Domenekontrollererstatning, en fil-/utskriftsserver som fungerer som medlem av et Windows Active Directory domene og et NetBIOS (RFC1001/1002) navneserver (som blant annet gir støtte for LAN surfing).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Samba Avhengigheter

Påkrevd

GnuTLS-3.8.12, libtirpc-1.3.7, Parse-Yapp-1.21, og rpcsvc-proto-1.4.4

Anbefalt
Valgfri

Avahi-0.8, BIND-9.20.18, Cups-2.4.16, Cyrus SASL-2.1.28, GDB-17.1, git-2.53.0, GnuPG-2.5.17 (kreves for ADS og testpakken), libaio-0.3.113, libarchive-3.8.5 (for tar i smbclient), libcap-2.77 med PAM, libgcrypt-1.12.0, libnsl-2.0.1, libunwind-1.8.3, Markdown-3.10.2, nss-3.120, popt-1.19, Talloc-2.4.4 (brukt av testpakken), Vala-0.56.18, Valgrind-3.26.0 (valgfritt brukt av testpakken), xfsprogs-6.18.0, cmocka, cryptography, ctdb (inkludert), cwrap, dnspython, FAM, Gamin, GlusterFS, Heimdal (inkludert), iso8601, ldb (inkludert), OpenAFS, poetry-core (påkrevd for ADS), pyasn1, tevent (inkludert), tdb (inkludert), og tracker-2

Valgfri (for Utviklertestpakken)

Installer i oppført rekkefølge: six-1.17.0, pytest-9.0.2, argparse, testtools, testscenarios, og python-subunit

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/samba4

Installasjon av Samba

For å støtte testpakken, sett opp et virtuelt Pythonmiljø for noen Python moduler utenfor omfanget av BLFS:

python3 -m venv --system-site-packages pyvenv         &&
./pyvenv/bin/pip3 install cryptography pyasn1 iso8601

Installer Samba ved å kjøre følgende kommandoer:

PYTHON=$PWD/pyvenv/bin/python3             \
PATH=$PWD/pyvenv/bin:$PATH                 \
./configure                                \
    --prefix=/usr                          \
    --sysconfdir=/etc                      \
    --localstatedir=/var                   \
    --with-piddir=/run/samba               \
    --with-pammodulesdir=/usr/lib/security \
    --enable-fhs                           \
    --without-ad-dc                        \
    --without-systemd                      \
    --with-system-mitkrb5                  \
    --enable-selftest                      \
    --disable-rpath-install                &&
make

For å teste resultatene, kjør: PATH=$PWD/pyvenv/bin:$PATH make quicktest. Testpakken vil produsere linjer som ser ut som feil, men disse er ufarlige. De siste utdatalinjene skal rapportere "ALL OK" for en god testkjøring. En oppsummering av eventuelle feil finner du i ./st/summary.

Notat

I tillegg er testpakker for utviklere tilgjengelige. Hvis du har installert de valgfrie pythonmodulene ovenfor i det virtuelle Pythonmiljøet for å bygge denne pakken, kan du kjøre disse testene med make test. Det anbefales ikke for gjennomsnittsbyggeren, testene er rundt 290 SBU og over en gigabyte diskplass, og du bør forvente ~73 feil og ~30 mislykket fra 3000+ tester.

Fiks hardkodete baner til Python 3 tolken:

sed '1s@^.*$@#!/usr/bin/python3@' \
    -i ./bin/default/source4/scripting/bin/*.inst

Hvis du oppgraderer fra en gammel versjon av samba, som root bruker, fjerne de gamle Python støttefilene for å forhindre noen problemer:

rm -rf /usr/lib/python3.14/site-packages/samba

Fortsatt som root bruker, installer pakken:

make install &&

install -v -m644 examples/smb.conf.default /etc/samba &&

sed -e "s;log file =.*;log file = /var/log/samba/%m.log;"   \
    -e "s;path = /usr/spool/samba;path = /var/spool/samba;" \
    -i /etc/samba/smb.conf.default &&

mkdir -pv /etc/openldap/schema &&

install -v -m644    examples/LDAP/README \
                    /etc/openldap/schema/README.samba &&

install -v -m644    examples/LDAP/samba* \
                    /etc/openldap/schema &&

install -v -m755    examples/LDAP/{get*,ol*} \
                    /etc/openldap/schema

Parameterforklaringer

--system-site-packages: Tillater at Python3 venv modulen å få tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

--enable-fhs: Tildeler alle andre filbaner på en måte som er i samsvar med Filesystem Hierarchy Standard (FHS).

--without-systemd: Deaktiver systemd integrasjon, siden den ikke er bygget i System V versjonen av LFS/BLFS.

--with-shared-modules='!vfs_snapper': Deaktiver vfs_snapper modulen hvis du vil bygge samba uten dbus støtte, for oppsett uten grafisk brukergrensesnitt.

--without-ad-dc: Deaktiver Active Directory Domain Controller funksjonalitet. Se Set up a Samba Active Directory Domain Controller for detaljert informasjon. Fjern denne bryteren hvis du har installert Pythonmodulene nødvendig for ADS støtte. Merk at BLFS ikke gir et samba oppstartsskript eller systemd enhet for en Active Directory domenekontroller.

--with-system-mitkrb5: Aktiverer bygging med systemversjonen av Kerberos. Dette reduserer sikkerhetssårbarheter og reduserer byggetiden. Fjern denne hvis du ikke har MIT Kerberos V5-1.22.2 installert.

--disable-rpath-install: Fjerner bibliotekinstallasjonsbanen fra innebygd delt biblioteksøk stier i de installerte binære kjørbare filene og delte bibliotekene. Når denne pakken er installert på standardplasseringen, blir biblioteket installasjonsveien er /usr/lib. Det søkes alltid etter den dynamiske linkeren, så det er ikke nødvendig bygge den inn i installerte filer.

--with-selftest-prefix=SELFTEST_PREFIX: Dette alternativet spesifiserer testpakkens arbeidsmappe (default=./st).

install -v -m644 examples/LDAP/* /etc/openldap/schema: Disse kommandoene brukes til å kopiere eksempler på Samba skjemaer til OpenLDAP schema mappen.

install -v -m644 ../examples/smb.conf.default /etc/samba: Dette kopierer en standard smb.conf fil i /etc/samba. Denne eksempelkonfigurasjonen vil ikke fungerer før du kopierer det til /etc/samba/smb.conf og gjør de nødvendige endringene for installasjonen. Se konfigurasjon seksjonen for minimumsverdier som må settes.

Konfigurere Samba

Konfigurasjonsfiler

/etc/samba/smb.conf

Skrive ut til SMB klienter

Hvis du bruker CUPS for utskriftstjenester, og du ønsker å skrive ut til en skriver koblet til en SMB klient, må du opprette en SMB bakstykkeenhet. For å opprette enheten, utfør følgende kommando som root bruker:

install -dvm 755 /usr/lib/cups/backend &&
ln -v -sf /usr/bin/smbspool /usr/lib/cups/backend/smb

Konfigurasjonsinformasjon

På grunn av kompleksiteten og de mange ulike bruksområdene for Samba, komplett konfigurasjon for alle pakkens kapasiteter er langt utenfor omfanget av BLFS boken. Denne delen gir instruksjoner for å konfigurere /etc/samba/smb.conf filen for to vanlige scenarier. Det komplette innholdet i /etc/samba/smb.conf vil avhenge av formålet med Samba installasjonen.

Notat

Du kan finne det lettere å kopiere de viste konfigurasjonsparametrene under inn i en tom /etc/samba/smb.conf fil i stedet for å kopiere og redigere standardfilen som nevnt i «Parameterforklaringer» seksjonen. Hvordan du oppretter/redigerer /etc/samba/smb.conf filen vil bli overlatt til deg. Sørg for at filen bare er skrivbar av root bruker (mode 644).

Scenario 1: Minimal frittstående installasjon av kun klient

Velg denne varianten hvis du kun vil overføre filer ved hjelp av smbclient, montere Windows delinger og skrive ut til Windows skrivere, og ønsker ikke å dele filene og skriverne dine med Windows maskiner.

En /etc/samba/smb.conf fil med følgende tre parametere er tilstrekkelig:

[global]
    workgroup = WORKGROUP
    dos charset = cp850
    unix charset = ISO-8859-1

Verdiene i dette eksemplet spesifiserer at datamaskinen tilhører en Windows arbeidsgruppe navngitt WORKGROUP, bruker cp850 tegnsett når du snakker med MS-DOS og MS Windows 9x, og at filnavnene er lagret i ISO-8859-1 koding på disken. Juster disse verdiene riktig for din installasjon. unix charset verdien må være den samme som utdataen av locale charmap når den utføres med LANG variabel satt til din foretrukne lokalitet, ellers vil ls kommandoen kanskje ikke vise filnavn på nedlastede filer riktig.

Det er ikke nødvendig å kjøre noen Samba servere i dette scenariet, så du trenger ikke å installere det medfølgende oppstartsskriptet.

Scenario 2: Frittstående fil-/utskriftsserver

Velg denne varianten hvis du vil dele filene og skriverne dine til Windows maskiner i arbeidsgruppen din i tillegg til mulighetene beskrevet i scenario 1.

I dette tilfellet /etc/samba/smb.conf.default filen kan være en god mal å starte fra. Du bør også legge til «dos charset» og «unix charset» parametere til «[global]» seksjonen som beskrevet i Scenario 1 for å forhindre korrupsjon av filnavn. Av sikkerhetsmessige årsaker kan du definere path = /home/alice/shared-files, forutsatt at brukernavnet ditt er alice og du vil bare dele filene i den mappen, i stedet for hele home mappen. Bytt deretter ut homes med shared-files og endre også «comment» hvis du bruker konfigurasjonsfilen nedenfor eller /etc/samba/smb.conf.default for å lage din.

Følgende konfigurasjonsfil oppretter en separat delingsfil for hver brukers hjemmemappe og gjør også alle skrivere tilgjengelige for Windows maskiner:

[global]
    workgroup = WORKGROUP
    dos charset = cp850
    unix charset = ISO-8859-1

[homes]
    comment = Home Directories
    browseable = no
    writable = yes

[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no
    guest ok = no
    printable = yes

Andre parametere du kanskje ønsker å tilpasse i «[global]» delen inkluderer:

    server string =
    security =
    hosts allow =
    load printers =
    log file =
    max log size =
    socket options =
    local master =

Referer til kommentarene i /etc/samba/smb.conf.default filen for informasjon angående disse parameterne.

Siden smbd og nmbd nissene er nødvendig i dette tilfellet, installer samba oppstartsskript. Sørg for å kjøre smbpasswd (med -a alternativet for å legge til brukere) for å aktivere og angi passord for alle kontoer som trenger Samba tilgang. Bruke standard Samba passdb backend, alle brukere du prøver å legge til, må også eksistere i /etc/passwd filen.

Avanserte krav

Mer komplekse scenarier som involverer domenekontroll eller medlemskap er mulig. Slike oppsett er avanserte emner og kan ikke bli tilstrekkelig dekket i BLFS. Det er skrevet mange komplette bøker om disse temaene. Vær oppmerksom på at i noen scenarier for domenemedlemskap, winbindd nissen og tilsvarende oppstartsskript trengs.

Gjestekonto

Standard Samba installasjonen bruker nobody brukeren for gjesttilgang til serveren. Dette kan overstyres ved å stille inn guest account = parameteren i /etc/samba/smb.conf filen. Hvis du bruker guest account = parameter, sørg for at denne brukeren eksisterer i /etc/passwd filen.

Oppstartsskript

For enkelhets skyld er det gitt Samba oppstartsskript. Det er to inkludert i blfs-bootscripts-20251220 pakken. Den første, samba, vil starte smbd og nmbd nissen nødvendig for å gi SMB/CIFS tjenester. Det andre skriptet, winbind, starter winbindd nissen, brukes til å tilby Windows domenetjenester til Linux klienter.

make install-samba
make install-winbindd

Innhold

Installerte Programmer: cifsdd, dbwrap_tool, dumpmscat, eventlogadm, gentest, ldbadd, ldbdel, ldbedit, ldbmodify, ldbrename, ldbsearch, locktest, masktest, mdsearch, mvxattr, ndrdump, net, nmbd, nmblookup, ntlm_auth, oLschema2ldif, pdbedit, profiles, regdiff, regpatch, regshell, regtree, rpcclient, samba-log-parser, samba-gpupdate, samba-regedit, samba-tool, sharesec, smbcacls, smbclient, smbcontrol, smbcquotas, smbd, smbget, smbpasswd, smbspool, smbstatus, smbtar, smbtorture, smbtree, tdbbackup, tdbdump, tdbrestore, tdbtool, testparm, wbinfo, og winbindd
Installerte Biblioteker: libdcerpc-binding.so, libdcerpc-samr.so, libdcerpc-server-core.so, libdcerpc.so, libndr-krb5pac.so, libndr-nbt.so, libndr.so, libndr-standard.so, libnetapi.so, libnss_winbind.so, libnss_wins.so, libsamba-credentials.so, libsamba-errors.so, libsamba-hostconfig.so, libsamba-passdb.so, libsamba-policy.cpython-311-x86_64-linux-gnu.so, libsamba-util.so, libsamdb.so, libsmbclient.so, libsmbconf.so, libsmbldap.so, libtevent-util.so, libwbclient.so, og filsystemer og støttemoduler under /usr/lib/{python3.14,samba}
Installerte Mapper: /etc/samba, /run/samba, /usr/include/samba-4.0, /usr/lib/python3.14/site-packages/samba, /usr/{lib,libexec,share}/samba, og /var/{cache,lib,lock,log,run}/samba

Korte Beskrivelser

cifsdd

er dd kommandoen for SMB

dbwrap_tool

brukes til å lese og manipulere TDB/CTDB databaser ved hjelp av dbwrap grensesnittet

dumpmscat

dumper innholdet i MS katalogfiler

eventlogadm

brukes til å skrive poster til hendelseslogger fra STDIN, legg til spesifiserte kilde og DLL hendelsesloggregisteroppføringer og vis aktive hendelsesloggnavn (fra smb.conf)

gentest

brukes til å kjøre tilfeldige generiske SMB operasjoner mot to SMB servere og viser forskjellene i oppførsel

ldbadd

er et kommandolinjeverktøy for å legge til poster til en LDB database

ldbdel

er et kommandolinjeverktøy for å slette LDB databaseposter

ldbedit

lar deg redigere LDB databaser ved å bruke ditt foretrukne skriveprogram

ldbmodify

lar deg endre poster i en LDB database

ldbrename

lar deg gi nytt navn til LDB databaser

ldbsearch

søker i en LDB database for poster som samsvarer med en spesifisert uttrykk

locktest

brukes til å finne forskjeller i låsing mellom to SMB servere

masktest

brukes til å finne forskjeller i jokertegn matching mellom Sambas implementering og den av en ekstern server

mdsearch

kjører Spotlight søkinger mot en SMB server

mvxattr

brukes til rekursivt å endre navn på utvidede attributter

ndrdump

er en DCE/RPC pakkefortolker og dumper

net

er et verktøy for administrasjon av Samba og eksterne CIFS servere, som ligner på net verktøyet for DOS/Windows

nmbd

er Samba NetBIOS navneserver

nmblookup

brukes til å spørre etter NetBIOS navn og tilordne dem til IP adresser

ntlm_auth

er et verktøy for å tillate ekstern tilgang til Winbind sin NTLM autentiseringsfunksjon

oLschema2ldif

konverterer LDAP skjemaer til LDB-kompatible LDIF

pdbedit

er et verktøy som brukes til å administrere SAM databasen

profiles

er et verktøy som rapporterer og endrer SIDer i Windows registerfiler

regdiff

er et Diff program for Windows registerfiler

regpatch

bruker registeroppdateringer på registerfiler

regshell

er en Windows registerfilleser som bruker readline

regtree

er en registervisning i tekstmodus

rpcclient

brukes til å utføre MS-RPC klientsidefunksjoner

samba-log-parser

analyserer winbind logger generert av Samba

samba-gpupdate

lar deg redigere Microsoft Group Policy Objects (GPOs)

samba-regedit

er et ncurses basert verktøy for å administrere Samba registeret

samba-tool

er hoved administrasjonsverktøyet for Samba

sharesec

manipulerer dele ACL tillatelser på SMB fildelinger

smbcacls

brukes til å manipulere Windows NT tilgangskontrolllister

smbclient

er et SMB/CIFS tilgangsverktøy som ligner på FTP

smbcontrol

brukes til å kontrollere kjørende smbd, nmbd og winbindd nisser

smbcquotas

brukes til å manipulere Windows NT kvoter på SMB fildelinger

smbd

er hoved Samba nissen som leverer SMB/CIFS tjenester til klienter

smbget

er et enkelt verktøy med wget-likt semantikk, som kan laste ned filer fra SMB servere. Du kan spesifisere filer du vil laste ned på kommandolinjen

smbpasswd

endrer en brukers Samba passord

smbspool

sender en utskriftsjobb til en SMB skriver

smbstatus

rapporterer aktuelle Samba forbindelser

smbtar

er et skallskript som brukes til å sikkerhetskopiere SMB/CIFS delinger direkte til Linux båndstasjoner eller til en fil

smbtorture

er en testpakke som kjører flere tester mot en SMB server

smbtree

er en tekstbasert SMB nettleser

tdbbackup

er et verktøy for å sikkerhetskopiere eller validere integriteten til Samba .tdb filer

tdbdump

er et verktøy som brukes til å skrive ut innholdet i en Samba .tdb fil

tdbrestore

er et verktøy for å opprette en Samba .tdb fil fra en tdbdump

tdbtool

er et verktøy som tillater enkel databasemanipulering fra kommandolinjen

testparm

sjekker smb.conf filen for riktig syntaks

wbinfo

spør en kjørende winbindd nisse

winbindd

løser navn fra Windows NT servere

libnss_winbind.so

gir Name Service Switch API funksjoner for å løse navn fra NT servere

libnss_wins.so

gir API funksjoner for Sambas implementering av Windows Internett navnetjeneste

libnetapi.so

gir API funksjoner for administrasjonsverktøyene som brukes for Samba og eksterne CIFS servere

libsmbclient.so

gir API funksjoner for Samba SMB klientverktøyene

libwbclient.so

tilbyr API funksjoner for Windows domeneklienttjenester

Wget-1.25.0

Introduksjon til Wget

Wget pakken inneholder et verktøy som er nyttig for ikke-interaktiv nedlasting av filer fra nettet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/wget/wget-1.25.0.tar.gz

  • Nedlasting MD5 sum: c70ba58b36f944e8ba1d655ace552881

  • Nedlastingsstørrelse: 5.0 MB

  • Estimert diskplass som kreves: 38 MB (legg til 27 MB for tester)

  • Estimert byggetid: 0.3 SBU (legg til 0.4 SBU for tester)

Wget Avhengigheter

Anbefalt
Anbefalt ved kjøretid
Valgfri

GnuTLS-3.8.12, HTTP-Daemon-6.16 (for testpakken), IO-Socket-SSL-2.098 (for testpakken), libidn2-2.3.8, libproxy-0.5.12, og Valgrind-3.26.0 (for testpakken)

Installasjon av Wget

Installer Wget ved å kjøre følgende kommandoer:

./configure --prefix=/usr      \
            --sysconfdir=/etc  \
            --with-ssl=openssl &&
make

For å teste resultatene, kjør: make check.

Noen tester kan mislykkes når Valgrind tester er aktivert.

Nå, som root bruker:

make install

Parameterforklaringer

--sysconfdir=/etc: Dette flytter konfigurasjonsfilen fra /usr/etc til /etc.

--with-ssl=openssl: Dette gjør at programmet bruker openssl i stedet for GnuTLS-3.8.12.

--enable-libproxy: Denne bryteren lar wget bruke libproxy for proxy-konfigurasjon. Bruk den hvis du har libproxy-0.5.12 pakken er installert og ønsker å bruke en proxy-server.

--enable-valgrind-tests: Dette gjør at testene kan bli kjørt under valgrind.

Konfigurere Wget

Konfigurasjonsfiler

/etc/wgetrc og ~/.wgetrc

Innhold

Installert Program: wget
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

wget

henter filer fra nettet ved hjelp av HTTP, HTTPS og FTP protokoller. Den er designet for å være ikke-interaktiv, for bakgrunn eller ubetjente operasjoner

Konfigurering av Linux kjernen for trådløs

Før du bruker noen brukerområdeverktøy for å koble til et trådløst AP, Linux kjernen må være konfigurert for å drive det trådløse NIC-en riktig. Aktiver følgende alternativer i kjernekonfigurasjonen så vel som spesifikke enhetsdrivere for maskinvaren din og kompiler kjernen på nytt hvis nødvendig:

[*] Networking support --->                                                [NET]
  [*] Wireless --->                                                   [WIRELESS]
    <*/M>   cfg80211 - wireless configuration API                     [CFG80211]
    < /*/M>   Generic IEEE 802.11 Networking Stack (mac80211)         [MAC80211]

Device Drivers --->
  [*] Network device support --->                                   [NETDEVICES]
    [*] Wireless LAN --->                                                 [WLAN]

Åpne «Wireless LAN» undermenyen og velg alternativene som støtter maskinvaren din. lspci fra pciutils-3.14.0 eller lsusb fra usbutils-019 kan brukes til se maskinvarekonfigurasjonen din. Merk at mange (men ikke alle) alternativene for de trådløse NIC-ene avhenger av CONFIG_MAC80211. Etter at de riktige driverne er astet, vil grensesnittet vises i /sys/class/net, eller i utdataen til ip link kommandoen.

Mange trådløse NIC drivere krever fastvare. Hvis du har aktivert riktig driver i kjernekonfigurasjonen, men den klarer ikke å laste (med meldinger som Direct firmware load for <filename> failed with error -2, betyr det at du må installere fastvaren eller det trådløse nettverkskortet vil ikke fungere. Les Om Fastvare for flere detaljer.

iw-6.17

Introduksjon til iw

iw er en ny nl80211 basert CLI konfigurasjons verktøy for trådløse enheter. Den støtter alle nye drivere som har blitt lagt til kjernen nylig. Det gamle verktøyet iwconfig, som bruker trådløse utvidelser grensesnitt, er utdatert og det anbefales sterkt å bytte til iw og nl80211.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

iw Avhengigheter

Påkrevd

libnl-3.12.0

Påkrevd (Kjøretid)

Configuring the Linux Kernel for Wireless

Kjernekonfigurasjon

For å bruke iw, må kjernen ha passende drivere og annen støtte tilgjengelig. Les Configuring the Linux Kernel for Wireless for detaljer.

Installasjon av iw

For å installere iw, bruk følgende kommandoer:

sed -i "/INSTALL.*gz/s/.gz//" Makefile &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sed ...: Installer ukomprimerte manualsider i samsvar med andre mansider.

Innhold

Installerte Programmer: iw
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

iw

viser / manipulerer trådløse enheter og deres konfigurasjon

Wireless Tools-29

Introduksjon til Wireless Tools

Wireless Extension (WE) er en generisk API i Linuxkjernen som tillater en driver for å avsløre konfigurasjon og statistikk som er spesifikke for vanlige Trådløse LAN til brukerrom. Et enkelt sett med verktøy kan støtte alle varianter av trådløse LAN, uavhengig av type, så lenge driveren støtter trådløse utvidelser. WE parametere kan også endres uten å starte driveren på nytt (eller Linux).

Wireless Tools (WT) pakken er et sett av verktøy som tillater manipulering av de trådløse utvidelsene. De bruker en tekstlig grensesnitt for å støtte hele den trådløse utvidelsen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Wireless Tools Avhengigheter

Påkrevd (Kjøretid)

Configuring the Linux Kernel for Wireless

Kjernekonfigurasjon

For å bruke Wireless Tools, må kjernen ha passende drivere og annen støtte tilgjengelig. Ved siden av konfigurasjoner nevnt av Configuring the Linux Kernel for Wireless, er det også nødvendig for å aktivere følgende alternativer i kjernekonfigurasjonen:

[*] Networking support --->                                                [NET]
  [*] Wireless --->                                                   [WIRELESS]
    <*/M> cfg80211 - wireless configuration API                       [CFG80211]
    [*]     cfg80211 wireless extensions compatibility           [CFG80211_WEXT]

Installasjon av Wireless Tools

Først, bruk en oppdatering som løser et problem når det er mange nettverk tilgjengelig:

patch -Np1 -i ../wireless_tools-29-fix_iwlist_scanning-1.patch

For å installere Wireless Tools, bruk følgende kommandoer:

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PREFIX=/usr INSTALL_MAN=/usr/share/man install

Parameterforklaringer

INSTALL_MAN=/usr/share/man: Installerer manualsider i /usr/share/man i stedet for /usr/man.

Innhold

Installerte Programmer: ifrename, iwconfig, iwevent, iwgetid, iwlist, iwpriv, og iwspy
Installert Bibliotek: libiw.so
Installerte Mapper: Ingen

Korte Beskrivelser

ifrename

gir nytt navn til nettverksgrensesnitt basert på ulike statiske kriterier

iwconfig

konfigurerer et trådløst nettverksgrensesnitt

iwevent

viser trådløse hendelser generert av drivere og innstillingsendringer

iwgetid

rapporterer ESSID, NWID eller AP/Cell Adresse til trådløse nettverk

iwlist

henter detaljert trådløs informasjon fra et trådløst grensesnitt

iwpriv

konfigurerer valgfrie (private) parametere for et trådløst nettverk grensesnitt

iwspy

får trådløs statistikk fra spesifikk node

libiw.so

inneholder funksjoner som kreves av de trådløse programmene og gir en API for andre programmer

wpa_supplicant-2.11

Introduksjon til WPA Supplicant

WPA Supplicant er en Wi-Fi beskyttet tilgang (WPA) klient og IEEE 802.1X leverandør. Den implementerer WPA nøkkelforhandling med en WPA Authenticator og Extensible Authentication Protocol (EAP) autentisering med en autentiseringsserver. I tillegg kontrollerer den roaming og IEEE 802.11 autentisering/tilknytning av det trådløse LAN driveren. Dette er nyttig for å koble til et passordbeskyttet trådløst nettverk tilgangspunkt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

WPA Supplicant Avhengigheter

Påkrevd (Kjøretid)

Configuring the Linux Kernel for Wireless

Anbefalt
Valgfri

dbus-1.16.2 og libxml2-2.15.1

Kjernekonfigurasjon

For å bruke wpa_supplicant, kjernen må ha passende drivere og annen støtte tilgjengelig. Les Configuring the Linux Kernel for Wireless for detaljer.

Installasjon av WPA Supplicant

Først må du opprette en innledende konfigurasjonsfil for byggeprosessen. Du kan lese wpa_supplicant/README og wpa_supplicant/defconfig for forklaringen av følgende alternativer samt andre alternativer som kan brukes. Lag en konfigurasjonsfil som skal fungere for standard WiFi oppsett ved å kjøre følgende kommando:

cat > wpa_supplicant/.config << "EOF"
CONFIG_BACKEND=file
CONFIG_CTRL_IFACE=y
CONFIG_DEBUG_FILE=y
CONFIG_DEBUG_SYSLOG=y
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
CONFIG_DRIVER_NL80211=y
CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_WIRED=y
CONFIG_EAP_GTC=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_OTP=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TLS=y
CONFIG_EAP_TTLS=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_IPV6=y
CONFIG_LIBNL32=y
CONFIG_PEERKEY=y
CONFIG_PKCS12=y
CONFIG_READLINE=y
CONFIG_SMARTCARD=y
CONFIG_WPS=y
CFLAGS += -I/usr/include/libnl3
EOF

Hvis du ønsker å bruke WPA Supplicant med NetworkManager-1.56.0, sørge for at du har installert dbus-1.16.2, deretter legg til følgende alternativer til WPA Supplicant byggekonfigurasjonsfilen ved å kjøre følgende kommando:

cat >> wpa_supplicant/.config << "EOF"
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
EOF

Installer WPA Supplicant ved å kjøre følgende kommandoer:

cd wpa_supplicant &&
make BINDIR=/usr/sbin LIBDIR=/usr/lib

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

install -v -m755 wpa_{cli,passphrase,supplicant} /usr/sbin/ &&
install -v -m644 doc/docbook/wpa_supplicant.conf.5 /usr/share/man/man5/ &&
install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 /usr/share/man/man8/

Hvis du har bygget WPA Supplicant med D-Bus støtte, må du installere D-Bus konfigurasjonsfiler. Installer dem ved å kjøre følgende kommandoer som root bruker:

install -v -m644 dbus/fi.w1.wpa_supplicant1.service \
                 /usr/share/dbus-1/system-services/ &&
install -v -d -m755 /etc/dbus-1/system.d &&
install -v -m644 dbus/dbus-wpa_supplicant.conf \
                 /etc/dbus-1/system.d/wpa_supplicant.conf

Notat

Du må starte på nytt systemets D-Bus nisse før du kan bruke WPA Supplicant D-Bus grensesnittet.

Konfigurere wpa_supplicant

Viktig

Hvis du bruker WPA Supplicant med NetworkManager-1.56.0 (eller noe som kommuniserer med WPA Supplicant via D-Bus), bør denne delen hoppes over. Å kjøre en D-Bus tilkoblet WPA Supplicant økt og en annen WPA Supplicant forekomst konfigurert etter denne delen samtidig kan forårsake subtile problemer.

Konfigurasjonsfil

/etc/sysconfig/wpa_supplicant-*.conf

Konfigurasjonsinformasjon

For å koble til et tilgangspunkt som bruker et passord, må du putte den forhåndsdelte nøkkelen inn i /etc/sysconfig/wpa_supplicant-wifi0.conf. SSID er strengen som tilgangspunktet/ruteren sender for å identifisere seg. Kjør følgende kommando som root bruker:

wpa_passphrase SSID | sed '/^\t#/d' > /etc/sysconfig/wpa_supplicant-wifi0.conf

wpa_supplicant kommandoen vil be deg om å skrive inn passordet til tilgangspunktet.

/etc/sysconfig/wpa_supplicant-wifi0.conf kan inneholde detaljene til flere tilgangspunkter. Når wpa_supplicant er startet, vil den skanne etter SSID-er den kan se og velge riktig passord for å koble til.

Hvis du vil koble til et tilgangspunkt som ikke er passordbeskyttet, legg inn en oppføring som dette /etc/sysconfig/wpa_supplicant-wifi0.conf. Erstatt "Some-SSID" med SSID for tilgangspunktet/ruteren.

network={
  ssid="Some-SSID"
  key_mgmt=NONE
}

Å koble til et nytt tilgangspunkt som ikke er i konfigurasjonsfilen kan utføres manuelt via kommandolinjen, men det må gjøres via en privilegert bruker. For å gjøre det, legg til følgende i konfigurasjonsfilen:

ctrl_interface=DIR=/run/wpa_supplicant GROUP=<privileged group>
update_config=1

Bytt ut <privileged group> ovenfor med en systemgruppe hvor medlemmer har muligheten til å koble til et trådløst tilgangspunkt.

Det er mange alternativer du kan bruke for å justere hvordan du kobler til til hvert tilgangspunkt. De er beskrevet i noen detalj i wpa_supplicant/wpa_supplicant.conf filen i kildetreet.

Koble til et Tilgangspunkt

Hvis du vil konfigurere nettverksgrensesnitt ved oppstart ved hjelp av wpa_supplicant, må du installere /lib/services/wpa skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-service-wpa

Hvis ruteren/tilgangspunktet bruker DHCP til å tildele IP adresser, kan du installere dhcpcd-10.3.0 og bruke den til å automatisk hente nettverksadresser. Opprett /etc/sysconfig/ifconfig-wifi0 ved å kjøre følgende kommando som root bruker:

cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"

# Additional arguments to wpa_supplicant
WPA_ARGS=""

WPA_SERVICE="dhcpcd"
DHCP_START="-b -q <insert appropriate start options here>"
DHCP_STOP="-k <insert additional stop options here>"
EOF

Alternativt, hvis du bruker statiske adresser på ditt lokale nettverk, opprette da /etc/sysconfig/ifconfig-wifi0 ved å kjøre følgende kommando som root bruker:

cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"

# Additional arguments to wpa_supplicant
WPA_ARGS=""

WPA_SERVICE="ipv4-static"
IP="192.168.1.1"
GATEWAY="192.168.1.2"
PREFIX="24"
BROADCAST="192.168.1.255"
EOF

Du kan koble til det trådløse tilgangspunktet ved å kjøre følgende kommando som root bruker:

ifup wifi0

Erstatt wlan0 med riktig trådløst grensesnitt og wifi0 med ønsket navn for konfigurasjonsfilen. Vær oppmerksom på at wpa_supplicant-*.conf og ifconfig.* konfigurasjonsfiler trenger å ha identiske navn, dvs. begge inneholder wifi0 i deres navn.

Innhold

Installerte Programmer: wpa_supplicant, wpa_passphrase og wpa_cli
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

wpa_supplicant

er en nisse som kan koble til et passordbeskyttet trådløst nettverk tilgangspunkt

wpa_passphrase

tar en SSID og et passord og genererer en enkel konfigurasjon som wpa_supplicant kan forstå

wpa_cli

er et kommandolinjegrensesnitt som brukes til å kontrollere en kjørende wpa_supplicant nisse

Kapittel 16. Nettverksverktøy

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/basicnetworkingutilities

Avahi-0.8

Introduksjon til Avahi

Avahi pakken er et system som forenkler tjenesteoppdagelse på et lokalt nettverk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Avahi Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt)

Anbefalt
Valgfri

D-Bus Python-1.4.0, libevent-2.1.12, Doxygen-1.16.1, GTK+-2 (avviklet), og xmltoman (for å generere dokumentasjon)

Installasjon av Avahi

Det bør være en dedikert bruker og gruppe til å ta kontroll på avahi-daemon nissen etter at det er startet. Utfør følgende kommandoer som root bruker:

groupadd -fg 84 avahi &&
useradd -c "Avahi Daemon Owner" -d /run/avahi-daemon -u 84 \
        -g avahi -s /bin/false avahi

Det bør også være en dedikert privilegert tilgangsgruppe for Avahi klienter. Utfør følgende kommando som root bruker:

groupadd -fg 86 netdev

Fiks en regresjon som resulterer i en konkurranse tilstand når IPv6 er i bruk og flere nettverkskort er tilstede på systemet:

patch -Np1 -i ../avahi-0.8-ipv6_race_condition_fix-1.patch

Rett opp en sikkerhetssårbarhet i avahi-daemon:

sed -i '426a if (events & AVAHI_WATCH_HUP) { \
client_free(c); \
return; \
}' avahi-daemon/simple-protocol.c

Installer Avahi ved å kjøre følgende kommandoer:

./configure \
    --prefix=/usr                  \
    --sysconfdir=/etc              \
    --localstatedir=/var           \
    --disable-static               \
    --disable-libevent             \
    --disable-mono                 \
    --disable-monodoc              \
    --disable-python               \
    --disable-qt3                  \
    --disable-qt4                  \
    --disable-qt5                  \
    --enable-core-docs             \
    --with-distro=none             \
    --with-systemdsystemunitdir=no \
    --with-dbus-system-address='unix:path=/run/dbus/system_bus_socket' &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-libevent: Denne parameteren deaktiverer bruken av libevent-2.1.12. Fjern hvis du har den installert.

--disable-mono: Denne parameteren deaktiverer Mono bindinger.

--disable-monodoc: Denne parameteren deaktiverer dokumentasjon for Mono bindinger.

--disable-python: Denne parameteren deaktiverer skript som er avhengig av Python. Det lar også en vanlig installasjon fullføre.

--disable-qt3: Denne parameteren deaktiverer forsøk på å bygge de foreldede Qt3 deler av pakken.

--disable-qt4: Denne parameteren deaktiverer forsøk på å bygge de foreldede Qt4Core deler av pakken.

--disable-qt5: Denne parameteren deaktiverer bruken av Qt5, og tillater bygging uten den.

--enable-core-docs: Denne parameteren aktiverer bygging av dokumentasjonen.

--with-distro=none: Det er et foreldet oppstartsskript i distribusjonen for LFS. Dette alternativet deaktiverer det.

--with-systemdsystemunitdir=no: Uten den nissen klarer ikke å starte i BLFS, som ikke støtter systemd.

--with-dbus-system-address=: Dette alternativet forhindrer at pakken refererer til den utdaterte /var/run mappen.

--disable-dbus: Denne parameteren deaktiverer bruken av D-Bus.

--disable-gtk: Denne parameteren deaktiverer bruken av GTK+2.

--disable-gtk3: Denne parameteren deaktiverer bruken av GTK+3.

--disable-libdaemon: Denne parameteren deaktiverer bruken av libdaemon. Hvis du bruker dette alternativet, avahi-daemon vil ikke bli bygget.

--enable-tests: Dette alternativet gjør det mulig å bygge tester og eksempler.

--enable-compat-howl: Dette alternativet aktiverer kompatibilitetslag for HOWL.

--enable-compat-libdns_sd: Dette alternativet aktiverer kompatibilitetslag for libdns_sd.

Konfigurere avahi

Oppstartsskript

For å starte avahi-daemon automatisk når systemet startes på nytt, installer /etc/rc.d/init.d/avahi oppstartsskriptet fra blfs-bootscripts-20251220 pakken.

make install-avahi

Innhold

Installerte Programmer: avahi-autoipd, avahi-browse, avahi-browse-domains, avahi-daemon, avahi-discover-standalone, avahi-dnsconfd, avahi-publish, avahi-publish-address, avahi-publish-service, avahi-resolve, avahi-resolve-address, avahi-resolve-host-name, avahi-set-host-name, bshell, bssh, og bvnc
Installerte Biblioteker: libavahi-client.so, libavahi-common.so, libavahi-core.so, libavahi-glib.so, libavahi-gobject.so, libavahi-libevent.so libavahi-ui-gtk3.so, libavahi-ui.so, libdns_sd.so, og libhowl.so
Installerte Mapper: /etc/avahi/services, /usr/include/{avahi-client,avahi-common, avahi-compat-howl, avahi-compat-libdns_sd, avahi-core, avahi-glib, avahi-gobject, avahi-libevent, avahi-ui}, /usr/lib/avahi, /usr/share/avahi

Korte Beskrivelser

avahi-autoipd

er en konfigurasjonsnisse for IPv4LL nettverksadresse

avahi-browse

søker etter mDNS/DNS-SD tjenester ved hjelp av Avahi nissen

avahi-browse-domains

søker etter mDNS/DNS-SD tjenester ved hjelp av Avahi nissen

avahi-daemon

er Avahi mDNS/DNS-SD nissen

avahi-discover-standalone

søker etter mDNS/DNS-SD tjenester ved hjelp av Avahi nissen

avahi-dnsconfd

er en Unicast DNS server fra mDNS/DNS-SD konfigurasjonsnissen

avahi-publish

registrerer en mDNS/DNS-SD tjeneste eller vertsnavn eller adressetilordning ved bruk av Avahi nissen

avahi-publish-address

registrerer en mDNS/DNS-SD tjeneste eller vertsnavn eller adressetilordning ved bruk av Avahi nissen

avahi-publish-service

registrerer en mDNS/DNS-SD tjeneste eller vertsnavn eller adressetilordning ved bruk av Avahi nissen

avahi-resolve

løser ett eller flere mDNS/DNS vertsnavn til IP adresse(r) (og omvendt) ved å bruke Avahi nissen

avahi-resolve-address

løser ett eller flere mDNS/DNS vertsnavn til IP adresse(r) (og omvendt) ved å bruke Avahi nissen

avahi-resolve-host-name

løser ett eller flere mDNS/DNS vertsnavn til IP adresse(r) (og omvendt) ved å bruke Avahi nissen

avahi-set-host-name

endrer mDNS vertsnavnet

bssh

søker etter SSH servere på det lokale nettverket

bvnc

søker etter VNC servere på det lokale nettverket

BIND Utilities-9.20.18

Introduksjon til BIND Utilities

BIND Utilities er ikke en separat pakke, det er en samling av klientsideprogrammene som er inkludert med BIND-9.20.18. BIND pakken inkluderer klientsideprogrammene nslookup, dig og host. Hvis du installerer BIND serveren, disse programmene vil bli installert automatisk. Denne delen er for de brukerne som ikke trenger den komplette BIND serveren, men trenger disse applikasjoner på klientsiden.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

BIND Utilities Avhengigheter

Påkrevd

liburcu-0.15.6 og libuv-1.52.0

Anbefalt
Valgfri

libcap-2.77 med PAM, libxml2-2.15.1, og sphinx-9.1.0

Installasjon av BIND Utilities

Installer BIND Utilities ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make -C lib/isc      &&
make -C lib/dns      &&
make -C lib/ns       &&
make -C lib/isccfg   &&
make -C lib/isccc    &&
make -C bin/dig      &&
make -C bin/nsupdate &&
make -C bin/rndc     &&
make -C doc

Denne delen av pakken kommer ikke med en testpakke.

Nå, som root bruker:

make -C lib/isc      install &&
make -C lib/dns      install &&
make -C lib/ns       install &&
make -C lib/isccfg   install &&
make -C lib/isccc    install &&
make -C bin/dig      install &&
make -C bin/nsupdate install &&
make -C bin/rndc     install &&
cp -v doc/man/{dig.1,host.1,nslookup.1,nsupdate.1} /usr/share/man/man1 &&
cp -v doc/man/rndc.8 /usr/share/man/man8

Parameterforklaringer

--sysconfdir=/etc: Bruk dette alternativet for å sikre at installerte pakker ser i /etc for konfigurasjonsfiler.

--disable-doh: Bruk dette alternativet hvis du ikke har installert nghttp2-1.68.0 og du ikke trenger DNS over HTTPS støtte.

make -C lib/...: Disse kommandoene bygger biblioteker som trengs for klientprogrammene.

make -C bin/...: Denne kommandoen bygger klientprogrammene.

make -C doc: Denne kommandoen bygger manualsider hvis den valgfrie Python modulen sphinx-9.1.0 er installert.

Bruk cp -v doc/man/... /usr/share/man/man... for å installere manualsidene hvis de er bygget.

Innhold

Installerte Programmer: dig, host, nslookup, nsupdate og rndc
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

Se programbeskrivelsene i BIND-9.20.18 seksjonen.

NetworkManager-1.56.0

Introduksjon til NetworkManager

NetworkManager er et sett med samhandlende verktøy som gjør nettverksbygging enkelt og greit. Enten du bruker WiFi, kablet, 3G eller Bluetooth lar NetworkManager deg raskt flytte fra ett nettverk til et annet: Når et nettverk er konfigurert og koblet til en gang kan den oppdages og slås på igjen automatisk neste gang den er tilgjengelig.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

NetworkManager Avhengigheter

Påkrevd

libndp-1.9

Anbefalt
Valgfri

BlueZ-5.86, D-Bus Python-1.4.0 (for testpakken), GnuTLS-3.8.12 (kan brukes i stedet for nss-3.120), GTK-Doc-1.35.1, jansson-2.15.0, libnvme-1.16.1, ModemManager-1.24.2, UPower-1.91.1, Valgrind-3.26.0, dnsmasq, firewalld, libaudit, libteam, mobile-broadband-provider-info, PPP, og RP-PPPoE

Kjernekonfigurasjon

Hvis du ønsker å kjøre testene, kontroller at minst følgende alternativer er aktivert i kjernekonfigurasjonen. De alternativene har vært fastslått å være nødvendig, men kanskje ikke tilstrekkelig. Kompiler på nytt kjernen om nødvendig:

[*] Networking support --->                                                [NET]
  Networking options --->
    [*]   TCP/IP networking                                               [INET]
    <*/M>   IP: tunneling                                             [NET_IPIP]
    <*/M>   IP: GRE demultiplexer                              [NET_IPGRE_DEMUX]
    <*/M>   IP: GRE tunnels over IP                                  [NET_IPGRE]
    <*>     The IPv6 protocol --->                                        [IPV6]
      <*/M>   IPv6: IPv6-in-IPv4 tunnel (SIT driver)                  [IPV6_SIT]
      <*/M>   IPv6: GRE tunnel                                        [IPV6_GRE]
      [*]     IPv6: Multiple Routing Tables               [IPV6_MULTIPLE_TABLES]
    [*]     MPTCP: Multipath TCP                                         [MPTCP]
    [*]       MPTCP: IPv6 support for Multipath TCP                 [MPTCP_IPV6]
    <*/M> 802.1Q/802.1ad VLAN Support                               [VLAN_8021Q]
    [*]   QoS and/or fair queueing --->                              [NET_SCHED]
      <*> Stochastic Fairness Queueing (SFQ)                       [NET_SCH_SFQ]
      <*> Token Bucket Filter (TBF)                                [NET_SCH_TBF]
      <*> Fair Queue Controlled Delay AQM (FQ_CODEL)          [NET_SCH_FQ_CODEL]
      <*> Ingress/classifier-action Qdisc                      [NET_SCH_INGRESS]

Device Drivers --->
  [*] Network device support --->                                   [NETDEVICES]
    [*]   Network core driver support                                 [NET_CORE]
    <*/M>   Bonding driver support                                     [BONDING]
    <*/M>   Dummy net driver support                                     [DUMMY]
    <*/M>   Ethernet team driver support --->                         [NET_TEAM]
    <*/M>   MAC-VLAN support                                           [MACVLAN]
    <*/M>     MAC-VLAN based tap driver                                [MACVTAP]
    <*/M>   IP-VLAN support                                             [IPVLAN]
    <*/M>   Virtual eXtensible Local Area Network (VXLAN)                [VXLAN]
    <*/M>   Virtual ethernet pair device                                  [VETH]
    <*/M>   Virtual Routing and Forwarding (Lite)                      [NET_VRF]

Installasjon av NetworkManager

Fiks python skriptene slik at de bruker Python 3:

grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'

Installer NetworkManager ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                    \
      --prefix=/usr               \
      --buildtype=release         \
      -D libaudit=no              \
      -D nmtui=true               \
      -D ovs=false                \
      -D ppp=false                \
      -D nbft=false               \
      -D selinux=false            \
      -D session_tracking=elogind \
      -D modem_manager=false      \
      -D systemdsystemunitdir=no  \
      -D systemd_journal=false    \
      -D nm_cloud_setup=false     \
      -D qt=false                 &&
ninja

En allerede aktiv grafisk øky med en bussadresse er nødvendig for å kjøre testene. For å teste resultatene, utsted ninja test.

Noen få tester kan mislykkes, avhengig av aktiverte kjernealternativer.

Nå, som root bruker:

ninja install &&
rm -rf /usr/share/doc/NetworkManager-1.56.0 &&
mv -v /usr/share/doc/NetworkManager{,-1.56.0}

Hvis du ikke har sendt -D docs=true alternativ til meson, du kan installere de forhåndsgenererte manualsidene med (som root bruker):

for file in $(echo ../man/*.[1578]); do
    section=${file##*.} &&
    install -vdm 755 /usr/share/man/man$section
    install -vm 644 $file /usr/share/man/man$section/
done

Hvis du ikke har brukt -D docs=true, forhåndsgenerert HTML dokumentasjon kan også installeres med (som root bruker):

cp -Rv ../docs/{api,libnm} /usr/share/doc/NetworkManager-1.56.0

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D docs=true: Bruk denne bryteren for å aktivere bygging av mansider og dokumentasjon hvis GTK-Doc-1.35.1 er installert.

-D nmtui=true: Denne bryteren gjør det mulig å bygge nmtui.

-D systemdsystemunitdir=no og -D systemd_journal=false: systemd er ikke brukt til sysv init systemer, så unngå å installere enheter og bruke systemd journal.

-D ovs=false: Denne bryteren deaktiverer Open vSwitch integrasjon fordi den trenger jansson-2.15.0. Fjern den hvis du har jansson-2.15.0 installert på systemet ditt.

-D modem_manager=false: Denne bryteren er nødvendig hvis ModemManager ikke er installert. Utelat denne bryteren hvis du har bygget ModemManager og mobile-broadband-provider-info.

-D nbft=false: Denne bryteren er nødvendig hvis libnvme-1.16.1 ikke er installert, og deaktiverte NBFT støtte i initrd generatoren. Merk at BLFS ikke bruker initrd generatoren som leveres av NetworkManager som standard.

-D session_tracking=elogind: Denne bryteren brukes til å sette elogind som standardprogram for øktsporing.

-D ppp=false: Denne bryteren deaktiverer PPP støtte i NetworkManager siden programmene er nødvendige for det ikke er installert. Fjern denne bryteren hvis du trenger PPP støtte og har PPP installert.

-D libaudit=no og -D selinux=false: Denne bryteren deaktiverer støtte for libaudit og SELinux siden de ikke brukes i BLFS.

-D qt=false: deaktiverer Qt 5 eksempler.

-D nm_cloud_setup=false: Bruk denne bryteren hvis du ikke har installert jansson-2.15.0. Dette deaktiverer nm-cloud-setup, som brukes til å automatisk konfigurere nettverket i et offentlig skymiljø i en virtuell maskin.

-D crypto=gnutls: Bruk denne bryteren hvis du har GnuTLS installert og ønsker å bruke den til sertifikat og nøkkel operasjoner i NetworkManager, i stedet for å bruke NSS (standard).

-D crypto=null: Bruk denne bryteren hvis verken NSS eller GnuTLS er installert, men du vil uansett bygge NetworkManager. Denne bryteren vil få NetworkManager til å mangle noen funksjoner (for eksempel 802.1X).

Konfigurere NetworkManager

Konfigurasjonsfiler

/etc/NetworkManager/NetworkManager.conf

Konfigurasjonsinformasjon

For at NetworkManager skal virke, må det i det minste være til stede en minimal konfigurasjonsfil. En slik fil er ikke installert med make install. Utsted følgende kommando som root bruker for å lage en minimal NetworkManager.conf fil:

cat >> /etc/NetworkManager/NetworkManager.conf << "EOF"
[main]
plugins=keyfile
EOF

Denne filen skal ikke endres direkte av brukere av systemet. I stedet bør systemspesifikke endringer gjøres ved hjelp av konfigurasjonsfiler i /etc/NetworkManager/conf.d mappen.

For å tillate polkit å administrere autorisasjoner, legg til følgende konfigurasjonsfil:

cat > /etc/NetworkManager/conf.d/polkit.conf << "EOF"
[main]
auth-polkit=true
EOF

For å bruke noe annet enn den innebygde dhcp klienten (anbefalt hvis du kun bruker nmcli), bruk følgende konfigurasjon (gyldige verdier inkluderer enten dhcpcd eller internal):

cat > /etc/NetworkManager/conf.d/dhcp.conf << "EOF"
[main]
dhcp=dhcpcd
EOF

For å forhindre NetworkManager fra å oppdatere /etc/resolv.conf filen, legg til følgende konfigurasjonsfil:

cat > /etc/NetworkManager/conf.d/no-dns-update.conf << "EOF"
[main]
dns=none
EOF

For ytterligere konfigurasjonsalternativer, se man 5 NetworkManager.conf.

For å la vanlige brukere konfigurere nettverkstilkoblinger, bør du legge dem til netdev gruppen, og lag en polkit regel som gir adgang. Kjør følgende kommandoer som root bruker:

groupadd -fg 86 netdev &&
/usr/sbin/usermod -a -G netdev <username>

cat > /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF"
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {
        return polkit.Result.YES;
    }
});
EOF

Oppstartsskript

For å starte NetworkManager nissen automatisk når systemet startes på nytt, installer /etc/rc.d/init.d/networkmanagerbootscript fra blfs-bootscripts-20251220 pakken.

Notat

Hvis du bruker Network Manager til å administrere et grensesnitt, bør enhver tidligere konfigurasjon for det grensesnittet være fjernet, og grensesnittet tatt ned før Network Manager startes.

Den enkleste måten å gjøre dette på er å fjerne S20network fra /etc/rc.d/rc3.d/ og /etc/rc.d/rc5.d/.

Også hvis du bruker dhcpcd-10.3.0, vær forsiktig med timing problemer hvis du setter opp nettverksapplikasjoner som ntpd, nfs eller sshd. Det tar flere sekunder for dhcpcd å initialisere nettverksgrensesnittet og hvis disse programmene starter før nettverksgrensesnittet er fullstendig initialisert, kan det hende at disse programmene må startes manuelt.

make install-networkmanager

Innhold

Installerte Programmer: NetworkManager, nmcli, nm-online, nmtui, og, symbolkobling til nmtui: nmtui-connect, nmtui-edit, og nmtui-hostname
Installerte Biblioteker: libnm.so og flere moduler under /usr/lib/NetworkManager
Installerte Mapper: /etc/NetworkManager, /usr/include/libnm, /usr/lib/NetworkManager, /usr/share/doc/NetworkManager-1.56.0, /usr/share/gtk-doc/html/{libnm,NetworkManager} (hvis dokumentasjonen er bygget), og /var/lib/NetworkManager

Korte Beskrivelser

nmcli

er et kommandolinjeverktøy for å kontrollere NetworkManager og få dens status

nm-online

er et verktøy for å avgjøre om du er på nett

nmtui

er et interaktivt ncurses-basert brukergrensesnitt for nmcli

nmtui-connect

er et interaktivt ncurses-basert brukergrensesnitt til å aktivere/deaktivere tilkoblinger

nmtui-edit

er et interaktivt ncurses-basert brukergrensesnitt for å redigere tilkoblinger

nmtui-hostname

er et interaktivt ncurses-basert brukergrensesnitt for å redigere vertsnavnet

NetworkManager

er nettverksadministrasjonsnisse

libnm.so

inneholder funksjoner som brukes av NetworkManager

network-manager-applet-1.34.0

Introduksjon til NetworkManager Applet

NetworkManager Applet gir et verktøy og et panelprogram som brukes til å konfigurere kablede og trådløse nettverkstilkoblinger gjennom GUI. Den er designet for bruk med ethvert skrivebordsmiljø som bruker GTK+, som Xfce og LXDE.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

NetworkManager Applet Avhengigheter

Påkrevd

GTK-3.24.51, libnma-1.10.6, og libsecret-0.21.7

Anbefalt
Påkrevd (Kjøretid)

Siden denne pakken bruker Polkit-127 for autorisasjon, en Polkit Authentication Agent bør være kjørende når funksjonaliteten til denne pakken brukes.

Valgfri

gnome-bluetooth-47.1, jansson-2.15.0, og libindicator

Installasjon av NetworkManager Applet

Installer NetworkManager Applet ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D appindicator=no  \
      -D selinux=false    \
      -D team=false       &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D appindicator=no: Denne bryteren deaktiverer AppIndicator støtte i network-manager-applet fordi det krever libindicator, som ikke er i BLFS. Byggingen vil mislykkes uten dette alternativet.

-D selinux=false: Denne bryteren deaktiverer SELinux støtte siden det ikke for øyeblikket er i BLFS og byggingen vil mislykkes uten den.

-D team=false: Denne bryteren deaktiverer team konfigurasjonsredigering siden det krever jansson-2.15.0. Hvis du har Jansson installert, fjern dette alternativet eller sett det til true.

-D wwan=false: Denne bryteren deaktiverer WWAN støtte. Bruk denne hvis du ikke har ModemManager-1.24.2 installert.

Innhold

Installerte Programmer: nm-applet og nm-connection-editor
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

nm-connection-editor

lar brukere se og redigere nettverkstilkoblingsinnstillinger

Nmap-7.98

Introduksjon til Nmap

Nmap er et verktøy for nettverksutforskning og sikkerhetsrevisjon. Den støtter pingskanning, portskanning og TCP/IP fingeravtrykk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nmap.org/dist/nmap-7.98.tar.bz2

  • Nedlasting MD5 sum: 4d6b817ed0739141656e06a74bac5e57

  • Nedlastingsstørrelse: 12 MB

  • Estimert diskplass som kreves: 118 MB (med tester)

  • Estimert byggetid: 0.5 SBU (Bruker parallellisme=4; med tester)

Nmap Avhengigheter

Påkrevd

build-1.4.0

Anbefalt

Notat

Hvis PyGObject3 modulen ikke er installert, må du hoppe over kommandoen som gjør at byggesystemet bruker LFS Setuptools installasjonen og da vil en internettforbindelse være nødvendig. De andre pakkene anbefales fordi hvis de ikke er installert, vil byggeprosessen kompilere og koble mot sin egen (ofte eldre) versjon.

Valgfri

libdnet og setuptools-gettext (for tiden ubrukelig)

Installasjon av Nmap

Få byggesystemet til å bruke Setuptools Python modulen fra LFS i stedet for å laste ned en kopi fra internett, og installer Python wheels som allerede er opprettet når du kjører make i stedet for å bygge dem opp igjen ved make install:

sed -ri Makefile.in \
    -e 's#-m build#& --no-isolation#'  \
    -e '/pip install/s#(ZENMAP|NDIFF)DIR\)/#&dist/*.whl#'

Fjern en unyttig avhengighet av setuptools-gettext:

sed 's/, "setuptools-gettext"//' -i zenmap/pyproject.toml

Installer Nmap ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Hvis du ønsker å kjøre testpakken, kjør følgende kommando:

sed -e '/import imp/d'                \
    -e 's/^ndiff = .*$/import ndiff/' \
    -i ndiff/ndifftest.py

Tester trenger en grafisk økt og skal kjøres som root bruker. For å teste resultatene, utsted:

make check

Nå, som root bruker:

make install

Innhold

Installerte Programmer: ncat, ndiff, nmap, nping, zenmap, og 2 symbolkoblinger til zenmap: nmapfe og xnmap
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/{radialnet,zenmapCore,zenmapGUI,zenmap-7.98.dist-info}, og /usr/share/{ncat,nmap,zenmap}

Korte Beskrivelser

ncat

er et verktøy for å lese og skrive data på tvers av nettverk fra kommandolinjen

ndiff

er et verktøy for å hjelpe til med sammenligning av Nmap skanninger

nmap

er et verktøy for nettverksutforskning og sikkerhetsrevisjon. Den støtter pingskanning, portskanning og TCP/IP fingeravtrykk

nping

er et åpen kildekodeverktøy for nettverkspakkegenerering, respons analyse og måling av responstid

uninstall_ndiff

er et Python skript for å avinstallere ndiff

uninstall_zenmap

er et Python skript for å avinstallere zenmap

zenmap

er en Python basert grafisk nmap grenseflate viser

Traceroute-2.1.6

Introduksjon til Traceroute

Traceroute pakken inneholder et program som brukes til å vise nettverksruten som pakker tar for å nå en spesifisert vert. Dette er et standard nettverksfeilsøkingsverktøy. Hvis du finner at du ikke i stand til å koble til et annet system, kan traceroute hjelpe med å finne problemet.

Notat

Denne pakken overskriver versjonen av traceroute som ble installert i inetutils pakken i LFS. Denne versjonen er kraftigere og gir mange flere alternativer enn standardversjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Traceroute

Installer Traceroute ved å kjøre følgende kommandoer:

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make prefix=/usr install                                 &&
ln -sv -f traceroute /usr/bin/traceroute6                &&
ln -sv -f traceroute.8 /usr/share/man/man8/traceroute6.8 &&
rm -fv /usr/share/man/man1/traceroute.1

Traceroute.1-filen som ble installert i LFS av inetutils er ikke lenger relevant. Denne pakken overskriver den versjonen av traceroute og installerer mansiden i man kapittel 8.

Innhold

Installert Program: traceroute og traceroute6 (symbolkobling)
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

traceroute

gjør i utgangspunktet det den sier: den sporer ruten pakkene dine ta fra verten du jobber på til en annen vert på et nettverk, viser alle mellomhoppene (gateways) underveis

traceroute6

tilsvarer traceroute -6

Whois-5.6.5

Introduksjon til Whois

Whois er en applikasjon på klientsiden som spør whois katalogtjenesten om informasjon knyttet til et bestemt domenenavn. Denne pakken vil installere to programmer som standard: whois og mkpasswd. mkpasswd kommandoen er også installert av expect pakken i LFS.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Whois Avhengigheter

Valgfri

libidn-1.43 eller libidn2-2.3.8

Installasjon av Whois

Bygg applikasjonen med:

make

Du kan installere whois programmet, mkpasswd programmet, og lokalitetsfilene uavhengig. Kontroller ditt valg av hva som er installert med følgende kommandoer utstedt som root bruker:

Notat

Installering av denne versjonen av mkpasswd vil overskrive den samme kommandoen installert i LFS.

make prefix=/usr install-whois
make prefix=/usr install-mkpasswd
make prefix=/usr install-pos

Innhold

Installerte Programmer: whois og mkpasswd
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

whois

er et program på klientsiden som spør whois katalog tjenesten for informasjon knyttet til et bestemt domenenavn

mkpasswd

genererer et nytt passord, og eventuelt bruker det på en bruker

Wireshark-4.6.3

Introduksjon til Wireshark

Wireshark pakken inneholder en nettverks protokollanalysator, også kjent som en «sniffer.» Dette er nyttig for å analysere registrerte data «off the wire» fra en levende nettverkstilkobling, eller data lest fra en registreringsfil.

Wireshark gir både en grafisk og en TTY modus grenseflate for å undersøke fangede nettverkspakker fra over 500 protokoller, samt muligheten til å lese en fangstfil fra mange andre populære nettverksanalysatorer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Wireshark Avhengigheter

Påkrevd

CMake-4.2.3, c-ares-1.34.6, GLib-2.86.4, libgcrypt-1.12.0, Qt-6.10.2, og Speex-1.2.1

Anbefalt
Valgfri

asciidoctor-2.0.26, Brotli-1.2.0, Cups-2.4.16, Doxygen-1.16.1, git-2.53.0, GnuTLS-3.8.12, libnl-3.12.0, libxslt-1.1.45, libxml2-2.15.1, Lua-5.4.8, MIT Kerberos V5-1.22.2, nghttp2-1.68.0, SBC-2.2, Vulkan-Headers-1.4.341.0, BCG729, libilbc, libsmi, libssh, MaxMindDB, Minizip, nghttp3, Snappy, og Spandsp

Kjernekonfigurasjon

Kjernen må ha pakkeprotokollen aktivert for at Wireshark skal fange opp levende pakker fra nettverket:

[*] Networking support --->                                                [NET]
  Networking options --->
    <*/M> Packet socket                                                 [PACKET]

Hvis bygget som en modul, er navnet af_packet.ko.

Installasjon av Wireshark

Wireshark er en veldig stor og kompleks applikasjon. Disse instruksjonene gir ytterligere sikkerhetstiltak for å sikre at bare pålitelige brukere har lov til å se nettverkstrafikk. Først, sett opp en systemgruppe for wireshark. Som root bruker:

groupadd -g 62 wireshark

Fortsett å installere Wireshark ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/wireshark-4.6.3 \
      -G Ninja \
      .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&

install -v -m755 -d /usr/share/doc/wireshark-4.6.3 &&
install -v -m644    ../README.linux ../doc/README.* ../doc/randpkt.txt \
                    /usr/share/doc/wireshark-4.6.3 &&

pushd /usr/share/doc/wireshark-4.6.3 &&
   for FILENAME in ../../wireshark/*.html; do
      ln -s -v -f $FILENAME .
   done &&
popd
unset FILENAME

Hvis du lastet ned noen av dokumentasjonsfilene fra siden oppført i 'Ytterligere nedlastinger', installer dem ved å utstede følgende kommandoer som root bruker:

install -v -m644 <Nedlastede_filer> \
                 /usr/share/doc/wireshark-4.6.3

Sett nå eierskap og tillatelser for sensitive applikasjoner til bare å tillate autoriserte brukere. Som root bruker:

chown -v root:wireshark /usr/bin/tshark &&
chmod -v 6550 /usr/bin/tshark

Til slutt legger du til brukere i wireshark gruppen (som root bruker):

usermod -a -G wireshark <brukernavn>

Hvis du installerer wireshark for første gang, vil det være nødvendig å logge ut av økten og logge på igjen. Dette vil sette wireshark i din gruppe, fordi ellers vil ikke Wireshark fungere skikkelig.

Konfigurere Wireshark

Konfigurasjonsfiler

/etc/wireshark.conf og ~/.config/wireshark/* (med mindre det allerede er ~/.wireshark/* i systemet)

Konfigurasjonsinformasjon

Selv om standard konfigurasjonsparametere er veldig fornuftige, referer konfigurasjonsdelen av Wireshark User's Guide for konfigurasjonsinformasjon. Meste av Wireshark sin konfigurasjon kan utføres ved å bruke menyalternativene til wireshark grafiske grensesnitt.

Notat

Hvis du vil se på pakker, sørg for at du ikke filtrerer dem ut med iptables-1.8.11. Hvis du vil utelukke visse klasser av pakker, er det mer effektivt å gjøre det med iptables enn det er med Wireshark.

Innhold

Installerte Programmer: capinfos, captype, dumpcap, editcap, idl2wrs, mergecap, randpkt, rawshark, reordercap, sharkd, text2pcap, tshark, og wireshark
Installerte Biblioteker: libwireshark.so, libwiretap.so, libwsutil.so, og mange moduler under /usr/lib/wireshark/plugins
Installerte Mapper: /usr/{lib,share}/wireshark og /usr/share/doc/wireshark-4.6.3

Korte Beskrivelser

capinfos

leser en lagret fangstfil og returnerer noen eller alle av flere statistikker om den filen. Den er i stand til å oppdage og lese all fangst støttet av Wireshark pakken

captype

skriver ut filtypene for fangstfiler

editcap

redigerer og/eller oversetter formatet til fangstfiler. Det vet hvordan å lese libpcap fangstfiler, inkludert tcpdump, Wireshark og andre verktøy som skriver fangster i det formatet

idl2wrs

er et program som tar en brukerspesifisert CORBA IDL fil og genererer «C» kildekode for en Wireshark «programtillegg.» Den er avhengig av to Python programmer wireshark_be.py og wireshark_gen.py, som ikke er installert som standard. De må kopieres manuelt fra tools mappen til $PYTHONPATH/site-packages/ mappen

mergecap

kombinerer flere lagrede fangstfiler til en enkelt utdatafil

randpkt

oppretter tilfeldige pakkefangstfiler

rawshark

dumper og analyserer rå libpcap data

reordercap

omorganiserer tidsstempler for inndatafilrammer til en utdatafil

sharkd

er en nisse som lytter på UNIX sockets

text2pcap

leser inn en ASCII hex dump og skriver dataene beskrevet i en libpcap-stil fangstfil

tshark

er en TTY-modus nettverksprotokollanalysator. Den lar deg fange pakkedata fra et levende nettverk eller lese pakker fra en tidligere lagret fangstfil

wireshark

er Qt GUI nettverksprotokollanalysator. Den lar deg interaktivt bla gjennom pakkedata fra et levende nettverk eller fra en tidligere lagret fangstfil

libwireshark.so

inneholder funksjoner som brukes av Wireshark programmer for å utføre filtrering og pakkefangst

libwiretap.so

er et bibliotek som utvikles som en fremtidig erstatning for libpcap, den nåværende standard Unix bibliotek for pakkefangst. For mer informasjon, se README filen i kilde wiretap mappen

Kapittel 17. Nettverksbiblioteker

Disse applikasjonene er støttebiblioteker for andre applikasjoner i boken. Det er usannsynlig at du bare ville installere disse bibliotekene, du vil generelt finne at du vil bli henvist til dette kapittelet for å tilfredsstille en avhengighet av andre applikasjoner.

c-ares-1.34.6

Introduksjon til c-ares

c-ares er et C bibliotek for asynkrone DNS forespørsler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

c-ares Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av c-ares

Installer c-ares ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake  -D CMAKE_INSTALL_PREFIX=/usr .. &&
make

Denne pakken inkluderer ikke en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: adig, og ahost
Installerte Biblioteker: libcares.so
Installerte Mapper: Ingen

Korte Beskrivelser

adig

spør etter informasjon fra DNS servere

ahost

skriver ut A eller AAAA posten knyttet til et vertsnavn eller IP adresse

libcares.so

er et C bibliotek for asynkrone DNS forespørsler

cURL-8.18.0

Introduksjon til cURL

cURL pakken inneholder et verktøy og et bibliotek som brukes til å overføre filer med URL syntaks til hvilken som helst av følgende protokoller: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTSP, SMB, SMBS, SMTP, SMPTS, TELNET og TFTP. Dens evne til både å laste ned og laste opp filer kan integreres i andre programmer for å støtte funsksjoner som å strømme media.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://curl.se/download/curl-8.18.0.tar.xz

  • Nedlasting MD5 sum: dae6088bf7af69d3b0a87c762de92248

  • Nedlastingsstørrelse: 2.7 MB

  • Estimert diskplass som kreves: 49 MB (legg til 6 MB for tester)

  • Estimert byggetid: 0.2 SBU (legg til 4.5 SBU for tester (uten valgrind, legg til 17 SBU med valgrind) alle bruker parallellisme=4)

cURL Avhengigheter

Anbefalt

Notat

Mens det er et alternativ for å bygge pakken uten libpsl, begge deler både oppstrømsutviklerne og BLFS redaktørene anbefaler på det sterkeste ikke deaktivere støtte for libpsl på grunn av alvorlige sikkerhetsimplikasjoner.

Anbefalt ved kjøretid
Valgfri

Brotli-1.2.0, c-ares-1.34.6, GnuTLS-3.8.12, libidn2-2.3.8, libssh2-1.11.1, MIT Kerberos V5-1.22.2, nghttp2-1.68.0, OpenLDAP-2.6.12, Samba-4.23.5 (kjøretid, for NTLM autentisering), gsasl, impacket, libmetalink, librtmp, ngtcp2, quiche, og SPNEGO

Valgfritt hvis du kjører testpakken

Apache-2.4.66 og stunnel-5.76 (for HTTPS og FTPS tester), OpenSSH-10.2p1, og Valgrind-3.26.0 (dette vil gjøre at testene kjører saktere og kan forårsake feil)

Installasjon av cURL

Installer cURL ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --with-openssl   \
            --with-ca-path=/etc/ssl/certs &&
make

For å teste resultatene, kjør: make test. Noen tester er ustabile, så hvis noen tester har mislyktes er det mulig å kjøre en test igjen med: (cd tests; ./runtests.pl <test ID>) (ID for mislykkede tester vises i «These test cases failed:» beskjeden). Hvis du kjører testene etter at pakken er installert, kan noen tester mislykkes fordi manualsidene ble slettet med 'find' kommandoen i installasjonsinstruksjonene under.

Nå, som root bruker:

make install &&

rm -rf docs/examples/.deps &&

find docs \( -name Makefile\* -o  \
             -name \*.1       -o  \
             -name \*.3       -o  \
             -name CMakeLists.txt \) -delete &&

cp -v -R docs -T /usr/share/doc/curl-8.18.0

For å kjøre noen enkle verifiseringstester på den nylig installerte curl, utsted følgende kommandoer: curl --trace-ascii debugdump.txt https://www.example.com/ og curl --trace-ascii d.txt --trace-time https://example.com/. Inspiser de lokalt opprettede sporingsfilene debugdump.txt og d.txt, som inneholder versjonsinformasjon, nedlastede filer informasjon, etc. En fil har tiden for hver handling logget.

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-ca-path=/etc/ssl/certs: Dette bryteren angir plasseringen til BLFS Certificate Authority lagringsplass.

--with-openssl: Denne parameteren velger OpenSSL som SSL/TLS implementering. Dette alternativet er ikke nødvendig hvis --with-gnutls er valgt i stedet.

--with-gssapi: Denne parameteren legger til Kerberos 5 støtte til libcurl.

--with-gnutls: Brukt denne bryteren for å bygge med GnuTLS støtte i stedet for OpenSSL for SSL/TLS.

--with-ca-bundle=/etc/pki/tls/certs/ca-bundle.crt: Bruk denne bryteren i stedet for --with-ca-path for å bygge med GnuTLS støtte i stedet for OpenSSL for SSL/TLS.

--with-libssh2: Denne parameteren legger til SSH støtte til cURL. Dette er deaktivert som standard.

--enable-ares: Denne parameteren legger til støtte for DNS oppløsning gjennom c-ares biblioteket.

find docs ... -exec rm {} \;: Denne kommandoen fjerner Makefiles og man filer fra dokumentasjonensmappen som ellers ville blitt installert av kommandoene som følger.

Innhold

Installerte Programmer: curl, curl-config, og wcurl
Installert Bibliotek: libcurl.so
Installerte Mapper: /usr/include/curl og /usr/share/doc/curl-8.18.0

Korte Beskrivelser

curl

er et kommandolinjeverktøy for å overføre filer med URL syntaks

curl-config

skriver ut informasjon om den siste kompileringen, som biblioteker koblet til og prefiksinnstilling

wcurl

er en enkel innpakning rundt curl for enkelt å laste ned filer

libcurl.so

gir API funksjonene som kreves av curl og andre programmer

GeoClue-2.8.0

Introduksjon til GeoClue

GeoClue er en modulær geoinformasjonstjeneste bygget på toppen av D-Bus meldingssystem. Målet for GeoClue prosjektet er å lage lokalitetsbevisste applikasjoner så enkle som mulig.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GeoClue Avhengigheter

Påkrevd

JSON-GLib-1.10.8 og libsoup-3.6.5

Anbefalt
Valgfri

Avahi-0.8 og GTK-Doc-1.35.1

Installasjon av GeoClue

Installer GeoClue ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr        \
            --buildtype=release  \
            -D gtk-doc=false     \
            -D nmea-source=false \
            ..                   &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D nmea-source=false: Denne bryteren deaktiverer NMEA kilden. Fjern den hvis du har installert Avahi pakken og ditt lokale nettverk har en NMEA server.

-D 3g-source=false: Denne bryteren deaktiverer 3G bakstykke. Bruk den hvis du ikke har installert ModemManager pakken.

-D modem-gps-source=false: Denne bryteren deaktiverer modem GPS bakstykke. Bruk den hvis du ikke har installert ModemManager pakken.

-D cdma-source=false: Denne bryteren deaktiverer CDMA kilde bakstykke. Bruk den hvis du ikke har installert ModemManager pakken.

-D demo-agent=false: Denne bryteren deaktiverer demo. Bruk den hvis du ikke har installert libnotify pakken.

Konfigurere GeoClue

Konfigurasjonsfiler

/etc/geoclue/conf.d/90-lfs-google.conf

Konfigurasjonsinformasjon

I mars 2024 kunngjorde Mozilla nedleggelsen av Mozilla Location Service. Geoclue bruker denne tjenesten for å bestemme en brukers plassering når andre applikasjoner ber om det. Det eneste støttede alternativet av oppstrøms er å bruke Googles geolokaliseringstjeneste.

For å bruke Googles geolokaliseringstjeneste må en API nøkkel brukes, og en konfigurasjonsfilen må opprettes. Denne API nøkkelen er kun beregnet for bruk med LFS. Vennligst ikke bruk denne API nøkkelen hvis du bygger for en annen distro eller distribuerer binære kopier. Hvis du trenger en API nøkkel, kan du be om en på https://www.chromium.org/developers/how-tos/api-keys.

Opprett konfigurasjonen som trengs for å bruke Googles geolokaliseringstjeneste som root bruker:

cat > /etc/geoclue/conf.d/90-lfs-google.conf << "EOF"
# Begin /etc/geoclue/conf.d/90-lfs-google.conf

# This configuration applies for the WiFi source.
[wifi]

# Set the URL to Google's Geolocation Service.
url=https://www.googleapis.com/geolocation/v1/geolocate?key=AIzaSyDxKL42zsPjbke5O8_rPVpVrLrJ8aeE9rQ

# End /etc/geoclue/conf.d/90-lfs-google.conf
EOF

Hvis du ikke ønsker å be om posisjonen din fra en geolokaliseringstjeneste, kan du hardkode posisjonen din inn /etc/geolocation ved hjelp av formatet beskrevet i geoclue(5).

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgeoclue-2.so
Installerte Mapper: /etc/geoclue, /usr/include/libgeoclue-2.0, /usr/libexec/geoclue-2.0, og /usr/share/gtk-doc/html/{geoclue,libgeoclue}

glib-networking-2.80.1

Introduksjon til GLib Networking

GLib Networking pakken inneholder nettverksrelaterte gio moduler for GLib.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GLib Networking Avhengigheter

Påkrevd

GLib-2.86.4 og GnuTLS-3.8.12

Anbefalt
Valgfri

libproxy-0.5.12

Installasjon av GLib Networking

Installer GLib Networking ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup             \
   --prefix=/usr        \
   --buildtype=release  \
   -D libproxy=disabled \
   .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D libproxy=disabled: Denne bryteren deaktiverer libproxy støtte. Hvis du vil bygge med libproxy for å tillate denne pakken å hente proxy-innstillinger via API-et, fjern denne bryteren.

Innhold

Installert Program: Ingen
Installerte Biblioteker: libgiognomeproxy.so og libgiognutls.so (GIO Moduler installert i /usr/lib/gio/modules)
Installerte Mapper: Ingen

kdsoap-2.2.0

Introduksjon til kdsoap

kdsoap er Qt basert klientside og serverside SOAP komponent. Den kan brukes til å lage klientapplikasjoner for webtjenester og gir også midler til å lage webtjenester uten behov for noen ytterligere komponent som en dedikert webserver.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

kdsoap Avhengigheter

Påkrevd

Qt-6.10.2

Installasjon av kdsoap

Installer kdsoap ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D KDSoap_QT6=ON             \
      -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/kdsoap-2.2.0 \
      .. &&
make

Pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: kdwsdl2cpp-qt6
Installerte Biblioteker: libkdsoap-qt6.so og libkdsoap-server-qt6.so
Installerte Mapper: /usr/lib/cmake/KDSoap-Qt6, /usr/share/doc/kdsoap-2.2.0-qt6, /usr/include/KDSoapClient-Qt6. og /usr/include/KDSoapServer-Qt6

kdsoap-ws-discovery-client-0.4.0

Introduksjon til kdsoap-ws-discovery-client

kdsoap-ws-discovery-client pakken inneholder et bibliotek som gir støtte for WS-Discovery protokollen, en nylig protokoll som brukes til å oppdage tjenester tilgjengelig på et lokalt nettverk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

kdsoap-ws-discovery-client Avhengigheter

Påkrevd

Doxygen-1.16.1, Extra-CMake-Modules-6.20.0, og kdsoap-2.2.0

Installasjon av kdsoap-ws-discovery-client

Installer kdsoap-ws-discovery-client ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr    \
      -D CMAKE_BUILD_TYPE=Release     \
      -D CMAKE_SKIP_INSTALL_RPATH=ON  \
      -D QT_MAJOR_VERSION=6           \
      -W no-dev .. &&
make

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install &&
mv -v /usr/share/doc/KDSoapWSDiscoveryClient{,-0.4.0}

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

mv -v /usr/share/doc/KDSoapWSDiscoveryClient[...]:: Denne kommandoen flytter dokumentasjonen til en versjonert mappe.

-D QT_MAJOR_VERSION=6: Denne parameteren forteller byggesystemet å bygge Qt6 versjonen av denne pakken i stedet for Qt5 versjonen.

-D BUILD_QCH=ON: Dette alternativet forteller byggesystemet og lage dokumentasjon som kan brukes med QtCreator, QtAssistant eller KDevelop.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libKDSoapWSDiscoveryClient.so
Installerte Mapper: /usr/include/KDSoapWSDiscoveryClient, /usr/lib/cmake/KDSoapWSDiscoveryClient, og /usr/share/doc/KDSoapWSDiscoveryClient-0.4.0

Korte Beskrivelser

libKDSoapWSDiscoveryClient.so

gir en implementering av WS-Discovery protokollen ved hjelp av KDSoap

ldns-1.9.0

Introduksjon til ldns

ldns er et raskt DNS bibliotek med mål om å forenkle DNS programmering og la utviklere enkelt lage programvare som samsvarer med gjeldende RFC og Internettutkast. Denne pakker inkluderer også drill verktøy.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ldns Avhengigheter

Valgfri

make-ca-1.16.1 og libpcap-1.10.6 (for eksempelprogrammer), SWIG-4.4.1 (for Python bindinger), og Doxygen-1.16.1 (for html dokumentasjon)

Installasjon av ldns

Installer ldns ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --with-drill      &&
make

Hvis du har Doxygen-1.16.1 installert og ønsker å bygge html dokumentasjon, kjør følgende kommando:

make doc

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make install

Hvis du har laget html dokumentasjon, installer den ved å kjøre følgende kommandoer som root user:

install -v -m755 -d /usr/share/doc/ldns-1.9.0 &&
install -v -m644 doc/html/* /usr/share/doc/ldns-1.9.0

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-drill: Dette alternativet gjør det mulig å bygge drill verktøyet (brukes for å skaffe feilsøkingsinformasjon fra DNS(SEC))

--with-examples: Dette alternativet gjør det mulig å bygge eksempelprogrammer.

--with-pyldns: Dette alternativet muliggjør bygging av Python bindinger. Hvis du bruker dette alternativet, må du legge til PYTHON=/usr/bin/python3 til konfigureringslinjen også.

Innhold

Installerte Programmer: drill og ldns-config
Installerte Biblioteker: libldns.so
Installerte Mapper: /usr/include/ldns og /usr/share/doc/ldns-1.9.0

Korte Beskrivelser

drill

er et verktøy som ligner på dig fra BIND Utilities-9.20.18 som spør etter omfattende informasjon fra DNS servere

ldns-config

viser kompilator og lenker flaggene som trengs for å lenke til ldns

libldns.so

gir ldns API funksjoner til programmer

libevent-2.1.12

Introduksjon til libevent

libevent er en asynkron hendelsesvarslings programvarebibliotek. libevent API gir en mekanisme for å utføre en tilbakekallingsfunksjon når en spesifikk hendelse inntreffer på en filbeskrivelse eller etter at et tidsavbrudd er nådd. Dessuten, libevent støtter også tilbakekallinger pga signaler eller vanlige tidsavbrudd.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libevent Avhengigheter

Valgfri

Doxygen-1.16.1 (for API dokumentasjon)

Installasjon av libevent

Først, fiks et problem som hindrer event_rpcgen.py fra å fungere:

sed -i 's/python/&3/' event_rpcgen.py

Installer libevent ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du har Doxygen-1.16.1 installert og ønsker å bygge API dokumentasjon, kjør:

doxygen Doxyfile

For å teste resultatene, kjør: make verify. Seks tester i hver pakke relatert til regress_ssl.c og regress_http.c er kjent for å mislykkes pga inkompatibiliteter med OpenSSL-3. Noen tester som er relatert til regress_dns.c er også kjent for å mislykkes periodevis på grunn av utilstrekkelige testtidsavbrudd.

Nå, som root bruker:

make install

Hvis du har laget API dokumentasjonen, installer den ved å utstede følgende kommandoer som root bruker:

install -v -m755 -d /usr/share/doc/libevent-2.1.12/api &&
cp      -v -R       doxygen/html/* \
                    /usr/share/doc/libevent-2.1.12/api

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: event_rpcgen.py
Installerte Biblioteker: libevent_core.so, libevent_extra.so, libevent_openssl.so, libevent_pthreads.so og libevent.so
Installert Mappe: /usr/include/event2 og /usr/share/doc/libevent-2.1.12

libmnl-1.0.5

Introduksjon til libmnl

libmnl bibliotek gir en minimalistisk brukerromsbibliotek orientert mot Netlink utviklere. Det er mange vanlige oppgaver i analysering, validering og konstruksjon av både Netlink deklarasjoner og TLV-er som er repeterende og lett å ta feil. Dette biblioteket har som mål å gi enkle hjelpere som lar deg gjenbruke kode og å unngå å finne opp hjulet på nytt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libnma Avhengigheter

Valgfri

Doxygen-1.16.1

Installasjon av libmnl

Installer libmnl ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Bibliotek: libmnl.so

Korte Beskrivelser

libmnl.so

gir funksjoner for å analysere, validere, konstruere både Netlink deklarasjonene og TLV-ene

libndp-1.9

Introduksjon til libndp

libndp pakken gir en innpakning for IPv6 Neighbour Discovery Protocol. Det gir også et verktøy kalt ndptool for å sende og motta NDP meldinger.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): http://libndp.org/files/libndp-1.9.tar.gz

  • Nedlasting MD5 sum: 9d486750569e7025e5d0afdcc509b93c

  • Nedlastingsstørrelse: 368 KB

  • Estimert diskplass som kreves: 2.5 MB

  • Estimert byggetid: mindre enn 0.1 SBU

Installasjon av libndp

Installer libndp ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-static     &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: ndptool
Installert Bibliotek: libndp.so
Installert Mappe: Ingen

Korte Beskrivelser

ndptool

er et verktøy for å sende og motta NDP meldinger

libndp.so

gir en innpakning for IPv6 Neighbour Discovery Protocol

libnl-3.12.0

Introduksjon til libnl

libnl pakken er en samling av biblioteker som gir APIer til netlink protokollbaserte Linux kjernegrensesnitt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Valgfrie Nedlastinger

Installasjon av libnl

Installer libnl ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  &&
make

Notat

Hvis make kommandoen ble utført med flere parallelle jobber aktivert, kan det forstyrre terminalmodusen og forårsake noen «morsomme» visuelle effekter. I I verste fall kan dette problemet føre til at tastaturindataer ikke vises på skjermen i det hele tatt (men du kan fortsatt kjøre en hvilken som helst kommando hvis du kan skrive det riktig). Kjør reset kommandoen for å fikse et slikt problem.

Hvis du ønsker å kjøre testene, sjekk at følgende alternativer er aktivert i kjernekonfigurasjonen og kompilerer kjernen på nytt hvis nødvendig. Noen av dem er kanskje ikke strengt nødvendig, men de skal støtte en fullstendig testdekning.

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]
    [*] Network namespace                                               [NET_NS]

[*] Networking support --->                                                [NET]
  Networking options --->
    [*]   TCP/IP networking                                               [INET]
    [*]     IP: advanced router                             [IP_ADVANCED_ROUTER]
    [*]       IP: policy routing                            [IP_MULTIPLE_TABLES]
    <*/M>   IP: tunneling                                             [NET_IPIP]
    <*/M>   IP: GRE demultiplexer                              [NET_IPGRE_DEMUX]
    <*/M>   IP: GRE tunnels over IP                                  [NET_IPGRE]
    <*/M>   Virtual (secure) IP: tunneling                           [NET_IPVTI]
    <*>     The IPv6 protocol --->                                        [IPV6]
      <*/M>   IPv6: IPv6-in-IPv4 tunnel (SIT driver)                  [IPV6_SIT]
      <*/M>   IPv6: IP-in-IPv6 tunnel (RFC2473)                    [IPV6_TUNNEL]
      [*]     IPv6: Multiple Routing Tables               [IPV6_MULTIPLE_TABLES]
    [*]   Network packet filtering framework (Netfilter) --->        [NETFILTER]
      Core Netfilter Configuration --->
        <*/M> Netfilter nf_tables support                            [NF_TABLES]
        [*]     Netfilter nf_tables netdev tables support     [NF_TABLES_NETDEV]
        {*/M}   Netfilter packet duplication support             [NF_DUP_NETDEV]
        <*/M>   Netfilter nf_tables netdev packet forwarding support
                                                           ...  [NFT_FWD_NETDEV]
    <*/M> 802.1d Ethernet Bridging                                      [BRIDGE]
    <*/M> 802.1Q/802.1ad VLAN Support                               [VLAN_8021Q]
    -*-   L3 Master device support                           [NET_L3_MASTER_DEV]

Device Drivers --->
  [*] Network device support --->                                   [NETDEVICES]
    [*]   Network core driver support                                 [NET_CORE]
    <*/M>   Bonding driver support                                     [BONDING]
    <*/M>   Dummy net driver support                                     [DUMMY]
    <*/M>   Intermediate Functional Block support                          [IFB]
    <*/M>   MAC-VLAN support                                           [MACVLAN]
    <*/M>     MAC-VLAN based tap driver                                [MACVTAP]
    <*/M>   IP-VLAN support                                             [IPVLAN]
    <*/M>   Virtual eXtensible Local Area Network (VXLAN)                [VXLAN]
    <*/M>   IEEE 802.1AE MAC-level encryption (MACsec)                  [MACSEC]
    <*/M>   Virtual ethernet pair device                                  [VETH]
    <*/M>   Virtual Routing and Forwarding (Lite)                      [NET_VRF]

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Hvis du ønsker å installere API dokumentasjonen, som root bruker:

mkdir -vp /usr/share/doc/libnl-3.12.0 &&
tar -xf ../libnl-doc-3.12.0.tar.gz --strip-components=1 --no-same-owner \
    -C  /usr/share/doc/libnl-3.12.0

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-cli: Bruk denne parameteren hvis du ikke ønsker å installere cli verktøy levert av pakken.

Innhold

Installerte Programmer: genl-ctrl-list, idiag-socket-details, nl-class-add, nl-class-delete, nl-classid-lookup, nl-class-list, nl-cls-add, nl-cls-delete, nl-cls-list, nl-link-list, nl-pktloc-lookup, nl-qdisc-add, nl-qdisc-delete, nl-qdisc-list, og 48 andre hjelpeprogrammer med nl- og nf- prefikser
Installerte Biblioteker: libnl-3.so, libnl-cli-3.so, libnl-genl-3.so, libnl-idiag-3.so, libnl-nf-3.so, libnl-route-3.so, libnl-xfrm-3.so, og cli moduler under /usr/lib/libnl/cli treet
Installerte Mapper: /etc/libnl, /usr/include/libnl3, /usr/lib/libnl, og /usr/share/doc/libnl-3.12.0

Korte Beskrivelser

genl-ctrl-list

spør den generiske Netlink kontrolleren i kjernen og skriver ut en liste over alle registrerte generiske Netlink familier inkludert versjonen av grensesnittet som er registrert

nl-class-add

legger til, oppdaterer eller erstatter trafikkklasser

nl-class-delete

sletter Trafikkklasser

nl-classid-lookup

brukes til å løse qdisc/class navn til classid verdier og vice versa

nl-class-list

lister opp Trafikkklasser

nl-cls-add

legger til en klassifiserer

nl-cls-delete

sletter en klassifiserer

nl-cls-list

lister klassifiserere

nl-link-list

dumper lenkeattributter

nl-pktloc-lookup

tillater oppslag av pakkeplasseringsdefinisjoner

nl-qdisc-add

legger til kødisipliner (qdiscs) i kjernen

nl-qdisc-delete

fjerner kødisipliner (qdiscs) i kjernen

nl-qdisc-list

lister kødisipliner (qdiscs) i kjernen

libnl*-3.so

Disse bibliotekene inneholder API funksjoner som brukes for å få tilgang til Netlink grensesnitt i Linux kjernen

libnma-1.10.6

Introduksjon til libnma

libnma pakken inneholder en implementering av NetworkManager GUI funksjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libnma Avhengigheter

Påkrevd

Gcr-3.41.2, GTK-3.24.51, ISO Codes-4.20.1, og NetworkManager-1.56.0

Anbefalt
Valgfri

mobile-broadband-provider-info

Installasjon av libnma

Installer libnma ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D gtk_doc=false    \
      -D libnma_gtk4=true \
      -D mobile_broadband_provider_info=false &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtk_doc=false: Denne parameteren deaktiverer generering av API dokumentasjon ved hjelp av gtk-doc. Hvis du har GTK-Doc-1.35.1 installert og ønsker å generere API dokumentasjonen, utelat denne parameteren.

-D libnma_gtk4=true: Denne parameteren bygger GTK-4 versjonen av libnma. Det trengs av gnome-control-center-49.4

-D mobile_broadband_provider_info=false: Denne bryteren deaktiverer WWAN støtte fordi mobil-bredbånd-leverandør-informasjon ikke er i BLFS. Utelat denne bryteren hvis du har den installert og ønsker å aktivere WWAN støtte.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libnma.so og libnma-gtk4.so
Installerte Mapper: /usr/include/libnma

Korte Beskrivelser

libnma.so

inneholder NetworkManager GUI biblioteket

libnma-gtk4.so

inneholder GTK-4 versjonen av NetworkManager GUI biblioteket

libnsl-2.0.1

Introduksjon til libnsl

libnsl pakken inneholder den offentlige klient grensesnittet for NIS(YP). Det erstatter NIS biblioteket som pleide være i glibc.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libnsl Avhengigheter

Påkrevd

libtirpc-1.3.7

Installasjon av libnsl

Installer libnsl ved å kjøre følgende kommandoer:

./configure --sysconfdir=/etc --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libnsl.so
Installerte Mapper: /usr/include/rpcsvc

Korte Beskrivelser

libnsl.so

gir NIS (YP) API funksjoner som kreves av andre programmer

libpcap-1.10.6

Introduksjon til libpcap

libpcap gir funksjoner for brukernivå pakkefangst, brukt i nettverksovervåking på lavt nivå.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libpcap Avhengigheter

Valgfri

BlueZ-5.86, libnl-3.12.0, libusb-1.0.29, Programvaredistribusjon for DAG, og Septel rekke av passive nettverksovervåkingskort.

Installasjon av libpcap

Installer libpcap ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Hvis du vil deaktivere installasjonen av det statiske biblioteket, bruk denne sed:

sed -i '/INSTALL_DATA.*libpcap.a\|RANLIB.*libpcap.a/ s/^/#/' Makefile

Nå, som root bruker:

make install

Innhold

Installert Program: pcap-config
Installert Bibliotek: libpcap.so
Installert Mappe: /usr/include/pcap

Korte Beskrivelser

pcap-config

gir konfigurasjonsinformasjon for libpcap

libpcap.{a,so}

er biblioteker som brukes til pakkefangst på brukernivå

libpsl-0.21.5

Introduksjon til libpsl

libpsl pakken gir et bibliotek for tilgang til og løse informasjon fra Public Suffix List (PSL). PSL er et sett med domenenavn utover standardsuffiksene, for eksempel .com.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libpsl Avhengigheter

Anbefalt
Valgfri

GTK-Doc-1.35.1 (for dokumentasjon), ICU-78.2 (kan brukes i stedet for libidn2), libidn-1.43 (kan brukes i stedet for libidn2), Valgrind-3.26.0 (for tester)

Installasjon av libpsl

Installer libpsl ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release &&

ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: psl
Installert Bibliotek: libpsl.so
Installerte Mapper: Ingen

Korte Beskrivelser

psl

spør den offentlige suffikslisten

libpsl.so

inneholder et bibliotek som brukes for å få tilgang til den offentlige suffikslisten

Libslirp-4.9.1

Introduksjon til libslirp

Libslirp er et nettverksbibliotek i brukermodus brukt av virtuelle maskiner, containere eller ulike verktøy.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libslirp Avhengigheter

Påkrevd

GLib-2.86.4

Installasjon av Libslirp

Installer libslirp ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&

ninja

For å teste resultatene, utsted: ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: Ingen
Installert Bibliotek: libslirp.so
Installert Mappe: /usr/include/slirp

Korte Beskrivelser

libclirp.so

inneholder brukermodus TCP-IP emuleringsfunksjoner

libsoup-3.6.5

Introduksjon til libsoup3

libsoup3 er et HTTP klient/server bibliotek for GNOME. Den bruker GObject og GLib hovedsløyfen for å integrere med GNOME applikasjoner og den har også et asynkront API for bruk i trådede applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

libsoup3 Avhengigheter

Påkrevd

glib-networking-2.80.1, libpsl-0.21.5, libxml2-2.15.1, og nghttp2-1.68.0

Anbefalt
Valgfri

Apache-2.4.66 (kreves for å kjøre testpakken), Brotli-1.2.0, cURL-8.18.0 (kreves for å kjøre testpakken), Gi-DocGen-2026.1, MIT Kerberos V5-1.22.2 (kreves for å kjøre testpakken), PHP-8.5.2 kompilert med XMLRPC-EPI støtte (bare brukt for XMLRPC regresjonstestene), Samba-4.23.5 (ntlm_auth kreves for å kjøre testpakken), sysprof, og wstest

Installasjon av libsoup3

Først, fiks flere sikkerhetsproblemer og en feil som kan føre til en fastlåst situasjon:

patch -Np1 -i ../libsoup-3.6.5-upstream_fixes-1.patch

Fiks installasjonsbanen til API dokumentasjonen:

sed 's/apiversion/soup_version/' -i docs/reference/meson.build

Installer libsoup3 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr          \
            --buildtype=release    \
            --wrap-mode=nofallback \
            ..                     &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

--wrap-mode=nofallback: Denne bryteren forhindrer meson fra å bruke delprosjektets tilbakefall for evt avhengighetserklæringer i byggefilene, og forhindrer det å laste ned eventuell valgfrie avhengigheter som ikke er installert på systemet.

-D docs=enabled: Hvis Gi-DocGen-2026.1 er installert, API dokumentasjon vil bli bygget og installert uansett om dette alternativet brukes eller ikke. Dette alternativet forårsaker at meson kommandoen mislykkes hvis Gi-DocGen-2026.1 ikke er installert.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libsoup-3.0.so
Installerte Mapper: /usr/include/libsoup-3.0, /usr/share/doc/libsoup-3.6.5 (Bare installert hvis Gi-docgen er tilgjengelig)

Korte Beskrivelser

libsoup-3.0.so

gir funksjoner for asynkrone HTTP tilkoblinger

libtirpc-1.3.7

Introduksjon til libtirpc

libtirpc pakken inneholder biblioteker som støtter programmer som bruker Remote Procedure Call (RPC) API. Den erstatter RPC, men ikke NIS bibliotekoppføringene som pleide å være i glibc.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libtirpc Avhengigheter

Valgfri

MIT Kerberos V5-1.22.2 for GSSAPI støtte

Installasjon av libtirpc

Notat

Hvis du oppdaterer denne pakken, må du også oppdatere enhver eksisterende versjon av rpcbind-1.2.8

Installer libtirpc ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --disable-gssapi  &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-gssapi: Denne bryteren er nødvendig hvis ingen GSSAPI leverandører er installert, som MIT Kerberos V5-1.22.2. Fjern denne bryteren hvis du har installert MIT Kerberos V5-1.22.2 og du må bruke GSSAPI støtte.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libtirpc.so
Installert Mappe: /usr/include/tirpc

Korte Beskrivelser

libtirpc.so

gir Remote Procedure Call (RPC) API funksjoner som kreves av andre programmer

neon-0.36.0

Introduksjon til neon

neon er et HTTP og WebDAV klientbibliotek, med et C grensesnitt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://notroj.github.io/neon/neon-0.36.0.tar.gz

  • Nedlasting MD5 sum: 249e5d31881dd5ef496483abaeba3ccf

  • Nedlastingsstørrelse: 940 KB

  • Estimert diskplass som kreves: 7.2 MB (ytterligere 416 MB for tester)

  • Estimert byggetid: mindre enn 0.1 SBU (legg til 0.4 SBU for tester)

neon Avhengigheter

Valgfri

GnuTLS-3.8.12, libproxy-0.5.12, libxml2-2.15.1, MIT Kerberos V5-1.22.2, nss-3.120 (for noen tester), xmlto-0.0.29 (for å regenerere dokumentasjonen), og PaKChoiS

Installasjon av neon

Installer neon ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --with-ssl       \
            --enable-shared  \
            --disable-static &&
make

For å teste resultatene, kjør: make check.

Hvis du ønsker å gjenskape dokumentasjonen, utsted:

make docs

Nå, som root bruker:

make install

Parameterforklaringer

--with-ssl: Denne bryteren muliggjør SSL støtte ved hjelp av OpenSSL. GnuTLS kan brukes i stedet, ved å sende --with-ssl=gnutls og --with-ca-bundle=/etc/pki/tls/certs/ca-bundle.crt til configure skriptet.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-libproxy: Denne bryteren aktiverer støtte for å bruke libproxy for å hente proxy-serverinformasjon. Bruk denne bryteren hvis du har libproxy-0.5.12 installert og ønsker å bruke den.

Innhold

Installert Program: neon-config
Installert Bibliotek: libneon.so
Installerte Mapper: /usr/include/neon og /usr/share/doc/neon-0.36.0

Korte Beskrivelser

neon-config

er et skript som gir informasjon om en installert kopi av neon biblioteket

libneon.so

brukes som et høynivågrensesnitt til vanlige HTTP og WebDAV metoder

nghttp2-1.68.0

Introduksjon til nghttp2

nghttp2 er en implementering av HTTP/2 og dens deklarasjonskomprimeringsalgoritme, HPACK.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

nghttp2 Avhengigheter

Anbefalt

libxml2-2.15.1

Valgfri

Følgende brukes bare hvis du bygger hele pakken i stedet for bare hovedbibliotekene: c-ares-1.34.6, jansson-2.15.0, libevent-2.1.12, sphinx-9.1.0, jemalloc, libev, mruby, and Spdylay.

Installasjon av nghttp2

Installer nghttp2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --disable-static  \
            --enable-lib-only \
            --docdir=/usr/share/doc/nghttp2-1.68.0 &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-lib-only: bare bygge libnghttp2. Utelate denne bryteren hvis du vil bygge eksempelapplikasjonene, Python bindinger, eller C++ asio biblioteket.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libnghttp2.so
Installerte Mapper: /usr/include/nghttp2, /usr/share/nghttp2, og /usr/share/doc/nghttp2-1.68.0

Korte Beskrivelser

libnghttp2.so

en implementering av Hypertext Transfer Protocol versjon 2 i C

rpcsvc-proto-1.4.4

Introduksjon til rpcsvc-proto

rpcsvc-proto pakken inneholder rcpsvc protokollfiler og deklarasjoner, tidligere inkludert i glibc, som ikke er inkludert i erstatning libtirpc-1.3.7, sammen med rpcgen programmet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/rpcsvc-proto

Installasjon av rpcsvc-proto

Installer rpcsvc-proto ved å kjøre følgende kommandoer:

./configure --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: rpcgen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/rpcsvc

Korte Beskrivelser

rpcgen

Genererer C kode for å implementere RPC protokollen

Serf-1.3.10

Introduksjon til Serf

Serf pakken inneholder en C-basert HTTP klient bibliotek bygget på Apache Portable Runtime (APR) biblioteket. Den multiplekser tilkoblinger, kjører lese/skrive kommunikasjonen asynkront. Minnekopier og transformasjoner holdes på et minimum for å gi høy ytelse operasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Serf Avhengigheter

Påkrevd

Apr-Util-1.6.3 og SCons-4.10.1

Valgfri

MIT Kerberos V5-1.22.2, (for GSSAPI støtte)

Installasjon av Serf

Installer Serf ved å kjøre følgende kommandoer:

sed -i "/Append/s:RPATH=libdir,::"          SConstruct &&
sed -i "/Default/s:lib_static,::"           SConstruct &&
sed -i "/Alias/s:install_static,::"         SConstruct &&
sed -i "/  print/{s/print/print(/; s/$/)/}" SConstruct &&
sed -i "/get_contents()/s/,/.decode()&/"    SConstruct &&

scons PREFIX=/usr

Denne pakken kommer ikke med en funksjonell testpakke.

Nå, som root bruker:

scons PREFIX=/usr install

Parameterforklaringer

sed -i "...": Den første kommandoen fjerner kjøretidsbanen fra et delt bibliotek og de neste to kommandoene deaktiverer bygging og installasjon av det statiske biblioteket.

GSSAPI=/usr: Bruk denne bryteren hvis du har installert et GSSAPI bibliotek og du vil ha serf til å bruke den.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libserf-1.so
Installert Mappe: /usr/include/serf-1

Korte Beskrivelser

libserf-1.so

inneholder Serf API funksjoner

Kapittel 18. Tekst Nettlesere

Folk som er nye til Unix-baserte systemer har en tendens til å stille spørsmålet "Hvorfor på jorden vil jeg ha en nettleser som er i tekstmodus? Jeg skal kompilere X og bruke Firefox/Falkon/Uansett!". De som har vært rundt systemer en stund vet at når (ikke hvis) du klarer å rote til den grafiske nettleseren din, og du må slå opp litt informasjon på nettet, vil en konsollbasert nettleser hjelpe deg. Dessuten er det ganske mange som foretrekker å bruke en av disse nettlesere som deres primære metode for surfing; enten for å unngå rotet og båndbredde som følger med bilder eller fordi de kan bruke en tekst-til-tale synthesizer som kan lese siden for dem (brukes for svaksynte eller blinde brukere). I dette kapittelet vil du finne installasjonsinstruksjoner for to konsollnettlesere:

Links-2.30

Introduksjon til Links

Links er en tekst- og grafikkmodus WWW nettleser. Det inkluderer støtte for gjengivelse av tabeller og rammer, har bakgrunnsnedlastinger, kan vise farger og har mange andre funksjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Links Avhengigheter

Anbefalt
Valgfri

Grafikkmodus krever minst en av GPM-1.20.7 (musestøtte som skal brukes med en rammebufferbasert konsoll), SVGAlib, DirectFB, og et grafiske miljø

For dekoding av ulike bildeformater Links kan bruke libavif-1.3.0, libpng-1.6.55, libjpeg-turbo-3.1.3, librsvg-2.61.4, og libtiff-4.7.1

For dekomprimering av nettsider som er komprimert med Brotli, Links kan bruke Brotli-1.2.0

Installasjon av Links

Først, fiks et problem introdusert av glibc-2.43 og høyere:

sed '/*strchr/s/cast_const_char //g' -i ftp.c

Installer Links ved å kjøre følgende kommandoer:

./configure --prefix=/usr --mandir=/usr/share/man &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -d -m755 /usr/share/doc/links-2.30 &&
install -v -m644 doc/links_cal/* KEYS BRAILLE_HOWTO \
    /usr/share/doc/links-2.30

Parameterforklaringer

--enable-graphics: Denne bryteren muliggjør støtte for grafikkmodus.

Konfigurere Links

Konfigurasjonsfiler

~/.links/*

Konfigurasjonsinformasjon

Links lagrer konfigurasjonen i per-bruker filer i ~/.links mappen. Disse filene opprettes automatisk når links blir kjørt for første gang.

Innhold

Installert Program: links
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/links-2.30

Korte Beskrivelser

links

er en tekst- og grafikkmodus WWW nettleser

Lynx-2.9.2

Introduksjon til Lynx

Lynx er en tekstbasert nettleser.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Anbefalt
Valgfri

GnuTLS-3.8.12 (eksperimentell, til å erstatte openssl), libarchive-3.8.5, libidn2-2.3.8, Zip-3.0, og MTA (som gir en sendmail kommando), og Sharutils-4.15.2 (for uudecode programmet)

Installasjon av Lynx

Installer Lynx ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --sysconfdir=/etc/lynx  \
            --with-zlib             \
            --with-bzlib            \
            --with-ssl              \
            --with-screen=ncursesw  \
            --enable-locale-charset \
            --datadir=/usr/share/doc/lynx-2.9.2 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install-full
chgrp -v -R root /usr/share/doc/lynx-2.9.2/lynx_doc

Parameterforklaringer

--sysconfdir=/etc/lynx: Denne parameteren brukes slik at konfigurasjonsfilene er plassert i /etc/lynx i stedet for /usr/etc.

--datadir=/usr/share/doc/lynx-2.9.2: Denne parameteren brukes slik at dokumentasjonsfilene installeres i /usr/share/doc/lynx-2.9.2 i stedet for /usr/share/lynx_{doc,help}.

--with-zlib: Dette muliggjør støtte for å koble libz inn i Lynx.

--with-bzlib: Dette muliggjør støtte for å koble libbz2 inn i Lynx.

--with-ssl: Dette muliggjør støtte for å koble SSL inn i Lynx.

--with-screen=ncursesw: Denne bryteren aktiverer bruken av avansert bred-karakterstøtte som finnes i systemets NCurses biblioteket. Dette trengs for riktig visning av tegn og linjebryting i multibyte-lokaliteter.

--enable-locale-charset: Denne bryteren tillater Lynx for å utlede riktig tegnkoding for terminalutdata fra gjeldende lokalitet. Et konfigurasjonstrinn er fortsatt nødvendig (se nedenfor), men i motsetning til situasjonen uten denne bryteren, konfigurasjonstrinnet blir det samme for alle brukere (uten bryter må en spesifisere visningstegnsettet eksplisitt). Dette er viktig for miljøer som en LiveCD, hvor mengden av systemspesifikke konfigurasjonstrinn må reduseres til et minimum.

--enable-ipv6: Denne bryteren tillater Lynx å bruke IPv6, sammen med IPv4. Bruk det hvis Internett leverandøren gir en IPv6 konfigurasjon.

--enable-nls: Denne bryteren tillater Lynx for å skrive ut oversatte meldinger (som f.eks spørsmål om informasjonskapsler og SSL sertifikater).

--with-gnutls: Dette muliggjør eksperimentell støtte for å koble GnuTLS inn i Lynx. Fjern --with-ssl bryteren hvis du vil bruke gnutls.

make install-full: I tillegg til standard installasjon, installerer dette dokumentasjonen og hjelpefilene.

chgrp -v -R root /usr/share/doc/lynx-2.9.2/lynx_doc : Denne kommandoen korrigerer feil gruppeeierskap til installerte dokumentasjonsfiler.

Konfigurere Lynx

Konfigurasjonsfiler

/etc/lynx/lynx.cfg

Konfigurasjonsinformasjon

Den riktige måten å få skjermtegnsettet på er å undersøke gjeldende lokalitet. Derimot, Lynx gjør ikke dette som standard. Som root bruker, endre denne innstillingen:

sed -e '/#LOCALE/     a LOCALE_CHARSET:TRUE'     \
    -i /etc/lynx/lynx.cfg

Det innebygde redigeringsprogrammet i Lynx Ødelegge Multibyte Tegn. Dette problemet manifesterer seg seg selv i multibyte-lokaliteter, for eksempel fordi tilbaketasten ikke sletter ikke-ASCII-tegn riktig, og som feil data blir sendt til nettverk når man redigerer innholdet i tekstområder. Den eneste løsningen til dette problemet er å konfigurere Lynx til å bruke et ekstern redigeringsprogram (bundet til «Ctrl+X e» taste kombinasjon som standard). Fortsatt som root bruker:

sed -e '/#DEFAULT_ED/ a DEFAULT_EDITOR:vi'       \
    -i /etc/lynx/lynx.cfg

Lynx håndterer følgende verdier av DEFAULT_EDITOR alternativet spesielt ved å legge til markørposisjonerings argumenter: emacs, jed, jmacs, joe, jove, jpico, jstar, nano, pico, rjoe, vi (men ikke vim: for å plassere markøren i Vim-9.1.2144, sett dette alternativet til vi).

Som standard, Lynx lagrer ikke informasjonskapsler mellom øktene. Igjen som root bruker, endre denne innstillingen:

sed -e '/#PERSIST/    a PERSISTENT_COOKIES:TRUE' \
    -i /etc/lynx/lynx.cfg

Mange andre systemomfattende innstillinger som proxyer kan også angis i /etc/lynx/lynx.cfg filen.

Innhold

Installert Program: lynx
Installert Bibliotek: Ingen
Installerte Mapper: /etc/lynx and /usr/share/doc/lynx-2.9.2

Korte Beskrivelser

lynx

er en generell tekstbasert, distribuert informasjons nettleser for World Wide Web

Kapittel 19. E-post/Nyhets Klienter

E-postklienter hjelper deg med å hente (Fetchmail), sortere (Procmail), lese og komponer svar (Heirloom mailx, Mutt, Pine, Kmail, Balsa, Evolution, SeaMonkey) til e-post.

Nyhetsklienter hjelper deg også med å hente, sortere, lese og skrive svar, men disse meldingene går gjennom USENET (en verdensomspennende oppslagstavlesystem) ved hjelp av Network News Transfer Protocol (NNTP).

Fetchmail-6.6.2

Introduksjon til Fetchmail

Fetchmail pakken inneholder en e-post henteprogram. Den henter e-post fra eksterne e-postservere og videresender den til den lokale (klient) maskinens leveringssystem, slik at den kan deretter leses av vanlige e-postbrukeragenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Fetchmail Avhengigheter

Anbefalt
Valgfri

MIT Kerberos V5-1.22.2

Valgfri (for kjøring av fetchmailconf)

Python-3.14.3 (bygget etter Tk-8.6.17)

Installasjon av Fetchmail

Opprett en dedikert bruker for fetchmail programmet. Utfør følgende kommandoer som root bruker:

useradd -c "Fetchmail User" -d /dev/null -g nogroup \
        -s /bin/false -u 38 fetchmail

Installer Fetchmail ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
chown -v fetchmail:nogroup /usr/bin/fetchmail

Konfigurere Fetchmail

Konfigurasjonsfiler

~/.fetchmailrc

Konfigurasjonsinformasjon

Notat

Hvis du kobler til en e-postserver som støtter SSL/TLS-innpakket eller "implisitt" modus på en dedikert port (standard 993) bør du bruke fetchmail --ssl eller legg til alternativet 'ssl' i en rcfil.

cat > ~/.fetchmailrc << "EOF"

# The logfile needs to exist when fetchmail is invoked, otherwise it will
# dump the details to the screen. As with all logs, you will need to rotate
# or clear it from time to time.
set logfile fetchmail.log
set no bouncemail
# You probably want to set your local username as the postmaster
set postmaster <username>

poll SERVERNAME :
    user <isp_username> pass <password>;
    mda "/usr/bin/procmail -f %F -d %T";
EOF

touch ~/fetchmail.log       &&
chmod -v 0600 ~/.fetchmailrc

Dette er en eksempelkonfigurasjon som burde være tilstrekkelig for de fleste. Du kan legge til så mange brukere og servere du trenger ved å bruke samme syntaks.

man fetchmail: Se etter delen nær bunnen navngitt CONFIGURATION EXAMPLES. Det gir noen raske eksempler. Det er utallige andre konfigurasjonsalternativer når du blir vant til det.

Hvis du forventer å motta svært lite e-post, kan du påkalle fetchmail når du ønsker å motta innkommende post. Mer vanlig er den enten påkalt i nisse-modus med -d alternativet enten på kommandolinjen, eller i .fetchmailrc (se 'DAEMON MODE' i man fetchmailconf), eller alternativt påkalles den fra en cron jobb.

Innhold

Installerte Programmer: fetchmail og fetchmailconf
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

fetchmail

når det kjøres som bruker, vil dette starte ~/.fetchmailrc og laste ned den aktuelle e-posten

fetchmailconf

er ment å hjelpe deg med å sette opp og redigere en ~/.fetchmailrc konfigurasjonsfil, ved å bruke en Tk GUI grensesnitt. Den er skrevet for Python og bruker Tkinter modulen merket med en ADVARSEL om at den må oppdateres for fetchmail 6.4s SSL alternativer og andre nyere alternativer

mailx-12.5

Introduksjon til Heirloom mailx

Heirloom mailx pakken (tidligere kjent som Nail pakken) inneholder mailx, en kommandolinje Brukeragent for e-post avledet fra Berkeley Mail. Den er ment å gi funksjonaliteten til POSIX mailx kommandoen med ekstra støtte for MIME meldinger, IMAP (inkludert caching), POP3, SMTP, S/MIME, meldings tråding/sortering, scoring og filtrering. Heirloom mailx er spesielt nyttig for å skrive skript og satsvis prosessering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Heirloom mailx Avhengigheter

Valgfri

nss-3.120, MIT Kerberos V5-1.22.2 (for IMAP GSSAPI autentisering), og en MTA

Installasjon av Heirloom mailx

Notat

Denne pakken støtter ikke parallellbygging.

Installer Heirloom mailx ved å kjøre følgende kommandoer:

patch -Np1 -i ../heirloom-mailx-12.5-fixes-1.patch &&

sed 's@<openssl@<openssl-1.0/openssl@' \
    -i openssl.c fio.c makeconfig      &&

make -j1 LDFLAGS+="-L /usr/lib/openssl/" \
         SENDMAIL=/usr/sbin/sendmail

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PREFIX=/usr UCBINSTALL=/usr/bin/install install &&

ln -v -sf mailx /usr/bin/mail &&
ln -v -sf mailx /usr/bin/nail &&

install -v -m755 -d     /usr/share/doc/heirloom-mailx-12.5 &&
install -v -m644 README /usr/share/doc/heirloom-mailx-12.5

Parameterforklaringer

make SENDMAIL=/usr/sbin/sendmail: Dette endrer standard MTA sti for /usr/lib/sendmail.

make PREFIX=/usr UCBINSTALL=/usr/bin/install install: Dette endrer standard installasjonssti for /usr/local og standard install kommandostien til /usr/ucb.

Konfigurere Heirloom mailx

Konfigurasjonsfiler

/etc/nail.rc og ~/.mailrc

Konfigurasjonsinformasjon

For å vise e-post, mailx bruker et leseprogram. Siden standard for pg ikke er tilgjengelig på et LFS system, det er påkrevd å spesifiser hvilket leseprogram som skal brukes. Som standard er more og den mer behagelige less installert. Hvis variabelen PAGER ikke er satt i /etc/profile eller ~/.bash_profile, eller om det skal være et annet leseprogram bare for å lese e-post, det kan bli satt systembredt i /etc/nail.rc:

echo "set PAGER=<more|less>" >> /etc/nail.rc

eller individuelt for den aktuelle brukeren i ~/.mailrc:

echo "set PAGER=<more|less>" >> ~/.mailrc

Andre interessante alternativer å sette i konfigurasjonsfilene kan være EDITOR og MAILDIR.

Hvis det ikke er satt i miljøet for andre pakker, kan standard skriveprogram angis av:

echo "set EDITOR=<vim|nano|...>" >> /etc/nail.rc

Avhengig av hva slags MTA er installert, kan det være nødvendig å angi MAILDIR variabelen så mailx er i stand til å finne e-postene:

echo "set MAILDIR=Maildir" >> /etc/nail.rc

Innhold

Installerte Programmer: mail, mailx og nail
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

mailx

er en kommandolinje e-postbrukeragent som er kompatibel med mailx kommandoen funnet på kommersielle Unix versjoner

mail

er en symbolsk kobling til mailx

nail

er en symbolsk kobling til mailx

Mutt-2.3.0

Introduksjon til Mutt

Mutt pakken inneholder en e-postbrukeragent. Dette er nyttig for å lese, skrive, svare på, lagre og slette e-posten din.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Mutt Avhengigheter

Anbefalt (for en tekstversjon av manualen)
Valgfri

Aspell-0.60.8.2, Cyrus SASL-2.1.28, DocBook-utils-0.6.14, GDB-17.1, GnuPG-2.5.17, GnuTLS-3.8.12, gpgme-2.0.1 (for øyeblikket ødelagt), libidn-1.43, MIT Kerberos V5-1.22.2, en MTA (som gir en sendmail kommando), slang-2.3.3, libgssapi, Mixmaster, QDBM eller Tokyo Cabinet

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/mutt

Installasjon av Mutt

Notat

Mutt leveres med en HTML versjon av manualen, men tekstversjonen leveres ikke lenger på grunn av forskjeller i formateringen fra forskjellige tekstnettlesere sammenlignet med den leverte versjon forårsaket klager. For å få en tekstfil brukes følgende i preferanserekkefølge: lynx med overslag (backspaces) for utheving, w3m eller elinks: de to sistnevnte gir tilsynelatende ren tekst. Vanlig tekst er generelt foretrukket med mindre du leser HTML bruksanvisningen, så bruksanvisningen nedenfor lynx hvis tilgjengelig, eller annet links å produsere vanlig tekst.

Mutt krever en gruppe som heter mail. Du kan legge til denne gruppen, hvis den ikke eksisterer, med denne kommandoen (som root bruker):

groupadd -g 34 mail

Hvis du ikke installerte en MTA, trenger du å endre eierskapet til /var/mail med denne kommandoen:

chgrp -v mail /var/mail

Installer Mutt ved å kjøre følgende kommandoer:

For å sikre at det lages en rentekst manual ved bruk av lynx eller å bruke links å produsere det (i stedet for elinks), kjør følgende kommando:

sed  -e 's/ -with_backspaces//' \
     -e 's/elinks/links/'       \
     -e 's/-no-numbering -no-references//' \
     -i doc/Makefile.in

Konfigurer og bygg nå applikasjonen:

./configure --prefix=/usr                            \
            --sysconfdir=/etc    
            --with-docdir=/usr/share/doc/mutt-2.3.0 \
            --with-ssl                               \
            --enable-external-dotlock                \
            --enable-pop                             \
            --enable-imap                            \
            --enable-hcache                          \
            --enable-sidebar                         &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Notat

Hvis du brukte en DESTDIR metode for bare å installere til et midlertidig sted som en vanlig bruker (som en del av en pakkebehandlingsprosess), trenger du å kjøre følgende som root bruker etter å ha fullført den virkelige installasjonen:

chown root:mail /usr/bin/mutt_dotlock &&
chmod -v 2755 /usr/bin/mutt_dotlock

En infofil er nå installert, så du må også gjenskape /usr/share/info/dir som beskrevet når Texinfo ble installert i LFS.

Parameterforklaringer

sed ... -e 's/ -with_backspaces//' ...: Dette slår av backspaces som brukes til overslag når lynx brukes, noe som resulterer i lesbar ren tekst ved bruk av view.

sed ... -e 's/elinks/links/' ...: Dette tillater links å bli kjørt i stedet for elinks som ikke er i boken.

sed ... -e 's/-no-numbering -no-references//' ...:: Dette fjerner brytere som ikke er forstått av links.

--enable-external-dotlock: I noen omstendigheter blir mutt-dotlock programmet ikke opprettet. Denne bryteren sikrer at den alltid er blir opprettet.

--enable-pop: Denne bryteren aktiverer POP3 støtte.

--enable-imap: Denne bryteren aktiverer IMAP støtte.

--enable-hcache: Denne bryteren aktiverer deklarasjonsbufring.

--enable-sidebar: Denne bryteren muliggjør støtte for sidefeltet (en liste over postbokser). Den er av som standard, men kan bli slått på av :set sidebar_visible i mutt (og av igjen med ':unset'), eller det kan aktiveres i ~/.muttrc.

--with-ssl: Denne parameteren legger til SSL/TLS støtte fra openssl i POP3/IMAP/SMTP.

--enable-autocrypt --with-sqlite3: Disse to brytere legger til støtte for passiv beskyttelse mot datainnsamling, bruker gnupg og gpgme (gpgme er aktivert av autocrypt). Se Manualen.

--enable-gpgme: Denne bryteren aktiverer GPG støtte gjennom GPGME pakken. Bruk denne bryteren hvis du vil ha GPG støtte i Mutt.

--enable-smtp: Denne bryteren aktiverer SMTP reléstøtte.

--with-idn2: Bruk denne parameteren hvis både libidn og libidn2 er installert, og du ønsker å bruke libidn2 her.

--with-sasl: Denne parameteren legger til støtte for autentisering fra Cyrus SASL-2.1.28 i POP3/IMAP/SMTP hvis de er aktivert. Avhengig av serverkonfigurasjonen er dette kanskje ikke nødvendig for POP3 eller IMAP. Det er imidlertid nødvendig for SMTP autentisering.

--with-gss: Denne parameteren legger til autentiseringsstøtte for Kerberos. Hvis du trenger å bruke denne støtten, må du sørge for at MIT Kerberos V5-1.22.2 er riktig installert og konfigurert, og bruk deretter dette alternativet mens du bygger denne pakken.

Konfigurere Mutt

Konfigurasjonsfiler

/etc/Muttrc, ~/.muttrc, /etc/mime.types, og ~/.mime.types

Konfigurasjonsinformasjon

Ingen endringer i disse filene er nødvendige for å begynne å bruke Mutt. Når du er klar til å gjøre endringer, man siden for muttrc er et godt utgangspunkt.

For å utnytte GnuPG, bruk følgende kommando:

cat /usr/share/doc/mutt-2.3.0/samples/gpg.rc >> ~/.muttrc

Innhold

Installerte Programmer: flea, mutt, mutt_dotlock, muttbug, pgpewrap, mutt_pgpring, og smime_keys
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/mutt-2.3.0

Korte Beskrivelser

flea

er et skript som viser hvor man skal rapportere feil

mutt

er en Mail User Agent (MUA) som lar deg lese, skrive og slette e-posten din

mutt_dotlock

implementerer e-postkøfillåsen

muttbug

er et skript identisk med flea

pgpewrap

forbereder en kommandolinje for GnuPG-2.5.17 verktøy

pgpring

er en nøkkelring dumper for PGP. Det er ikke nødvendig for GnuPG-2.5.17

smime_keys

administrerer et nøkkellager for S/MIME sertifikater

Procmail-3.24

Introduksjon til Procmail

Procmail pakken inneholder en autonom e-postbehandler. Dette er nyttig for å filtrere og sortere innkommende e-post.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Procmail Avhengigheter

Anbefalt
Valgfri

libnsl-2.0.1

Installasjon av Procmail

Denne pakken kommer ikke med en testpakke.

Installer Procmail ved å kjøre følgende kommandoer som root bruker:

patch -Np1 -i ../procmail-3.24-consolidated_fixes-1.patch               &&

make CC="gcc -std=gnu17" LOCKINGTEST=/tmp MANDIR=/usr/share/man install &&
make install-suid

Parameterforklaringer

make LOCKINGTEST=/tmp install: Dette forhindrer make fra å spørre deg hvor du skal teste fillåsingsmønstre.

CC="gcc -std=gnu17": Dette setter C standarden til C17 fordi denne pakken ikke er kompatibel med C23, og ingen rettelser er lett tilgjengelige.

make install-suid: Endrer tillatelser for de installerte filene.

Konfigurere Procmail

Konfigurasjonsfiler

/etc/procmailrc og ~/.procmailrc

Konfigurasjonsinformasjon

Oppskrifter må skrives og legges i ~/.procmailrc for utførelse. Procmailex man siden er startstedet for å lære å skrive oppskrifter. For ytterligere informasjon, se også https://pm-doc.sourceforge.net/.

Innhold

Installerte Programmer: formail, lockfile, mailstat og procmail
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

formail

er et filter som kan brukes til å formatere post til postboksformat

lockfile

er et verktøy som kan låse en fil for engangsbruk interaktivt eller i et skript

mailstat

skriver ut en sammendragsrapport over e-post som har blitt filtrert etter procmail siden sist mailstat ble kjørt

procmail

er en autonom e-postbehandler. Den utfører alle funksjonene av en MDA (Mail Delivery Agent)

Andre e-post- og nyhetsprogrammer

Balsa-2.6.5 er en GTK2 basert e-postklient.

seamonkey-2.53.23 inkluderer både en e-postklient og nyhetsleser i installasjonen.

Thunderbird-140.7.1esr er en e-post-/nyhetsklient basert på Mozilla kodebase.

Evolution-3.58.3 er en e-postklient og organisator fra GNOME skrivebordet.

Del V. Servere

Kapittel 20. Hovedservere

Hovedservere er programmene som tilbyr innhold eller tjenester til brukere eller andre programmer.

Apache-2.4.66

Introduksjon til Apache HTTPD

Apache HTTPD pakken inneholder en åpen kildekode HTTP server. Det er nyttig for å lage lokale intranett nettsteder eller kjøre store nettserveringsoperasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Apache HTTPD Avhengigheter

Påkrevd

Apr-Util-1.6.3

Valgfri

Brotli-1.2.0, Doxygen-1.16.1, jansson-2.15.0, libxml2-2.15.1, Lua-5.4.8, Lynx-2.9.2 eller Links-2.30 eller ELinks, nghttp2-1.68.0, OpenLDAP-2.6.12 (Apr-Util-1.6.3 må være installert med ldap støtte), rsync-3.4.1, Berkeley DB (deprecated), og Distcache

Installasjon av Apache HTTPD

Av sikkerhetsgrunner, å kjøre serveren som en uprivilegert bruker og gruppe oppfordres sterkt. Opprett følgende gruppe og bruker ved å bruke følgende kommandoer som root:

groupadd -g 25 apache &&
useradd -c "Apache Server" -d /srv/www -g apache \
        -s /bin/false -u 25 apache

Bygg og installer Apache HTTPD ved å kjøre følgende kommandoer:

patch -Np1 -i ../httpd-blfs_layout-1.patch             &&

sed '/dir.*CFG_PREFIX/s@^@#@' -i support/apxs.in       &&

sed -e '/HTTPD_ROOT/s:${ap_prefix}:/etc/httpd:'       \
    -e '/SERVER_CONFIG_FILE/s:${rel_sysconfdir}/::'   \
    -e '/AP_TYPES_CONFIG_FILE/s:${rel_sysconfdir}/::' \
    -i configure  &&

./configure --enable-authnz-fcgi                    \
            --enable-layout=BLFS                    \
            --enable-mods-shared="all cgi"          \
            --enable-mpms-shared=all                \
            --enable-suexec=shared                  \
            --with-apr=/usr/bin/apr-1-config        \
            --with-apr-util=/usr/bin/apu-1-config   \
            --with-suexec-bin=/usr/lib/httpd/suexec \
            --with-suexec-caller=apache             \
            --with-suexec-docroot=/srv/www          \
            --with-suexec-uidmin=100                \
            --with-suexec-userdir=public_html       \
            --with-suexec-logfile=/var/log/httpd/suexec.log &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install  &&

mv -v /usr/sbin/suexec /usr/lib/httpd/suexec &&
chgrp apache           /usr/lib/httpd/suexec &&
chmod 4754             /usr/lib/httpd/suexec &&

chown -v -R apache:apache /srv/www

Parameterforklaringer

sed '/dir.*CFG_PREFIX/s@^@#@'...: Tvinger apxs verktøyet til å bruke absolutte banenavn for moduler, når du blir bedt om det.

sed -e '/HTTPD_ROOT/s ...: Fikser noen stier.

--enable-authnz-fcgi: Bygg FastCGI autorisasjonsbasert autentisering og autorisasjon (mod_authnz_fcgi.so fast CGI-modul).

--enable-mods-shared="all cgi": Modulene bør bli kompilert og brukt som Dynamic Shared Objects (DSOer) slik at de kan inkluderes og ekskluderes fra serveren ved å bruke kjøretidskonfigurasjonsdirektivene.

--enable-mpms-shared=all: Denne bryteren sørger for at alle MPM (Multi Processing Modules) er bygget som dynamiske delte objekter (DSOer), slik at brukeren kan velge hvilken som skal brukes under kjøring.

--enable-suexec: Denne bryteren aktiverer byggingen av Apache suEXEC modulen som kan brukes til å tillate brukere til å kjøre CGI og SSI skript under andre brukere sine IDer enn bruker IDen av den anropende webserveren.

--with-suexec-*: Disse bryterne kontrollerer suEXEC modulen sin oppførsel, for eksempel standard dokumentrot, minimal UID som kan brukes til kjøre skriptet under suEXEC. Vær oppmerksom på at med minimal UID 100, kan du ikke kjøre CGI eller SSI skript under suEXEC som apache bruker.

... /usr/lib/httpd/suexec: Disse kommandoene setter suexec innpakning på riktig plassering, siden den ikke er ment å kjøres direkte. De justerer også skikkelige tillatelser til binæren, noe som gjør den setgid apache.

chown -R apache:apache /srv/www: Som standard, installasjonsprosessen installerer filer (dokumentasjon, feilmeldinger, standardikoner osv.) med eierskapet til brukeren som hentet ut filer fra tar filen. Hvis du ønsker å endre eierskapet til en annen bruker, bør du gjøre det på dette tidspunktet. Det eneste kravet er at dokumentmappen må være tilgjengelige for httpd prosessen med (r-x) tillatelser og filer må være lesbare (r--) av apache brukeren.

Konfigurere Apache

Konfigurasjonsfiler

/etc/httpd/httpd.conf og /etc/httpd/extra/*

Konfigurasjonsinformasjon

Se file:///usr/share/httpd/manual/configuring.html for detaljerte instruksjoner om å tilpasse din Apache HTTP serverkonfigurasjonsfil.

Det er ingen grunn, i det minste for nettsteder med internett, ikke å bruke SSL kryptering. Å sette opp et sikret nettsted koster ikke noe bortsett fra å installere et lite lite verktøy og noen få minutter med konfigurasjonsarbeid. Bruk denne retningslinjen på https://wiki.linuxfromscratch.org/blfs/wiki/Securing_a_website for å opprette verdensomfattende aksepterte sertifikater og forny dem regelmessig.

Oppstartsskript

Hvis du vil at Apache serveren skal starte automatisk når systemet startes opp, installer /etc/rc.d/init.d/httpd init skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-httpd

Innhold

Installerte Programmer: ab, apachectl, apxs, checkgid, dbmmanage, fcgistarter, htcacheclean, htdbm, htdigest, htpasswd, httpd, httxt2dbm, logresolve, og rotatelogs
Installerte Biblioteker: Flere biblioteker under /usr/lib/httpd/modules/
Installerte Mapper: /etc/httpd, /srv/www, /usr/include/httpd, /usr/lib/httpd, /usr/share/httpd, /var/log/httpd, og /var/run/httpd

Korte Beskrivelser

ab

er et verktøy for benchmarking av din Apache HTTP server

apachectl

er et grensesnitt til Apache HTTP serveren som er designet for å hjelpe administratoren med å kontrollere funksjonene til Apache httpd nissen

apxs

er et verktøy for å bygge og installere utvidelsesmoduler for Apache HTTP serveren

checkgid

er et program som sjekker om det kan setgid til gruppen spesifisert. Dette er for å se om det er en gyldig gruppe for Apache2 å bruke ved kjøretid. Hvis brukeren (skal kjøres som superbruker) er i den gruppen, eller kan setgid til den, vil den returnere 0

dbmmanage

brukes til å opprette og oppdatere DBM formatfilene som brukes til å lagre brukernavn og passord for grunnleggende autentisering av HTTP brukere

fcgistarter

er et verktøy for å starte et FastCGI program

htcacheclean

brukes til å rydde opp i diskhurtiglageret

htdbm

brukes til å manipulere DBM passorddatabasene

htdigest

brukes til å opprette og oppdatere flat-filene som brukes til å lagre brukernavn, domenene og passord for sammendragsgodkjenning av HTTP brukere

htpasswd

brukes til å opprette og oppdatere flat-filene som brukes til å lagre brukernavn og passord for grunnleggende autentisering av HTTP brukere

httpd

er Apache HTTP server program

httxt2dbm

brukes til å generere DBM filer fra tekst, for bruk i RewriteMap

logresolve

er et etterbehandlingsprogram for å løse IP-adresser i Apache sine tilgangs loggfiler

rotatelogs

er et enkelt program for bruk i forbindelse med Apache sin loggfilfunksjon

suexec

lar brukere kjøre CGI og SSI applikasjoner som en annen bruker

BIND-9.20.18

Introduksjon til BIND

BIND pakken gir en DNS-server og klientverktøy. Hvis du bare er interessert i verktøyene, referer til BIND Utilities-9.20.18.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.isc.org/isc/bind9/9.20.18/bind-9.20.18.tar.xz

  • Nedlasting MD5 sum: cb5cf30e0a66d259cba3ed98cba45bbe

  • Nedlastingsstørrelse: 5.5 MB

  • Estimert diskplass som kreves: 150 MB (23 MB installert)

  • Estimert byggetid: 0.4 SBU (med parallellitet=4; ca. 40 minutter noe prosessoruavhengig, for å kjøre hele testpakken)

BIND Avhengigheter

Påkrevd

liburcu-0.15.6 og libuv-1.52.0

Anbefalt
Valgfri

cURL-8.18.0, libidn2-2.3.8, libxml2-2.15.1, lmdb-0.9.35, MIT Kerberos V5-1.22.2, pytest-9.0.2, sphinx-9.1.0 (nødvendig for å bygge dokumentasjon), cmocka, geoip, jemalloc, w3m

Valgfri (for å kjøre testpakken)

Net-DNS-1.54, dnspython, og hypothesis

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/bind

Installasjon av BIND

Installer BIND ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --sysconfdir=/etc       \
            --localstatedir=/var    \
            --mandir=/usr/share/man \
            --disable-static        &&
make

Utfør følgende kommandoer for å kjøre hele testserien. Først som root bruker, sett opp noen testgrensesnitt:

Notat

Hvis IPv6 ikke er aktivert i kjernen, vil det være flere feilmeldinger: "RTNETLINK answers: Operation not permitted". Disse meldinger påvirker ikke testene.

bin/tests/system/ifconfig.sh up

Testpakken kan indikere at noen tester er hoppet over avhengig av hvilke konfigurasjonsalternativer som brukes. Noen tester er merket «UNTESTED» eller til og med mislykkes hvis Net-DNS-1.54 ikke er installert. En test, dnssec, er kjent for å mislykkes. Testene krever hypothesis og dnspython Python moduler, som ikke er i BLFS. For å omgå dette, oppretter instruksjonene nedenfor et virtuelt Python miljø og installerer deretter modulene der før testene kjøres. For å kjøre testene, som en uprivilegert bruker, kjør:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install dnspython hypothesis              &&
make -k check                                  &&
deactivate

Igjen som root, rydd opp i testgrensesnittet:

bin/tests/system/ifconfig.sh down

Til slutt, installer pakken som root bruker:

make install

Parameterforklaringer

--sysconfdir=/etc: Denne parameteren tvinger BIND for å se etter konfigurasjonsfiler i /etc i stedet for /usr/etc.

--with-libidn2: Denne parameteren aktiverer IDNA2008 (Internationalized Domain Names in Applications) støtte.

--enable-fetchlimit: Bruk dette alternativet hvis du vil begrense frekvensen av rekursive klientforespørsler. Dette kan være nyttig på servere som mottar et stort antall forespørsler.

--disable-doh: Bruk dette alternativet hvis du ikke har nghttp2-1.68.0 installert og ikke trenger støtte for DNS over HTTPS.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--system-site-packages: Tillater at Python3 venv modulen å få tilgang til systeminstallerte /usr/lib/python3.14/site-packages mappen.

Konfigurere BIND

Konfigurasjonsfiler

named.conf, root.hints, 127.0.0, rndc.conf, og resolv.conf

Konfigurasjonsinformasjon

BIND vil bli konfigurert til å kjøre i et chroot fengsel som en uprivilegert bruker (named). Denne konfigurasjonen er sikrere ved at en DNS kompromittering bare kan påvirke noen få filer i named bruker sin HOME mappe.

Opprett den uprivilegerte brukeren og gruppen named:

groupadd -g 20 named &&
useradd -c "BIND Owner" -g named -s /bin/false -u 20 named &&
install -d -m770 -o named -g named /srv/named

Sett opp noen filer, mapper og enheter som trengs av BIND:

mkdir -p /srv/named &&
cd       /srv/named &&
mkdir -p dev etc/named/{slave,pz} usr/lib/engines var/run/named &&
mknod /srv/named/dev/null c 1 3 &&
mknod /srv/named/dev/urandom c 1 9 &&
chmod 666 /srv/named/dev/{null,urandom} &&
cp /etc/localtime etc

rndc.conf filen inneholder informasjon for å kontrollere named operasjoner med rndc verktøyet. Generer en nøkkel for bruk i named.conf og rndc.conf med rndc-confgen kommandoen:

rndc-confgen -a -b 512 -t /srv/named

Opprett named.conf filen som named vil lese plasseringen av sonefiler, root navneservere og sikre DNS nøkler:

cat >> /srv/named/etc/named.conf << "EOF"
options {
    directory "/etc/named";
    pid-file "/var/run/named.pid";
    statistics-file "/var/run/named.stats";

};
zone "." {
    type hint;
    file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
    type master;
    file "pz/127.0.0";
};

// Bind 9 now logs by default through syslog (except debug).
// These are the default logging rules.

logging {
    category default { default_syslog; default_debug; };
    category unmatched { null; };

  channel default_syslog {
      syslog daemon;                      // send to syslog's daemon
                                          // facility
      severity info;                      // only send priority info
                                          // and higher
  };

  channel default_debug {
      file "named.run";                   // write to named.run in
                                          // the working directory
                                          // Note: stderr is used instead
                                          // of "named.run"
                                          // if the server is started
                                          // with the '-f' option.
      severity dynamic;                   // log at the server's
                                          // current debug level
  };

  channel default_stderr {
      stderr;                             // writes to stderr
      severity info;                      // only send priority info
                                          // and higher
  };

  channel null {
      null;                               // toss anything sent to
                                          // this channel
  };
};
EOF

Lag en sonefil med følgende innhold:

cat > /srv/named/etc/named/pz/127.0.0 << "EOF"
$TTL 3D
@      IN      SOA     ns.local.domain. hostmaster.local.domain. (
                        1       ; Serial
                        8H      ; Refresh
                        2H      ; Retry
                        4W      ; Expire
                        1D)     ; Minimum TTL
                NS      ns.local.domain.
1               PTR     localhost.
EOF

Opprett root.hints fil med følgende kommandoer:

Notat

Det må utvises forsiktighet for å sikre at det ikke er ledende mellomrom i denne filen.

cat > /srv/named/etc/named/root.hints << "EOF"
.                       6D  IN      NS      A.ROOT-SERVERS.NET.
.                       6D  IN      NS      B.ROOT-SERVERS.NET.
.                       6D  IN      NS      C.ROOT-SERVERS.NET.
.                       6D  IN      NS      D.ROOT-SERVERS.NET.
.                       6D  IN      NS      E.ROOT-SERVERS.NET.
.                       6D  IN      NS      F.ROOT-SERVERS.NET.
.                       6D  IN      NS      G.ROOT-SERVERS.NET.
.                       6D  IN      NS      H.ROOT-SERVERS.NET.
.                       6D  IN      NS      I.ROOT-SERVERS.NET.
.                       6D  IN      NS      J.ROOT-SERVERS.NET.
.                       6D  IN      NS      K.ROOT-SERVERS.NET.
.                       6D  IN      NS      L.ROOT-SERVERS.NET.
.                       6D  IN      NS      M.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.     6D  IN      A       198.41.0.4
A.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:503:ba3e::2:30
B.ROOT-SERVERS.NET.     6D  IN      A       170.247.170.2
B.ROOT-SERVERS.NET.     6D  IN      AAAA    2801:1b8:10::b
C.ROOT-SERVERS.NET.     6D  IN      A       192.33.4.12
C.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:500:2::c
D.ROOT-SERVERS.NET.     6D  IN      A       199.7.91.13
D.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:500:2d::d
E.ROOT-SERVERS.NET.     6D  IN      A       192.203.230.10
E.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:500:a8::e
F.ROOT-SERVERS.NET.     6D  IN      A       192.5.5.241
F.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:500:2f::f
G.ROOT-SERVERS.NET.     6D  IN      A       192.112.36.4
G.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:500:12::d0d
H.ROOT-SERVERS.NET.     6D  IN      A       198.97.190.53
H.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:500:1::53
I.ROOT-SERVERS.NET.     6D  IN      A       192.36.148.17
I.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:7fe::53
J.ROOT-SERVERS.NET.     6D  IN      A       192.58.128.30
J.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:503:c27::2:30
K.ROOT-SERVERS.NET.     6D  IN      A       193.0.14.129
K.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:7fd::1
L.ROOT-SERVERS.NET.     6D  IN      A       199.7.83.42
L.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:500:9f::42
M.ROOT-SERVERS.NET.     6D  IN      A       202.12.27.33
M.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:dc3::35
EOF

root.hints filen er en liste over rotnavn servere. Denne filen må oppdateres med jevne mellomrom med dig verktøyet. En gjeldende kopi av root.hints kan bli hentet fra https://www.internic.net/domain/named.root. For detaljer, se "BIND 9 Administrator Reference Manual".

Opprett eller modifiser resolv.conf for å bruke den nye navneserveren med følgende kommandoer:

Notat

Erstatt <yourdomain.com> med ditt eget gyldige domenenavn.

cp /etc/resolv.conf /etc/resolv.conf.bak &&
cat > /etc/resolv.conf << "EOF"
search <yourdomain.com>
nameserver 127.0.0.1
EOF

Angi tillatelser for chroot fengselet med følgende kommando:

chown -R named:named /srv/named

Oppstartsskript

For å starte DNS serveren ved oppstart, installer /etc/rc.d/init.d/bind init skriptet inmludert i blfs-bootscripts-20251220 pakken:

make install-bind

Nå start BIND med følgende kommando:

/etc/rc.d/init.d/bind start

Teste BIND

Test ut den nye BIND 9 installasjonen. Spør først den lokale vertsadressen med dig:

dig -x 127.0.0.1

Prøv nå et eksternt navneoppslag, og legg merke til hastighetsforskjellen i gjentatte oppslag på grunn av caching. Kjør dig kommandoen to ganger på samme adresse:

dig www.linuxfromscratch.org &&
dig www.linuxfromscratch.org

Du kan se nesten øyeblikkelige resultater med den navngitte cache oppslag. Rådfør deg med BIND Administrator Reference Manual (se nedenfor) for ytterligere konfigurasjonsalternativer.

Administrator Reference Manual (ARM)

ARM dokumentasjonen (ikke forveksle med prosessorarkitekturen) er inkludert i kildepakken. Dokumentasjonen er i .rst format som betyr at den kan konverteres til lesbare formater hvis sphinx-9.1.0 er installert.

Når BIND er satt opp, spesielt når den skal opererer i et ekte live-scenario, er det høyst anbefalt å konsultere ARM dokumentasjonen. ISC gir en oppdatert sett med utmerket dokumentasjon sammen med hver utgivelse slik at den enkelt kan vises og/eller lastes ned – så det er ingen unnskyldning for ikke å lese dokumentasjonen. Formatene ISC gir er epub og html på https://downloads.isc.org/isc/bind9/9.20.18/doc/arm/.

Innhold

Installerte Programmer: arpaname, ddns-confgen, delv, dig, dnssec-cds, dnssec-dsfromkey, dnssec-importkey, dnssec-keyfromlabel, dnssec-keygen, dnssec-ksr, dnssec-revoke, dnssec-settime, dnssec-signzone, dnssec-verify, host, mdig, named, named-checkconf, named-checkzone, named-compilezone, named-journalprint, named-nzd2nzf, named-rrchecker, nsec3hash, nslookup, nsupdate, rndc, rndc-confgen, og tsig-keygen (symbolkobling)
Installerte Biblioteker: libdns.so, libisc.so, libisccc.so, libisccfg.so, and libns.so
Installerte Mapper: /usr/include/{dns,dst,irs,isc,isccc,isccfg,ns}, /usr/lib/bind, og /srv/named

Korte Beskrivelser

arpaname

oversetter IP adresser til de tilsvarende ARPA navn

ddns-confgen

genererer en nøkkel for bruk av nsupdate og named

delv

er et nytt feilsøkingsverktøy som er en etterfølger til dig

dig

avhører DNS servere

dnssec-cds

endrer DS oppføringer for en underordnet sone basert på CDS/CDNSKEY

dnssec-dsfromkey

sender ut Delegation Signer (DS) resource record (RR)

dnssec-importkey

leser en offentlig DNSKEY oppføring og genererer et par .key/.private filer

dnssec-keyfromlabel

får nøkler med den gitte etiketten fra en kryptografisk maskinvareenhet og bygger nøkkelfiler for DNSSEC

dnssec-keymgr

sikrer korrekt DNSKEY dekning basert på en definert regel

dnssec-ksr

oppretter signert nøkkelrespons (SKR)-filer for offline KSK-oppsett

dnssec-revoke

setter REVOKED biten på en DNSSEC nøkkel

dnssec-settime

angir metadata for nøkkeltiming for en DNSSEC nøkkel

dnssec-signzone

genererer signerte versjoner av sonefiler

dnssec-verify

bekrefter at en sone er fullstendig signert for hver algoritme som er funnet i DNSKEY RRset for sonen, og at NSEC / NSEC3 kjeder er komplette

host

er et verktøy for DNS oppslag

mdig

er en versjon av dig som tillater flere spørringer samtidig

named

er navneserver nissen

named-checkconf

sjekker syntaksen til named.conf filer

named-checkzone

sjekker sonefilens gyldighet

named-compilezone

den er lik named-checkzone, men det dumper alltid soneinnholdet til en spesifisert fil i et spesifisert format

named-journalprint

skriver ut sonejournalen i lesbar form

named-rrchecker

leser en individuell DNS ressurspost fra standardinndata og sjekker om den er syntaktisk riktig

named-nzd2nzf

konverterer en NZD database til NZF tekstformat

nsec3hash

genererer en NSEC3 hash basert på et sett med NSEC3 parametere

nslookup

er et program som brukes til å spørre internettdomene navneservere

nsupdate

brukes til å sende inn DNS oppdateringsforespørsler

rndc

kontrollerer operasjonen av BIND

rndc-confgen

genererer rndc.conf filer

tsig-keygen

er en symbolkobling til ddns-confgen

Kea 3.0.2 DHCP Server

Introduksjon til ISC Kea DHCP Server

ISC Kea pakken inneholder serverprogrammer for DHCP. Det er etterfølgeren til den gamle ISC DHCP serveren som er utgått siden desember 2022.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://downloads.isc.org/isc/kea/3.0.2/kea-3.0.2.tar.xz

  • Nedlasting MD5 sum: a673e95637b708b3b1926c696cdf168b

  • Nedlastingsstørrelse: 6.3 MB

  • Estimert diskplass som kreves: 231 MB (47 MB installert; legg til 425 MB for tester)

  • Estimert byggetid: 6.4 SBU (med parallellitet=4; legge til 17 SBU for tester)

Kea Avhengigheter

Påkrevd

Boost-1.90.0 og log4cplus-2.1.2

Valgfri

BIND-9.20.18, MIT Kerberos V5-1.22.2, Valgrind-3.26.0, botan, cppcheck, libyang, og plantuml

Valgfri (for å regenerere dokumentasjon)

Doxygen-1.16.1, Graphviz-14.1.2, sphinx_rtd_theme-3.1.0, og texlive-20250308 (eller install-tl-unx)

Valgfrie database bakstykker

MariaDB-11.8.6 eller MySQL, og PostgreSQL-18.2

Kjernekonfigurasjon

Du må ha Packet Socket støtte. IPv6 støtte er valgfritt.

[*] Networking support --->                                                [NET]
  Networking options --->
    <*/M> Packet socket                                                 [PACKET]
    [*]   TCP/IP networking                                               [INET]
    <*>     The IPv6 protocol --->                                        [IPV6]

Installasjon av ISC Kea DHCP Server

Først, bruk noen nødvendige rettelser for boost-1.90.0:

sed -e "/asio_wrapper/a#include <boost/asio/deadline_timer.hpp>" \
    -i src/lib/asiolink/interval_timer.cc                        \
       src/lib/asiodns/io_fetch.cc                               \
       src/lib/asiodns/tests/io_fetch_unittest.cc                &&
sed -e "/lexical_cast.hpp/a #include <boost/static_assert.hpp>"  \
    -i src/lib/log/logger_level_impl.cc

Nå, installer ISC Kea DHCP Server ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..             \
      --prefix=/usr        \
      --sysconfdir=/etc    \
      --localstatedir=/var \
      --buildtype=release  \
      -D crypto=openssl    \
      -D runstatedir=/run  &&

ninja

Hvis tester var aktivert, kjør ninja test for å teste resultatene. Det finnes tester som krever en aktiv database når noen av databasehakene er bygget. Noen tester kan mislykkes hvis IPv6 støtte ikke fungerer.

For å installere ISC Kea DHCP Server pakken, utsted følgende kommandoer som root bruker:

ninja install

Fiks noen hardkodede stier i keactrl skript og i konfigurasjonsfilen:

sed -e "s:\${prefix}/::" -i /usr/sbin/keactrl             &&
sed -e "s:\${prefix}//etc:/etc:" -i /etc/kea/keactrl.conf

Opprett noen mapper og fiks tillatelsesinnstillingene deres som root bruker:

install -dm0750 /var/lib/kea
install -dm0750 /var/log/kea

Parameterforklaringer

-D crypto=openssl: Tillater bruk av OpenSSL for kommunikasjon med kontrollagenten og for DNS oppdateringer. Bruk -D crypto=botan hvis du vil bruke botan. Standardleverandøren er openssl.

-D postgresql=enabled eller -D mysql=enabled: ISC Kea kan lagre leiekontraktene på en database. Dette kan være nyttig i store miljøer som kjører en klynge med DHCP servere. Å bruke memfile bakstykket (som er en CSV fil som er lagret lokalt) er mulig uansett.

-D tests=enabled: Dette alternativet er nødvendig for å bygge testpakken. Bruk av dette alternativet fører til at byggestørrelsen øker betydelig, så det bør bare aktiveres hvis du skal kjøre testpakken.

-D krb5=enabled: Denne bryteren muliggjør integrering med Kerberos for autentisering av klientdatamaskiner i et bedriftsmiljø.

Konfigurere ISC Kea DHCP Server

Støtte for IPv4, IPv6 og DDNS er delt inn i separate servere som kjører uavhengig av hverandre. Hver av dem har sin egen konfigurasjonsfil. Ytterligere konfigurasjonsfiler kommer fra keactrl agenten som brukes til å kontrollere serverne på en enklere måte.

Merk at Kea Control Agent er utdatert siden versjon 3.0.0. Ikke forveksle kea-ctrl-agent med keactrl.

Rådfør deg med Kea Administrator Reference Manual for detaljert informasjon om konfigurasjonen av ISC Kea siden det er et ganske kapabelt system. Konfigurasjonen vist nedenfor er et minimum for å få en DHCP server kjørende, men den inkluderer allerede konfigurasjon for DDNS (dynamisk DNS). Det oppsettet er best for små nettverk med få klienter og lave mengder nettverkstrafikk. For større installasjoner med tusenvis av kunder, ISC Kea kan konfigureres til å bruke databaser som (mariadb eller postgresql) for å lagre leiekontraktene og bygge en klynge med flere noder. Den kan integreres med ISC Stork som er et administrasjonsdashbord til ISC Kea.

Hvis du vil starte DHCP serveren ved oppstart, installer /etc/rc.d/init.d/kea-dhcpd init skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-kea-dhcpd

Konfigurasjonsfiler

/etc/kea/keactrl.conf, /etc/kea/kea-ctrl-agent.conf, /etc/kea/kea-dhcp4.conf, /etc/kea/kea-dhcp6.conf, og /etc/kea/kea-dhcp-ddns.conf

Kea kontrollkonfigurasjon

keactrl brukes til å kontrollere uavhengige servere (IPv4, IPv6, DDNS). Konfigurasjonsfilen, /etc/kea/keactrl.conf, er installert som standard og inkluderer mange baneinnstillinger som er definert fra configure ved byggetiden. Det inkluderer også innstillinger for å spesifisere hvilken av serverne som skal være startet.

  • Kontrollagent

    Kontrollagenten er en nisse som tillater (re)konfigurasjon av Kea DHCP tjenesten via REST API. Sett ctrl_agent=yes for å starte kontrollagent (tjeneste som gir en REST API), sett ctrl_agent=no i tilfelle kontrollagenten ikke er nødvendig.

  • IPv4 DHCP server

    Denne nissen håndterer forespørsler om IPv4 adresser. Sett dhcp4=yes for å starte den, sett dhcp4=no i tilfelle IPv4 tjenesten ikke er nødvendig.

  • IPv6 DHCP server

    Denne nissen håndterer forespørsler om IPv6 adresser. Sett dhcp6=yes for å starte den, sett dhcp6=no i tilfelle IPv6 tjenesten ikke er nødvendig.

  • Dynamic DNS

    Denne nissen brukes til å oppdatere en DNS server dynamisk når Kea tildeler en IP adresse til en enhet. Sett dhcp_ddns=yes for å aktivere det, sett dhcp_ddns=no hvis dynamiske DNS oppdateringer ikke er nødvendig.

Netconf tjenesten er ikke installert fordi de nødvendige avhengighetene ikke er installert av BLFS, og det er komplisert å konfigurere den riktig.

Med følgende kommando vil Kea bli konfigurert til å starte DHCP tjenesten for IPv4 og dynamisk DNS oppdatering, mens kontrollagenten og DHCP tjenesten for IPv6 forblir nede. Juster kommandoen til å matche dine behov på startet tjenester og utfør som root bruker:

sed -e "s/^dhcp4=.*/dhcp4=yes/" \
    -e "s/^dhcp6=.*/dhcp6=no/" \
    -e "s/^dhcp_ddns=.*/dhcp_ddns=yes/" \
    -e "s/^ctrl_agent=.*/ctrl_agent=no/" \
    -i /etc/kea/keactrl.conf

Kontrollagentkonfigurasjon

Den oppgitte konfigurasjonen kan brukes uten endringer. I BLFS lagres imidlertid objekter som sockets i /run heller enn i /tmp.

cat > /etc/kea/kea-ctrl-agent.conf << "EOF"
// Begin /etc/kea/kea-ctrl-agent.conf
{
  // This is a basic configuration for the Kea Control Agent.
  // The RESTful interface will be available at http://127.0.0.1:8000/
  "Control-agent": {
    "http-host": "127.0.0.1",
    "http-port": 8000,
    "control-sockets": {
      "dhcp4": {
        "socket-type": "unix",
        "socket-name": "/run/kea/kea4-ctrl-socket"
      },
      "dhcp6": {
        "socket-type": "unix",
        "socket-name": "/run/kea/kea6-ctrl-socket"
      },
      "d2": {
        "socket-type": "unix",
        "socket-name": "/run/kea/kea-ddns-ctrl-socket"
      }
    },

    "loggers": [
      {
        "name": "kea-ctrl-agent",
        "output_options": [
          {
            "output": "/var/log/kea/kea-ctrl-agent.log",
            "pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n"
          }
        ],
        "severity": "INFO",
        "debuglevel": 0
      }
    ]
  }
}
// End /etc/kea/kea-ctrl-agent.conf
EOF

IPv4 DHCP Server Konfigurasjon

En eksempelkonfigurasjonsfil opprettes i /etc/kea/kea-dhcp4.conf. Juster filen slik at den passer dine behov eller overskriv den ved å kjøre følgende kommando som root bruker (du må redigere denne filen uansett: minst interfaces feltet, ddns-qualifying-suffix feltet, og nesten alle feltene i Subnet4):

cat > /etc/kea/kea-dhcp4.conf << "EOF"
// Begin /etc/kea/kea-dhcp4.conf
{
  "Dhcp4": {
    // Add names of your network interfaces to listen on.
    "interfaces-config": {
      "interfaces": [ "eth0", "eth2" ]
    },

    "control-socket": {
      "socket-type": "unix",
      "socket-name": "/run/kea/kea4-ctrl-socket"
    },

    "lease-database": {
      "type": "memfile",
      "lfc-interval": 3600,
      "name": "/var/lib/kea/kea-leases4.csv"
    },

    "expired-leases-processing": {
      "reclaim-timer-wait-time": 10,
      "flush-reclaimed-timer-wait-time": 25,
      "hold-reclaimed-time": 3600,
      "max-reclaim-leases": 100,
      "max-reclaim-time": 250,
      "unwarned-reclaim-cycles": 5
    },

    "renew-timer": 900,
    "rebind-timer": 1800,
    "valid-lifetime": 3600,

    // Enable DDNS - Kea will dynamically update the BIND DNS server
    "ddns-send-updates" : true,
    "ddns-qualifying-suffix": "your.domain.tld",
    "dhcp-ddns" : {
      "enable-updates": true
    },

    "subnet4": [
      {
        "id": 1001,   // Each subnet requires a unique numeric id
        "subnet": "192.168.56.0/24",
        "pools": [ { "pool": "192.168.56.16 - 192.168.56.254" } ],
        "option-data": [
          {
            "name": "domain-name",
            "data": "your.domain.tld"
          },
          {
            "name": "domain-name-servers",
            "data": "192.168.56.2, 192.168.3.7"
          },
          {
            "name": "domain-search",
            "data": "your.domain.tld"
          },
          {
            "name": "routers",
            "data": "192.168.56.2"
          }
        ]
      }
    ],

    "loggers": [
      {
        "name": "kea-dhcp4",
        "output_options": [
          {
            "output": "/var/log/kea/kea-dhcp4.log",
            "pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n"
          }
        ],
        "severity": "INFO",
        "debuglevel": 0
      }
    ]
  }
}
// End /etc/kea/kea-dhcp4.conf
EOF

IPv6 DHCP Server Konfigurasjon

Konfigurasjonen for IPv6 er lik konfigurasjonen av IPv4. Konfigurasjonsfilen er /etc/kea/kea-dhcp6.conf.

Dynamisk DNS konfigurasjon

Hvis det er en BIND-9.20.18 server som kjører, ISC Kea kan oppdatere DNS oppføringene når det gir en IP adresse til en klient. En eksempelkonfigurasjon fil er opprettet i /etc/kea/kea-dhcp-ddns.conf. Juster filen slik at den passer dine behov eller overskriv den ved å kjøre følgende kommando som root bruker:

cat > /etc/kea/kea-dhcp-ddns.conf << "EOF"
// Begin /etc/kea/kea-dhcp-ddns.conf
{
  "DhcpDdns": {
    "ip-address": "127.0.0.1",
    "port": 53001,
    "control-socket": {
      "socket-type": "unix",
      "socket-name": "/run/kea/kea-ddns-ctrl-socket"
    },

    "tsig-keys": [
      {
        "name"      : "rndc-key",
        "algorithm" : "hmac-sha256",
        "secret"    : "1FU5hD7faYaajQCjSdA54JkTPQxbbPrRnzOKqHcD9cM="
      }
    ],

    "forward-ddns" : {
      "ddns-domains" : [
        {
          "name" : "your.domain.tld.",
          "key-name": "rndc-key",
          "dns-servers" : [
            {
              "ip-address" : "127.0.0.1",
              "port" : 53
            }
          ]
        }
      ]
    },

    "reverse-ddns" : {
      "ddns-domains" : [
        {
          "name" : "56.168.192.in-addr.arpa.",
          "key-name": "rndc-key",
          "dns-servers" : [
            {
              "ip-address" : "127.0.0.1",
              "port" : 53
            }
          ]
        }
      ]
    },

    "loggers": [
      {
        "name": "kea-dhcp-ddns",
        "output_options": [
          {
            "output": "/var/log/kea/kea-ddns.log",
            "pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n"
          }
        ],
        "severity": "INFO",
        "debuglevel": 0
      }
    ]
  }
}
// End /etc/kea/kea-dhcp-ddns.conf
EOF

Notat

Verdien av secret er bare et eksempel. Generer nøkkelen for installasjonen din ved å bruke rndc-confgen -a kommandoen eller tsig-keygen kommandoen som begge er levert av BIND-9.20.18.

I denne eksempelkonfigurasjonen antas det at DNS serveren kjører på samme maskin som Kea gjør (tilgjengelig via 127.0.0.1) og at denne maskinen har IP 192.168.56.2.

Innhold

Installerte Programmer: keactrl, kea-admin, kea-ctrl-agent, kea-dhcp4, kea-dhcp6, kea-dhcp-ddns, kea-lfc, kea-msg-compiler, og kea-shell
Installerte Biblioteker: libkea-asiodns.so, libkea-asiolink.so, libkea-cc.so, libkea-cfgrpt.so, libkea-config.so, libkea-cryptolink.so, libkea-d2srv.so, libkea-database.so, libkea-dhcp_ddns.so, libkea-dhcp.so, libkea-dhcpsrv.so, libkea-dns.so, libkea-eval.so, libkea-exceptions.so, libkea-hooks.so, libkea-http.so, libkea-log.so, libkea-log-interprocess.so, libkea-mysql.so, libkea-pgsql.so, libkea-process.so, libkea-stats.so, libkea-tcp.so, libkea-util.so, og libkea-util-io.so
Installerte Mapper: /etc/kea, /run/kea, /usr/include/kea, /usr/lib/kea, /usr/lib/python3.14/site-packages/kea, /usr/share/kea, /usr/share/doc/kea-3.0.2, /var/lib/kea, og /var/log/kea

Korte Beskrivelser

keactrl

er et verktøy for å kontrollere (start/stopp) serverprosessene.

kea-admin

er et skallskript som utfører vedlikehold av DHCP databasen

kea-ctrl-agent

er en daemon som eksponerer et RESTful kontrollgrensesnitt for administrasjon av Kea servere

kea-dhcp4

er DHCP serverdaemonen som leverer IPv4 adresser

kea-dhcp6

er DHCP serverdaemonen som leverer IPv6 adresser

kea-dhcp-ddns

er DHCP serverdaemonen som utfører dynamiske DNS oppdateringer

kea-lfc

er serviceprosessen fjerner overflødig informasjon fra filene som brukes til å gi vedvarende lagring for memfil database bakstykket. Den drives av Kea DHCP serveren

keashell

er en RESTful klient til ISC Kea DHCP servicer.

ProFTPD-1.3.9

Introduksjon til ProFTPD

ProFTPD pakken inneholder en sikker og svært konfigurerbar FTP nisse. Dette er nyttig for servering av store filarkiver over et nettverk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ProFTPD Avhengigheter

Valgfri

libcap-2.77 med PAM, libssh2-1.11.1, Linux-PAM-1.7.2, MariaDB-11.8.6 eller MySQL, PostgreSQL-18.2, og Net::SSH2

Installasjon av ProFTPD

Av sikkerhetsgrunner bør du installere ProFTPD ved å bruke en uprivilegert bruker og gruppe. Som root bruker:

groupadd -g 46 proftpd                             &&
useradd -c proftpd -d /srv/ftp -g proftpd \
        -s /usr/bin/proftpdshell -u 46 proftpd     &&

install -v -d -m775 -o proftpd -g proftpd /srv/ftp &&
ln -v -s /usr/bin/false /usr/bin/proftpdshell      &&
echo /usr/bin/proftpdshell >> /etc/shells

Installer ProFTPD som en uprivilegert bruker ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/run &&
make

Denne pakken kommer ikke med en brukbar testpakke.

Nå, som root bruker:

make install                                   &&
install -d -m755 /usr/share/doc/proftpd-1.3.9 &&
cp -Rv doc/*     /usr/share/doc/proftpd-1.3.9

Parameterforklaringer

install -v -d -m775 -o proftpd -g proftpd /srv/ftp: Oppretter hjemmemappen for ProFTPD.

ln -v -s /usr/bin/false /usr/bin/proftpdshell: Setter standard skall som en kobling til et ugyldig skall.

echo /usr/bin/proftpdshell >> /etc/shells: Forfalske et gyldig skall for kompatibilitetsformål.

Notat

De to ovennevnte kommandoene kan utelates hvis følgende direktiv er plassert i konfigurasjonsfilen:

RequireValidShell off

Som standard vil proftpd kreve at brukere som logger på har gyldig skall. RequireValidShell direktivet slår av dette kravet. Dette anbefales kun hvis du setter opp FTP serveren utelukkende for anonyme nedlastinger.

Notat

Støtte for de fleste av avhengighetspakkene krever bruk av alternativer gitt til configure skriptet. Se utdataen fra ./configure --help for fullstendig informasjon om aktivering av avhengighetspakker.

Konfigurere ProFTPD

Konfigurasjonsfiler

/etc/proftpd.conf

Konfigurasjonsinformasjon

Dette er en enkel konfigurasjon som gjør at det bare kan lastes ned. Se ProFTPD dokumentasjon i /usr/share/doc/proftpd og se nettsiden på http://www.proftpd.org/ for eksempelkonfigurasjoner.

cat > /etc/proftpd.conf << "EOF"
# This is a basic ProFTPD configuration file
# It establishes a single server and a single anonymous login.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on

# Port 21 is the standard FTP port.
Port                            21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service

MaxInstances                    30

# Set the user and group that the server normally runs at.
User                            proftpd
Group                           proftpd

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~


# Normally, files should be overwritable.
<Directory /*>
  AllowOverwrite                on
</Directory>

# A basic anonymous configuration, no upload directories.
<Anonymous ~proftpd>
  User                          proftpd
  Group                         proftpd
  # Clients should be able to login with "anonymous" as well as "proftpd"
  UserAlias                     anonymous proftpd

  # Limit the maximum number of anonymous logins
  MaxClients                    10

  # 'welcome.msg' should be displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin                  welcome.msg
  DisplayChdir                  .message

  # Limit WRITE everywhere in the anonymous chroot
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous>
EOF

Oppstartsskript

Installer /etc/rc.d/init.d/proftpd init skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-proftpd

Innhold

Installerte Programmer: ftpasswd, ftpcount, ftpdctl, ftpmail, ftpquota, ftpscrub, ftpshut, ftptop, ftpwho, in.proftpd (symbolkobling til proftpd), proftpd, og prxs
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/{include,lib}/proftpd, /usr/share/doc/proftpd-1.3.9, og /srv/ftp

Korte Beskrivelser

proftpd

er FTP nissen

ftpcount

viser gjeldende antall tilkoblinger

ftpdctl

brukes til å kontrollere proftpd nissen mens den kjører

ftpasswd

er et Perl skript designet for å lage og administrere AuthUserFiles og AuthGroupFiles med riktig format for proftpd

ftpmail

er et Perl skript for å sende e-post basert på proftpd TransferLog

ftpquota

er et Perl skript designet for å opprette og administrere grenser og måle filer for kombinasjonen mod_quotatab + mod_quotatab_file for proftpd

ftpscrub

gir en måte å skrubbe resultattavlefilen på etter behov

ftpshut

slår av alle proftpd servere på et gitt tidspunkt

ftptop

viser kjørestatus på tilkoblinger

ftpwho

viser gjeldende prosessinformasjon for hver økt

prxs

er et Perl skript designet for å kompilere og installere tredjeparts moduler, fra kildekoden, som DSO moduler for den installerte proftpd

Kapittel 21. Programvare for E-postserver

MTA-er er programmene som transporterer post fra en maskin til annen. Den tradisjonelle MTA er Sendmail, imidlertid er det flere andre valg.

I tillegg til SMTP serverne finnes det også en POP/IMAP server (Dovecot).

Dovecot-2.4.2

Introduksjon til Dovecot

Dovecot er en Internet Message Access Protocol (IMAP) og Post Office Protocol (POP) server, skrevet primært med sikkerhet i tankene. Dovecot har som mål å være lett, rask og enkel å sette opp samt svært konfigurerbar og enkelt å utvide med programtillegg..

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Dovecot Avhengigheter

Påkrevd

libtirpc-1.3.7 og Linux-PAM-1.7.2

Valgfri

Cyrus SASL-2.1.28, ICU-78.2, libcap-2.77 med PAM, libunwind-1.8.3, Lua-5.4.8, MariaDB-11.8.6 eller MySQL, OpenLDAP-2.6.12, PostgreSQL-18.2, Valgrind-3.26.0, xapian-1.4.30, xfsprogs-6.18.0, Cassandra, stemmer og libsodium

Installasjon av Dovecot

Advarsel

Det er betydelige endringer i konfigurasjonen av denne pakken som kreves ved oppdatering til Dovecot 2.4.0. Vennligst se gjennom dokumentasjon på Dovecot Upgrade Guide før du fortsetter hvis du oppgraderer denne pakken fra en tidligere versjon.

Det bør være dedikerte brukere og grupper for uprivilegerte Dovecot prosesser og for behandling av brukernes pålogginger. Utfør følgende kommandoer som root bruker:

groupadd -g 42 dovecot &&
useradd -c "Dovecot unprivileged user" -d /dev/null -u 42 \
        -g dovecot -s /bin/false dovecot &&
groupadd -g 43 dovenull &&
useradd -c "Dovecot login user" -d /dev/null -u 43 \
        -g dovenull -s /bin/false dovenull

Installer Dovecot ved å kjøre følgende kommandoer:

./configure --prefix=/usr                          \
            --sysconfdir=/etc                      \
            --localstatedir=/var                   \
            --with-systemd=no                      \
            --docdir=/usr/share/doc/dovecot-2.4.2  \
            --disable-static &&
make

For å teste resultatene, kjør make -k check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-ldap: Denne bryteren aktiverer OpenLDAP støtte for autentisering.

--with-pgsql: Denne bryteren aktiverer PostgreSQL databasestøtte.

--with-mysql: Denne bryteren aktiverer MySQL databasestøtte.

--with-sqlite: Denne bryteren aktiverer SQLite databasestøtte.

--with-lua=no:: Denne bryteren aktiverer Lua programtilleggstøtte. Dette inkluderer et programtillegg for e-post og push varsling.

Konfigurere Dovecot

Konfigurasjonsfiler

/etc/dovecot/dovecot.conf

Konfigurasjonsinformasjon

Følgende konfigurasjon er et enkelt proof of concept med IMAP tjenesten som bruker lokale brukere for autentisering og postboksplassering.

mv -v /etc/dovecot/dovecot.conf{,.orig} &&
chmod -v 1777 /var/mail &&
cat > /etc/dovecot/dovecot.conf << "EOF"

# The dovecot configuration requires a minimum version to be set. The server
# will refuse to start if the version set here is older than the version of
# Dovecot installed. This option allows the Dovecot server to set reasonable
# default values based on what version is set here.
dovecot_config_version = 2.4.2

# This option sets the minimum version that is able to read data files from
# the Dovecot server. This is primarily for a cluster which may have several
# different versions of Dovecot installed, but is required for the server to
# run.
dovecot_storage_version = 2.4.2

protocols = imap
ssl = no
# The next line is only needed if you have no IPv6 network interfaces
listen = *
mail_inbox_path = /var/mail/%{user}
mail_driver = mbox
mail_path = ~/Mail
userdb users {
  driver = passwd
}
passdb passwords {
  driver = pam
}
EOF

Konfigurasjonen ovenfor krever også en konfigurasjonsfil installert for Linux-PAM slik at dovecot kan autentisere brukere. Utsted følgende kommando som root bruker for å opprette konfigurasjonsfilen for Linux-PAM:

cat > /etc/pam.d/dovecot << "EOF"
# Begin /etc/pam.d/dovecot

auth     include system-auth
account  include system-account
password include system-password

# End /etc/pam.d/dovecot
EOF

Du vil definitivt lese den offisielle dokumentasjonen på https://doc.dovecot.org/2.4.2/ hvis du planlegger å bruke Dovecot i et produksjonsmiljø.

Oppstartsskript

Hvis du vil at Dovecot serveren skal starte automatisk når systemet startes opp, installer /etc/rc.d/init.d/dovecot init skriptet inkludert i blfs-bootscripts-20251220 pakken.

make install-dovecot

Innhold

Installerte Programmer: doveadm, doveconf, dovecot, og dovecot-sysreport
Installerte Biblioteker: diverse interne programtillegg i /usr/lib/dovecot
Installerte Mapper: /etc/dovecot, /usr/{include,lib,libexec,share}/dovecot og /usr/share/doc/dovecot-2.4.2

Korte Beskrivelser

doveadm

er Dovecot administrasjonsverktøy

doveconf

er Dovecot sin konfigurasjonsdumping verktøy

dovecot

er IMAP og POP server

dovecot-sysreport

skriver ut systeminformasjon som er nyttig for Dovecot utviklerne når du sender inn feilrapporter oppstrøms

Exim-4.99.1

Introduksjon til Exim

Exim pakken inneholder en Mail Transport Agent skrevet av University of Cambridge, utgitt under GNU Public License.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

  • Ytterligere formater for dokumentasjonen (tekstbaserte dokumenter er levert med kildene) kan lastes ned ved å følge lenkene vist på https://exim.org/docs.html.

Exim Avhengigheter

Påkrevd

libnsl-2.0.1, og File-FcntlLock-0.22

Valgfri

TDB (alternativ til GDBM, bygget i LFS), Cyrus SASL-2.1.28, libidn-1.43, Linux-PAM-1.7.2, MariaDB-11.8.6 eller MySQL, OpenLDAP-2.6.12, GnuTLS-3.8.12, PostgreSQL-18.2, et grafiske miljø, Heimdal GSSAPI, libspf2, og OpenDMARC

Installasjon av Exim

Før bygging av Exim, som root bruker du bør opprette gruppen og brukeren exim som vil kjøre exim nissen:

groupadd -g 31 exim &&
useradd -d /dev/null -c "Exim Daemon" -g exim -s /bin/false -u 31 exim

Konfigure Exim med følgende kommandoer:

sed -e 's,^BIN_DIR.*$,BIN_DIRECTORY=/usr/sbin,'    \
    -e 's,^CONF.*$,CONFIGURE_FILE=/etc/exim.conf,' \
    -e 's,^EXIM_USER.*$,EXIM_USER=exim,'           \
    -e '/# USE_OPENSSL/s,^#,,' src/EDITME > Local/Makefile &&

printf "USE_GDBM = yes\nDBMLIB = -lgdbm\n" >> Local/Makefile

Hvis du vil legge til Linux PAM støtte, kjør også følgende kommandoer:

sed -i '/# SUPPORT_PAM=yes/s,^#,,' Local/Makefile
echo "EXTRALIBS=-lpam" >> Local/Makefile

Bygg Exim med følgende kommando:

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install                                    &&
install -v -m644 doc/exim.8 /usr/share/man/man8 &&

install -vdm 755    /usr/share/doc/exim-4.99.1 &&
cp      -Rv doc/*   /usr/share/doc/exim-4.99.1 &&

ln -sfv exim /usr/sbin/sendmail                 &&
install -v -d -m750 -o exim -g exim /var/spool/exim

Parameterforklaringer

sed -e ... > Local/Makefile: Mesteparten av Exim sine konfigurasjonsalternativer er definert i Local/Makefile, som er skapt fra src/EDITME filen. Denne kommandoen spesifiserer minimumssett med alternativer. Beskrivelser for alternativene er oppført nedenfor.

printf ... > Local/Makefile: Å sette de variablene lar deg bruke GDBM i stedet for standard Berkeley DB. Fjern denne kommandoen hvis du har installert Berkeley DB (deprecated).

BIN_DIRECTORY=/usr/sbin: Dette installerer alle Exim sine binærfiler og skript i /usr/sbin.

CONFIGURE_FILE=/etc/exim.conf: Dette installerer Exim sin hovedkonfigurasjonsfil i /etc.

EXIM_USER=exim: Dette forteller Exim at etter at nissen ikke lenger trenger root privilegier, prosessen må overlevere nissen til exim brukeren.

USE_OPENSSL: avkommentere USE_OPENSSL=yes og USE_OPNSSL_PC=yes forteller byggesystemet å bruke OpenSSL, og å finne de nødvendige bibliotekene med pkg-config.

Avkommentere EXIM_MONITOR: Dette tillater bygging av Exim overvåkningsprogram, som krever X Window System støtte, og blir kommentert som standard.

ln -sfv exim /usr/sbin/sendmail: Oppretter en link til sendmail for applikasjoner som trenger det. Exim vil godta de fleste Sendmail kommandolinjealternativer.

install -v -m750 -o exim -g exim /var/spool/exim: Siden /var/spool eies av root og denne versjonen av exim dropper root privilegier tidlig, å kjøre som bruker exim, det kan ikke lage /var/spool/exim mappen. Som en omgåing, er det opprettet manuelt.

Legge til Ekstra Funksjonalitet

For å bruke noen eller alle avhengighetspakkene, må du endre Local/Makefile til å inkludere passende direktiver og parametere for å koble til flere biblioteker før du bygger Exim. Local/Makefile er sterkt kommentert med instruksjoner om hvordan du gjør dette. Oppført nedenfor er tilleggsinformasjon for å hjelpe deg med å koble disse avhengighetspakkene eller legge til ekstra funksjonalitet.

Hvis du ønsker å bygge og installere .info dokumentasjon, se https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch04.html#SECTinsinfdoc.

Hvis du ønsker å bygge i Exim sitt grensesnitt for å kalle virus og spam skanningsprogramvare direkte fra tilgangskontrolllister, avkommenter WITH_CONTENT_SCAN=yes parameteren og se gjennom informasjon funnet på https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch45.html.

For å bruke en annen bakstykke database enn GDBM, se instruksjonene på https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch04.html#SECTdb.

For SSL funksjonalitet, se instruksjonene på https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch04.html#SECTinctlsssl og https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch42.html.

For tcpwrappers funksjonalitet, se instruksjoner på https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch04.html#SECID27.

For informasjon om å legge til autentiseringsmekanismer til bygget, se kapitler 33—41 av https://exim.org/exim-html-4.99.1/doc/html/spec_html/index.html.

For informasjon om å koble Linux-PAM, se instruksjonene https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch11.html#SECTexpcond.

For informasjon om kobling av databasemotorbiblioteker som brukes til Exim navneoppslag, se instruksjonene på https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch09.html.

Hvis du ønsker å legge til Readline støtte til Exim når det påkalles «test expansion» (-be) modus, se informasjonen i -be delen av https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch05.html#id2525974.

Det kan være lurt å endre standardkonfigurasjonen og sende loggfiler til syslog i stedet for standard /var/spool/exim/log mappen. Se informasjonen på https://exim.org/exim-html-4.99.1/doc/html/spec_html/ch-log_files.html.

Et vell av informasjon kan også finnes på Exim Wiki.

Konfigurere Exim

Konfigurasjonsfiler

/etc/exim.conf og /etc/aliases

Konfigurasjonsinformasjon

Se gjennom filen /etc/exim.conf, og endre innstillinger til å passe dine behov. Merk at standardkonfigurasjonen antar at /var/mail mappen er skrivbar for alle, men har den klebrige biten satt. Hvis du vil bruke standardkonfigurasjonen, kjør som root bruker:

chmod -v a+wt /var/mail

En standard (ingenting annet enn kommentarer) /etc/aliases fil installeres under pakkeinstallasjonen hvis denne filen ikke finnes på systemet ditt. Opprett de nødvendige aliasene og start Exim nissen ved å bruke følgende kommandoer:

cat >> /etc/aliases << "EOF"
postmaster: root
MAILER-DAEMON: root
EOF
/usr/sbin/exim -bd -q15m

Notat

For å beskytte en eksisterende /etc/aliases fil, kommandoen ovenfor legger til disse aliasene til den. Denne filen bør sjekkes og dupliserte aliaser fjernes, hvis de finnes.

/usr/sbin/exim -bd -q15m kommandoen starter Exim nissen med 15 minutters intervall i behandling av postkøen. Juster denne parameteren for å passe dine ønsker.

Linux PAM Konfigurasjon

Hvis du har bygget Exim med Linux PAM støtte, må du opprette en PAM konfigurasjonsfil for å få den til å fungere riktig med BLFS.

Utfør følgende kommando som root bruker for å opprette konfigurasjonsfilen for Linux PAM:

cat > /etc/pam.d/exim << "EOF"
# Begin /etc/pam.d/exim

auth    include system-auth
account include system-account
session include system-session

# End /etc/pam.d/exim
EOF

Oppstartsskript

For å automatisk starte exim ved oppstart, installer /etc/rc.d/init.d/exim init skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-exim

Oppstartsskriptet starter også Exim nissen og sender en køkjøreprosess hvert 15. minutt. Endre -q<time interval> parameteren i /etc/rc.d/init.d/exim, hvis nødvendig for din installasjon.

Innhold

Installerte Programmer: exicyclog, exigrep, exim, exim-4.99.1-2, exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb, exim_id_update, exim_lock, exim_msgdate, exim_tidydb, eximstats, exinext, exipick, exiqgrep, exiqsumm, exiwhat, og valfritt, eximon, eximon.bin, og sendmail (symbolkobling)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/exim-4.99.1 og /var/spool/exim

Korte Beskrivelser

exicyclog

sirkulerer Exim loggfiler

exigrep

søker Exim loggfiler

exim

er en symbolkobling til exim-4.99.1-2 MTA nissen

exim-4.99.1-2

er Exim posttransportagent nissen

exim_checkaccess

angir om en gitt mottakeradresse fra en gitt vert er akseptabelt eller ikke

exim_dbmbuild

oppretter og bygger om Exim databaser

exim_dumpdb

skriver innholdet i Exim databaser til standardutgangen

exim_fixdb

modifiserer data i Exim databaser

exim_update_id

oppgraderer og nedgraderer Exim meldings id-formater i spool filer

exim_lock

låser en postboksfil

exim_msgdate

konverterer en Exim-meldings-id til en lesbar form

exim_tidydb

fjerner gamle poster fra Exim databaser

eximstats

genererer poststatistikk fra Exim loggfiler

exinext

spør om prøvetider for ekstern vert

exipick

velger meldinger basert på ulike kriterier

exiqgrep

er et verktøy for selektiv køoppføring

exiqsumm

produserer et sammendrag av meldingene i postkøen

exiwhat

spørrer kjørende Exim prosesser

eximon

er et oppstarts skallskript for eximon.bin brukes til å angi de nødvendige miljøvariablene før du kjører programmet

eximon.bin

er et monitorprogram som viser gjeldende informasjon i et X vindu, og inneholder også en meny grensesnitt til Exim sin kommandolinje administrasjonsmuligheter

Postfix-3.10.7

Introduksjon til Postfix

Postfix pakken inneholder en posttransport agent (MTA). Dette er nyttig for å sende e-post til andre brukere av vertsnmaskinen din. Den kan også konfigureres til å være en sentral e-postserver for ditt domene, en e-postreléagent eller ganske enkelt en e-postleveringsagent til din lokale internett leverandør.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Postfix Avhengigheter

Anbefalt
Valgfri

ICU-78.2 for internasjonalisering av e-postadresser (SMTPUTF8) støtte, MariaDB-11.8.6 or MySQL, OpenLDAP-2.6.12, PostgreSQL-18.2, Berkeley DB (deprecated), og CDB eller TinyCDB

Merk at SQLite, MySQL, PostgreSQL og CDB er bare nyttige hvis det er et kjent behov for dem.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/postfix

Installasjon av Postfix

Legge til Brukere og Grupper

Før du kompilerer programmet, må du opprette brukere og grupper som forventes å være på plass under installasjonen. Legg til brukerne og grupper med følgende kommandoer utstedt av root bruker:

groupadd -g 32 postfix &&
groupadd -g 33 postdrop &&
useradd -c "Postfix Daemon User" -d /var/spool/postfix -g postfix \
        -s /bin/false -u 32 postfix &&
chown -v postfix:postfix /var/mail

Konfigurering av Bygget

README filer er formatert for å kunne leses med en leser som less eller more. Hvis du vil bruke et tekstredigeringsprogram, gjør du det lesbart med følgende sed:

sed -i 's/.\x08//g' README_FILES/*

Postfix kildetreet inneholder ikke et configure skript, snarere makefilen i toppnivåmappen inneholder en makefiles mål som regenererer alle de andre makefilene i byggetreet. Hvis du ønsker å bruke tilleggsprogramvare som en databasebackend for virtuelle brukere, eller TLS/SSL autentisering, må du regenerere makefilene ved å bruke en eller flere av de passende CCARGS og AUXLIBS innstillingene oppført nedenfor.

Notat

For alle varianter av CCARGS bør du sørge for at '-DNO_NIS' er spesifisert slik at byggingen ikke prøver å få tilgang til en rpcsvc deklarasjonen som ikke finnes i BLFS. Hvis Berkeley DB (deprecated) ikke er installert, '-DNO_DB' må spesifiseres også.

Les readme filene for mer informasjon.

Initialiser CCARGS og AUXLIBS i henhold til notatet ovenfor:

CCARGS="-DNO_NIS -DNO_DB"
AUXLIBS=""

Neste, CCARGS og AUXLIBS variabler er fylt med innstillinger avhengig av den faktiske Systemkonfigurasjonen. Hvis en valgfri pakke er installert, men ikke burde inkluderes i Postfix bygget, bare hoppe over tilsvarende if [ ... ]; then i skriptet.

Cyrus-SASL

For å bruke Cyrus-SASL med Postfix, bruk følgende argumenter:

if [ -r /usr/lib/libsasl2.so ]; then
  CCARGS="$CCARGS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"
  AUXLIBS="$AUXLIBS -lsasl2"
fi
LMDB

For å bruke LMDB med Postfix, bruk følgende argumenter:

if [ -r /usr/lib/liblmdb.so ]; then
  CCARGS="$CCARGS -DHAS_LMDB"
  AUXLIBS="$AUXLIBS -llmdb"
fi
OpenLDAP

For å bruke OpenLDAP med Postfix, bruk følgende argumenter:

if [ -r /usr/lib/libldap.so -a -r /usr/lib/liblber.so ]; then
  CCARGS="$CCARGS -DHAS_LDAP"
  AUXLIBS="$AUXLIBS -lldap -llber"
fi
Sqlite

For å bruke Sqlite med Postfix, bruk følgende argumenter:

if [ -r /usr/lib/libsqlite3.so ]; then
  CCARGS="$CCARGS -DHAS_SQLITE"
  AUXLIBS="$AUXLIBS -lsqlite3 -lpthread"
fi
MySQL

For å bruke MySQL med Postfix, bruk følgende argumenter:

if [ -r /usr/lib/libmysqlclient.so ]; then
  CCARGS="$CCARGS -DHAS_MYSQL -I/usr/include/mysql"
  AUXLIBS="$AUXLIBS -lmysqlclient -lz -lm"
fi
PostgreSQL

For å bruke PostgreSQL med Postfix, bruk følgende argumenter:

if [ -r /usr/lib/libpq.so ]; then
  CCARGS="$CCARGS -DHAS_PGSQL -I/usr/include/postgresql"
  AUXLIBS="$AUXLIBS -lpq -lz -lm"
fi
CDB/TinyCDB

For å bruke CDB eller TinyCDB med Postfix, bruk følgende argumenter:

if [ -r </path/to/CDB>/libcdb.a ]; then
  CCARGS="$CCARGS -DHAS_CDB"
  AUXLIBS="$AUXLIBS </path/to/CDB>/libcdb.a"
fi
StartTLS Authentication

For å bruke OpenSSL med Postfix, bruk følgende argumenter:

if [ -r /usr/lib/libssl.so -a -r /usr/lib/libcrypto.so ]; then
  CCARGS="$CCARGS -DUSE_TLS -I/usr/include/openssl/"
  AUXLIBS="$AUXLIBS -lssl -lcrypto"
fi

OpenSSL er installert av LFS så det skal alltid være der. if ... then er her bare for konsistens.

Installere Postfix

Det kan være dupliserte innstillinger i AUXLIBS som -lm når både, MariaDB og PostgreSQL er brukt. De gjør ikke skade. Installer Postfix ved å kjøre følgende kommandoer:

make CC="gcc -std=gnu17" CCARGS="$CCARGS" AUXLIBS="$AUXLIBS" makefiles &&
make

Denne pakken kommer ikke med en nyttig testpakke.

Nå, som root bruker:

sh postfix-install -non-interactive  \
   daemon_directory=/usr/lib/postfix \
   manpage_directory=/usr/share/man  \
   html_directory=/usr/share/doc/postfix-3.10.7/html \
   readme_directory=/usr/share/doc/postfix-3.10.7/readme

Parameterforklaringer

make makefiles: Denne kommandoen gjenoppbygger makefilene gjennom kildetreet for å bruke alternativene i CCARGS og AUXLIBS variablene.

sh postfix-install -non-interactive: Dette holder installer skriptet fra å stille spørsmål, og aksepterer dermed standard destinasjonsmapper i alle unntatt noen få tilfeller. Hvis html_directory og readme_directory alternativer ikke er angitt, vil ikke dokumentasjonen bli installert.

CC="gcc -std=gnu17": Dette brukes til å løse et problem med gcc-15. Denne versjonen av gcc bruker -std=gnu23 som standard som avslører flere problemer i kildekoden.

CCARGS="-DNO_EAI ...": dette vil slå av SMTPUTF8 støtte, for eksempel hvis resten av e-postadressens infrastruktur ikke kan håndtere UTF-8-e-postadresser og meldingsdeklarasjonsverdier.

Konfigurere Postfix

Konfigurasjonsfiler

/etc/aliases, /etc/postfix/main.cf, og /etc/postfix/master.cf

Konfigurasjonsinformasjon

Opprett (eller legg til en eksisterende) /etc/aliases med følgende kommando. Endre <LOGIN> til din ikke-root påloggings identitet så e-post adressert til root kan videresendes til deg. Som root bruker:

cat >> /etc/aliases << "EOF"
# Begin /etc/aliases

MAILER-DAEMON:    postmaster
postmaster:       root

root:             <LOGIN>
# End /etc/aliases
EOF

For å beskytte en eksisterende /etc/aliases fil, kommandoen ovenfor legger til disse aliasene til den hvis den eksisterer. Denne filen bør kontrolleres og dupliserte aliaser fjernes, hvis de finnes.

BLFS redaktørene anbefaler å bruke LMDB i stedet for Berkeley DB for Postfix tabeller. Legg til tre linjer i /etc/postfix/main.cf for å la postmap kode oppslagstabellene i LMDB formater som standard og for å endre standard hash innstilling for alias tabeller:

echo 'default_database_type = lmdb'       >> /etc/postfix/main.cf &&
echo 'alias_database = lmdb:/etc/aliases' >> /etc/postfix/main.cf &&
echo 'alias_maps = lmdb:/etc/aliases'     >> /etc/postfix/main.cf

For å beskytte serveren din mot de siste SMTP smuglingangrepene, ytterligere trinn kreves. Legg til to linjer i /etc/postfix/main.cf for å koble fra eksterne SMTP klienter som sender bare nye linjer i DATA delen, mens også tillater klienter på nettverket ditt med ikke-standard SMTP implementeringer for fortsatt å sende e-post:

echo 'smtpd_forbid_bare_newline = normalize' >> /etc/postfix/main.cf &&
echo 'smtpd_forbid_bare_newline_exclusions = $mynetworks' >> /etc/postfix/main.cf

Merk at hvis du følger en nettbasert veiledning for å konfigurere Postfix, veiledningen kan referere til en oppslagstabell med hash:/path/to/lookup_table. Du bør erstatte hash med lmdb for å bruke en oppslagstabell kodet i LMDB formatet.

Notat

/etc/postfix/main.cf og /etc/postfix/master.cf filene må tilpasses for systemet ditt. main.cf filen trenger din fullt kvalifiserte vertsnavn. Du vil se at main.cf er selvdokumenterende, så last den inn i ditt redigeringsprogram for å gjøre endringene du trenger for din situasjon.

Notat

Postfix kan også settes opp til kjøre i et chroot fengsel. Se filen i kilden examples/chroot-setup/LINUX2 for detaljer.

For å sikre at alle tillatelser er riktig angitt, postfix gir et verktøy som skal kjøres som root bruker:

/usr/sbin/postfix -c /etc/postfix set-permissions

Hvis du har en eksisterende konfigurasjon, kan du kjøre postfix verktøy for å legge til nødvendige definisjoner i dine eksisterende filer. Som root bruker:

/usr/sbin/postfix upgrade-configuration

Før start av Postfix, bør du sjekke at konfigurasjonen og filtillatelsene vil fungere som de skal. Kjør følgende kommandoer som root bruker for å sjekke og starte din Postfix server:

/usr/sbin/postfix check &&
/usr/sbin/postfix start

Oppstartsskript

For å automatisere kjøringen av Postfix ved oppstart, installer /etc/rc.d/init.d/postfix init skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-postfix

Innhold

Installerte Programmer: mailq (symbolkobling), newaliases (symbolkobling), postalias, postcat, postconf, postdrop, postfix, postkick, postlock, postlog, postmap, postmulti, postqueue, postsuper, og sendmail
Installerte Biblioteker: Ingen
Installerte Mapper: /{etc,usr/lib}/postfix, /usr/share/doc/postfix-3.10.7 og /var/{lib,spool}/postfix

Korte Beskrivelser

mailq

En symbolkobling til sendmail

newaliases

En symbolkobling til sendmail

postalias

er et verktøy for Postfix alias database vedlikehold

postcat

Skriver ut innholdet i filene fra Postfix køen i lesbart format

postconf

Viser eller endrer verdien av Postfix konfigurasjonsparametere

postdrop

Oppretter en fil i maildrop mappen og kopierer standard inndata til filen

postfix

er Postfix kontrollprogram

postkick

Sender forespørsler til den angitte tjenesten over en lokal transportkanal

postlock

Låser en e-postmappe for eksklusivt bruk, og utfører beståtte kommandoer til det

postlog

En Postfix kompatibelt loggingsgrensesnitt for bruk i for eksempel skallskript

postmap

Oppretter eller spør etter en eller flere Postfix oppslagstabeller, eller oppdaterer en eksisterende

postmulti

er Postfix multi-instans manager. Det lar en systemadministrator administrere flere Postfix forekomster på en enkelt vert

postqueue

Postfix brukergrensesnitt for køhåndtering

postsuper

Postfix brukergrensesnitt for superbruker køhåndtering

sendmail

er Postfix til Sendmail kompatibilitetsgrensesnitt

Kapittel 22. Databaser

Dette kapittelet inkluderer databaser som spenner fra enkeltbruker lese/skrive til industrielle databaseservere med transaksjonsstøtte. Vanligvis vil du bli sendt hit for å tilfredsstille avhengigheter til andre applikasjoner selv om det er å bygge en SQL server på et basisk LFS system er fullt mulig.

Viktige Merknader om Oppgradering av Databaseserverprogramvare

Notat

Denne delen handler om å installere databaseprogramvare på nytt når en eksisterende database er i bruk. Det gjelder ikke for innledende installasjoner eller hvis det ikke finnes en eksisterende database for pakken som oppdateres, men brukere bør lese gjennom den for å bli bevisst på problemer som kan oppstå i fremtiden.

La oss starte dette kapittelet med et dramatisk skjermbilde av en feil som virkelig skjedde. Denne feilen vil ikke oppstå hvis du installerer databaseprogramvaren for første gang:

$ sudo systemctl status postgresql
-- postgresql.service - PostgreSQL database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Tue 2021-10-26 17:11:53 CDT; 2min 49s ago
    Process: 17336 ExecStart=/usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120 (code=exited, status=1/FAILURE)
        CPU: 7ms

Oct 26 17:11:53 SVRNAME systemd[1]: Starting PostgreSQL database server...
Oct 26 17:11:53 SRVNAME postgres[17338]: 2021-10-26 17:11:53.420 CDT [17338] FATAL:
                database files are incompatible with server
Oct 26 17:11:53 SRVNAME postgres[17338]: 2021-10-26 17:11:53.420 CDT [17338] DETAIL:
                The data directory was initialized by PostgreSQL version 13,
                which is not compatible with this version 14.0.
Oct 26 17:11:53 SRVNAME postgres[17336]: pg_ctl: could not start server
Oct 26 17:11:53 SRVNAME postgres[17336]: Examine the log output.
Oct 26 17:11:53 SRVNAME systemd[1]: postgresql.service: Control process exited, code=exited, status=1/FAILURE
Oct 26 17:11:53 SRVNAME systemd[1]: postgresql.service: Failed with result 'exit-code'.
Oct 26 17:11:53 SRVNAME systemd[1]: Failed to start PostgreSQL database server.

For å unngå situasjoner som dette (dvs. databaseserverprogramvaren din nekter å starte), les følgende diskusjon om den beste måten å oppgradere en DBMS (Databasestyringssystem).

Grunnårsaken til feilen vist ovenfor var en oppgradering av serverprogramvaren til en nyere hovedversjon som forlot datafiler urørt. I dette tilfellet var administratoren i stand til å gjenopprette DBMS uten tap av data.

Selv om du gjør en innledende DBMS installasjon, les gjennom denne seksjonen. Den gir informasjon om implementering av sikkerhetskopiering og gjenopprettings prosedyrer (eller i det minste en strategi for å lage dem) som vil tilfredsstille dine behov og garantere sikkerheten av dataene dine.

Oppgrader Databaseserverpakker

Databasesystemer fungerer på filer som inneholder databasens metadata og data. Den interne strukturen til disse filene er optimalisert for bruk av serverprogramvaren. Når slik serverprogramvare oppgraderes, den nye programvaren kan bruke et annet filformat enn som tidligere var brukt. Noen ganger kan den nye programvaren arbeide med det gamle formatet så vel som det nye—men uten ytelsesforbedringer det nye formatet gir. Andre ganger vil den nye serverprogramvaren formatere datafilene automatisk etter oppgraderingen.

Dessverre er det mest sannsynlige tilfellet at den nye serverprogramvaren klager på utdaterte filformater og utdataer. Når dette skjer, og du har overskrevet den gamle serverprogramvaren, kan du ende opp med et ødelagt system og tapte data.

Endringer i datafilformater skjer vanligvis ved større versjonsendringer, men de kan også forekomme på andre tidspunkter. Før du oppgraderer noen DBMS programvare, sjekk dokumentasjonen for å se om denne oppgraderingen gjør endringer som krever omformatering av databasen.

Selvfølgelig, hvis du har databaser med innhold som ikke er lett gjenoppbygd, er det alltid en god idé å lage sikkerhetskopier av databasen fra fra tid til annen. Før du oppgraderer serverprogramvaren, bør du kjøre en annen sikkerhetskopi.

Oppgrader med Sikkerhetskopiering og Gjenoppretting

Notat

En sikkerhetskopi er ubrukelig hvis det ikke er noen bekreftet prosess for å gjenopprette dataene fra denne sikkerhetskopien. Når du kjører en databaseserver, bør du ikke bare lage sikkerhetskopier; du bør også bekrefte at gjenopprettingsprosessen virkelig fungerer. Tiden for å teste gjenopprettingsprosedyren er før du som snarest trenger å gjenopprette tapte data.

De fleste databaseserverprogramvare gir noen grunnleggende verktøy for å lage sikkerhetskopier av dataene dine. Vanligvis sikkerhetskopiene opprettet med disse verktøyene kan leses av nyere versjoner av programvaren (via en gjenopprettingsverktøy). Bruk av eldre gjenopprettingsverktøy med nyere sikkerhetskopieringsdata er en dårlig idé; du burde aldri blindt anta det vil fungere. Det kan det, men vanligvis gjør det ikke det.

Den enkleste måten å oppgradere databasefilene på er å

  • Lag en fullstendig sikkerhetskopi av databasen ved å bruke de gamle verktøyene.

    Dette trinnet oppretter en frakoblet kopi av databasefilene—for langsiktig arkivering, for katastrofegjenoppretting, eller som forberedelse til en oppgradering. Denne offline sikkerhetskopien består av enten (1) en full en-til-en kopi av gjeldende databasefiler, eller (2) en fullstendig sikkerhetskopi av databasefiler for et bestemt tidspunkt, pluss alle journaldataene (det vil si Oracle® terminologi, kalles det "Kontinuerlig arkivering" eller "write ahead log (WAL)" i Postgresql) som beskriver endringer gjort etter dette tidspunktet. Denne andre formen tar mindre tid å lage (hvis DB programvaren gir denne typen journalføring) fordi du bare har å lagre dataene som er endret siden siste fullstendige sikkerhetskopi ble opprettet.

    Ved oppgradering av databaseserverprogramvare, en fullstendig sikkerhetskopi (som kan brukes til påfølgende inkrementelle sikkerhetskopier) bør være opprettet; men hvis det er mye data, vil en inkrementell sikkerhetskopi være nok. Den beste strategien for deg avhenger av mengden data som er lagret i databasen din (er det noen hundre tabeller rader, eller er det hundrevis av terabyte?). En full backup i sistnevnte tilfelle kan ikke gjøres raskt. For å fullstendig beskytte dataene dine, lag en sikkerhetskopi av de gamle programmene (og/eller deres kilder) og lagre det sammen med datafilene, for å være sikker på at det finnes en reserveløsning hvis den nye programvaren ikke kan lese de gamle dataene.

  • Oppgrader serverprogramvaren

    I dette trinnet, instruksjoner for å bygge databaseserverprogramvaren kjøres akkurat slik de er vist i påfølgende avsnitt om DBM-ene som MariaDB eller Postgresql. Det vil si å bygge programvaren som vanlig ved å bruke BLFS instruksjoner.

  • Gjenopprett databasen ved å bruke de nye verktøyene.

    For å gjenopprette dataene, verktøyene til den nylig installerte serverprogramvaren skal brukes. Under restaureringsprosessen, den nye verktøyet vil opprette og/eller oppgradere datafilene i formatet som ny programvare krever. Det antas at nyere programvare er i stand til lese gamle data.

Siden du allerede har en sikkerhetskopiprosedyre på plass (og du har testet gjenopprettingsprosedyren din, ikke sant?), kan dette være den enkleste måten å oppgradere siden du kan bruke dine velkjente prosesser for å oppgradere akkurat som du alltid gjør—i det minste når det gjelder sikkerhetskopieringen og gjenopprettingen.

Oppgrader Databasefilene ved å Bruke Systemverktøy

Noen databasesystemer (for eksempel Postgresql) gir et verktøy som kan omformatere (oppgradere) de eksisterende databasefilene til det nye formatet. Hvis du trenger å gjenopprette fra en sikkerhetskopi (for eksempel kjøring av oppgraderingsverktøyet mislyktes) må du installere den gamle programvaren på nytt for å gjenopprette dataene dine.

Selv om omformateringsverktøyene kan fungere som annonsert, bør du lage en fullstendig sikkerhetskopi før du kjører dem. En feil kan forårsake alvorlig skade på databasen.

Merknader for spesifikke DBMS

PostgreSQL

Oppstrøms dokumentasjon for sikkerhetskopiering/gjenoppretting: https://www.postgresql.org/docs/current/backup.html

MariaDB

Oppstrøms dokumentasjon for sikkerhetskopiering/gjenoppretting: https://mariadb.com/kb/en/backup-and-restore-overview/

Sqlite

Ikke undervurder Sqlite. Det er en funksjonsrikt DBMS. Hovedforskjellen fra de to store aktørene ovenfor er at Sqlite ikke gir tilgang via en nettverks API. SQLite databaser er alltid lagret på maskinen som kjører programmet som bruker databasen. Manipulering av datainnhold gjøres via API kall til bibliotekfunksjoner direkte i programmet.

I oppstrømsdokumentasjonen kan du finne følgende nyttig:

Dokumentasjon av kommandolinjeverktøyet sqlite3: https://www.sqlite.org/cli.html

Dokumentasjon av sikkerhetskopiering API kall: https://www.sqlite.org/backup.html

Dessverre er det ikke noe dedikert kapittel i oppstrøms dokumentasjon som snakker om sikkerhetskopiering/gjenoppretting, men det er flere artikler om det på Internett. Her er et eksempel.

Dokumentasjon for sikkerhetskopiering/gjenoppretting: https://database.guide/backup-sqlite-database/

LMDB

Som Sqlite, denne programvaren virker på lokale databasefiler; det er ingen nettverksgrensesnitt.

De relevante ressursene for å sikkerhetskopiere/gjenopprette en LMDB-database er manualsidene for mdb_dump og dets motpart mdb_load.

lmdb-0.9.35

Introduksjon til lmdb

lmdb pakken er en rask, kompakt, nøkkelverdi innebygd datalagrer. Den bruker minnetilordnede filer, så den har lesing ytelsen til en ren minnedatabase samtidig som den tilbyr utholdenhet av standard diskbaserte databaser, og er bare begrenset til størrelsen på det virtuelle adresserommet

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av lmdb

Installer lmdb ved å kjøre følgende kommandoer:

cd libraries/liblmdb &&
make                 &&
sed -i 's| liblmdb.a||' Makefile

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make prefix=/usr install

Parameterforklaringer

sed ... liblmdb.a ... Makefile: Pakkens kjørbare filer bruker et statisk bibliotek, så det må opprettes. Denne kommandoen undertrykker installasjonen av det statiske biblioteket.

Innhold

Installert Program: mdb_copy, mdb_dump, mdb_load, og mdb_stat
Installert Bibliotek: liblmdb.so
Installerte Mapper: Ingen

Korte Beskrivelser

mdb_copy

kopierer et LMDB miljø fra en database til en annen, inkludert muligheten til å komprimere databasen

mdb_dump

leser en database og skriver dens innhold til standard utdata ved hjelp av et flyttbart flatt-tekstformat, som kan tolkes av mdb_load

mdb_load

importerer en database fra standard inndata eller fra en fil

mdb_stat

viser statusen til et LMDB miljø

liblmdb.so

gir funksjoner for tilgang til en LMDB database

MariaDB-11.8.6

Introduksjon til MariaDB

MariaDB er en fellesskapsutviklet gren og en drop-in erstatning for MySQL relasjonelle databasestyringssystem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

Den installerte størrelsen på MariaDB er 763 MB, men den kan bli redusert med ca. 269 MB, hvis ønskelig, ved å fjerne /usr/share/mariadb/test mappen etter installasjonen.

Obs

Hvis du oppgraderer en eksisterende database, se MariaDB Release Notes for ytterligere informasjon, og bruk instruksjonene etter delen Konfigurasjonsinformasjon for å sikre en trygg oppgradering.

MariaDB Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt
Valgfri

Boost-1.90.0, fmt-12.1.0, git-2.53.0, Java-21.0.9, libaio-0.3.113, libxml2-2.15.1, Linux-PAM-1.7.2, LZO-2.10, MIT Kerberos V5-1.22.2, Ruby-4.0.1, sphinx-9.1.0, unixODBC-2.3.14, Valgrind-3.26.0, Groonga, KyTea, Judy, libstemmer, MeCab, MessagePack, mruby, MyRocks, Snappy, og ZeroMQ

Installasjon av MariaDB

Advarsel

MariaDB og MySQL kan ikke installeres på samme system uten omfattende endringer i byggekonfigurasjonen til en av de to applikasjonene.

Av sikkerhetsgrunner, å kjøre serveren som en uprivilegert bruker og gruppe oppfordres sterkt. Utsted følgende (som root) for å opprette bruker og gruppe:

groupadd -g 40 mariadb &&
useradd -c "MariaDB Server" -d /srv/mariadb -g mariadb -s /bin/false -u 40 mariadb

Løs et problem med å oppdage Boost-1.89.0 og nyere:

sed -i 's/regex system/regex/' \
       storage/columnstore/columnstore/cmake/boost.cmake

Installer MariaDB ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_BUILD_TYPE=Release                       \
      -D CMAKE_INSTALL_PREFIX=/usr                      \
      -D GRN_LOG_PATH=/var/log/groonga.log              \
      -D INSTALL_DOCDIR=share/doc/mariadb-11.8.6        \
      -D INSTALL_DOCREADMEDIR=share/doc/mariadb-11.8.6  \
      -D INSTALL_MANDIR=share/man                       \
      -D INSTALL_MYSQLSHAREDIR=share/mariadb            \
      -D INSTALL_MYSQLTESTDIR=share/mariadb/test        \
      -D INSTALL_PAMDIR=lib/security                    \
      -D INSTALL_PAMDATADIR=/etc/security               \
      -D INSTALL_PLUGINDIR=lib/mariadb/plugin           \
      -D INSTALL_SBINDIR=sbin                           \
      -D INSTALL_SCRIPTDIR=bin                          \
      -D INSTALL_SQLBENCHDIR=share/mariadb/bench        \
      -D INSTALL_SUPPORTFILESDIR=share/mariadb          \
      -D MYSQL_DATADIR=/srv/mariadb                     \
      -D MYSQL_UNIX_ADDR=/run/mariadb/mariadb.sock      \
      -D WITH_EXTRA_CHARSETS=complex                    \
      -D WITH_EMBEDDED_SERVER=ON                        \
      -D SKIP_TESTS=ON                                  \
      -D TOKUDB_OK=0                                    \
      -W no-dev                                         \
      .. &&
make

For å teste resultatene, kjør: make test. To tester, my_tzinfo og test-connect, er kjent for å mislykkes.

Nå, som root bruker:

make install

Parameterforklaringer

-D WITH_EMBEDDED_SERVER=ON: Denne bryteren aktiverer kompilering av det innebygde serverbiblioteket som trengs av visse applikasjoner, som for eksempel Amarok.

-D WITH_EXTRA_CHARSETS=complex: Denne bryteren aktiverer støtte for komplekse tegnsett.

-D SKIP_TESTS=ON: Denne bryteren deaktiverer tester for MariaDB Connector/C som ikke støttes uten ekstra oppsett.

-D WITHOUT_SERVER=ON: Bruk denne bryteren hvis du ikke vil ha serveren og bare ønsker å bygge klienten.

-W no-dev: Denne bryteren slår av noen advarsler som bare er nyttige for utviklere.

Notat

Det er mange alternativer tilgjengelig for cmake. Sjekk utdataen av cmake . -LH for tilleggs tilpasningsalternativer.

Konfigurere MariaDB

Konfigurasjonsfiler

/etc/mariadb/my.cnf og ~/.my.cnf

Konfigurasjonsinformasjon

Lag en grunnleggende /etc/mariadb/my.cnf fil ved å bruke følgende kommando som root bruker:

cat > /etc/my.cnf << "EOF"
# Begin /etc/mariadb/my.cnf

# The following options will be passed to all MySQL clients
[client]
#password       = your_password
port            = 3306
socket          = /run/mariadb/mariadb.sock

# The MySQL server
[mariadb]
port            = 3306
socket          = /run/mariadb/mariadb.sock
datadir         = /srv/mariadb
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 16K
myisam_sort_buffer_size = 8M

# Don't listen on a TCP/IP port at all.
skip-networking

# required unique id between 1 and 2^32 - 1
server-id       = 1

# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000

# InnoDB tables are now used by default
innodb_data_home_dir = /srv/mariadb
innodb_log_group_home_dir = /srv/mariadb
# All the innodb_xxx values below are the default ones:
innodb_data_file_path = ibdata1:12M:autoextend
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 128M
innodb_log_file_size = 48M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

[mariadbdump]
quick
max_allowed_packet = 16M

[client]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mariadbhotcopy]
interactive-timeout

# End /etc/mariadb/my.cnf
EOF

Du kan nå installere en database og endre eierskapet til uprivilegert bruker og gruppe (utfør som root bruker):

mariadb-install-db --basedir=/usr --datadir=/srv/mariadb --user=mariadb &&
chown -R mariadb:mariadb /srv/mariadb

Ytterligere konfigurasjon krever at MariaDB serveren kjører. Start serveren ved bruk av følgende kommandoer som root bruker:

install -v -m755 -o mariadb -g mariadb -d /run/mariadb &&
mariadbd-safe --user=mariadb 2>&1 >/dev/null &

En standardinstallasjon setter ikke opp et passord for administrator, så bruk følgende kommando som root bruker til å angi et.

mariadb-admin -u root password

Konfigurasjonen av serveren er nå fullført. Stopp serveren ved å bruke følgende kommando som root bruker:

mariadb-admin -p shutdown

Oppstartsskript

Installer /etc/rc.d/init.d/mariadb init skriptet inkludert i blfs-bootscripts-20251220 pakken som root bruker for å starte MariaDB serveren under oppstart av systemet.

make install-mariadb

Notat

Hvis du allerede har en eksisterende database og denne installasjonen av binærfiler bare var en oppgradering til en nyere versjon, sjekk oppstrømsdokumentasjonen for oppgradering. Det anbefales å kjøre:

mariadb-upgrade

Innhold

Installerte Programmer: aria_chk, aria_dump_log, aria_ftdump, aria_pack, aria_read_log, aria_s3_copy, galera_new_cluster, galera_recovery, innochecksum, mariabackup, mariadb, mariadbd, mariadb-access, mariadb-admin, mariadb-backup, mariadb-binlog, mariadb-check, mariadb-client-test, mariadb-client-test-embedded, mariadb-conv, mariadb-convert-table-format, mariadb-find-rows, mariadbd-multi, mariadbd-safe, mariadbd-safe-helper, mariadb-dump, mariadb-dumpslow, mariadb-embedded, mariadb-fix-extensions, mariadb-hotcopy, mariadb-import, mariadb-install-db, mariadb-ldb, mariadb-plugin, mariadb-secure-installation, mariadb-setpermission, mariadb-service-convert, mariadb-show, mariadb-slap, mariadb-test, mariadb-test-embedded, mariadb-tzinfo-to-sql, mariadb-upgrade, mariadb-waitpid, mariadb_config, mbstream, msql2mysql, my_print_defaults, myisamchk, myisam_ftdump, myisamlog, myisampack, mysql_config, mytop, perror, replace, resolve_stack_dump, resolveip, sst_dump, wsrep_sst_common, wsrep_sst_mariabackup, wsrep_sst_mysqldump, og wsrep_sst_rsync
Installerte Biblioteker: libmariadb.a, libmariadb.so, libmariadbclient.a, libmariadbd.a, libmariadbd.so, libmariadb.so.3, libmysqlclient.a, libmysqlclient.so, libmysqlclient_r.a, libmysqlclient_r.so, libmysqld.a, libmysqld.so, libmysqlservices.a, og ca 70 moduler under /usr/lib/mysql/plugin/
Installerte Mapper: /usr/{include,lib,share}/mysql, /usr/share/groonga{,-normalizer-mysql}, og /usr/share/doc/mariadb-11.8.6

Korte Beskrivelser

Det er flere symbolkoblinger fra mysql* til deres mariadb motparter. Disse opprettholdes for kompatibilitet.

Perl DBI moduler må installeres for at noen av MariaDB støtteprogrammer vil fungere ordentlig.

Korte Beskrivelser

aria_chk

brukes til å sjekke, reparere, optimalisere, sortere og få informasjon om Aria tabeller

aria_dump_log

er et verktøy for å dumpe innholdet på Aria loggsider

aria_ftdump

viser fulltekstindeksinformasjon

aria_pack

er et verktøy for å generere komprimerte, skrivebeskyttede Aria tabeller

aria_read_log

viser innholdet i Aria loggfilen

aria_s3_copy

kopierer en aria tabell til og fra AWS S3

galera_new_cluster

starter opp en ny Galera klynge

galera_recovery

gjenoppretter data fra en Galera klynge

innochecksum

skriver ut sjekksummer for InnoDB filer

mariabackup

er et åpen kildekode sikkerhetskopieringsverktøy for InnoDB og XtraDB

mariadb

er et enkelt SQL skall med redigeringsmuligheter for inndatalinjer

mariadbd

er MySQL server nissen

mariadb-access

kontrollerer tilgangsrettighetene for et vertsnavn, brukernavn og database kombinasjon

mariadb-admin

er en klient for å utføre administrative operasjoner

mariadb-binlog

leser binære loggfiler

mariadb-check

utfører tabellvedlikehold: Den sjekker, reparerer, optimerer, eller analyserer tabeller

mariadb-client-test

brukes til å teste aspekter ved MySQL klient API som ikke kan bli testet med mariadb-test og dets testspråk

mariadb-client-test-embedded

er et verktøy for å teste klient API for den innebygde serveren

mariadb-conv

konverterer tegnsett for bruk med MariaDB

mariadb-convert-table-format

konverterer tabellene i en database til å bruke en bestemt lagringsmotor

mariadbd-multi

er designet for å administrere flere mariadb prosesser som lytter etter tilkoblinger på forskjellige Unix socket filer og TCP/IP porter

mariadbd-safe

er den anbefalte måten å starte en mariadb server på Unix og NetWare

mariadb-dump

er et sikkerhetskopieringsprogram

mariadb-dumpslow

analyserer MySQL sakte spørringsloggfiler og skriver ut et sammendrag av deres innhold

mariadb-embedded

er en MySQL klient statisk koblet til libmariadbd

mariadb-find-rows

leser filer som inneholder SQL setninger og trekker ut setninger som samsvarer med et gitt regulært uttrykk eller som inneholder USE db_name eller SET uttalelser

mariadb-fix-extensions

konverterer utvidelsene for MyISAM (eller ISAM) tabellfiler til deres kanoniske former

mariadb-hotcopy

låser tabellen, spyler tabellen og utfører deretter en kopi av databasen

mariadb-import

leser en rekke av dataformater, og setter inn dataene i en database

mariadb-install-db

initialiserer MySQL datamappen og oppretter systemets tabeller som den inneholder, hvis de ikke finnes

mariadb-ldb

er RocksDB verktøyet

mariadb-plugin

er et verktøy som lar MySQL administratorer administrere hvilke programtillegg en MySQL server laster inn

mariadb-secure-installation

er et verktøy for å forbedre MySQL installasjonssikkerheten

mariadb-service-convert

genererer en systemd enhet basert på gjeldende mariadb innstillinger

mariadb-setpermission

setter tillatelser i MySQL tildelingstabellene

mariadb-show

viser strukturen til en MariaDB database

mariadb-slap

er et diagnoseprogram utviklet for å emulere klientbelastning for en MySQL server og for å rapportere tidspunktet for hvert trinn

mariadb-test

kjører en testsak mot en MySQL server og sammenligner eventuelt utdataen med en resultatfil

mariadb-test-embedded

ligner på mariadb-test kommandoen, men er bygget med støtte for den innebygde libmariadbd serveren

mariadb-tzinfo-to-sql

laster tidssonetabellene i mariadb databasen

mariadb-upgrade

undersøker alle tabeller i alle databaser for inkompatibiliteter med gjeldende versjon av MySQL Server

mariadb-waitpid

signaliserer at en prosess skal avsluttes og venter på at prosessen avsluttes

mariadb_config

får kompilatorflagg for bruk av MariaDB Connector/C

mbstream

er et verktøy for å sende InnoDB og XTraDB sikkerhetskopier over en strøm

msql2mysql

er et verktøy for å konvertere mSQL programmer for bruk med MySQL

my_print_defaults

viser alternativene fra alternativgrupper med alternativfiler

myisam_ftdump

viser informasjon om FULLTEXT indekser i MyISAM tabeller

myisamchk

får informasjon om databasetabellene dine eller kontroller, reparerer, eller optimaliserer dem

myisamlog

viser innholdet i MyISAM loggfilen

myisampack

er et verktøy for å komprimere MyISAM tabeller

mysql_config

gir deg nyttig informasjon for å kompilere din MySQL klient og koble den til MySQL

mytop

er et konsollbasert verktøy for å overvåke trådene og generelt ytelsen til en MySQL server

perror

er et verktøy som viser beskrivelser for systemets eller lagrings motorfeilkoder

replace

er MariaDB/MySQL utvidelse til SQL standarden

resolve_stack_dump

løser en numerisk stabeldump til symboler

resolveip

er et verktøy for å løse IP adresser til vertsnavn og omvendt

sst_sump

dumper innholdet i sst filer (formatet som brukes av RocksDB)

PostgreSQL-18.2

Introduksjon til PostgreSQL

PostgreSQL er en avansert objektrelasjonelt databasestyringssystem (ORDBMS), avledet fra Berkeley Postgres databasebehandlingssystem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

PostgreSQL Avhengigheter

Valgfri

ICU-78.2, libxml2-2.15.1, libxslt-1.1.45, OpenLDAP-2.6.12, Linux-PAM-1.7.2, MIT Kerberos V5-1.22.2 og Bonjour

Valgfri (For å generere dokumentasjon)

fop-2.11, docbook-4.5-dtd, docbook-dsssl-1.79, DocBook-utils-0.6.14, OpenJade-1.3.2, og SGMLSpm-1.1

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/postgresql

Installasjon av PostgreSQL

For økt sikkerhet er det bedre å ha en dedikert gruppe og bruker for å kjøre PostgreSQL serveren. Først utstedt som root bruker:

groupadd -g 41 postgres &&
useradd -c "PostgreSQL Server" -g postgres -d /srv/pgsql/data \
        -u 41 postgres

Notat

Det er flere konfigurasjonselementer som legger til mer funksjonalitet med valgfrie pakker til PostgreSQL. Bruk ./configure --help for å se en liste.

Installer PostgreSQL med følgende kommandoer:

sed -e '/DEFAULT_PGSOCKET_DIR/s@/tmp@/run/postgresql@' \
    -i src/include/pg_config_manual.h                  &&

./configure --prefix=/usr \
            --docdir=/usr/share/doc/postgresql-18.2 &&
make

Det er en rekke programmer i contrib/ mappen. Hvis du skal kjøre denne installasjonen som en server og ønsker å bygge noen av dem, skriv inn make -C contrib eller make -C contrib/<SUBDIR-NAME> for hver undermappe.

Tester må kjøres som en uprivilegert bruker fordi de må starte en midlertidig server og dette forhindres som root bruker. For den samme grunn, må du stoppe alle PostgreSQL servere hvis noen kjører. Hvis en tidligere versjon av PostgreSQL er installert, kan det være nødvendig å bruke --disable-rpath med configure for å unngå feil, men å installere binærfiler opprettet ved hjelp av denne bryteren anbefales ikke. For å teste resultatene, kjør: make check.

Notat

Hvis du installerer PostgreSQL for å oppgradere en eksisterende installasjon, er det viktige trinn du trenger å følge. Hvis hovedversjonen av det nye bygget er større enn forrige versjon, er det en sjanse for at datafilformatet har endret seg. Ny programvare kan ikke bruke de eksisterende datafilene. I dette tilfellet vil serveren ikke starte fordi de gamle programmene har blitt overskrevet, så dataene er utilgjengelige før filformatet er konvertert.

Før oppgradering av en eksisterende installasjon av PostgreSQL, sjekk dokumentasjonen for eventuelle hensyn som du må ha i bakhodet under oppgraderingen. Merk at nye hovedversjoner kan bruke et annet binært format i dataobjektene, noe som forårsaker potensielle inkompatibiliteter. For mer informasjon, vennligst se gjennom oppstrøms dokumentasjon om oppgradering av PostgreSQL her: https://www.postgresql.org/docs/current/upgrading.html.

På dette punktet kan du ha både de gamle og de nye binærfilene installert på filsystemet ditt. Disse binærfilene kan brukes til å utføre en oppgradering av eksisterende databasefiler. For følgende instruksjoner antas det at

  • De aktuelle datafilene er lagret i /srv/pgsql/data

  • De oppgraderte datafilene vil bli lagret i /srv/pgsql/newdata

  • Det er nok diskplass til å holde de aktuelle datafilene to ganger. Oppgraderingen er ikke en innebygd oppgradering, men den vil kopiere dataene til nye databasefiler.

Gjør først en midlertidig installasjon som gir tilgang til de nye binære filene mye enklere:

make DESTDIR=$(pwd)/DESTDIR install

Deretter oppretter du en mappe som kan skrives av postgres brukeren, som root bruker:

install -d -o postgres $(pwd)/DESTDIR/tmp

Stopp nå den eksisterende forekomsten av PostgreSQL og start oppgraderingsprosessen som root bruker:

pushd $(pwd)/DESTDIR/tmp
/etc/rc.d/init.d/postgresql stop
su postgres -c "../usr/bin/initdb -D /srv/pgsql/newdata"
su postgres -c "../usr/bin/pg_upgrade \
                    -d /srv/pgsql/data    -b /usr/bin \
                    -D /srv/pgsql/newdata -B ../usr/bin"
popd

På dette tidspunktet er databasefilene tilgjengelige på to steder på disken. De gamle dataene ligger i /srv/pgsql/data, og de nye dataene er i /srv/pgsql/newdata. Det anbefales å sikkerhetskopiere de gamle databasefilene før du fortsetter.

Deretter fjerner du de gamle databasefilene og gir nytt navn til den nye datamappen som root bruker:

rm -rf /srv/pgsql/data
mv /srv/pgsql/newdata /srv/pgsql/data

Nå, som root bruker:

make install

Hvis du hadde installert de valgfrie avhengighetene som trengs for å generere dokumentasjonen, installer den som root bruker:

make install-docs

Hvis du har laget noen av contrib/ programmene, som root bruker:

make -C contrib/<SUBDIR-NAME> install

Tips

Hvis du bare har tenkt å bruke PostgreSQL som en klient for å koble til en server på en annen maskin, er installasjonen din fullført og du bør ikke kjøre de resterende kommandoene.

Hvis du har oppgradert en eksisterende database, hopp over resten av kommandoene fordi databasen din er klar til bruk. Hvis dette er første gang du installerer PostgreSQL, fortsett med initialiseringen.

Initialiser en databaseklynge med følgende kommandoer utstedt av root bruker:

install -v -dm700 /srv/pgsql/data &&
install -v -dm755 /run/postgresql &&
chown -Rv postgres:postgres /srv/pgsql /run/postgresql

Initialiser nå databasen som root bruker:

su - postgres -c '/usr/bin/initdb -D /srv/pgsql/data'

Parameterforklaringer

sed -i ...: Denne sed endrer server socket plassering fra /tmp til /run/postgresql.

--with-openssl: bygger pakken med støtte for OpenSSL krypterte tilkoblinger.

--with-perl: bygger PL/Perl serversiden språk.

--with-python: bygger PL/Python serversiden språk.

--with-tcl: bygger PL/Tcl serversiden språk.

Konfigurere PostgreSQL

Konfigurasjonsfiler

$PGDATA/pg_ident.con, $PGDATA/pg_hba.conf, og $PGDATA/postgresql.conf

PGDATA miljøvariabelen er brukt til å skille databaseklynger fra hverandre ved å sette den til verdien på mappen som inneholder den ønskede klyngen. De tre konfigurasjonsfilene finnes i hver PGDATA/ mappe. Detaljer om formatet på filene og alternativene som kan angis i hver finnes i /usr/share/doc/postgresql-18.2/html/index.html.

Oppstartsskript

Installer /etc/rc.d/init.d/postgresql init skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-postgresql

Starte PostgreSQL Serveren og lage en Prøvedatabase

Databaseserveren kan startes manuelt med følgende kommando (som root bruker):

su - postgres -c '/usr/bin/postgres -D /srv/pgsql/data > \
                  /srv/pgsql/data/logfile 2>&1 &'

Notat

Hvis du skripter denne delen, bør du vente på at serveren starter før du går videre, ved å legge til for eksempel sleep 2 etter kommandoen ovenfor.

Instruksjonene nedenfor viser hvordan du oppretter en database, legger til en tabell i den, setter inn noen rader i tabellen og velger dem for å bekrefte at installasjonen fungerer som den skal. Fortsatt som bruker root, kjør:

su - postgres -c '/usr/bin/createdb test' &&
echo "create table t1 ( name varchar(20), state_province varchar(20) );" \
    | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Billy', 'NewYork');" \
    | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Evanidus', 'Quebec');" \
    | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Jesse', 'Ontario');" \
    | (su - postgres -c '/usr/bin/psql test ') &&
echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test')

Når du er ferdig med testingen, kan du stenge serveren ved å utstede som root:

su - postgres -c "/usr/bin/pg_ctl stop -D /srv/pgsql/data"

Innhold

Installerte Programmer: clusterdb, createdb, createuser, dropdb, dropuser, ecpg, initdb, pg_amcheck, pg_archivecleanup, pg_basebackup, pg_checksums, pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall, pg_isready, pg_receivewal, pg_recvlogical, pg_resetwal, pg_restore, pg_rewind, pg_test_fsync, pg_test_timing, pg_upgrade, pg_verifybackup, pg_waldump, pgbench, postgres, psql, reindexdb, vacuumdb, eventuelt, hvis Tcl støtte er bygget, pltcl_delmod, pltcl_listmod, pltcl_loadmod, og valgfritt (i contrib/) oid2name, pg_standby, vacuumlo, og mange andre
Installerte Biblioteker: libecpg.{so,a}, libecpg_compat.{so,a}, libpgcommon.a, libpgcommon_shlib.a, libpgfeutils.a, libpgport.a, libpgport_shlib.a, libpgtypes.{so,a}, libpq.{so,a}, ulike tegnsettmoduler og valgfrie programmeringsspråkmoduler under /usr/lib/postgresql
Installerte Mapper: /usr/include/{libpq,postgresql}, /usr/lib/postgresql, /usr/share/{doc/postgresql-18.2,postgresql}, og /srv/pgsql

Korte Beskrivelser

clusterdb

er et verktøy for å samle tabeller i en PostgreSQL database

createdb

oppretter en ny PostgreSQL database

createuser

definerer en ny PostgreSQL brukerkonto

dropdb

fjerner en PostgreSQL database

dropuser

fjerner en PostgreSQL brukerkonto

ecpg

er den innebygde SQL forbehandleren

initdb

oppretter en ny databaseklynge

oid2name

løser OID-er (objekt-IDer) og filnoder i en PostgreSQL datamappe

pg_amcheck

ser etter korrupsjon i en eller flere PostgreSQL databaser

pg_archivecleanup

rydder opp i PostgreSQL WAL (write-ahead log) arkivfiler

pg_basebackup

tar grunnleggende sikkerhetskopier av en kjørende PostgreSQL klynge

pg_checksums

aktiverer, deaktiverer eller kontrollerer datasjekksummer i en PostgreSQL databaseklynge

pg_config

henter PostgreSQL versjonsinformasjon

pg_controldata

returnerer informasjon initialisert under initdb, for eksempel katalogversjonen og serverlokaliteter

pg_ctl

kontrollerer stopping og starting av databaseserveren

pg_dump

dumper databasedata og metadata inn i skript som brukes for å gjenskape databasen

pg_dumpall

rekursivt kaller pg_dump for hver database i en klynge

pg_isready

sjekker tilkoblingsstatusen til en PostgreSQL server

pg_receivewal

brukes til å streame write-ahead logger fra en PostgreSQL server

pg_recvlogical

kontroller PostgreSQL logiske dekodingsstrømmer

pg_resetwal

starter om write-ahead logg og annen kontrollinformasjon av en PostgreSQL databaseklynge

pg_restore

oppretter databaser fra dumpfiler opprettet av pg_dump

pg_rewind

synkroniserer en PostgreSQL datamappe med andre datamapper som ble forgrenet fra den første

pg_standby

støtter opprettelsen av en PostgreSQL varm standby server

pg_test_fsync

bestemmer den raskeste wal_sync metoden for PostgreSQL

pg_test_timing

måler timing overhead

pg_upgrade

oppgraderer en PostgreSQL serverforekomst

pg_verifybackup

verifiserer integriteten til en grunnleggende sikkerhetskopi av en PostgreSQL klynge

pg_waldump

viser en lesbar gjengivelse av write-ahead loggen til en PostgreSQL databaseklynge

pgbench

kjører en benchmark test på PostgreSQL

pltcl_delmod

er et støtteskript som brukes til å slette en modul fra en PL/Tcl tabell. Kommandoen krever at Pgtcl pakken blir installert

pltcl_listmod

er et støtteskript som brukes til å liste modulene i en PL/Tcl tabell. Kommandoen krever at Pgtcl pakken blir installert

pltcl_loadmod

er et støtteskript som brukes til å laste en modul inn i en PL/Tcl tabell. Kommandoen krever at Pgtcl pakken blir installert

postgres

er PostgreSQL databaseserveren

psql

er et konsollbasert databaseskall

reindexdb

er et verktøy for å gjenoppbygge indekser i en database

vacuumdb

komprimerer databaser og genererer statistikk for spørringsanalysatoren

vacuumlo

fjerner foreldreløse store objekter fra en PostgreSQL database

libecpg.{so,a}

inneholder funksjoner for å støtte innebygd SQL i C programmer

libecpg_compat.{so,a}

er ecpg kompatibilitetsbiblioteket

libgport.a

er det portspesifikke undersystemet til Postgres bakstykke

libpgtypes.{so,a}

inneholder funksjoner for å håndtere Postgres datatyper

libpq.{so,a}

er C programmererens API til Postgres

Kapittel 23. Annen Serverprogramvare

Her finner du mange måter å dele maskinen din med resten av verden eller ditt lokale nettverk. Før installasjon av noen pakker i dette kapittelet, må du være sikker på at du forstår hva pakken gjør og hvordan du setter den opp riktig. Det kan det også være nyttig å lære om konsekvensene av et feil oppsett sånn at du kan analysere risikoene.

OpenLDAP-2.6.12

Introduksjon til OpenLDAP

OpenLDAP pakken gir en åpen kildeimplementering av Lightweight Directory Access Protocol.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

OpenLDAP Avhengigheter

Anbefalt
Valgfri

GnuTLS-3.8.12, unixODBC-2.3.14, MariaDB-11.8.6 eller PostgreSQL-18.2 eller MySQL, OpenSLP, WiredTiger, og Berkeley DB (deprecated) (for slapd, også avviklet)

Installasjon av OpenLDAP

Notat

Hvis du bare trenger å installere klientsiden ldap* binærfiler, tilsvarende manualsider, biblioteker og deklarasjonsfiler (referert til som en «bare klient» installering), kjør disse kommandoene i stedet for de følgende (ingen testpakke tilgjengelig):

patch -Np1 -i ../openldap-2.6.12-consolidated-1.patch &&
autoconf &&

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --enable-dynamic  \
            --disable-debug   \
            --disable-slapd   &&

make depend &&
make

Deretter, som root bruker:

make install

Det bør være en dedikert bruker og gruppe til å ta kontroll over slapd nissen etter at den er startet. Utfør følgende kommandoer som root bruker:

groupadd -g 83 ldap &&
useradd  -c "OpenLDAP Daemon Owner" \
         -d /var/lib/openldap -u 83 \
         -g ldap -s /bin/false ldap

Installer OpenLDAP ved å kjøre følgende kommandoer:

patch -Np1 -i ../openldap-2.6.12-consolidated-1.patch &&
autoconf &&

./configure --prefix=/usr         \
            --sysconfdir=/etc     \
            --localstatedir=/var  \
            --libexecdir=/usr/lib \
            --disable-static      \
            --disable-debug       \
            --with-tls=openssl    \
            --with-cyrus-sasl     \
            --without-systemd     \
            --enable-dynamic      \
            --enable-crypt        \
            --enable-spasswd      \
            --enable-slapd        \
            --enable-modules      \
            --enable-rlookups     \
            --enable-backends=mod \
            --disable-sql         \
            --disable-wt          \
            --enable-overlays=mod &&

make depend &&
make

Testene er skjøre, og feil kan føre til at testene avbrytes før ferdigstillelse. Noen feil kan oppstå på grunn av tidsproblemer. Testene tar rundt en time, og tiden er CPU uavhengig pga forsinkelser i testene. På de fleste systemer vil testene kjøre opp til test065-proxyauth for mdb testen. For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install &&

sed -e "s/\.la/.so/" -i /etc/openldap/slapd.{conf,ldif}{,.default} &&

install -v -dm700 -o ldap -g ldap /var/lib/openldap     &&

install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d &&
chmod   -v    640     /etc/openldap/slapd.{conf,ldif}   &&
chown   -v  root:ldap /etc/openldap/slapd.{conf,ldif}   &&

install -v -dm755 /usr/share/doc/openldap-2.6.12 &&
cp      -vfr      doc/{drafts,rfc,guide} \
                  /usr/share/doc/openldap-2.6.12

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-debug: Denne bryteren deaktiverer feilsøkingskoden i OpenLDAP.

--enable-dynamic: Denne bryteren tvinger OpenLDAP biblioteker å være dynamisk koblet til de kjørbare programmene.

--enable-crypt: Denne bryteren gjør det mulig å bruke crypt(3) passord.

--enable-spasswd: Denne bryteren aktiverer SASL passordbekreftelse.

--enable-modules: Denne bryteren aktiverer dynamisk modulstøtte.

--enable-rlookups: Denne bryteren aktiverer omvendt oppslag av klientvertsnavn.

--enable-backends: Denne bryteren aktiverer alle tilgjengelige bakstykker.

--enable-overlays: Denne bryteren aktiverer alle tilgjengelige overlegg.

--disable-sql: Denne bryteren eksplisitt deaktiverer SQL bakstykke. Utelat denne bryteren hvis det er en SQL server installert og du skal bruke en SQL bakstykke.

--disable-wt: Denne bryteren eksplisitt deaktiverer WiredTiger bakstykke. Utelat denne bryteren hvis WiredTiger er installert og du skal bruke en WiredTiger bakstykke.

--libexecdir=/usr/lib: Denne bryteren kontrollerer hvor /usr/lib/openldap mappen er installert. Alt i den mappen er et bibliotek, så det hører hjemme under /usr/lib i stedet for /usr/libexec.

--enable-slp: Denne bryteren aktiverer SLPv2 støtte. Bruk den hvis du har installert OpenSLP.

--disable-versioning: Denne bryteren deaktiverer symbolversjonering i OpenLDAP biblioteker. Standard er å ha symbolversjonering. Merk at hvis du har bygde applikasjoner som bruker denne pakken med symbolversjonering, og fjerner symbolene, kan det hende at applikasjonene ikke kjører.

Notat

Du kan kjøre ./configure --help for å se om det er andre brytere du kan sende til configure kommandoen for å aktivere andre alternativer eller avhengighetspakker.

install ..., chown ..., og chmod ...: Å ha slapd konfigurasjonsfiler og ldap databaser i /var/lib/openldap lesbart av alle er et SIKKERHETSPROBLEM, spesielt siden en fil lagrer administratorpassord i REN TEKST. Det er derfor modus 640 og root:ldap eierskap ble brukt. Eieren er root, så bare root kan endre filen, og gruppen er ldap, slik at gruppen som eier slapd nissen kan lese, men ikke endre filen i tilfelle et sikkerhetsbrudd.

Konfigurere OpenLDAP

Konfigurasjonsfiler

  • For LDAP klient: /etc/openldap/ldap.conf og ~/.ldaprc

  • For LDAP servere brukes to konfigurasjonsmekanismer: konfigurasjonsfilen for eldre versjoner /etc/openldap/slapd.conf og den anbefalte slapd-config systemet, ved hjelp av en LDIF database lagret i /etc/openldap/slapd.d.

Konfigurasjonsinformasjon

Konfigurering av slapd servere kan være komplekse. Sikring av LDAP mappen, spesielt hvis du lagrer ikke-offentlig data som passorddatabaser kan også være en utfordrende oppgave. For å sette opp OpenLDAP, må du endre enten /etc/openldap/slapd.conf filen (gammel metode), eller /etc/openldap/slapd.ldif filen og deretter bruke ldapadd for å opprette LDAP konfigurasjonsdatabasen i /etc/openldap/slapd.d (anbefalt av OpenLDAP dokumentasjonen).

Advarsel

Instruksjonene ovenfor installerer en tom LDAP struktur og en standard /etc/openldap/slapd.conf fil, som er egnet for å teste bygget og andre pakker ved bruk av LDAP. Ikke bruke dem på en produksjonsserver.

Ressurser for å hjelpe deg med emner som å velge en mappekonfigurasjon, bakstykke og database definisjoner, tilgangskontrollinnstillinger, kjøre som en annen bruker enn root og sette opp et chroot miljø inkluderer:

Oppstartsskript

For å automatisere oppstarten av LDAP serveren ved oppstart av systemet, installer /etc/rc.d/init.d/slapd init skriptet inkludert i blfs-bootscripts-20251220 pakken ved å bruke følgende kommando:

make install-slapd

Notat

Du må endre /etc/sysconfig/slapd for å inkludere parametrene som trengs for din spesifikke konfigurasjon. Se slapd manside for parameterinformasjon.

Teste Konfigurasjonen

Start LDAP serveren med init skriptet:

/etc/rc.d/init.d/slapd start

Bekreft tilgangen til LDAP serveren med følgende kommando:

ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts

Det forventede resultatet er:

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
#

#
dn:
namingContexts: dc=my-domain,dc=com

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Innhold

Installerte Programmer: ldapadd, ldapcompare, ldapdelete, ldapexop, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapurl, ldapvc, ldapwhoami, slapacl, slapadd, slapauth, slapcat, slapd, slapdn, slapindex, slapmodify, slappasswd, slapschema, og slaptest
Installerte Biblioteker: liblber.so, libldap.so, og flere under /usr/lib/openldap
Installerte Mapper: /etc/openldap, /{usr,var}/lib/openldap, og /usr/share/doc/openldap-2.6.12

Korte Beskrivelser

ldapadd

åpner en tilkobling til en LDAP server, binder og legger til oppføringer

ldapcompare

åpner en tilkobling til en LDAP server, binder og utfører en sammenligning med spesifiserte parametere

ldapdelete

åpner en tilkobling til en LDAP server, binder og sletter en eller flere oppføringer

ldapexop

utsteder den utvidede LDAP operasjonen spesifisert av oid eller et av de spesielle søkeordene whoami, cancel, eller refresh

ldapmodify

åpner en tilkobling til en LDAP server, binder og modifiserer oppføringer

ldapmodrdn

åpner en tilkobling til en LDAP server, binder og modifiserer RDN for oppføringer

ldappasswd

er et verktøy som brukes til å angi passordet til en LDAP bruker

ldapsearch

åpner en tilkobling til en LDAP server, binder og utfører et søk med spesifiserte parametere

ldapurl

er en kommando som gjør det mulig å enten komponere eller dekomponere LDAP URIs

ldapvc

verifiserer LDAP anerkjennelser

ldapwhoami

åpner en tilkobling til en LDAP server, binder og viser whoami informasjon

slapacl

brukes til å sjekke atferden til slapd ved å verifisere tilgang til mappedata i henhold til tilgangskontrollen liste direktiver definert i konfigurasjonen

slapadd

brukes til å legge til oppføringer spesifisert i LDAP Directory Interchange Format (LDIF) til en LDAP database

slapauth

brukes til å sjekke oppførselen til slapd i kartlegging av identiteter for autentisering og autorisasjonsformål, som spesifisert i slapd.conf

slapcat

brukes til å generere LDAP LDIF utdata basert på innholdet i en slapd database

slapd

er den frittstående LDAP serveren

slapdn

sjekker en liste over strengrepresenterte DN-er basert på skjemasyntaks

slapindex

brukes til å regenerere slapd indekser basert på gjeldende innhold i en database

slapmodify

modifiserer oppføringer i en slapd database

slappasswd

er OpenLDAP passordverktøy

slapschema

brukes til å kontrollere skjemasamsvar for innholdet i en slapd database

slaptest

sjekker om slapd.conf filen er ødelagt

liblber.so

er et sett med Lightweight Basic Encoding Rules rutiner. Disse rutinene brukes av LDAP biblioteksrutinene til å kode og dekode LDAP protokollelementer som bruker (litt forenklet) Basic Kodingsregler definert av LDAP. De brukes vanligvis ikke direkte av et LDAP applikasjonsprogram bortsett fra ved håndtering av kontroller og utvidet drift

libldap.so

støtter LDAP programmene og gir funksjonalitet for andre programmer som samhandler med LDAP

Unbound-1.24.2

Introduksjon til Unbound

Unbound er en validerende, rekursiv og caching DNS løser. Den er designet som et sett med modulære komponenter som innlemmer moderne funksjoner, for eksempel forbedret sikkerhet (DNSSEC) validering, Internet Protocol versjon 6 (IPv6) og en klientløser bibliotek API som en integrert del av arkitekturen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nlnetlabs.nl/downloads/unbound/unbound-1.24.2.tar.gz

  • Nedlasting MD5 sum: dfa7175de7a5cab0e8deb43a304795de

  • Nedlastingsstørrelse: 6.6 MB

  • Estimert diskplass som kreves: 156 MB (med dokumenter; legg til 11 MB for tester)

  • Estimert byggetid: 0.3 SBU (Bruker parallellisme=4; med dokumenter; legg til 0.3 SBU for tester)

Unbound Avhengigheter

Valgfri

libevent-2.1.12, Nettle-3.10.2, Protobuf-c-1.5.2 (for dnstap), sphinx-9.1.0 (for Python bindinger dokumentasjon), SWIG-4.4.1 (for Python bindinger), Doxygen-1.16.1 (for html dokumentasjon), dnstap, og Python2

Installasjon av Unbound

Det bør være en dedikert bruker og gruppe til å ta kontroll over unbound nissen etter at den er startet. Utsted følgende kommandoer som root bruker:

groupadd -g 88 unbound &&
useradd -c "Unbound DNS Resolver" -d /var/lib/unbound -u 88 \
        -g unbound -s /bin/false unbound

Installer Unbound ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --with-pidfile=/run/unbound.pid &&
make

Hvis du har Doxygen-1.16.1 pakken er installert og du ønsker å bygge html dokumentasjon, kjør følgende kommando:

make doc

For å teste resultatene, kjør make check.

Nå, som root bruker:

make install &&
mv -v /usr/sbin/unbound-host /usr/bin/

Hvis du har bygget dokumentasjonen, installer den ved å kjøre følgende kommandoer som root bruker:

install -v -m755 -d /usr/share/doc/unbound-1.24.2 &&
install -v -m644 doc/html/* /usr/share/doc/unbound-1.24.2

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-libevent: Dette alternativet aktiverer libevent støtte, som tillater bruk av store utgående portområder.

--with-pyunbound: Dette alternativet gjør det mulig å bygge Python bindinger. Hvis du vil bygge bindingene, må du også sende PYTHON_VERSION=3.14 miljøvariabelen til konfigurere.

Konfigurere Unbound

Konfigurasjonsfiler

/etc/unbound/unbound.conf

Konfigurasjonsinformasjon

I standardkonfigurasjonen, unbound vil binde seg til localhost (127.0.0.1 IP-adresse) og tillate rekursive spørringer kun fra localhost klienter. Hvis du vil bruke unbound for lokal DNS løsning, kjør følgende kommando som root bruker:

echo "nameserver 127.0.0.1" > /etc/resolv.conf

For avansert konfigurasjon se /etc/unbound/unbound.conf filen og dokumentasjonen.

Når Unbound er installert, noen pakkebygg mislykkes hvis filen /etc/unbound/root.key ikke er funnet. Denne filen opprettes ved å kjøre oppstartsskriptet (installerings instruksjonene nedenfor). Alternativt kan den opprettes ved å kjøre følgende kommando som root bruker:

unbound-anchor

Oppstartsskript

Hvis du vil at Unbound server skal starte automatisk når systemet startes opp, installer /etc/rc.d/init.d/unbound init skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-unbound

Innhold

Installerte Programmer: unbound, unbound-anchor, unbound-checkconf, unbound-control, unbound-control-setup, og unbound-host
Installert Bibliotek: libunbound.so
Installerte Mapper: /etc/unbound and /usr/share/doc/unbound-1.24.2 (valgfri)

Korte Beskrivelser

unbound

er en DNS løser nisse

unbound-anchor

initialiserer eller oppdaterer rottillitsankeret for DNSSEC validering

unbound-checkconf

sjekker unbound konfigurasjonsfil for syntaks og andre feil

unbound-control

utfører fjernadministrasjon på unbound DNS løseren

unbound-control-setup

genererer et selvsignert sertifikat og private nøkler for serveren og klienten

unbound-host

er et DNS oppslagsverktøy som ligner på host fra BIND Utilities-9.20.18

libunbound.so

gir Unbound API funksjoner til programmer

Del VI. Grafiske Komponenter

Kapittel 24. Grafiske miljøer

Dette kapittelet inneholder instruksjoner for å bygge og konfigurere et grafisk brukermiljø.

I lang tid har det eneste grafiske miljøet som kan brukes med GNU/Linux vært X Vindussystemet. Den bruker en klient/server modell som gjør det mulig å skrive applikasjoner helt uavhengig av den grafiske maskinvaren. Dette har den ulempen at tilgang til moderne maskinvareakselerasjon er vanskelig, så en annen tilnærming som heter Wayland er utviklet. Det er en enklere erstatning for X, lettere å utvikle og vedlikeholde, bruker OpenGL rammeverket. De viktigste skrivebordsmiljøene GNOME og KDE har blitt overført til den.

Dette kapittelet gir de grunnleggende komponentene til X Vindussytemet og Wayland. For X er den valgte implementeringen Xorg, som er en modulær implementering og krever at mer enn 100 pakker installeres. Distribusjon av Xorg er gitt et utgivelsesnummer av utviklerne, i dette tilfellet Xorg-7. Individuelle pakker oppdateres etter behov uten å endre dette nummeret.

Introduksjon til Xorg-7

Xorg er en fritt redistribuerbar, åpen kildekode implementering av X VindusSystem. Dette systemet gir et klient/server grensesnitt mellom skjermmaskinvaren (mus, tastatur og videoskjermer) og skrivebordsmiljøet, samtidig som det gir både vindusinfrastruktur og en standardisert applikasjonsgrensesnitt (API).

Xorg Nedlasting og Installasjon Instruksjoner

Xorg-7.0 introduserte et fullstendig automatisk verktøy, modulært byggesystem. Med det nye modulære byggesystemet er det ikke lenger mulig å laste ned hele pakken i en enkelt fil. Faktisk vil det være godt over 100 pakker som må hentes fra nedlastingsstedet. Å assistere med en så stor oppgave å installere Wget-1.25.0 er sterkt anbefalt for å laste ned de nødvendige filene. En komplett wget filliste er gitt for hver side som inkluderer flere pakker.

Gitt antall tilgjengelige pakker, å bestemme hvilke pakker du behøver for å installere for ditt spesielle oppsett kan virke litt overveldende. Se på denne siden og denne tråden for å få en ide om hva du trenger. Hvis du er usikker, bør du installere alle pakker på bekostning av ekstra diskplass.

Notat

Selv om du har tenkt å laste ned kun de nødvendige pakkene, bør du laste ned wget fillistene. Listen over filer er sortert etter avhengighet, og pakkeversjonene som er oppført i filene er kjent for å samarbeide godt med hverandre. Videre inneholder wget fillistene kommentarer for spesifikke pakker som er utdatert eller ikke anbefales å installere. Nyere pakker er sannsynligvis ment for neste utgivelse av Xorg og har allerede bevist å være inkompatibel med gjeldende versjoner av programvare installert i BLFS. Den installerte størrelsen på Xorg kan reduseres betydelig ved å installere bare pakkene du trenger og bruker, BLFS boken kan imidlertid ikke redegjøre for alle avhengigheter og bygge alternativer for de enkelte Xorg pakkene. Instruksjonene forutsetter at alle pakkene blir bygget.

I tillegg, på grunn av det store antallet repeterende kommandoer, oppfordres du til å delvis automatisere byggingen. Instruksjoner har blitt gitt for å bruke Sudo-1.9.17p2 pakken. Det er anbefalt at du bruker :NOPASSWD konfigurasjonsalternativ for brukeren som skal bygge xorg pakkene.

Sette opp Xorg Byggemiljøet

Notat

Følgende instruksjoner antar at skallet sine oppstartsfiler er satt opp som beskrevet i Oppstartsfilene til Bash Skallet.

Som med tidligere utgivelser av X Vindussystemet, kan det være ønskelig å installere Xorg inn i et alternativt prefiks. Dette er ikke lenger vanlig praksis blant Linux distribusjoner. Det vanlige installasjonsprefikset for Xorg på Linux er /usr. Det er ingen standard alternativt prefiks, og det er heller ikke noe unntak i gjeldende revisjon av Filesystem Hierarchy Standard for versjon 7 av X Vindussystemet. Alan Coopersmith fra Sun Microsystems, en gang uttalte "Hos Sun brukte vi /usr/X11 og planlegger å holde med det." Bare /opt/* prefikset eller /usr prefikset holder seg til gjeldende FHS retningslinjer.

BLFS redaktørene anbefaler å bruke /usr prefikset.

Velg installasjonsprefikset, og still inn XORG_PREFIX variabelen med følgende kommando:

export XORG_PREFIX="<PREFIX>"

Gjennom disse instruksjonene vil du bruke følgende configure brytere for alle pakkene. Opprett XORG_CONFIG variabelen som skal brukes for denne parameter substitusjonen:

export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
    --localstatedir=/var --disable-static"

Notat

Vi vil bruke $XORG_CONFIG i instruksjonene for mange pakker som tilhører eller er relatert til Xorg. Disse instruksjonene vil ikke fungere ordentlig med standardoppførselen til zsh-5.9. Så hvis du bruker zsh-5.9 som det interaktive skallet og bygger en pakke som instruksjonen bruker denne variabelen, gjør zsh-5.9 oppførselen $XORG_CONFIG utvidelse samme som bash:

set -o shwordsplit

Hvis du vil gjøre denne innstillingen vedvarende, legg til denne kommandoen i zsh oppstartsfilen.

Opprett en /etc/profile.d/xorg.sh konfigurasjonsfil som inneholder disse variablene som root bruker:

cat >> /etc/profile.d/xorg.sh << "EOF"
XORG_PREFIX="$XORG_PREFIX"
XORG_CONFIG="--prefix=\$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --disable-static"
export XORG_PREFIX XORG_CONFIG
EOF
chmod 644 /etc/profile.d/xorg.sh

Notat

Det er en viss forvirring om "here" dokumentet ovenfor. Omvendt skråstrek foran dollartegnet er riktig. Bash vil fjerne det når du oppretter /etc/profile.d/xorg.sh. Imidlertid, hvis du oppretter filen med et skriveprogram, en kopiering og lim inn operasjon vil ikke fjerne skråstreken. De må da fjernes manuelt.

Hvis du har installert Sudo-1.9.17p2, sørg for at XORG_PREFIX og XORG_CONFIG er tilgjengelig i sudo miljøet. Som root bruker, kjør følgende kommando:

cat > /etc/sudoers.d/xorg << EOF
Defaults env_keep += XORG_PREFIX
Defaults env_keep += XORG_CONFIG
EOF

Hvis du ikke bruker standard Xorg prefikset...

Advarsel

Hvis du har bestemt deg for å bruke standard /usr prefiks må du utelate resten av denne siden og fortsette på util-macros-1.20.2.

Hvis du har bestemt deg å ikke bruke standard prefiks, sørg for å legge til $XORG_PREFIX/bin til din PATH miljøvariabel, og $XORG_PREFIX/lib/pkgconfig og $XORG_PREFIX/share/pkgconfig til din PKG_CONFIG_PATH variabelen. Det er også nyttig å spesifisere flere søkestier for gcc og en inkluder mappe for aclocal programmet. Utsted følgende kommandoer som root bruker:

cat >> /etc/profile.d/xorg.sh << "EOF"

pathappend $XORG_PREFIX/bin             PATH
pathappend $XORG_PREFIX/lib/pkgconfig   PKG_CONFIG_PATH
pathappend $XORG_PREFIX/share/pkgconfig PKG_CONFIG_PATH

pathappend $XORG_PREFIX/lib             LIBRARY_PATH
pathappend $XORG_PREFIX/include         C_INCLUDE_PATH
pathappend $XORG_PREFIX/include         CPLUS_INCLUDE_PATH

ACLOCAL="aclocal -I $XORG_PREFIX/share/aclocal"

export PATH PKG_CONFIG_PATH ACLOCAL LIBRARY_PATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH
EOF

Skriptet ovenfor må aktiveres. Normalt vil det bli gjort automatisk ved pålogging, men for å aktivere den nå, som vanlig bruker, kjør:

source /etc/profile.d/xorg.sh

Du bør også legge til $XORG_PREFIX/lib til /etc/ld.so.conf filen. Igjen, som root bruker, utsted følgende kommando:

echo "$XORG_PREFIX/lib" >> /etc/ld.so.conf

Du bør også endre /etc/man_db.conf, for å legge til passende MANDATORY_MANPATH, MANPATH_MAP, og MANDB_MAP oppføringer etter eksempler for /usr/X11R6. Utsted følgende kommando som root bruker:

sed -e "s@X11R6/man@X11R6/share/man@g" \
    -e "s@/usr/X11R6@$XORG_PREFIX@g"   \
    -i /etc/man_db.conf

Noen programmer ser etter delte filer i /usr/share/X11. Lag en symbolsk lenke til den riktige plasseringen som root bruker:

ln -svf $XORG_PREFIX/share/X11 /usr/share/X11

Hvis du bygger KDE, ser noen cmake filer etter Xorg på andre steder enn $XORG_PREFIX. Tillat cmake å finne Xorg med:

ln -svf $XORG_PREFIX /usr/X11R6

util-macros-1.20.2

Introduksjon til util-macros

util-macros pakken inneholder m4 makroer som brukes av alle Xorg pakkene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

util-macros Avhengigheter

Påkrevd

Xorg build environment (bør stilles inn for at følgende instruksjoner skal virke)

Installasjon av util-macros

Installer util-macros ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG

Denne pakken kommer ikke med en testpakke.

Nå,som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: $XORG_PREFIX/share/pkgconfig og $XORG_PREFIX/share/util-macros

xorgproto-2025.1

Introduksjon til xorgproto

xorgproto pakken gir deklarasjonsfiler som kreves for å bygge X Vindussystemet, og for å tillate andre applikasjoner å bygge mot det installerte X Vindussystemet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xorgproto Avhengigheter

Påkrevd

util-macros-1.20.2

Valgfri

fop-2.11, libxslt-1.1.45, xmlto-0.0.29 og asciidoc-10.2.1 (for å bygge ytterligere dokumentasjon)

Notat

Det er en gjensidig avhengighet med fop-2.11. Hvis du ønsker å bygge dokumentasjonen, må du installere protokolldeklarasjoner på nytt etter at installasjonen er fullført og fop-2.11 har blitt installert.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7ProtocolHeaders

Installasjon av xorgproto

Installer xorgproto ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=$XORG_PREFIX .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
mv -v $XORG_PREFIX/share/doc/xorgproto{,-2025.1}

Parameterforklaringer

-Dlegacy=true: Installerer eldre deklarasjoner som trengs av gamle programmer (som f.eks LessTif).

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: $XORG_PREFIX/include/GL, $XORG_PREFIX/include/X11, og $XORG_PREFIX/share/doc/xorgproto-2025.1

libXau-1.0.12

Introduksjon til libXau

libXau pakken inneholder et bibliotek som implementerer X11 autorisasjonsprotokollen. Dette er nyttig for å begrense klienttilgang til skjermen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libXau Avhengigheter

Påkrevd

xorgproto-2025.1

Installasjon av libXau

Installer libXau ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libXau.so
Installerte Mapper: Ingen

Korte Beskrivelser

libXau.so

er biblioteket av X autoritetsdatabaserutiner

libXdmcp-1.1.5

Introduksjon til libXdmcp

libXdmcp pakken inneholder et bibliotek implementere X Skjermbehandler Kontrollprotokollen. Dette er nyttig for å tillate at klienter kan samhandle med X Skjermbehandleren.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libXdmcp Avhengigheter

Påkrevd

xorgproto-2025.1

Valgfri

xmlto-0.0.29, fop-2.11, libxslt-1.1.45, og Xorg-SGML-doctools (for dokumentasjon)

Installasjon av libXdmcp

Installer libXdmcp ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG --docdir='${datadir}'/doc/libXdmcp-1.1.5 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libXdmcp.so
Installert Mappe: $XORG_PREFIX/share/doc/libXdmcp-1.1.5

Korte Beskrivelser

libXdmcp.so

er X Skjermbehandler Kontrollprotokoll biblioteket

xcb-proto-1.17.0

Introduksjon til xcb-proto

xcb-proto pakken gir XML-XCB protokollbeskrivelsen som libxcb bruker for å generere mesteparten av sin kode og API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xcb-proto Avhengigheter

Anbefalt
Valgfri

libxml2-2.15.1 (nødvendig for å kjøre testene)

Installasjon av xcb-proto

Installer xcb-proto ved å kjøre følgende kommandoer:

PYTHON=python3 ./configure $XORG_CONFIG

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Hvis du oppgraderer fra versjon 1.15.1 eller lavere, må den gamle pkgconfig filen fjernes. Utsted, som root bruker:

rm -f $XORG_PREFIX/lib/pkgconfig/xcb-proto.pc

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: $XORG_PREFIX/share/xcb og $XORG_PREFIX/lib/python3.14/site-packages/xcbgen

libxcb-1.17.0

Introduksjon til libxcb

libxcb pakken gir et grensesnitt til X Vindussystem protokollen, som erstatter det nåværende Xlib grensesnittet. Xlib kan også bruke XCB som et transportlag, slik at programvare kan gjøre forespørsler og motta svar med begge.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libxcb Avhengigheter

Påkrevd

libXau-1.0.12 og xcb-proto-1.17.0

Anbefalt
Valgfri

Doxygen-1.16.1 (for å generere API dokumentasjon) og libxslt-1.1.45

Installasjon av libxcb

Installer libxcb ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG      \
            --without-doxygen \
            --docdir='${datadir}'/doc/libxcb-1.17.0 &&
LC_ALL=en_US.UTF-8 make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Hvis pakken ble bygget som en ikke-root bruker, den installerte dokumentasjonen eies nå av denne brukeren. Som root bruker, fiks eierskapet:

chown -Rv root:root $XORG_PREFIX/share/doc/libxcb-1.17.0

Parameterforklaringer

LC_ALL=en_US.UTF-8: Noen Python 3 skript i byggesystemet til denne pakken kan mislykkes med visse system lokale innstillinger. Denne miljøvariabelen fremtvinger en lokalinnstilling kjent for å fungere.

--without-doxygen: Ikke bruk doxygen til generere API dokumentasjon (standard: auto). Uten det, hvis Doxygen-1.16.1 er installert, vil API dokumentasjonen bli generert og installert.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libxcb.so, libxcb-composite.so, libxcb-damage.so, libxcb-dbe.so, libxcb-dpms.so, libxcb-dri2.so, libxcb-dri3.so, libxcb-glx.so, libxcb-present.so, libxcb-randr.so, libxcb-record.so, libxcb-render.so, libxcb-res.so, libxcb-screensaver.so, libxcb-shape.so, libxcb-shm.so, libxcb-sync.so, libxcb-xf86dri.so, libxcb-xfixes.so, libxcb-xinerama.so, libxcb-xinput.so, libxcb-xkb.so, libxcb-xtest.so, libxcb-xvmc.so, and libxcb-xv.so
Installerte Mapper: $XORG_PREFIX/include/xcb og $XORG_PREFIX/share/doc/libxcb-1.17.0

Korte Beskrivelser

libxcb.so

er et grensesnitt til X Vindussystem protokollen

Xorg Biblioteker

Introduksjon til Xorg Biblioteker

Xorg bibliotekene tilbyr bibliotekrutiner som brukes innenfor alle X Window applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.x.org/pub/individual/lib/

  • Nedlastingsstørrelse: 12 MB

  • Estimert diskplass som kreves: 273 MB (47 MB installed) - if source directories not deleted

  • Estimert byggetid: 1.8 SBU

Xorg Biblioteker Avhengigheter

Påkrevd

Fontconfig-2.17.1 og libxcb-1.17.0

Valgfri

asciidoc-10.2.1, xmlto-0.0.29 med ett eller flere av følgende: fop-2.11, Links-2.30, Lynx-2.9.2, ncompress (for noen tester), og W3m (for å generere ekstra PDF eller tekst dokumentasjon for libXfont pakken).

Laste ned Xorg Biblioteker

Lag først en liste over filer som skal lastes ned. Denne filen vil også brukes til å bekrefte integriteten til nedlastingene når de er fullført:

cat > lib-7.md5 << "EOF"
1155b410c778f805659baf4373db2b92  xtrans-1.5.2.tar.xz
b617a053d2003cc81309f4e13d01379c  libX11-1.8.13.tar.xz
ea8149187a26e9df6dbd94a60b3d8da0  libXext-1.3.7.tar.xz
c5cc0942ed39c49b8fcd47a427bd4305  libFS-1.0.10.tar.xz
d1ffde0a07709654b20bada3f9abdd16  libICE-1.1.2.tar.xz
ef6167bfcb675f65a790e0f517a87455  libSM-1.2.5.tar.xz
ec09c90a1cfd2c0630321d366a5e7203  libXScrnSaver-1.2.5.tar.xz
9acd189c68750b5028cf120e53c68009  libXt-1.3.1.tar.xz
1ef8065f0284e76c2238770365012ab2  libXmu-1.3.1.tar.xz
d22b838e42ac0229ddf5a3afaf23910c  libXpm-3.5.18.tar.xz
2a9793533224f92ddad256492265dd82  libXaw-1.0.16.tar.xz
baa39ada682dd524491a165bb0dfc708  libXfixes-6.0.2.tar.xz
132816d5efccb883bbc2bf45eb905770  libXcomposite-0.4.7.tar.xz
4c54dce455d96e3bdee90823b0869f89  libXrender-0.9.12.tar.xz
5ce55e952ec2d84d9817169d5fdb7865  libXcursor-1.2.3.tar.xz
72bb73f2a07f81784ad69a39d7df1da2  libXdamage-1.1.7.tar.xz
3cba344d6b351cf308114865afa0d91e  libfontenc-1.1.9.tar.xz
66e03e3405d923dfaf319d6f2b47e3da  libXfont2-2.0.7.tar.xz
d378be0fcbd1f689f9a132e0d642bc4b  libXft-2.3.9.tar.xz
95a960c1692a83cc551979f7ffe28cf4  libXi-1.8.2.tar.xz
5f3f5754a40730d1518233a60ba5c48e  libXinerama-1.1.6.tar.xz
b550dfa388292a821aecdd52acecc94c  libXrandr-1.5.5.tar.xz
5014282a08b54ec0edfa73c5cf9ae2c1  libXres-1.2.3.tar.xz
b62dc44d8e63a67bb10230d54c44dcb7  libXtst-1.2.5.tar.xz
8a26503185afcb1bbd2c65e43f775a67  libXv-1.0.13.tar.xz
de4227c5722a8f5ca5748f3ef524aeee  libXvMC-1.0.15.tar.xz
543164f1239fbe92cc0a9128d8da88e9  libXxf86dga-1.1.7.tar.xz
bea9e3707fae6c3275769e771006fa0f  libXxf86vm-1.1.7.tar.xz
57c7efbeceedefde006123a77a7bc825  libpciaccess-0.18.1.tar.xz
fa0faa5b6a8e726186c535d73712ccea  libxkbfile-1.2.0.tar.xz
9805be7e18f858bed9938542ed2905dc  libxshmfence-1.3.3.tar.xz
53b72ce969745f8d3e41175d6549ce0b  libXpresent-1.0.2.tar.xz
EOF

For å laste ned de nødvendige filene ved hjelp av Wget-1.25.0, bruk følgende kommandoer:

mkdir lib &&
cd lib &&
grep -v '^#' ../lib-7.md5 | awk '{print $2}' | wget -i- -c \
    -B https://www.x.org/pub/individual/lib/ &&
md5sum -c ../lib-7.md5

Installasjon av Xorg Biblioteker

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Noen biblioteker kommer med en testpakke. Hvis du ønsker å utføre dem, enten kommentere ut rm -rf ... nedenfor, slik at, etter at alle bibliotekene er installert, kan du gå tilbake til den tilsvarende mappen og kjøre make check, eller gjør individuelle bygg, kjør testene for hver av de som er distribuert med fungerende testpakker. Alternativt kan du fjerne kommentaren til linjen #make check ..., og på slutten, sjekk testresultatene med:

grep -A9 summary *make_check.log

BLFS utviklere har bekreftet at libX11, libXt, libXmu, libXpm, og libxshmfence distribueres med testpakker som virker.

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

for package in $(grep -v '^#' ../lib-7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.?z*}
  echo "Building $packagedir"

  tar -xf $package
  pushd $packagedir
  docdir="--docdir=$XORG_PREFIX/share/doc/$packagedir"

  do_build() { make; }
  do_test() { make check; }
  do_install() { as_root make install; }

  case $packagedir in
    libXfont2-[0-9]* )
      ./configure $XORG_CONFIG $docdir --disable-devel-docs
    ;;

    libXt-[0-9]* )
      ./configure $XORG_CONFIG $docdir \
                  --with-appdefaultdir=/etc/X11/app-defaults
    ;;

    libXpm-[0-9]* )
      ./configure $XORG_CONFIG $docdir --disable-open-zfile
    ;;
  
    libpciaccess* | libxkbfile* )
      meson setup --prefix=$XORG_PREFIX --buildtype=release build
      do_build()  { ninja -C build; }
      do_test() { ninja -C build test; }
      do_install() { as_root ninja -C build install; }
    ;;

    * )
      ./configure $XORG_CONFIG $docdir
    ;;
  esac

  do_build
  #do_test |& tee ../$packagedir-test.log
  do_install
  unset do_build do_test do_install

  popd
  rm -rf $packagedir
  as_root /sbin/ldconfig
done

Til slutt går du ut av skallet som ble startet tidligere:

exit

Parameterforklaringer

--disable-open-zfile: Tillat libXpm å bygge uten det valgfrie compress kommandoen tilstede.

--disable-devel-docs: Deaktiver generering av tekstdokumentasjon i libXfont2 pakken hvis xmlto-0.0.29 er installert uten tekst nettleser. Utelat denne parameteren (eller hele case erklæringen) hvis en tekst nettleser er installert.

--with-fop: Use fop-2.11 for å generere PDF dokumentasjon (kun for libXfont pakken).

Konfigurasjon av Xorg Biblioteker

Hvis du har valgt å installere Xorg inn i /usr, så er ikke noen konfigurasjon nødvendig, og du kan hoppe over resten av denne delen. Hvis du har valgt et alternativt prefiks, bør du opprette to symbolkoblinger for å tilfredsstille det forventede miljøet til flere pakker. Utfør følgende kommandoer som root bruker:

ln -sv $XORG_PREFIX/lib/X11 /usr/lib/X11 &&
ln -sv $XORG_PREFIX/include/X11 /usr/include/X11

Innhold

Installerte Programmer: cxpm og sxpm
Installerte Biblioteker: libfontenc.so, libFS.so, libICE.so, libpciaccess.so, libSM.so, libX11.so, libX11-xcb, libXaw6.so, libXaw7.so, libXaw.so, libXcomposite.so, libXcursor.so, libXdamage.so, libXext.so, libXfixes.so, libXfont2.so, libXft.so, libXinerama.so, libXi.so, libxkbfile.so, libXmu.so, libXmuu.so, libXpm.so, libXpresent.so, libXrandr.so, libXrender.so, libXRes.so, libxshmfence.so, libXss.so, libXt.so, libXtst.so, libXvMC.so, libXvMCW.so, libXv.so, libXxf86dga.so og libXxf86vm.so
Installerte Mapper: $XORG_PREFIX/include/X11/fonts, $XORG_PREFIX/include/X11/ICE, $XORG_PREFIX/include/X11/SM, $XORG_PREFIX/include/X11/Xmu, $XORG_PREFIX/include/X11/Xtrans, $XORG_PREFIX/share/doc/libFS, $XORG_PREFIX/share/doc/libICE-1.1.2, $XORG_PREFIX/share/doc/libSM-1.2.5, $XORG_PREFIX/share/doc/libX11-1.8.13, $XORG_PREFIX/share/doc/libXaw, $XORG_PREFIX/share/doc/libXext, $XORG_PREFIX/share/doc/libXi, $XORG_PREFIX/share/doc/libXmu-1.3.1, $XORG_PREFIX/share/doc/libXrender, $XORG_PREFIX/share/doc/libXt, $XORG_PREFIX/share/doc/libXtst, $XORG_PREFIX/share/doc/libXvMC, $XORG_PREFIX/share/doc/xtrans and $XORG_PREFIX/share/X11/locale

Korte Beskrivelser

cxpm

kontrollerer formatet til en XPM fil

sxpm

viser en XPM fil og/eller konverterer XPM 1 eller 2 filer til XPM 3

libfontenc.so

er X11 skriftkodingsbiblioteket

libFS.so

er bibliotekgrensesnittet til X Font Server

libICE.so

er X Inter Client Exchange bibliotek

libpciaccess.so

er det generiske PCI Tilgang biblioteket for X

libSM.so

er X økt administrasjonsbiblioteket

libX11.so

er Xlib biblioteket

libXaw6.so

er X Athena skjermelementer biblioteket, versjon 6

libXaw7.so

er X Athena skjermelementer biblioteket, versjon 7

libXaw.so

er symbolske lenker til X Athena skjermelementer biblioteket, versjon 7

libXcomposite.so

er X Composite biblioteket

libXcursor.so

er X Markøradministrasjons biblioteket

libXdamage.so

er X skadebiblioteket

libXext.so

er Diverse X utvidelsesbiblioteket

libXfixes.so

gir utvidede versjoner av kjerneprotokollforespørsler

libXfont2.so

er X font biblioteket

libXft.so

er X FreeType grensesnittbiblioteket

libXinerama.so

er Xinerama biblioteket

libXi.so

er X Inndatautvidelse biblioteket

libxkbfile.so

er xkbfile biblioteket

libXmu.so

er X grensesnittbiblioteket for diverse verktøy som ikke er del av Xlib standarden

libXmuu.so

er Mini Xmu biblioteket

libXpm.so

er X Pixmap biblioteket

libXpresent.so

er bibliotekgrensesnittet til X Present utvidelsen

libXrandr.so

er X Endre størrelse, Roter og Refleksjon utvidelsesbiblioteket

libXrender.so

er X Render biblioteket

libXRes.so

er X-Resource utvidelsesklientbibliotek

libxshmfence.so

viser en hendelses API på toppen av Linux futexes

libXss.so

er X11 Klientbibliotek for skjermsparerutvidelse

libXt.so

er X Verktøysett biblioteket

libXtst.so

er Xtst biblioteket

libXvMC.so

er X-Video Bevegelseskompensasjon biblioteket

libXvMCW.so

er XvMC Innpakning inkludert ikkestandard VLD utvidelsen

libXv.so

er X Window Systemvideoutvidelsesbibliotek

libXxf86dga.so

er klientbiblioteket for XFree86-DGA utvidelsen

libXxf86vm.so

er klientbiblioteket for XFree86-VidMode X utvidelsen

libxcvt-0.1.3

Introduksjon til libxcvt

libxcvt er et bibliotek som tilbyr en frittstående versjon av X serverimplementeringen av VESA CVT standard timing modelines generator. Det er ment å være en direkte erstatning for versjonen tidligere levert av Xorg serveren.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libxcvt Avhengigheter

Påkrevd

Xorg build environment (bør stilles inn for at følgende instruksjoner skal virke)

Installasjon av libxcvt

Installer libxcvt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=$XORG_PREFIX --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: cvt
Installert Bibliotek: libxcvt.so
Installert Mappe: $XORG_PREFIX/include/libxcvt

Korte Beskrivelser

cvt

beregner VESA Coordinated Video Timing (CVT) moduslinjer for bruk med X

libxcvt.so

inneholder funksjoner for beregning av VESA CVT

xcb-util-0.4.1

Introduksjon til xcb-util

xcb-util pakken gir ekstra utvidelser til XCB biblioteket, mange som tidligere ble funnet i Xlib, men er ikke en del av X protokollen sin kjerne.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xcb-util Avhengigheter

Påkrevd

libxcb-1.17.0

Valgfri

Doxygen-1.16.1 (for dokumentasjon)

Installasjon av xcb-util

Installer xcb-util ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libxcb-util.so
Installerte Mapper: Ingen

Korte Beskrivelser

libxcb-util.so

Gir verktøyfunksjoner for andre XCB verktøy

XCB Verktøy

Introduksjon til XCB Verktøy

XCB verktøyene gir utvidelser som utviklere kan bruke når det lages X Window programvare. xcb-util-0.4.1 ble nettopp installert men disse verktøyene tilbyr enda flere utvidelser som X Window programvaren kan avhenge av.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

XCB Utilities Avhengigheter

Påkrevd

libxcb-1.17.0 og xcb-util-0.4.1

Laste ned XCB Verktøy

Lag først en liste over filer som skal lastes ned. Denne filen vil også brukes til å bekrefte integriteten til nedlastingene når de er fullført:

cat > xcb-utils.md5 << "EOF"
a67bfac2eff696170259ef1f5ce1b611  xcb-util-image-0.4.1.tar.xz
fbdc05f86f72f287ed71b162f1a9725a  xcb-util-keysyms-0.4.1.tar.xz
193b890e2a89a53c31e2ece3afcbd55f  xcb-util-renderutil-0.3.10.tar.xz
581b3a092e3c0c1b4de6416d90b969c3  xcb-util-wm-0.4.2.tar.xz
e85bccd1993992be07232f8b80a814c8  xcb-util-cursor-0.1.6.tar.xz
EOF

For å laste ned de nødvendige filene ved hjelp av Wget-1.25.0, bruk følgende kommandoer:

mkdir xcb-utils &&
cd    xcb-utils &&
grep -v '^#' ../xcb-utils.md5 | awk '{print $2}' | wget -i- -c \
     -B https://xorg.freedesktop.org/archive/individual/lib/ &&
md5sum -c ../xcb-utils.md5

Installasjon av XCB Utilities

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

for package in $(grep -v '^#' ../xcb-utils.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.?z*}
  tar -xf $package
  pushd $packagedir
     ./configure $XORG_CONFIG
     make
     as_root make install
  popd
  rm -rf $packagedir
done

Til slutt går du ut av skallet som ble startet tidligere:

exit

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libxcb-image.so, libxcb-keysyms.so, libxcb-render-util.so, libxcb-ewmh.so, libxcb-icccm.so, and libxcb-cursor.so
Installerte Mapper: Ingen

Korte Beskrivelser

libxcb-image.so

er en portert versjon av Xlibs XImage og XShmImage funksjoner

libxcb-keysyms.so

gir standard X nøkkelkonstanter og API funksjoner for konvertering til/fra nøkkelkoder

libxcb-render-util.so

gir bekvemmelighetsfunksjoner for Render utvidelsen

libxcb-ewmh.so

gir klienten og vindusbehandleren hjelpere for EWMH

libxcb-icccm.so

gir klienten og vindusbehandleren hjelpere for ICCCM

libxcb-cursor.so

er en portert versjon av Xlibs libXcursor funksjoner

Mesa-25.3.5

Introduksjon til Mesa

Mesa inneholder flere biblioteker og drivere for flere API-er som OpenGL og Vulkan.

Notat

Denne pakken tilbyr OpenGL biblioteker som libGL.so. Pakker og binærfiler utenfor BLFS, som AppImages, kan ha problemer med både å bygge og kjøre på systemer med OpenGL biblioteker installert fra denne pakken. Hvis du finner ut at du ikke kan bygge eller kjøre en gitt pakke eller binærfil, må du installere GLFS pakken libglvnd eller for systemd libglvnd. Den tilbyr egne OpenGL biblioteker og tillater bruk av drivere utenfor BLFS. Du må gjenoppbygge mange pakker med OpenGL for å tillate at pakker bruker libglvnd. Dette støttes ikke av BLFS redaktørene.

Notat

Mesa oppdateres relativt ofte. Du kanskje ønsker å bruke den siste tilgjengelige mesa versjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://mesa.freedesktop.org/archive/mesa-25.3.5.tar.xz

  • Nedlasting MD5 sum: 8e699baecbb0a15b5651cc0db2035a4c

  • Nedlastingsstørrelse: 42 MB

  • Estimert diskplass som kreves: 1.1 GB (med dokumenter, legg til 457 MB for tester)

  • Estimert byggetid: 3 SBU (med dokumenter; legg til 1.4 SBU for tester; begge med parallellitet=4)

Ytterligere Nedlastinger

Mesa Avhengigheter

Påkrevd

Xorg Biblioteker, libdrm-2.4.131, Mako-1.3.10, og PyYAML-6.0.3

Anbefalt

Notat

En Internett tilkobling er nødvendig for å bygge Nouveau Vulkan driveren. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Notat

Velge Mesa drivere

I instruksjonene nedenfor er alle tilgjengelige drivere bygget. Det vil nesten alltid fungere. Det er imidlertid ikke effektivt. Avhengig av videomaskinvaren din, trenger du sannsynligvis bare spesifikke drivere.

Det første du trenger å vite er hvilken type videoenhet du har. I noen tilfeller er den innebygd i CPU. I andre er det et separat PCI kort. I begge tilfeller kan du fortelle hvilken videomaskinvare du har ha ved å installere pciutils-3.14.0 og kjøre:

lspci | grep VGA

Videoenheten er mest sannsynlig en av tre familier: AMD, Intel eller NVIDIA. Se parameterforklaringene for -D gallium-drivers=auto nedenfor for å se hvilke alternativer som er tilgjengelige for din spesifikke videomaskinvare (eller emulert videomaskinvare). Du bør sannsynligvis legge til softpipe eller llvmpipe alternativet som en backup driver.

For 'platforms' kan du velge x11 og/eller wayland. Merk at i BLFS kan for øyeblikket bare Gnome og KDE bruke wayland. Hvis du ikke skal bruke et av de skrivebordsmiljøene vil du sannsynligvis bare ha x11.

For 'vulkan-drivers' kan det være lurt å begrense utvalget til ditt gjeldende maskinvare. Disse driverne brukes av enkelte applikasjoner. For eksempel vil ffmpeg (inkludert ffplay) bruke Vulkan i stedet for OpenGL for å gjengi video på GPU. Hvis du ikke ønsker å gjøre dette vil du kanskje ikke installere dem. Se parameterforklaringene for -D vulkan-drivers=auto nedenfor for å se hvilke alternativer som er tilgjengelige for din spesifikke videomaskinvare (eller emulert videomaskinvare). Du bør sannsynligvis legge til swrast alternativet som backupdriver med mindre du ikke trenger Vulkan i det hele tatt.

Valgfri

libdisplay-info-0.3.0, libunwind-1.8.3, lm-sensors-3-6-2, Valgrind-3.26.0, mesa-demos (gir mer enn 300 ekstra demoer for å teste Mesa; dette inkluderer de samme programmene lagt til av oppdateringen ovenfor), Bellagio OpenMAX Integration Layer (for mobile plattformer), libglvnd eller for systemd libglvnd. (tilbyr OpenGL biblioteker), og libtizonia

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

Device Drivers --->
  Graphics support --->
    <*/M>   Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                      ...  [DRM]
    
    # For r300 or r600:
    < /*/M> ATI Radeon                                              [DRM_RADEON]
    
    # For radeonsi:
    < /*/M> AMD GPU                                                 [DRM_AMDGPU]
    [*]       Enable amdgpu support for SI parts                 [DRM_AMDGPU_SI]
    [*]       Enable amdgpu support for CIK parts               [DRM_AMDGPU_CIK]
      Display Engine Configuration --->
      [*]   AMD DC - Enable new display engine                      [DRM_AMD_DC]
    
    # For nouveau:
    < /*/M> Nouveau (NVIDIA) cards                                 [DRM_NOUVEAU]
    [*]       Use GSP firmware for Turing/Ampere (needs firmware installed)
                                                  ...  [DRM_NOUVEAU_GSP_DEFAULT]
    
    # For i915, crocus, or iris:
    < /*/M> Intel 8xx/9xx/G3x/G4x/HD Graphics                         [DRM_I915]
    
    # For iris:
    < /*/M> Intel Xe2 Graphics                                          [DRM_XE]
    [*]       Enable display support                            [DRM_XE_DISPLAY]
    (*)       Force probe xe for selected Intel hardware IDs
                                                       ...  [DRM_XE_FORCE_PROBE]
    
    # For llvmpipe or softpipe:
    < /*>   Virtual GEM provider                                      [DRM_VGEM]
    
    # For svga:
    < /*/M> DRM driver for VMware Virtual GPU                       [DRM_VMWGFX]

Notat

Det tilsvarende Mesa Gallium3D drivernavnet er gitt som kommentar for konfigurasjonsoppføringene. Hvis du ikke vet navnet på Mesa Gallium3D driveren for din GPU, se Mesa Gallium3D Drivers under.

For GPU-ene som støttes av Iris Gallium3D driveren, med CONFIG_DRM_I915 aktivert og CONFIG_DRM_XE_FORCE_PROBE satt til strengen *, i915-driveren vil bli brukt hvis den støtter GPU, og Xe-driveren vil bli brukt hvis den støtter GPU, men i915-driveren gjør det ikke. Hvis du er sikker på at GPUen din støttes av i915-driveren, kan du deaktivere Xe-driver for å spare litt byggetid. Hvis GPUen din støttes av begge driverne og du vil bruke Xe-driveren, kan du deaktivere i915-driveren, eller få i915-driveren til å nekte din GPU via CONFIG_DRM_I915_FORCE_PROBE alternativet, for eksempel sette den til !7d55 ville få i915 til å nekte Meteor Lake integrert GPU (hvorav PCI ID er 8086:7d55), overlater det til Xe-driveren.

CONFIG_DRM_RADEON, CONFIG_DRM_AMDGPU, CONFIG_DRM_NOUVEAU, CONFIG_DRM_I915, og CONFIG_DRM_XE kan kreve fastvare. Se Om Fastvare for detaljer.

Å velge CONFIG_DRM_RADEON, CONFIG_DRM_AMDGPU, eller CONFIG_DRM_NOUVEAU som «y» anbefales ikke. Hvis det er, alle nødvendige fastvare må bygges som en del av kjernebildet eller initramfs for at driveren skal fungere riktig.

Underpostene under CONFIG_DRM_AMDGPU er brukt for å sikre at AMDGPU kjernedriveren støtter alle GPUer som bruker radeonsi driver. De er ikke nødvendig hvis du ikke trenger CONFIG_DRM_AMDGPU. De kan være unødvendig for noen GPU modeller.

For llvmpipe eller softpipe, CONFIG_DRM_VGEM er nødvendig, ellers kan X klienter mislykkes å starte med en kryptisk melding Error: couldn't get an RGB, Double-buffered visual. Strengt tatt, kan den kompileres som en modul. Men modulen vil ikke bli lastet automatisk, så det er mer praktisk å bygge den som en del av kjernebildet.

Installasjon av Mesa

Hvis du har lastet ned xdemos oppdateringen (nødvendig hvis du tester Xorg installasjon i henhold til BLFS instruksjoner), bruk den ved å kjøre følgende kommando:

patch -Np1 -i ../mesa-add_xdemos-4.patch

Installer Mesa ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                 \
      --prefix=$XORG_PREFIX    \
      --buildtype=release      \
      -D platforms=x11,wayland \
      -D gallium-drivers=auto  \
      -D vulkan-drivers=auto   \
      -D valgrind=disabled     \
      -D video-codecs=all      \
      -D libunwind=disabled   &&

ninja

Advarsel

Spør advokaten din eller fjern -D video-codecs=all alternativet om du vil distribuere de kompilerte Mesa bibliotekene og driverne til andre.

For å teste resultatene, utsted:

meson configure -D build-tests=true &&
ninja test

Nå, som root bruker:

ninja install

Hvis ønskelig, installer den valgfrie dokumentasjonen ved å kjøre følgende kommandoer som root bruker:

cp -rv ../docs -T /usr/share/doc/mesa-25.3.5

Parameterforklaringer

--buildtype=release: Denne bryteren sikrer et fullt optimalisert bygg, og deaktiverer feilsøkingspåstander som vil kraftig bremse ned bibliotekene i visse brukstilfeller. Uten denne bryteren, kan byggestørrelsene spenne over 2 GB.

-D gallium-drivers=auto: Denne parameteren kontrollerer hvilke Gallium3D drivere som skal bygges:

  • auto velger alle tilgjengelige Gallium3D drivere for x86. Med en kommadelt liste, kun en delmengde av disse drivere vil bli bygget. Hvis du nøyaktig vet hvilke drivere du trenger, kan du velge dem eksplisitt. for eksempel, -D gallium-drivers=radeonsi,iris,llvmpipe.

  • r300 (for ATI Radeon 9000 eller Radeon X seriene)

  • r600 (for AMD/ATI Radeon HD 2000-6000 seriene)

  • radeonsi (for AMD Radeon HD 7000 eller nyere AMD GPU modeller)

  • nouveau (for støttede NVIDIA GPUer, de er listet alle som «3D features» enten «DONE» eller «N/A» i the Nouveau status page)

  • virgl (for en QEMU virtuell GPU med virglrender støtte; merk at BLFS qemu-10.2.1 ikke er bygget med virglrender)

  • svga (for en VMWare virtuell GPU)

  • llvmpipe (bruker CPU for 3D rasterisering. Merk at det er mye tregere enn å bruke en moderne 3D-kompatibel GPU, så den bør bare brukes hvis GPUen ikke støttes av andre drivere

  • softpipe (bruker også CPU for 3D rasterisering, men tregere enn llvmpipe. Det er ingen grunn til å bruke den med mindre LLVM ikke er tilgjengelig)

  • iris (for Intel GPUer levert med Broadwell eller nyere CPUer, eller som et dedikert PCIe kort)

  • crocus (for Intel GMA 3000, X3000 seriene, 4000 seriene, eller X4000 seriene GPUer levert med brikkesett, eller Intel HD GPUer levert med pre-Broadwell CPUer)

  • i915 (for Intel GMA 900, 950, 3100, eller 3150 GPUer sendt med brikkesett eller Atom D/N 4xx/5xx CPUer)

  • zink (bruker Vulkan for å implementere OpenGL, og selv om den til tider er ustabil, kan den være en anstendig erstatning for ikke-presterende gallium drivere som nouveau)

-D vulkan-drivers=auto: Denne parameteren kontrollerer hvilke Vulkan drivere som skal bygges:

  • auto velger alle tilgjengelige Vulkan drivere for x86. Med en kommadelt liste, kun en delmengde av disse drivere vil bli bygget. Hvis du nøyaktig vet hvilke drivere du trenger, kan du velge dem eksplisitt. for eksempel, -D vulkan-drivers=amd,nouveau,swrast.

  • amd (for AMD Radeon HD 7730 eller nyere AMD GPUer)

  • intel (for Intel GPUer levert med Skylake eller nyere CPUer, eller som et dedikert PCIe kort)

  • intel_hasvk (for Intel GPUer levert med Ivy Bridge, Haswell, eller Broadwell CPUer)

  • nouveau (for GTX 16XX, RTX 20XX, eller nyere NVIDIA GPUer)

  • swrast (for bruk av CPU for 3D-rasterisering) Merk at det er mye tregere enn å bruke en moderne 3D-kompatibel GPU, så den bør bare brukes hvis GPUen ikke støttes av andre drivere.

  • "" (tom liste, bruk -D vulkan-drivers="" hvis du ikke har installert og du ikke planlegger å installere Vulkan-Loader-1.4.341.0)

-D platforms=...: Denne parameteren kontrollerer hvilke vindussystemer som skal støttes. Tilgjengelige linux plattformer er x11 og wayland.

-D valgrind=disabled: Denne parameteren deaktiverer bruken av Valgrind under byggeprosessen. Fjern denne parameteren hvis du har Valgrind installert, og ønsker å se etter minnelekkasjer.

-D video-codecs=all: Denne parameteren aktiverer byggekodeker for videoformater som dekkes av tredjepartspatenter.

-D libunwind=disabled: Denne parameteren deaktiverer bruken av libunwind.

meson configure -D build-tests=true: Denne kommandoen vil rekonfigurere byggingen for å sette -D build-tests=true, men behold de andre alternativene som er spesifisert i meson setup kommandoen uendret. Det tillater ninja test å bygge og kjøre enhetstester.

-D egl-native-platform="...": Denne parameteren kontrollerer hvilken støtte for Embedded Graphics Library som skal bygges. Tilgjengelig linux alternativer er auto (standard), x11, wayland, surfaceless og drm.

Innhold

Installerte Programmer: glxgears and glxinfo
Installerte Biblioteker: libEGL.so, libGL.so, libGLESv1_CM.so, libGLESv2.so, libgbm.so, and libgallium-25.3.5.so
Installerte DRI Driver Stubs: libdril_dri.so og flere symbolske lenker til den
Installerte VA-API Drivers: nouveau_drv_video.so, r600_drv_video.so, radeonsi_drv_video.so, og virtio_gpu_drv_video.so (symbolsk lenke til libgallium-25.3.5.so)
Installerte GBM Bakstykker: dri_gbm.so
Installerte Vulkan Drivere: libvulkan_intel_hasvk.so, libvulkan_intel.so, libvulkan_lvp.so, libvulkan_nouveau.so, og libvulkan_radeon.so
Installerte Mapper: $XORG_PREFIX/include/{EGL,GLES,GLES2,GLES3,KHR}, $XORG_PREFIX/lib/{dri,gbm}, $XORG_PREFIX/share/drirc.d (inneholder løsninger for ulike applikasjoner, spesielt nettlesere og spill), $XORG_PREFIX/share/vulkan, and /usr/share/doc/mesa-25.3.5

Korte Beskrivelser

glxgears

er en GL demo som er nyttig for feilsøking av grafikk problemer

glxinfo

er et diagnoseprogram som viser informasjon om grafikkmaskinvare og installerte GL biblioteker

dri_gbm.so

er GBM bakstykket for Mesa drivere

libdril_dri.so

er en stub som lar Xorg serveren samarbeide med Gallium3D drivere

libEGL.so

gir et grunnleggende plattformgrafikkgrensesnitt som definert av EGL-1.4 spesifikasjonen

libgallium-25.3.5.so

inneholder alle Gallium3D og VA-API drivere

libgbm.so

er Mesa Generisk buffer administrasjonsbibliotek

libGLESv1_CM.so

er Mesa OpenGL ES 1.1 biblioteket

libGLES2.so

er Mesa OpenGL ES 2.0 biblioteket

libGL.so

er Mesa OpenGL hovedbiblioteket

xbitmaps-1.1.3

Introduksjon til xbitmaps

xbitmaps pakken inneholder punktgrafikkbilder brukt av flere applikasjoner bygget i Xorg kapittelet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xbitmaps Avhengigheter

Påkrevd

util-macros-1.20.2

Installasjon av xbitmaps

Installer xbitmaps ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: $XORG_PREFIX/include/X11/bitmaps

Xorg Applikasjoner

Introduksjon til Xorg Applikasjoner

Xorg applikasjoner gir forventede applikasjoner tilgjengelig i tidligere X Window implementeringer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xorg Applikasjoner Avhengigheter

Påkrevd

libpng-1.6.55, Mesa-25.3.5, xbitmaps-1.1.3, og xcb-util-0.4.1

Valgfri

Linux-PAM-1.7.2 og både cairo-5c og Nickle (bare hvis du ønsker å prøve å kjøre udokumenterte xkeyhost skriptet).

Nedlasting av Xorg Applikasjoner

Lag først en liste over filer som skal lastes ned. Denne filen vil også brukes til å bekrefte integriteten til nedlastingene når de er fullført:

cat > app-7.md5 << "EOF"
30f898d71a7d8e817302970f1976198c  iceauth-1.0.10.tar.xz
7dcf5f702781bdd4aaff02e963a56270  mkfontscale-1.2.3.tar.xz
b9efe1d21615c474b22439d41981beef  sessreg-1.1.4.tar.xz
1d61c9f4a3d1486eff575bf233e5776c  setxkbmap-1.3.4.tar.xz
6484cd8ee30354aaaf8f490988f5f6ef  smproxy-1.0.8.tar.xz
9cfdec89ad7bd86bcdfda150ae995955  xauth-1.1.5.tar.xz
37063ccf902fe3d55a90f387ed62fe1f  xcmsdb-1.0.7.tar.xz
f97e81b2c063f6ae9b18d4b4be7543f6  xcursorgen-1.0.9.tar.xz
700556957773d378fa16a65a4406be0a  xdpyinfo-1.4.0.tar.xz
830a54ef3ba338013e06a1b5b012b4bd  xdriinfo-1.0.8.tar.xz
f29d1544f8dd126a1b85e2f7f728672d  xev-1.2.6.tar.xz
687e42aa5afaec37f14da3072651c635  xgamma-1.0.8.tar.xz
45c7e956941194e5f06a9c7307f5f971  xhost-1.0.10.tar.xz
8e4d14823b7cbefe1581c398c6ab0035  xinput-1.6.4.tar.xz
b8128ff6816897bd385ca437cd2886ee  xkbcomp-1.5.0.tar.xz
543c0535367ca30e0b0dbcfa90fefdf9  xkbevd-1.1.6.tar.xz
07483ddfe1d83c197df792650583ff20  xkbutils-1.0.6.tar.xz
294db9393a9d8e6613e1e3dd4fe0273f  xkill-1.0.7.tar.xz
da5b7a39702841281e1d86b7349a03ba  xlsatoms-1.1.4.tar.xz
ab4b3c47e848ba8c3e47c021230ab23a  xlsclients-1.1.5.tar.xz
ba2dd3db3361e374fefe2b1c797c46eb  xmessage-1.0.7.tar.xz
0d66e07595ea083871048c4b805d8b13  xmodmap-1.0.11.tar.xz
ab6c9d17eb1940afcfb80a72319270ae  xpr-1.2.0.tar.xz
5ef4784b406d11bed0fdf07cc6fba16c  xprop-1.2.8.tar.xz
dc7680201afe6de0966c76d304159bda  xrandr-1.5.3.tar.xz
c8629d5a0bc878d10ac49e1b290bf453  xrdb-1.2.2.tar.xz
55003733ef417db8fafce588ca74d584  xrefresh-1.1.0.tar.xz
18ff5cdff59015722431d568a5c0bad2  xset-1.2.5.tar.xz
fa9a24fe5b1725c52a4566a62dd0a50d  xsetroot-1.1.3.tar.xz
d698862e9cad153c5fefca6eee964685  xvinfo-1.1.5.tar.xz
b0081fb92ae56510958024242ed1bc23  xwd-1.0.9.tar.xz
c91201bc1eb5e7b38933be8d0f7f16a8  xwininfo-1.1.6.tar.xz
3e741db39b58be4fef705e251947993d  xwud-1.0.7.tar.xz
EOF

For å laste ned de nødvendige filene ved hjelp av Wget-1.25.0, bruk følgende kommandoer:

mkdir app &&
cd app &&
grep -v '^#' ../app-7.md5 | awk '{print $2}' | wget -i- -c \
    -B https://www.x.org/pub/individual/app/ &&
md5sum -c ../app-7.md5

Installasjon av Xorg Applikasjoner

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

for package in $(grep -v '^#' ../app-7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.?z*}
  tar -xf $package
  pushd $packagedir
     ./configure $XORG_CONFIG
     make
     as_root make install
  popd
  rm -rf $packagedir
done

Til slutt går du ut av skallet som ble startet tidligere:

exit

Med mindre du har installert de valgfrie avhengighetene, fjern et udokumentert skript som er rapportert å være ødelagt (xkeystone levert av xrandr pakken).

as_root rm -f $XORG_PREFIX/bin/xkeystone

Innhold

Installerte Programmer: iceauth, mkfontdir, mkfontscale, sessreg, setxkbmap, smproxy, xauth, xcmsdb, xcursorgen, xdpr, xdpyinfo, xdriinfo, xev, xgamma, xhost, xinput, xkbbell, xkbcomp, xkbevd, xkbvleds, xkbwatch, xkill, xlsatoms, xlsclients, xmessage, xmodmap, xpr, xprop, xrandr, xrdb, xrefresh, xset, xsetroot, xvinfo, xwd, xwininfo, and xwud
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

iceauth

er ICE myndighetsfilverktøyet

mkfontdir

oppretter en indeks over X fontfiler i en mappe

mkfontscale

oppretter en indeks over skalerbare fontfiler for X

sessreg

administrerer utmp/wtmp oppføringer for ikke-init klienter

setxkbmap

stiller inn tastaturet ved hjelp av X Keyboard Extension

smproxy

er Session Manager Proxy

xauth

er X Authority filverktøyet

xcmsdb

er Device Color Characterization verktøyet for X Fargestyringssystem

xcursorgen

oppretter en X markørfil fra en samling PNG bilder

xdpr

dumper et X vindu direkte til en skriver

xdpyinfo

er et skjerminformasjonsverktøy for X

xdriinfo

spør om konfigurasjonsinformasjon for DRI drivere

xev

skriver ut innholdet i X hendelser

xgamma

endrer en monitors gammakorreksjon gjennom X serveren

xhost

er et servertilgangs kontrollprogram for X

xinput

er et verktøy for å konfigurere og teste X inndataenheter

xkbbell

er et XKB verktøyprogram som reiser en bjellebegivenhet

xkbcomp

kompilerer en XKB tastaturbeskrivelse

xkbevd

er XKB hendelse nissen

xkbvleds

viser XKB statusen til tastaturets lysdioder

xkbwatch

overvåker modifikasjonstaster og lysdioder

xkill

dreper en klient med X ressursen

xlsatoms

viser internerte atomer definert på serveren

xlsclients

viser klientapplikasjoner som kjører på en skjerm

xmessage

viser en melding eller spørring i et vindu

xmodmap

er et verktøy for å endre tastaturkart og pekerknapp kartlegginger i X

xpr

skriver ut en X vindusdump

xprop

er en egenskapsvisning for X

xrandr

er et primitivt kommandolinjegrensesnitt til RandR utvidelsen

xrdb

er X serverressurs databaseverktøyet

xrefresh

oppdaterer hele eller deler av en X skjerm

xset

er brukerpreferanseverktøyet for X

xsetroot

er parameterinnstillingsverktøyet for rotvinduet for X

xvinfo

skriver ut X-Video utvidelsesadapter informasjon

xwd

dumper et bilde av et X vindu

xwininfo

er et vindusinformasjons verktøy for X

xwud

er en bildefremviser for X

luit-20250912

Introduksjon til luit

luit pakken er et filter som kan kjøres mellom en vilkårlig applikasjon og en UTF-8 terminalemulator. Det vil konvertere applikasjonsutdata fra lokalitetkoding til UTF-8, og konverter terminalinngang fra UTF-8 inn i lokalitetens koding.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

luit Avhengigheter

Påkrevd

Xorg Applikasjoner

Installasjon av luit

Installer luit ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: luit
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

xcursor-themes-1.0.7

Introduksjon til xcursor-themes

xcursor-themes pakken inneholder Redglass og Whiteglass animerte markørtemaer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xcursor-themes Avhengigheter

Påkrevd

Xorg Applikasjoner

Installasjon av xcursor-themes

Notat

Vi installerer eksplisitt markørtemaene i /usr i stedet for $XORG_PREFIX slik at ikke-Xorg skrivebordsmiljøer kan finne dem.

Installer xcursor-themes ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/icons/handhelds, /usr/share/icons/redglass, og /usr/share/icons/whiteglass

Xorg Fonter

Introduksjon til Xorg Fonter

Xorg fontpakker gir noen skalerbare fonter og støttepakker for Xorg applikasjoner. Mange vil ønske å installere andre TTF eller OTF fonter i tillegg til, eller i stedet for, disse. Noen er oppført på «TTF og OTF fonter».

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xorg Fonter Avhengigheter

Påkrevd

xcursor-themes-1.0.7

Laste ned Xorg Fonter

Lag først en liste over filer som skal lastes ned. Denne filen vil også brukes til å bekrefte integriteten til nedlastingene når de er fullført:

cat > font-7.md5 << "EOF"
a6541d12ceba004c0c1e3df900324642  font-util-1.4.1.tar.xz
a56b1a7f2c14173f71f010225fa131f1  encodings-1.1.0.tar.xz
dd1a744b97eb6d388d4e78b17011193e  font-alias-1.0.6.tar.xz
546d17feab30d4e3abcf332b454f58ed  font-adobe-utopia-type1-1.0.5.tar.xz
063bfa1456c8a68208bf96a33f472bb1  font-bh-ttf-1.0.4.tar.xz
51a17c981275439b85e15430a3d711ee  font-bh-type1-1.0.4.tar.xz
00f64a84b6c9886040241e081347a853  font-ibm-type1-1.0.4.tar.xz
fe972eaf13176fa9aa7e74a12ecc801a  font-misc-ethiopic-1.0.5.tar.xz
3b47fed2c032af3a32aad9acc1d25150  font-xfree86-type1-1.0.5.tar.xz
EOF

For å laste ned de nødvendige filene ved hjelp av Wget-1.25.0, bruk følgende kommandoer:

mkdir font &&
cd font &&
grep -v '^#' ../font-7.md5 | awk '{print $2}' | wget -i- -c \
    -B https://www.x.org/pub/individual/font/ &&
md5sum -c ../font-7.md5

Installasjon av Xorg Fonter

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

for package in $(grep -v '^#' ../font-7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.?z*}
  tar -xf $package
  pushd $packagedir
    ./configure $XORG_CONFIG
    make
    as_root make install
  popd
  as_root rm -rf $packagedir
done

Til slutt går du ut av skallet som ble startet tidligere:

exit

Når alle fontene er installert, må systemet bli konfigurert slik at Fontconfig kan finne TrueType fonter. Siden fontene er utenfor standard søkebane for flere pakker hvis XORG_PREFIX ikke er /usr, lage symbolkoblinger til Xorg TrueType font mappen i /usr/share/fonts ved å kjøre følgende kommandoer som root bruker:

install -v -d -m755 /usr/share/fonts                               &&
ln -svfn $XORG_PREFIX/share/fonts/X11/OTF /usr/share/fonts/X11-OTF &&
ln -svfn $XORG_PREFIX/share/fonts/X11/TTF /usr/share/fonts/X11-TTF

Innhold

Installerte Programmer: bdftruncate og ucs2any
Installerte Biblioteker: Ingen
Installerte Mapper: $XORG_PREFIX/share/fonts

Korte Beskrivelser

bdftruncate

genererer en avkortet BDF font fra en ISO 10646-1 kodet BDF font

ucs2any

genererer BDF fonter i hvilken som helst koding fra en ISO 10646-1 kodet BDF font

XKeyboardConfig-2.46

Introduksjon til XKeyboardConfig

XKeyboardConfig pakken inneholder tastaturkonfigurasjons databasen for X Vindussystem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

XKeyboardConfig Avhengigheter

Påkrevd

Xorg Biblioteker

Valgfri (påkrevd for tester)

libxkbcommon-1.13.1, pytest-9.0.2 med valgfritt xdist (øker hastigheten på testene), og Xorg Applikasjoner

Installasjon av XKeyboardConfig

Installer XKeyboardConfig ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=$XORG_PREFIX --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test. To tester. test_compat_layout[mapping39-base] og test_compat_layout[mapping39-evdev], er kjent for å feile.

Viktig

Hvis du oppgraderer fra versjon 2.44 eller tidligere, vil installasjonen mislykkes hvis noen filer ikke er symbolske lenker. For å fikse dette, kjør som root bruker:

if [ -d $XORG_PREFIX/share/X11/xkb ]; then
  rm -rf $XORG_PREFIX/share/X11/xkb
  rm -f  $XORG_PREFIX/share/man/man7/xkeyboard-config.7
  rm -f  $XORG_PREFIX/share/pkgconfig/xkeyboard-config.pc
fi

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: $XORG_PREFIX/share/X11/xkb

Xwayland-24.1.9

Introduksjon til Xwayland

Xwayland pakken er en Xorg server som kjører på toppen av wayland serveren. Den har blitt skilt fra Xorg hovedserverpakke. Den lar X klienter kjøre inne i en wayland økt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.x.org/pub/individual/xserver/xwayland-24.1.9.tar.xz

  • Nedlasting MD5 sum: 4351b63c22acfe1bf29c56950d2824ae

  • Nedlastingsstørrelse: 1.3 MB

  • Estimert diskplass som kreves: 28 MB (legg til 362 MB for tester)

  • Estimert byggetid: 0.2 SBU (med parallellitet=4; legg til 1.7 SBU for tester, ikke inkludert klonetid)

Xwayland Avhengigheter

Påkrevd

libxcvt-0.1.3, Pixman-0.46.4, wayland-protocols-1.47, Xorg Applikasjoner (kjøretid), og Xorg Fonts (bare font-util)

Anbefalt
Valgfri

git-2.53.0 (for å laste ned pakker som trengs for testene), libei-1.5.0, libgcrypt-1.12.0, Nettle-3.10.2, xmlto-0.0.29, Xorg Legacy Fonts (bare bdftopcf, for å bygge fonter som kreves for testene), rendercheck (for tester), og weston (for tester)

Installasjon av Xwayland

Installer xwayland ved å kjøre følgende kommandoer:

sed -i '/install_man/,$d' meson.build &&

mkdir build &&
cd    build &&

meson setup ..              \
      --prefix=$XORG_PREFIX \
      --buildtype=release   \
      -D xkb_output_dir=/var/lib/xkb &&
ninja

Å bygge testrammeverket krever litt arbeid. Først, weston bringer inn flere avhengigheter, men antallet kan reduseres med å deaktivere unødvendige funksjoner. meson kommandoer for en nedstrippet oppbygging av weston er vist i Upstream continuous integration build.

Å kjøre testene innebærer å laste ned to andre rammeverk, i tillegg til de nevnte valgfrie avhengighetene:

mkdir tools &&
pushd tools &&

git clone https://gitlab.freedesktop.org/mesa/piglit.git --depth 1 &&
cat > piglit/piglit.conf << EOF                                    &&
[xts]
path=$(pwd)/xts
EOF

git clone https://gitlab.freedesktop.org/xorg/test/xts --depth 1   &&

export DISPLAY=:22           &&
../hw/vfb/Xvfb $DISPLAY &
VFB_PID=$!                   &&
cd xts                       &&
CFLAGS=-fcommon ./autogen.sh &&
make                         &&
kill $VFB_PID                &&
unset DISPLAY VFB_PID        &&
popd

Da kan testene kjøres med:

XTEST_DIR=$(pwd)/tools/xts PIGLIT_DIR=$(pwd)/tools/piglit ninja test

Nå, som root bruker:

ninja install &&
cat >> /etc/sysconfig/createfiles << "EOF"
/tmp/.X11-unix dir 1777 root root
EOF

Hvis Xorg-Server-21.1.21 ikke er installert og du ikke planlegger å installere det senere, kan du installere Xvfb fra denne pakken. Som root bruker:

install -vm755 hw/vfb/Xvfb /usr/bin

Parameterforklaringer

sed -i '/install_man/,$d' meson.build: Forhindrer installering av en manualside for Xserver, som også leveres av Xorg-Server-21.1.21. Fjern denne kommandoen hvis Xorg-Server-21.1.21 ikke er installert og du ikke planlegger å installere den senere.

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D secure-rpc=false: Dette alternativet deaktiverer bygging av RPC støtte hvis libtirpc-1.3.7 ikke er installert.

cat >> /etc/sysconfig/createfiles...: Denne kommandoen oppretter /tmp/.X11-unix mappen ved oppstart, og sikrer at tillatelser og eierskap er korrekte som kreves av applikasjoner som bruker Xwayland.

Innhold

Installert Program: Xwayland
Installert Bibliotek: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

Xwayland

Lar X klienter kjøre under wayland

Xorg-Server-21.1.21

Introduksjon til Xorg Server

Xorg Server er kjernen av X Vindussystemet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

  • Med fjerning av xf86-video-* driverne, alternativet TearFree er ikke lenger funksjonell. For å omgå dette har oppstrøms lagt til TearFree alternativet til standard modusinnstillingsdriver. Denne oppdateringen tilbakeporterer denne funksjonen. Påfør denne oppdateringen hvis du skal bruke Xorg i et miljø uten en kompositor (som TWM, IceWM, Openbox, eller Fluxbox).

    Nødvendig oppdatering: https://www.linuxfromscratch.org/patches/blfs/svn/xorg-server-21.1.21-tearfree_backport-1.patch

Xorg Server Avhengigheter

Påkrevd

libxcvt-0.1.3, Pixman-0.46.4, Xorg Fonts (bare font-util), og ved kjøretid: xkeyboard-config-2.46

Anbefalt

Notat

Selv om det er mulig å bygge denne pakken uten dbus-1.16.2 installert eller å kjøre Xorg serveren uten elogind-255.22 fungerer, vil det kreve å kjøre Xorg serveren som root bruker ellers vil Xorg serveren fungere feil eller til og med ikke starte. BLFS redaktørene fraråder sterkt å hoppe over disse to avhengighetene. Ikke prøv å gjøre det med mindre du virkelig vet hva gjør du.

Valgfri

acpid-2.0.34 (kjøretid), Doxygen-1.16.1 (for å bygge API dokumentasjon), fop-2.11 (for å bygge dokumentasjon), libunwind-1.8.3, Nettle-3.10.2, libgcrypt-1.12.0, XCB Verktøy (for å bygge Xephyr), xmlto-0.0.29 (for å bygge dokumentasjon), xkeyboard-config-2.46 (for tester), rendercheck (for tester), og xorg-sgml-doctools (for å bygge dokumentasjon)

Kjernekonfigurasjon

De tradisjonelle Device Dependent X (DDX) driverne er fjernet fra BLFS til fordel for modesetting_drv driver som blir bygget som en del av denne pakken. For å bruke modesetting_drv driver, kjernen må gi en Direct Rendering Manager (DRM) driver for din GPU.

Hvis GPUen din støtter 3D akselerasjon og Mesa-25.3.5 gir en Gallium3D driver for å utnytte 3D funksjonen, burde du allerede ha aktivert de nødvendige kjernekonfigurasjonsalternativene i Mesa Kernel Configuration. Ellers må du finne kjernekonfigurasjonsalternativ for DRM driveren for GPU og aktiver den. Spesielt de virtuelle GPUene levert av en virtuell maskin behandler:

Device Drivers --->
  Graphics support --->
    <*/M>   Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                      ...  [DRM]
    < /*/M> DRM driver for VMware Virtual GPU                       [DRM_VMWGFX]
    < /*/M> DRM Support for bochs dispi vga interface (qemu stdvga)  [DRM_BOCHS]
    < /*/M> Virtual Box Graphics Card                            [DRM_VBOXVIDEO]

Hvis kjernen ikke gir en DRM driver for din GPU, på de fleste x86 systemer «simple frame buffer» DRM driver som kjører på VESA eller UEFI rammebuffer kan brukes som reserve. Aktiver følgende alternativer i kjernekonfigurasjonene hvis du ikke har en dedikert DRM driver for GPUen, eller du vil holde det enkle rammebufferdriver som en reserve i tilfelle den dedikerte driveren feiler:

Device Drivers --->
  Firmware Drivers --->
    [*] Mark VGA/VBE/EFI FB as generic system framebuffer       [SYSFB_SIMPLEFB]
  Graphics support --->
    <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                      ...  [DRM]
    Drivers for system framebuffers --->
      <*> Simple framebuffer driver                              [DRM_SIMPLEDRM]

For å la kjernen skrive ut feilsøkingsmeldinger på et tidlig oppstartsstadium, CONFIG_DRM og CONFIG_DRM_SIMPLEDRM bør ikke bygges som kjernemoduler med mindre en initramfs vil bli brukt.

Hvis du vil bruke den enkle rammebufferdriveren på et oppstartet system via BIOS (i stedet for UEFI), legg til følgende linje før den første menuentry blokk i /boot/grub/grub.cfg filen for å initialisere VESA rammebuffer:

set gfxpayload=1024x768x32

Du kan erstatte 1024, 768, og 32 med en oppløsning og fargedybdeinnstilling egnet for skjermen din.

Hvis alle disse DRM driverne ikke fungerer for deg og du må bruke en DDX driver med en ikke-DRM kjerne GPU driver (vanligvis kalt CONFIG_FB_* i kjernekonfigurasjonen, eller eksisterende som out-tree kjernemoduler), eller du trenger en enhetsspesifikk funksjonalitet som krever en DDX driver, se en tidligere versjon av BLFS, eller en enda tidligere versjon for flere DDX drivere.

Installasjon av Xorg Server

For det første, hvis du trenger TearFree alternativet for å omgå skjermrivning, påfør den tilbakeporterte oppdateringen:

patch -Np1 -i ../xorg-server-21.1.21-tearfree_backport-1.patch

Installer serveren ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..               \
      --prefix=$XORG_PREFIX  \
      --localstatedir=/var   \
      -D glamor=true         \
      -D systemd_logind=true \
      -D xkb_output_dir=/var/lib/xkb &&
ninja

For å teste resultatene, kjør: ninja test. Du vil trenge å kjøre ldconfig som root bruker først ellers kan noen tester mislykkes.

Nå, som root bruker:

ninja install &&
mkdir -pv /etc/X11/xorg.conf.d &&
install -v -d -m1777 /tmp/.{ICE,X11}-unix &&
cat >> /etc/sysconfig/createfiles << "EOF"
/tmp/.ICE-unix dir 1777 root root
/tmp/.X11-unix dir 1777 root root
EOF

Parameterforklaringer

-D glamor=true: Sørg for å bygge Glamor modulen. Det er nødvendig for å bygge modesetting_drv driver som erstatter de tradisjonelle Device Dependent X (DDX) driverne.

-D secure-rpc=false: Dette alternativet deaktiverer bygging av RPC støtte hvis libtirpc-1.3.7 ikke er installert.

-D systemd_logind=true: Denne bryteren gjør bygningssystemet feile hvis dbus-1.16.2 ikke er installert. BLFS redaktørene fraråder å bygge denne pakken uten dbus-1.16.2 installert.

-D suid_wrapper=true: Bygger suid-root innpakning for eldre driverstøtte på rotløse xserver systemer.

cat >> /etc/sysconfig/createfiles...: Denne kommandoen oppretter /tmp/.ICE-unix og /tmp/.X11-unix mapper ved oppstart, og sikrer at tillatelsene og eierskapet er korrekte som kreves av serveren.

-D xephyr=true: Dette alternativet tillater å bygge Xephyr hvis dens avhengigheter er oppfylt.

Innhold

Installerte Programmer: gtf, X, Xnest, Xorg, Xvfb, og valgfri Xephyr
Installerte Biblioteker: flere under $XORG_PREFIX/lib/xorg/modules/ inkludert modesetting_drv driver
Installerte Mapper: /etc/X11/xorg.conf.d, $XORG_PREFIX/include/xorg, $XORG_PREFIX/lib/xorg, og $XORG_PREFIX/share/X11/xorg.conf.d

Korte Beskrivelser

gtf

beregner VESA GTF moduslinjer

X

er en symbolsk kobling til Xorg

Xephyr

er en nestet X server som støtter moderne X utvidelser

Xnest

er en nestet X server

Xorg

ere X11R7 X Server

Xvfb

er den virtuelle rammebufferen X server for X Version 11

modesetting_drv.so

gir en videodriver for maskiner som bruker Kernel Mode Setting (KMS). Dette vil bruke glamor hvis det er aktivert og maskinvaren tilbyr akselerasjon

Xorg Inndata Drivere

Introduksjon til Xorg Inndata Drivere

Xorg Inndata Drivere siden inneholder instruksjoner for å bygge Xorg inndatadrivere som er nødvendige for at Xorg Server skal svare på brukerinndata.

libevdev 1.13.6

Introduksjon til libevdev

libevdev pakken inneholder vanlige funksjoner for Xorg inndatadrivere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
libevdev Avhengigheter
Valgfri

Doxygen-1.16.1, Valgrind-3.26.0 (valgfri for testing), og check (påkrevd for testing)

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

Device Drivers --->
  Input device support --->
    -*-   Generic input layer (needed for keyboard, mouse, ...)          [INPUT]
    <*/M>   Event interface                                        [INPUT_EVDEV]

Hvis du vil teste denne pakken med full dekning, følgende alternativer er også nødvendig:

Device Drivers --->
  Input device support --->
    -*- Generic input layer (needed for keyboard, mouse, ...)            [INPUT]
    [*]   Miscellaneous devices --->                                [INPUT_MISC]
      <*/M>   User level driver support                           [INPUT_UINPUT]

Hvis du bygger denne som en modul, må den settes inn før testpakken kjører.

Installasjon av libevdev

Installer libevdev ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                  \
      --prefix=$XORG_PREFIX     \
      --buildtype=release       \
      -D documentation=disabled \
      -D tests=disabled         &&
ninja

Testpakken krever Check som er fjernet fra LFS.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D tests=disabled: Dette gjør at pakken kan kompilere hvis Check ikke er installert. Check er fjernet fra LFS.

Innhold

Installerte Xorg Programmer: libevdev-tweak-device, mouse-dpi-tool, og touchpad-edge-detector
Installert Xorg Bibliotek: libevdev.so
Installert Xorg Mappe: $XORG_PREFIX/include/libevdev-1.0
Korte Beskrivelser

libevdev-tweak-device

er et verktøy for å endre noen kjerneenhetsegenskaper

mouse-dpi-tool

er et verktøy for å beregne oppløsningen til en mus

touchpad-edge-detector

touchpad-edge-detector er et verktøy som leser pekeplatehendelsene fra kjernen og beregner minimum og maksimum for x og y koordinater, henholdsvis

libevdev.so

er et bibliotek med Xorg driverinndata funksjoner

Xorg Evdev Driver-2.11.0

Introduksjon til Xorg Evdev Driver

Xorg Evdev Driver pakken inneholder en generisk Linux inndatadriver for Xorg X serveren. Den håndterer tastatur, mus, pekeplater og wacom enheter, men for touchpad og wacom avansert håndtering, ekstra drivere kreves.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Xorg Evdev Driver Avhengigheter
Påkrevd

libevdev-1.13.6, mtdev-1.1.7, og Xorg-Server-21.1.21

Installasjon av Xorg Evdev Driver

Installer Xorg Evdev Driver ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Xorg Driver: evdev_drv.so
Korte Beskrivelser

evdev_drv.so

er en Xorg inndatadriver for generiske Linux hendelsesenheter

libinput-1.31.0

Introduksjon til Libinput

libinput er et bibliotek som håndterer inndataenheter for skjermservere og andre applikasjoner som trenger å håndtere inndataenheter direkte.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
libinput Avhengigheter
Påkrevd

libevdev-1.13.6 og mtdev-1.1.7

Valgfri

Valgrind-3.26.0 (for å kjøre testene), GTK-3.24.51 (for å bygge GUI hendelsesvisningen), libunwind-1.8.3 (nødvendig for tester), libwacom-2.18.0, Doxygen-1.16.1, Graphviz-14.1.2, Lua-5.4.8, recommonmark-0.7.1, og sphinx_rtd_theme-3.1.0 (kreves for å bygge dokumentasjon), pyparsing-3.3.2 (for en ikke-root test), pytest-9.0.2 (for en annen ikke-root test), o check (for en annen ikke-root test)

Kjernekonfigurasjon for å kjøre Libinput Testpakken

Selv om libinput fungerer med den samme kjernekonfigurasjonen som brukes av libevdev-1.13.6, er det standard og mer ekspansive testpakke krever tilstedeværelse av /dev/uinput (samt både Valgrind-3.26.0 og libunwind-1.8.3).

Hvis du ønsker å kjøre standard testpakken, aktiver følgende alternativ i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig

Device Drivers --->
  Input device support --->
    -*- Generic input layer (needed for keyboard, mouse, ...)            [INPUT]
    [*]   Miscellaneous devices --->                                [INPUT_MISC]
      <*/M>   User level driver support                           [INPUT_UINPUT]

Hvis du bygger denne som en modul, må den settes inn før testpakken kjører.

Installasjon av Libinput

Installer libinput ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..              \
      --prefix=$XORG_PREFIX \
      --buildtype=release   \
      -D debug-gui=false    \
      -D tests=false        \
      -D libwacom=false     \
      -D udev-dir=/usr/lib/udev &&
ninja

For å teste pakken, utsted: meson configure -D tests=true && ninja test. Mange tester hoppes over med mindre du kjører testpakken som root bruker. For å kjøre disse testene, som root bruker utsted: meson test --suite=root.

Nå, som root bruker:

ninja install

Hvis du har gitt -D documentation=true til meson, kan du installere den genererte dokumentasjonen ved å kjøre følgende kommandoer som root bruker:

install -v -dm755      /usr/share/doc/libinput-1.31.0/html &&
cp -rv Documentation/* /usr/share/doc/libinput-1.31.0/html

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D debug-gui=false: Denne bryteren deaktiverer opprettelse av en visuell feilsøkingshjelper for libinput. Fjern hvis du vil ha det, og du har GTK-3.24.51 installert.

-D tests=false: Denne bryteren deaktiverer kompilering av standard testpakke. Selv med testene definert som false, kan du fortsatt kjøre de seks første minor testene som vanlig bruker, men en vil bli hoppet over hvis pyparsing-3.3.2 ikke er installert, og en annen hvis pytest-9.0.2 ikke er installert.

-D libwacom=false: Fjern dette alternativet hvis du har libwacom-2.18.0 installert, eller hvis du installerer GNOME.

-D udev-dir=/usr/lib/udev: I tilfelle at verdien av XORG_PREFIX ikke er satt til /usr, dette alternativet forhindrer pakken fra å installere Udev regler og hjelpere i $XORG_PREFIX/lib/udev som ikke er søkt av Udev nissen. Dette alternativet er ikke nødvendig for systemer med XORG_PREFIX satt til /usr, men gjør ingen skade.

-D documentation=true: Denne bryteren aktiverer generering av dokumentasjonen. Legg den til hvis du vil generere dokumentasjonen. Se de valgfrie avhengighetene som kreves for å bygge dokumentasjonen.

Innhold

Installerte Programmer: libinput
Installerte Biblioteker: libinput.so
Installerte Mapper: /etc/libinput, $XORG_PREFIX/libexec/libinput, $XORG_PREFIX/share/libinput, og (valgfri) $XORG_PREFIX/share/doc/libinput-1.31.0

Korte Beskrivelser

libinput

er et sett med verktøy for grensesnitt med libinput biblioteket

libinput.so

inneholder API funksjoner for håndtering av inndataenheter

Xorg Libinput Driver-1.4.0

Introduksjon til Xorg Libinput Driver

X.Org Libinput Driver er en tynn innpakning rundt libinput og gjør at libinput kan brukes for inndataenheter i X. Denne driveren kan brukes som drop-in erstatning for evdev og synaptics.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Xorg Libinput Driver Avhengigheter
Påkrevd

libinput-1.31.0 og Xorg-Server-21.1.21

Installasjon av Xorg Libinput Driver

Installer Xorg Libinput Driver ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

For å teste resultatene, kjør make check.

Nå, som root bruker:

make install

Innhold

Installert Xorg Driver: libinput_drv.so
Korte Beskrivelser

libinput_drv.so

er en Xorg inndatadriver for mus, tastatur, touchpad, berøringsskjerm og nettbrett

Xorg Synaptics Driver-1.10.0

Introduksjon til Xorg Synaptics Driver

Xorg Synaptics Driver pakken inneholder X.Org Inndatadriver, støtteprogrammer og SDK for Synaptics pekeplater. Selv om evdev driveren kan håndtere pekeplater veldig bra, er denne driveren nødvendig hvis du vil bruke avanserte funksjoner som multitapping, rulle med pekeplaten, slå av pekeplaten mens skriving osv.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Xorg Synaptics Driver Avhengigheter
Påkrevd

libevdev-1.13.6 og Xorg-Server-21.1.21

Installasjon av Xorg Synaptics Driver

Installer Xorg Synaptics Driver ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: synclient og syndaemon
Installert Xorg Driver: synaptics_drv.so
Korte Beskrivelser

synclient

er et kommandolinjeverktøy som brukes til å spørre og endre Synaptics driveralternativer

syndaemon

er et program som overvåker tastaturaktivitet og deaktiverer pekeplaten når tastaturet brukes

synaptics_drv.so

er en Xorg inndatadriver for pekeplater

Xorg Wacom Driver-1.2.4

Introduksjon til Xorg Wacom Driver

Xorg Wacom Driver pakken inneholder X.Org X11 driver og SDK for Wacom og Wacom lignende nettbrett. Det er ikke nødvendig for å bruke et Wacom nettbrett xf86-input-evdev driveren kan håndtere disse enheter uten problemer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon
Xorg Wacom Drivere Avhengigheter
Påkrevd

Xorg-Server-21.1.21

Valgfri

Doxygen-1.16.1 og Graphviz-14.1.2

Kjernekonfigurasjon

For å bruke et Wacom nettbrett med USB grensesnitt, aktiver følgende alternativer i kjernekonfigurasjonen og kompiler på nytt. Noter det at andre konfigurasjonsalternativer kan være nødvendige for nettbrett med en seriell eller bluetooth grensesnitt:

Device Drivers --->
  [*] HID bus support --->                                         [HID_SUPPORT]
    {*/M} HID bus core support                                             [HID]
      Special HID drivers --->
      <*/M>   Wacom Intuos/Graphire tablet support (USB)             [HID_WACOM]
    USB HID support --->
      <*/M> USB HID transport layer                                    [USB_HID]
  [*] USB support --->                                             [USB_SUPPORT]
    <*/M> Support for Host-side USB                                        [USB]

Installasjon av Xorg Wacom Driver

Installer Xorg Wacom Driver ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG --with-systemd-unit-dir=no &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: isdv4-serial-debugger, isdv4-serial-inputattach, og xsetwacom
Installert Xorg Driver: wacom_drv.so
Korte Beskrivelser

xsetwacom

er et kommandolinjeverktøy som brukes til å spørre og endre wacom driverinnstillingene

wacom_drv.so

er en Xorg inndatadriver for Wacom enheter

twm-1.0.13.1

Introduksjon til twm

twm pakken inneholder en veldig minimal vindusbehandler.

Denne pakken er gitt for å teste fullført Xorg-installasjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

twm Avhengigheter

Påkrevd

Xorg-Server-21.1.21

Installasjon av twm

Installer twm ved å kjøre følgende kommandoer:

sed -i -e '/^rcdir =/s,^\(rcdir = \).*,\1/etc/X11/app-defaults,' src/Makefile.in &&
./configure $XORG_CONFIG &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sed -i -e '/^rcdir =/s...: Denne kommandoen sikrer at twm konfigurasjonsfilen blir installert i riktig plassering.

Contents

Installerte Programmer: twm
Installerte Biblioteker: Ingen
Installert Mappe: /etc/X11/app-defaults

Korte Beskrivelser

twm

er fanevindusbehandleren for X Vindussystemet

xterm-406

Introduksjon til xterm

xterm er en terminalemulator for X Vindussystemet.

Denne pakken er gitt for å teste fullført Xorg-installasjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xterm Avhengigheter

Påkrevd

luit-20250912

Påkrevd (ved kjøring)

En monospace TTF eller OTF font som f.eks Dejavu fonts

Valgfri

Emacs-30.2, Valgrind-3.26.0 og man2html

Installasjon av xterm

Installer xterm ved å kjøre følgende kommandoer:

sed -i '/v0/{n;s/new:/new:kb=^?:/}' termcap &&
printf '\tkbs=\\177,\n' >> terminfo &&

TERMINFO=/usr/share/terminfo \
./configure $XORG_CONFIG     \
            --with-app-defaults=/etc/X11/app-defaults &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&

mkdir -pv /usr/share/applications &&
cp -v *.desktop /usr/share/applications/

Parameterforklaringer

sed -i ... termcap, printf ... >> terminfo: Disse kommandoene endrer terminalbeskrivelsen slik at Tilbaketasten forventes å sende tegnet med ASCII kode 127. Dette er gjort for konsistens med Linux konsollen.

TERMINFO=/usr/share/terminfo: Dette sikrer at xterm terminfo filene er installert til systemets terminfo database.

--with-app-defaults=...: Angir plasseringen for app-defaults mappen.

Konfigurere xterm

Det er to måter å konfigurere xterm på. Du kan legge X ressursdefinisjoner til brukerens ~/.Xresources fil, eller legge dem til systembrede $XORG_PREFIX/share/X11/app-defaults/Xterm filen.

For at xterm skal følge lokalinnstillingene i miljøet, bruk TrueType fonter, og følg Linux konvensjonen om koden sendt av tilbaketasten, legg til følgende definisjoner som root bruker:

cat >> /etc/X11/app-defaults/XTerm << "EOF"
*VT100*locale: true
*VT100*faceName: Monospace
*VT100*faceSize: 10
*backarrowKeyIsErase: true
*ptyInitialErase: true
EOF

Innhold

Installerte Programmer: koi8rxterm, resize, uxterm, og xterm
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

koi8rxterm

er et innpakningsskript for å sette opp xterm med en KOI8-R lokalitet

resize

skriver en skallkommando for å angi TERM og TERMCAP miljøvariabler for å indikere gjeldende størrelse på xterm vinduet

uxterm

er et innpakningsskript som endrer gjeldende lokalitet til å bruke UTF-8 og starter xterm med de riktige innstillingene

xterm

er en terminalemulator for X Vindussystemet

xclock-1.1.1

Introduksjon til xclock

xclock pakken inneholder en enkel klokkeapplikasjon som brukes i standard xinit konfigurasjon.

Denne pakken er gitt for å teste fullført Xorg-installasjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xclock Avhengigheter

Påkrevd

Xorg Biblioteker

Installasjon av xclock

Installer xclock ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: xclock
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

xclock

er en analog/digital klokke for X

xinit-1.4.4

Introduksjon til xinit

xinit pakken inneholder et brukbart skript for å starte xserveren.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xinit Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt (kun kjøretid)

Installasjon av xinit

Installer xinit ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG --with-xinitdir=/etc/X11/app-defaults &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
ldconfig

Notat

Hvis du starter Xorg fra kommandolinjen, da starter standardinstruksjonene ovenfor Xorg på gjeldende virtuelle terminal. Det kan være praktisk å se Xorg og tilhørende applikasjonsmeldinger på gjeldende virtuelle terminal, normalt tty1, og starte grafikkmiljøet på den første tilgjengelige ubrukte virtuelle terminalen, normalt tty7. For å gjøre dette, sett suid biten på Xorg applikasjonen som root bruker:

chmod u+s $XORG_PREFIX/bin/Xorg

På dette tidspunktet kan du starte Xorg på virtuelle terminal 7 med startx <client arguments> -- vt7. Nå kan du veksle mellom tty1 og tty7 med Ctrl-Alt-F1 og Ctrl-Alt-F7 tastekombinasjoner.

For å starte Xorg automatisk på den første tilgjengelige virtuelle terminalen, endre startx skriptet som root bruker med:

sed -i '/$serverargs $vtarg/ s/serverargs/: #&/' $XORG_PREFIX/bin/startx

Etter denne endringen trenger ikke den virtuelle terminalen å bli spesifisert på startx kommandolinjen.

Innhold

Installerte Programmer: xinit og startx
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

startx

starter en X økt

xinit

er X Vindussystem initialisereren

Xorg-7 Testing og Konfigurasjon

Teste Xorg

Notat

Før du starter Xorg for første gang, er det nyttig å gjenoppbygge bibliotekets hurtiglager ved å kjøre ldconfig som root bruker.

Notat

Før du starter Xorg for første gang, er det ofte nødvendig å starte systemet på nytt for å sikre at alle passende nisser startes og passende sikkerhetsproblemer er riktig innstilt. Som et alternativ kan utlogging og innlogging fungere, men dette er ikke testet.

Advarsel

Hvis Xorg henger av en eller annen grunn (for eksempel mangler en skikkelig inndata driver), kan systemet slutte å svare på brukerinndata. Som en forholdsregel kan du aktivere en magisk SysRq tast før du tester Xorg. Som root bruker, utsted:

echo 4 > /proc/sys/kernel/sysrq

Så hvis Xorg henger, er det mulig å bruke Alt+SysRq+R for å tilbakestille tastaturmodus. Nå skal det kunne brukes Ctrl+Alt+Fx (erstatte x med et VT nummer) for å bytte til en annen VT. Hvis det fungerer, logg inn og drep Xorg ved å bruke kommandolinjen i den nye VT.

For å teste Xorg installasjonen, utsted startx. Denne kommandoen viser en grunnleggende vindusbehandler kalt twm med tre xterm vinduer og ett xclock vindu. Xterm vinduet øverst til venstre er en påloggingsterminal og kjøre exit fra denne terminalen vil avslutte X Window økten. Det tredje xterm vinduet kan bli skjult på systemet ditt av de to andre xtermene.

Notat

Ved testing av Xorg med twm vindusbehandler, det blir flere advarsler i Xorg loggfilen, $HOME/.local/share/xorg/Xorg.0.log, om manglende fontfiler. I tillegg vil det være flere advarsler på tekstmodus terminalen (vanligvis tty1) om manglende fonter. Disse advarslene påvirker ikke funksjonaliteten, men kan fjernes om ønskelig ved å installere Xorg Legacy Fonts.

Notat

På systemer med NVIDIA GPUer som bruker Nouveau kjernedriveren, kan du støte på sporadiske GPU krasj og henger. Hvis dette problemet oppstår, nedgrader til den nyeste versjonen av Linux 6.1-kjernen.

Vanligvis er det ingen spesifikk konfigurasjon som kreves for Xorg, men tilpasning er mulig. For detaljer, se «Sette opp Xorg Enheter» under.

Sjekke Direkte Gjengivelsesinfrastruktur (DRI) Installasjonen

DRI er et rammeverk for å gi programvare tilgang til grafikkmaskinvare på en sikker og effektiv måte. Den er installert i X som standard (ved hjelp av Mesa) hvis du har et støttet skjermkort.

For å sjekke om DRI drivere er riktig installert, sjekk loggfilen $HOME/.local/share/xorg/Xorg.0.log (eller /var/log/Xorg.0.log hvis du har bygget Xorg-Server-21.1.21 med suid biten) for uttalelser som:

(II) modeset(0): [DRI2] Setup complete
(II) modeset(0): [DRI2]   DRI driver: crocus
(II) modeset(0): [DRI2]   VDPAU driver: va_gl

Notat

DRI konfigurasjonen kan variere hvis du bruker alternative drivere, for eksempel som tradisjonelle DDX drivere, eller proprietære drivere fra NVIDIA eller AMD.

En annen måte å finne ut om DRI fungerer som den skal, er å bruke en av to valgfrie installerte OpenGL demoprogrammer i Mesa-25.3.5. Fra en X terminal, kjør glxinfo -B og se etter uttrykket:

name of display: :0
display: :0  screen: 0
direct rendering: Yes

Hvis direkte gjengivelse er aktivert, kan du legge til detaljer ved å kjøre LIBGL_DEBUG=verbose glxinfo. Dette vil vise drivere, enhetsnoder og filer som brukes av DRI systemet.

For å bekrefte at DRI2 maskinvareakselerasjon fungerer, kan du (fortsatt i X terminalen) kjør kommandoen glxinfo | grep -E "(OpenGL vendor|OpenGL renderer|OpenGL version)". Hvis det melder noe annet enn Software Rasterizer så har du en akselerasjon som virker for brukeren som kjørte kommandoen.

Hvis maskinvaren din ikke har noen DRI2 driver tilgjengelig, vil den bruke en programvarerasterer for direkte gjengivelse. I slike tilfeller kan du bruke en ny, LLVM akselerert, programvarerasterer kalt LLVMPipe. For å bygge LLVMPipe bare sørg for at LLVM-21.1.8 er tilstede ved Mesa byggetid. Merk at all dekoding gjøres på CPU i stedet for GPUen, slik at skjermen vil kjøre langsommere enn med maskinvareakselerasjon. For å sjekke om du bruker LLVMpipe, se gjennom utdataene til glxinfo kommandoen ovenfor. Et eksempel på utdata med programvarerasterer er vist nedenfor:

OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 256 bits)
OpenGL version string: 3.0 Mesa 10.4.5

Du kan også tvinge LLVMPipe ved å eksportere LIBGL_ALWAYS_SOFTWARE=1 miljøvariabelen når Xorg starter.

Igjen, hvis du har bygget Mesa OpenGL demoene, kan du også kjøre testprogrammet glxgears. Dette programmet får opp et vindu med tre gir spinnende rundt. X terminalen vil vise hvor mange bilder det ble tegnet hvert femte sekund, så dette vil gi en grov benchmark. Vinduet er skalerbar, og bildene som tegnes per sekund er svært avhengig av størrelsen på vinduet. På noe maskinvare, glxgears vil kjøre synkronisert med det vertikale oppdateringssignalet og bildefrekvensen vil være omtrent den samme som skjermens oppdateringsfrekvens.

Feilsøke Xorg

Når du starter xorg, er det et par måter å sjekke problemer du måtte ha. Hvis systemet kommer opp, kan du se hvilken driver som brukes ved å kjøre xdriinfo. Hvis det er problemer eller bare for å sjekke, se på Xorg.0.log.

Plasseringen av Xorg.0.log avhenger av hvordan Xorg er installert. Hvis instruksjonene i boken følges nøye og Xorg startes fra kommandolinjen, vil den være plassert i $HOME/.local/share/xorg/ mappen. Hvis Xorg startes av en skjermbehandler (f.eks. lightdm-1.32.0, sddm-0.21.0, or GDM-49.2) eller hvis $XORG_PREFIX/bin/Xorg har suid biten satt, vil den ligge i /var/log/ mappen.

Xorg.0.log Problemer

Når du ser på Xorg.0.log, se etter oppføringer som (EE) eller (WW). Nedenfor er noen vanlige oppføringer:

(WW) Open ACPI failed (/var/run/acpid.socket)

Denne advarselen er fordi acpid-2.0.34 ikke er installert. Hvis du ikke er på en bærbar datamaskin, kan den trygt ignoreres. Installer på en bærbar datamaskin acpid-2.0.34 for å aktivere handlinger som å gjenkjenne når lokket er lukket.

(WW) VGA arbiter: cannot open kernel arbiter, no multi-card support

Denne advarselen vises når en vanlig bruker starter Xorg. Biblioteket libpciaccess.so gir denne advarselen når den prøver å åpne /dev/vga_arbiter. Hvis det ikke er flere enn ett eldre PCI (ikke PCIe) grafikkort på systemet, det kan trygt ignoreres. Hvis det virkelig er nødvendig, kan tillatelsene til denne enheten endres ved å legge til en udev regel og legge til den lokale brukeren i videogruppen. Som root bruker:

cat > /etc/udev/rules.d/99-vga-arbiter.rules << EOF
# /etc/udev/rules.d/99-vga-arbiter.rules: Set vga_arbiter group/mode

ACTION=="add", KERNEL=="vga_arbiter", GROUP="video" MODE="0660"
EOF

usermod -a -G video <user running xorg>

Hybrid Grafikk

Hybrid Grafikk er fortsatt i eksperimentell tilstand for Linux. Xorg utviklere har utviklet en teknologi kalt PRIME som kan brukes til å bytte mellom integrert og muxless diskret GPU etter ønske. Automatisk veksling er ikke mulig for øyeblikket.

For å bruke PRIME for GPU bytte, sørg for at du bruker Linux Kernel 3.4 eller nyere (anbefalt). Du trenger siste DRI og DDX drivere for din maskinvare og Xorg Server 1.13 eller senere.

Xorg Server burde laste begge GPU driverne automatisk. Du kan sjekke det ved å kjøre:

xrandr --listproviders

Det bør for eksempel være to (eller flere) leverandører oppført, for eksempel:

Providers: number : 2
Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:modesetting
Provider 1: id: 0x56 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:modesetting

For å kunne kjøre en GLX applikasjon på en diskret GPU, vil du må kjøre følgende kommando, hvor <provider> er id-en til det kraftigere diskrete kortet, og <sink> er ID-en til kortet som har en skjerm tilkoblet:

xrandr --setprovideroffloadsink <provider> <sink>

Notat

Med Xorg modusinnstillingsdriver, som er DRI3 kompatibel, er ikke kommandoen ovenfor lenger nødvendig. Det skader imidlertid ikke.

Deretter må du eksportere DRI_PRIME=1 miljøvariabelen hver gang du vil at den kraftige GPUen skal brukes. For eksempel,

DRI_PRIME=1 glxinfo | grep -E "(OpenGL vendor|OpenGL renderer|OpenGL version)"

vil vise OpenGL leverandør, renderer og versjon for den diskrete GPUen.

Hvis den siste kommandoen rapporterer samme OpenGL renderer med og uten DRI_PRIME=1, må du sjekke installasjonen.

Sette opp Xorg Enheter

For de fleste maskinvarekonfigurasjoner vil moderne Xorg automatisk få serverkonfigurasjonen riktig uten brukerintervensjon. Det er imidlertid noen tilfeller der automatisk konfigurasjon vil være feil. Følgende er noen eksempler på manuelle konfigurasjonselementer som kan være nyttige i disse tilfellene.

Sette opp X Inndataenheter

For de fleste inndataenheter vil ingen ekstra konfigurasjon være nødvendig. Denne delen er kun gitt for informasjonsformål.

Et eksempel på standard XKB oppsett kan se ut som følgende (utført som root bruker):

cat > /etc/X11/xorg.conf.d/xkb-defaults.conf << "EOF"
Section "InputClass"
    Identifier "XKB Defaults"
    MatchIsKeyboard "yes"
    Option "XkbLayout" "fr"
    Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
EOF

«XkbLayout» linjen er et eksempel for en fransk (AZERTY) tastatur. Endre den til din tastaturmodell. Den linjen er ikke nødvendig for et QWERTY (USA) tastatur.

Finjustere Skjerminnstillinger

Hvis du vil angi skjermoppløsningen for Xorg, kjør først xrandr i en X terminal for å liste de støttede oppløsninger og tilsvarende oppdateringsfrekvenser. For eksempel, det gir ut følgende for én skjerm:

Screen 0: minimum 16 x 16, current 5760 x 2160, maximum 32767 x 32767
DP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
   3840x2160     59.98*+
   2048x1536     59.95
   1920x1440     59.90
   1600x1200     59.87
   1440x1080     59.99
   1400x1050     59.98
   1280x1024     59.89
   1280x960      59.94
   1152x864      59.96
   1024x768      59.92
   800x600       59.86
   640x480       59.38

Fra utdataen kan vi se at skjermen er identifisert DP-1. Velg en passende oppløsning fra utdatalisten, for eksempel 1920x1440. Deretter som root bruker, opprett en konfigurasjonsfil for Xorg serveren:

cat > /etc/X11/xorg.conf.d/monitor-DP-1.conf << "EOF"
Section "Monitor"
    Identifier  "DP-1"
    Option      "PreferredMode" "1920x1440"
EndSection
EOF

Noen ganger xrandr kan ikke oppdage noen oppløsningsinnstillinger som støttes av skjermen. Det skjer vanligvis med virtuelle skjermer av virtuelle maskinforvaltere som qemu-10.2.1 eller VMWare: en virtuell skjerm faktisk støtter alle par med heltall i et område som oppløsningen, men xrandr vil bare liste noen få. Å bruke en oppløsning ikke oppført av xrandr, først kjør cvt for å få moduslinjen for oppløsningen. For eksempel:

cvt 1600 900
# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync

Som root bruker, opprette en Xorg serverkonfigurasjonsfil som inneholder denne moduslinjen, og spesifiser modusen som foretrukket modus:

cat > /etc/X11/xorg.conf.d/monitor-DP-1.conf << "EOF"
Section "Monitor"
    Identifier  "DP-1"
    Modeline    "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
    Option      "PreferredMode"   "1600x900_60.00"
 EndSection
 EOF

Noen avanserte LCD skjermer støtter en oppdateringsfrekvens høyere enn 100 Hz men xrandr kan ikke gjenkjenne den støttede oppdateringsfrekvens og bruker 60 Hz i stedet. Dette problemet ville hindre deg fra å utnytte skjermens fulle kapasitet, og kan forårsake at skjermen flimrer eller viser «figurer» som mesh eller rutenett. For å løse problemet, bruk igjen cvt for å få moduslinjen med en egendefinert oppdateringsfrekvens:

cvt 3840 2160 144
# 3840x2160 143.94 Hz (CVT) hsync: 338.25 kHz; pclk: 1829.25 MHz
Modeline "3840x2160_144.00"  1829.25  3840 4200 4624 5408  2160 2163 2168 2350 -hsync +vsync

Deretter limer du den inn i Xorg serverens konfigurasjonsfil og setter den inn som den foretrukne modusen.

Et annet vanlig oppsett er å ha flere serveroppsett for bruk i ulike miljøer. Selv om serveren automatisk oppdager tilstedeværelsen av en annen skjerm, kan den få rekkefølgen feil:

cat > /etc/X11/xorg.conf.d/server-layout.conf << "EOF"
Section "ServerLayout"
    Identifier     "DefaultLayout"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" LeftOf "Screen0"
    Option         "Xinerama"
EndSection
EOF

Når du drar et vindu i twm (eller et ikke-sammensatt vindusbehandler) horisontalt, kan du observere at de vertikale grensene av vinduet er delt inn i flere segmenter. Dette er et eksempel av de visuelle artefaktene kalt skjermrivning. Lag en konfigurasjonsfil for å løse problemene med skjermrivning som aktiverer skjermrivningfrie alternativet. Merk at du må ha skjermrivningfrie oppdatering brukt fra Xorg-Server-21.1.21 for at dette skal fungere ordentlig, og det kan evt øke minnetildelingen og redusere ytelsen.

cat > /etc/X11/xorg.conf.d/20-tearfree.conf << "EOF"
Section "Device"
   Identifier "Graphics Adapter"
   Driver     "modesetting"
   Option     "TearFree" "true"
EndSection
EOF

Med moderne Xorg, liten eller ingen ekstra grafikkortkonfigurasjon er nødvendig. Hvis du skulle trenge ekstra alternativer sendt til din videodriver, legg dem til i Device seksjonen også. Alternativene som støttes av modusinnstillingsdriveren er dokumentert i manualsiden modesetting(4).

Innstille Fontconfig

Oversikt over Fontconfig

Hvis du kun leser tekst på engelsk, og er fornøyd med vanlige libre fonter som er oppført på neste side, trenger du kanskje aldri å bekymre deg for detaljer om hvordan Fontconfig virker. Men det er mange ting som kan endres hvis de ikke passer dine behov.

Men før du bruker lang tid på å prøve ut forskjellige innstillinger vær oppmerksom på at moderne applikasjoner og skrivebordsmiljøer kan ignorere innstillinger for fontconfig - se Elementer som kan overstyre Fontconfig.

Selv om denne siden er lang, skraper den knapt overflaten, og det du vil kunne finne mange alternative synspunkter på nettet (men husk at noen ting har endret seg gjennom årene, for eksempel autohinteren er ikke lenger standard). Målet her er å gi deg nok informasjon for å forstå endringene du gjør, hvorfor de kanskje ikke alltid fungerer, og for å identifisere online informasjon som ikke lenger er hensiktsmessig.

Dessverre er noe av terminologien tvetydig (f.eks. 'font face' kan betyr et navn kjent for Fontconfig, eller det vanlige, kondenserte, etc variasjoner av en font) og 'stil' kan brukes til skille 'vanlig' fra 'kursiv', eller ved å beskrive noen klasser av Serif fonter.

Følgende lenker er for å hjelpe navigering på denne siden.

Xft Font Protokoll

Xft fontprotokollen gir kantutjevnet skriftgjengivelse gjennom freetype, og fonter styres fra klientsiden ved bruk av Fontconfig (utenom rxvt-unicode-9.31 som kan bruke fonter oppført i ~/.Xresources) Standard søkesti er /usr/share/fonts og ~/.local/share/fonts, selv om for øyeblikket den gamle og utdaterte plasseringen ~/.fonts virker fortsatt. Fontconfig søker mapper i stien sin rekursivt og opprettholder en hurtigbuffer med fontkarakteristikkene i hver mappe. Hvis hurtiglageret ser ut til å være utdatert, ignoreres den, og informasjon hentes fra selve fonten (det kan ta noen få sekunder hvis du har mange fonter installert).

Hvis du har installert Xorg i et hvilket som helst prefiks annet enn /usr, ingen X fonter ble installert i et sted kjent for Fontconfig. Symbolkoblinger var opprettet fra OTF og TTF X font mapper til /usr/share/fonts/X11-{OTF,TTF} i Xorg Fonter. Dette tillater Fontconfig å bruke OpenType og TrueType fonter levert av X, selv om mange vil foretrekke å bruke mer moderne fonter.

Fontconfig bruker navn for å definere fonter. Applikasjoner bruker vanligvis generiske skriftnavn som "Monospace", "Sans" og "Serif". Fontconfig løser disse navnene til en font som har alle tegn som dekker ortografien til språket som er angitt av lokalinnstillingene.

Nyttige kommandoer

Følgende kommandoer kan være nyttige når du arbeider med Fontconfig, spesielt hvis du er interessert i å overstyre hvilken font som skal bli brukt.

fc-list | less : viser en liste over alle tilgjengelige fonter (/sti/til/filnavn: Fontnavn:stil). Hvis du installerte en font og den ikke vises, kan ikke mappen den finnes i leses av brukeren din.

fc-match 'Font Name' : forteller deg hvilken font som brukes hvis den navngitte fonten er forespurt. Vanligvis vil du bruke dette til å se hva som skjer hvis en font du ikke har installert blir forespurt, men du kan også bruke den hvis systemet gir deg en annen font enn hva du forventet (kanskje fordi Fontconfig tror ikke at fonten støtter språket ditt).

fc-match TYPE : viser hvilken font vil bli brukt på gjeldende språk for TYPE (Monospace, Sans, Serif (første stor bokstav er valgfritt)). Hvis den skriften ikke kartlegger et kodepunkt, Fontconfig kan ta en glyph fra hvilken som helst tilgjengelig skrift, selv om den ikke er av den angitte typen. Enhver annen verdi for TYPE vil antas å være Sans.

fc-match 'Serif :lang=ja:weight=bold' vil fortelle deg hvilken font og vekt som skal velges for japansk tekst i fet skrift. Det betyr ikke at den rapporterte fonten nødvendigvis vil kunne vises Japanske ideogrammer, så en reserve kan brukes, eller noen glyfer kan være savnet. For språkkoder, bruk ISO-639-verdier som 'fr', 'ja', 'zh-cn'. Merk at en ukjent verdi som bare 'zh' ikke vil returnere noen samsvar. For å illustrere tilbakefallet, på et system hvor både Noto Sans Mono og DejaVu Sans Mono er installert, fc-match 'monospace :lang=en viser Noto Sans Mono vil bli brukt, men hvis lang er endret til 'ar' (arabisk) DejaVu Sans vil bli brukt.

Hvis du vil finne ut om en skriftfil har hinting (mange eldre skrifter har ikke, fordi det var patentert) bruk fc-query /sti/til/fontfil | grep 'fonthashint:': som vil rapportere 'True(s)' eller 'False(s)'. Noen nyere fonter med både TTF og OTF versjoner vil ha hinting i TTF filene.

Hvis du ønsker å vite hvilken font vil brukes til en tekststreng (dvs. en eller flere glyfer, innledet av et mellomrom), lim inn følgende kommando og erstatt xyz av teksten du vil sjekke:

FC_DEBUG=4 pango-view --font=monospace -t xyz | grep family : dette krever Pango-1.57.0 og ImageMagick-7.1.2-13 - det vil display vise teksten i et lite vindu, og etter å ha lukket det den siste linjen av utdata vil vise hvilken font som ble valgt. Dette er spesielt nyttig for CJK språk, og du kan også gi et språk, f.eks. PANGO_LANGUAGE=en;ja (engelsk, anta deretter japansk) eller bare zh-cn (eller andre varianter som zh-sg eller zh-tw).

Konfigurasjonsfilene

Hovedfilene er i /etc/fonts/conf.d/, som var ment å være en mappe fylt med symbolkoblinger til noen av filene i /usr/share/fontconfig/conf.avail/. Men mange mennesker, og noen pakker, lager filene direkte. Hvert filnavn må være i form av to sifre, en bindestrek, somename.conf og de leses inn i rekkefølge.

Etter konvensjon er tallene tildelt som følger:

  • 00-09 ekstra fontmapper

  • 10-19 systemgjengivelsesstandarder (som kantutjevnelse)

  • 20-29 alternativer for fontgjengivelse

  • 30-39 familiesubstitusjon

  • 40-49 kartlegg familie til generisk type

  • 50-59 last inn alternative konfigurasjonsfiler

  • 60-69 generiske aliaser, kartlegg generisk til familie

  • 70-79 justere hvilke skrifter som er tilgjengelige

  • 80-89 samsvar med målskanning (endre skannede mønstre)

  • 90-99 fontsyntese

Du kan også ha en personlig fonts.conf i $XDG_CONFIG_HOME (which is ~/.config/fontconfig/).

Reglene for å velge en font

Hvis den forespurte fonten er installert, og forutsatt at den inneholder kodepunkter nødvendig for gjeldende språk (i kilden, se .orth-filene i fc-lang/ mappen), vil den bli brukt.

Derimot, hvis dokumentet eller siden ba om en font som ikke er installert (eller noen ganger ikke inneholder alle de nødvendige kodepunktene) følgende regler kommer inn: Først, 30-metric-aliases.conf brukes til å kartlegge aliaser for noen fonter med samme beregninger (samme størrelse osv.). Merk at det finnes både svake og sterke aliaser slik at aliaser for en form som f.eks Helvetica eller Times New Roman kan tilfredsstilles av den andre stilen, dvs. alt som er et alias for Arial eller Times i disse eksemplene. noen eksempler på latinske skrifter med samme beregninger finner du i 'Erstatninger' PDFer på typosetting.co.uk.

Etter det vil en ukjent font bli søkt etter i 45-latin.conf: 'Latin' dekker kyrillisk og gresk, og kartlegger nå også system-ui fonter som brukes for brukergrensesnittmeldinger i andre alfabeter. Hvis fonten er funnet vil det bli kartlagt som serif, sans-serif, monospace, fantasy, kursiv, eller system-ui. Ellers vil 49-sansserif.conf anta at det er Sans.

Deretter 60-latin.conf gir ordnede lister over reservene - Noto fonts vil bli brukt hvis du installerte dem. Kyrillisk og gresk ser ut til å bli behandlet på samme måte. Alle disse filene foretrekker kommersielle fonter hvis de er til stede, selv om moderne libre fonter er ofte minst like. Til slutt, hvis et kodepunkt fortsatt ikke er funnet, kan det tas fra hvilken som helst tilgjengelig systemfont. Følgende detaljer nevner kun fritt tilgjengelige fonter.

Standard persiske fonter behandles i 65-fonts-persian.conf. Det ser ut som om alle de oppførte fonter er kommersielle. Bruke skrifter som støtter persisk (som har sin egen variant av det arabiske alfabetet, og dets egne skriftstiler) er utenfor ferdighetene til BLFS redaktørene.

Alle gjenværende skript for hvilke Fontconfig har preferanser (CJK-skript, Indiske skript) er behandlet i 65-nonlatin.conf. Disse er igjen nominelt gruppert som Serif, Sans-Serif, Monospace. Av gratis fonter, WenQuanYi Zen Hei (Pan-CJK Sans) kommer først for både Serif og for Sans. Derfor, hvis du installerer dette som en reserve, men ønsker å bruke forskjellige fonter for japansk eller koreansk du må sette opp en preferanse. På samme måte er den gamle fireflysung Serif-fonten også oppført for Sans.

Etter Pan-CJK og kinesiske fonter kommer flere japanske fonter og deretter flere koreanske fonter (begge delt riktig mellom Sans og Serif). Til slutt kommer de forskjellige Lohit Indic-familiene (én fontfil per skript), merket som både Sans og Serif.

Monospace fontene som er oppført i 65-nonlatin.conf inkludere ikke WenQuanYi Zen Hei selv om det vil være tilgjengelig som en fallback hvis installert. Flere japanske gotiske fonter er oppført, fulgt av AR PL KaitiM GB (en zh-sc 'Brush'-font), AR PL Serif-fonter for zh-sc (SungtiL) og zh-tw (Mingti2L), noen koreanske Sans-fonter og de forskjellige Lohit Indic-familier.

For UI fonter er forskjellige Noto Sans UI fonter de eneste oppførte gratis skriftene.

De forskjellige Noto CJK fontene er ikke blant de oppførte fonter, muligens foretrakk RedHat utviklerne andre fonter. Disse kommer nå i mange varianter, og de fleste brukere som bruker disse vil ikke installere andre CJK fonter.

Før Fontconfig-2.14 var den første foretrukne latinske fontfamilien Bitstream Vera. I praksis ble det lite brukt fordi det dekket så lite. Etter at DejaVu var den neste foretrukne familien, så folk ble anbefalt å installer det. Det har nå endret seg, Bitstream Vera er erstattet av relevante Noto fonter (Serif, Sans, Sans Mono), så disse vil bli foretrukket hvis de er installert, etterfulgt av DejaVu.

For serif kunne Times New Roman ha blitt alias fra Liberation Serif eller Tinos og Times fra TeX Gyre Termes, så selv om de navngitte fontene ikke er gratis, de metriske kompatible skriftene kan brukes. Ignorerer andre ikke-frie skrifter, den resterende rekkefølgen for serif er: Times New Roman, Luxi Serif, Nimbus Roman No9 L, og Times. I praksis betyr det disse skriftene på slutten av listen vil neppe bli brukt med mindre en nettside ber om dem.

For sans-serif er den gjenværende rekkefølgen alt som er tilordnet Arial, Luxi Sans, Nimbus Sans L, og alt som er kartlagt til Helvetica.

De resterende alternativene for monospace er Inconsolata, alt kartlagt til Courier New, Luxi Mono, Nimbus Mono og alt som er kartlagt til Courier.

For 'fantasy' er det ingen gratis fonter, så Fontconfig vil falle tilbake til sans-serif.

For 'kursiv' er den eneste gratis fonten TeX Gyre Chorus som et alias for ITC Zapf kanselli, ellers vil Fontconfig igjen falle tilbake til sans-serif.

System-ui kategorien er uvanlig. Det er for grensesnittmeldinger, så noen skript trenger spesialversjoner for å passe inn i den tilgjengelige plassen. For latin, Gresk og kyrillisk en vanlig sans-font burde passe uten problemer. Derimot, den første foretrukne fonten er Cantarell, etterfulgt av Noto Sans UI. Cantarell startet som en latinsk sans-serif font, som har blitt forgrenet i Gnome under samme navn, men de gir bare kilden. Noto Sans UI fontene er for andre språk.

Siden Fontconfig-2.12.5, er det også generisk familietilpasning for noen emoji og matematiske fonter, se {45,60}-generic.conf.

I de sjeldne tilfellene hvor en font ikke inneholder alle forventede kodepunkter, se 'Prøv den første:' på I stared into the fontconfig for de lange detaljene.

Antyding og Anti-aliasing

Det er mulig å endre hvordan, eller om, fonter antydes. Følgende eksempelfil inneholder standardinnstillingene, men med kommentarer. Innstillingene er mye ned til brukerens preferanser og til valget av fonttyper, så en endring som forbedrer noen sider kan forverre andre. Den foretrukket plassering for denne filen er: ~/.config/fontconfig/fonts.conf

For å prøve ut forskjellige innstillinger, må du kanskje avslutte Xorg og deretter kjøre startx en gang til slik at alle applikasjoner bruker de nye innstillingene. Flere ting kan overstyre fontconfig innstillingene, se Elementer som kan overstyre Fontconfig nedenfor for mer detaljer. For å utforske mulighetene, lag en fil for brukeren din:

mkdir -pv ~/.config/fontconfig &&
cat > ~/.config/fontconfig/fonts.conf << "EOF"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>

  <match target="font" >
    <!-- autohint was the old automatic hinter when hinting was patent
    protected, so turn it off to ensure any hinting information in the font
    itself is used, this is the default -->
    <edit mode="assign" name="autohint">  <bool>false</bool></edit>

    <!-- hinting is enabled by default -->
    <edit mode="assign" name="hinting">   <bool>true</bool></edit>

    <!-- for the lcdfilter see https://www.spasche.net/files/lcdfiltering/ -->
    <edit mode="assign" name="lcdfilter"> <const>lcddefault</const></edit>

    <!-- options for hintstyle:
    hintfull: is supposed to give a crisp font that aligns well to the
    character-cell grid but at the cost of its proper shape. However, anything
    using Pango >= 1.44 will not support full hinting, Pango now uses harfbuzz
    for hinting. Apps which use Skia (e.g. Chromium, Firefox) should not be
    affected by this. 

    hintmedium: is reported to be broken.
    hintslight is the default: - supposed to be more fuzzy but retains shape.

    hintnone: seems to turn hinting off.
    The variations are marginal and results vary with different fonts -->
    <edit mode="assign" name="hintstyle"> <const>hintslight</const></edit>

    <!-- antialiasing is on by default and really helps for faint characters
    and also for 'xft:' fonts used in rxvt-unicode -->
    <edit mode="assign" name="antialias"> <bool>true</bool></edit>

    <!-- subpixels are usually rgb, see
    http://www.lagom.nl/lcd-test/subpixel.php -->
    <edit mode="assign" name="rgba">      <const>rgb</const></edit>

    <!-- thanks to the Arch wiki for the lcd and subpixel links -->
  </match>

</fontconfig>
EOF

Du må nå redigere filen i ditt foretrukne redigeringsprogram. Mange av de ulike innstillinger gir svært subtile forskjeller og resultatene kan variere for noen av skriftene du bruker.

Notat

Hint, hvis aktivert, gjøres i FreeType. Siden FreeType-2.7 er standard TrueType tolk v40. Den originale v35 hint kan aktiveres av en miljøvariabel, men er egentlig bare passende for originale Microsoft TTF fonter (Arial, osv.). V38 hinter (Infinality) er ikke bygget som standard og alle alternativene for å stille den er fjernet. For fullstendige detaljer se subpixel-hinting (Spoiler: det er INGEN sub-piksel hint, koden ignorerer ganske enkelt alle horisontale hint instruksjoner).

Xorg antar at skjermer har 96 punkter per tomme (DPI). De fleste LCD skjermer er nær dette, men noen mennesker oppdager fargekanter hvis skjermen deres avviker fra den størrelsen. Se calc-dpi.

Hvis du har en High DPI skjerm (ofte beskrevet som '4K' eller større), vil du sannsynligvis bruke større skriftstørrelser og dra nytte av å deaktivere hinting.

For flere eksempler se blfs støttetråden som startet på 2016-09/00128, spesielt 2016-09/00137, og originaloppretteren sin foretrukne løsning på 2016-09/00147. Det er andre eksempler i Fontconfig i Arch wiki og Fontconfig i Gentoo wiki.

Deaktivering av Bitmap Fonter

I tidligere versjoner av BLFS var de stygge gamle Xorg bitmap fontene installert. Nå er det mange som ikke trenger å installere noen av dem. Men hvis du av en eller annen grunn har installert en eller flere punktgrafikkfonter, kan du hindre dem i å bli brukt av Fontconfig ved å opprette følgende fil som root bruker :

cat > /etc/fonts/conf.d/70-no-bitmaps.conf << "EOF"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Reject bitmap fonts -->
 <selectfont>
  <rejectfont>
   <pattern>
     <patelt name="scalable"><bool>false</bool></patelt>
   </pattern>
  </rejectfont>
 </selectfont>
</fontconfig>
EOF

Syntetiske endringer

I 90-synthetic.conf det finnes eksempler på å aktivere syntetisk skråstilt og dristig til en font. Den syntetiske oppmuntrende kan brukes på en synlig svak skrift, men resultatene er ikke alltid like forventet: Med bare embolden, Epiphany viste mørkere skrifter mens Firefox gjorde ikke - så selv om Cairo brukes nå av firefox kommentaren om innstilling av vekt er ennå gyldig. Men setter begge deler, Epiphany vil vise fet skrift tekst som standard, men den vil vise tung tekst hvis markup for fet brukes. I begge tilfeller heller ikke libreOffice eller falkon viste tykkere tekst.

Legge til ekstra fontmapper

Normalt er systemfonter og brukerfonter installert i mapper under stedene spesifisert i Xft Font Protokoll og det er ingen åpenbar grunn til å plassere dem andre steder. Imidlertid en full BLFS installasjon av texlive-20250308 putter mange fonter i /opt/texlive/2025/texmf-dist/fonts/ i opentype/ og truetype/ undermapper. Selv om å trekke inn alle disse filene kan virke nyttige (det lar deg bruke dem i ikke TeX programmer), det er flere problemer med en slik tilnærming:

  1. Det er hundrevis av filer, noe som gjør det vanskelig å velge fonter.

  2. Noen av filene gjør rare ting, for eksempel å vise semaforflagg i stedet for ASCII bokstaver, eller kartlegge kyrilliske kodepunkter til tegnformer passende for gammelkirkeslavisk i stedet for det forventede nåværende form: greit hvis det er det du trenger, men smertefullt for normalt bruk.

  3. Flere fonter har flere størrelser og ugjennomtrengelige korte navn, som begge gjør det enda vanskeligere å velge riktig font.

  4. Når en font legges til CTAN, er den ledsaget av TeX pakker for å bruke de i gamle motorene (xelatex trenger normalt ikke dette), og da er versjonen ofte frosset mens fonten vedlikeholdes separat. Noen av disse fontene som f.eks Dejavu fonts er sannsynligvis allerede installert på BLFS systemet i en nyere versjon, og hvis du har flere versjoner av en font er det uklart hvilken som skal brukes av Fontconfig.

Noen ganger er det imidlertid nyttig å se på disse skriftene i ikke-TeX applikasjoner, om bare for å se om du ønsker å installere en nåværende versjon. Hvis du har installert alle texlive, følgende eksempel vil lage en av Arkandis Open Type fontene tilgjengelig for andre applikasjoner, og alle tre av ParaType TrueType fonter. Juster eller gjenta linjene etter ønske, for enten å lage alle opentype/ eller truetype fonter tilgjengelig, eller for å velge forskjellige fontmapper. Som root bruker:

cat > /etc/fonts/conf.d/09-texlive.conf << "EOF"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <dir>/opt/texlive/2025/texmf-dist/fonts/opentype/arkandis/berenisadf</dir>
  <dir>/opt/texlive/2025/texmf-dist/fonts/truetype/paratype</dir>
</fontconfig>
EOF

Hvis du gjør dette, husk å endre alle forekomster av året i den filen når du oppgraderer texlive til en senere utgivelse.

Foretrekke visse fonter

Med unntak av nettsider som bruker WOFF fonter og enten deler dem eller lenker til google for å laste dem ned, har nettsider tradisjonelt foreslått en liste over foretrukne fontfamilienavn hvis de brydde seg (f.eks. Times New Roman, Serif). Det er mange grunner til at folk ønsker å ha sider som spesifiserer en foretrukket font, bruker en annen font, eller foretrekker spesifikke fonter i Monospace eller Sans eller Serif. Som du forventer, det er en rekke forskjellige måter å oppnå dette på.

Fontconfig brukerdokumentasjon

Fontconfig installerer brukerdokumentasjon som inkluderer et eksempel 'Brukerkonfigurasjonsfil' som bl.a foretrekker WenQuanYi ZenHei (en Sans font) hvis en Serif font er forespurt for kinesisk (denne delen kan være anakronistisk med mindre du har ikke-gratis kinesiske fonter, fordi i 65-nonlatin.conf denne fonten er allerede blant foretrukne fonter når Serif er spesifisert for kinesisk) og foretrekke moderne VL Gothic font hvis en Sans font er spesifisert på en Japansk side (ellers ville et par andre fonter være foretrukket hvis de er installert).

Hvis du har installert gjeldende versjon, er brukerdokumentasjonen tilgjengelig i HTML, PDF og tekst versjoner på /usr/share/doc/fontconfig-2.17.1/ : endre versjonen hvis du installerte en annen versjon.

Foretrekke en bestemt font

For eksempel, hvis du av en eller annen grunn ønsket å bruke Nimbus Roman No9 L font uansett hvor det refereres til Times New Roman (de er metrisk lik, og foretrukket for Times Roman, men Serif-fonten fra Liberation fonts vil bli foretrukket for Times New Roman font hvis installert), som en individuell bruker kan du installere fonten og deretter lage følgende fil:

mkdir -pv ~/.config/fontconfig/conf.d &&
cat >  ~/.config/fontconfig/conf.d/35-prefer-nimbus-for-timesnew.conf << "EOF"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- prefer Nimbus Roman No9 L for Times New Roman as well as for Times,
 without this Tinos and Liberation Serif take precedence for Times New Roman
 before Fontconfig falls back to whatever matches Times -->
    <alias binding="same">
        <family>Times New Roman</family>
        <accept>
            <family>Nimbus Roman No9 L</family>
        </accept>
    </alias>
</fontconfig>
EOF

Dette er noe du vanligvis ville gjort i en individuell brukerinnstilling, men filen i dette tilfellet har fått prefikset '35-' slik at den kan om ønskelig brukes over hele systemet i /etc/fonts/conf.d/.

Foretrekke valgte CJK fonter

Følgende eksempel på en lokal konfigurasjon (dvs. en som gjelder for alle brukere av maskinen) gjør flere ting. Det er spesielt passende der det ikke er angitt noe språk, eller for lesing av CJK tekst i et ikke-CJK lokalitet, og hvor de japanske formene for kodepunktene deles med kinesere foretrekkes. Spesielt alternativ tilnærminger ville være å spesifisere en kinesisk font foran en japansk font, noe som betyr at bare Kana symboler vil bli brukt fra den japanske fonten, eller for å ikke spesifisere DejaVu slik at den første fonten i hvert sett av preferanser foretrekkes for tekst som bruker latinske alfabeter.

  1. Hvis en Serif font er spesifisert, foretrekker den Dejavu fonts. Hvis Han kodepunkter blir funnet, eller det japanske språket er spesifisert, Mincho-fonten fra IPAex fonts vil bli brukt. Hvis Hangul kodepunkter er funnet eller det koreanske språket er spesifisert, UnBatang (se Korean fonts) vil bli brukt: Endre den linjen Hvis du installerte en annen koreansk serif font. Etter det, WenQuanYi ZenHei (Sans, men en standard for Serif og monospace) brukes. En tidligere versjon av denne siden nevnt bruker UMing som er en tradisjonell kinesisk font som sendes med en gammel conf-fil som foretrekker den for zh-tw og zh-hk språk koder (og for sans-serif og monospace). Men uten conf-filen, Fontconfig vil bare behandle det som passende for zh-hk. Conf-filen må redigeres til gjeldende stil og vil da bli det prepended, så å spesifisere UMing hører ikke hjemme i denne local.conf filen.

  2. For Sans Serif preferanser begynner igjen med Dejavu fonts, deretter VL Gothic for japansk før man faller tilbake til WenQuanYi Zen Hei som er Sans og dekker både kinesisk og koreansk Hangul.

  3. Monospace fontene tvinges til de foretrukne Sans skriftene. Hvis teksten er på kinesisk eller koreansk da vil WenQuanYi ZenHei bli brukt.

I en ikke-CJK lokale er resultatet at passende fonter vil bli brukt for alle varianter av kinesisk, japansk og Hangul-koreansk (men japanske varianter av tegnene som deles med kinesiske Han, vil bli brukt). Alle andre språk bør allerede fungere hvis en font er til stede. Som root bruker:

cat > /etc/fonts/local.conf << "EOF"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
    <alias>
        <family>serif</family>
        <prefer>
            <family>DejaVu Serif</family>
            <family>IPAexMincho</family>
            <!-- WenQuanYi is preferred as Serif in 65-nonlatin.conf,
            override that so a real Korean font can be used for Serif -->
            <family>UnBatang</family>
        </prefer>
    </alias>
    <alias>
         <family>sans-serif</family>
         <prefer>
             <family>DejaVu Sans</family>
             <family>VL Gothic</family>
         <!-- This assumes WenQuanYi is good enough for Korean Sans -->
         </prefer>
    </alias>
    <alias>
         <family>monospace</family>
         <prefer>
             <family>DejaVu Sans Mono</family>
             <family>VL Gothic</family>
         <!-- This assumes WenQuanYi is good enough for Korean Monospace -->
         </prefer>
    </alias>
</fontconfig>
EOF

Redigering av gammeldagse conf filer

Noen skrifter, spesielt kinesiske skrifter, leveres med conf filer som kan være installert i /etc/fonts/conf.d. Men hvis du gjør det og deretter bruker en terminal til å kjøre en hvilken som helst kommando som bruker Fontconfig du kan se feilmeldinger som f.eks som :

Fontconfig warning: "/etc/fonts/conf.d/69-odofonts.conf", line 14: Having multiple <family> in <alias> isn't supported and may not work as expected.

I praksis fungerer ikke disse gamle reglene. For ikke-CJK brukere, Fontconfig vil vanligvis gjøre en god jobb uten disse reglene. Deres opprinnelse går tilbake til når CJK brukere trengte håndlagde punktgrafikk for å være lesbare i små størrelser, og de så stygge ut ved siden av kantutjevnede latinske glyfer - de foretrakk å bruke samme CJK skrift for de latinske tegnene. Det er en bivirkning ved å gjøre dette : fonten (Serif) brukes ofte også for Sans, og i en slik situasjon den (engelsk) teksten i Gtk menyene vil bruke denne fonten - sammenlignet med systemfonter, i tillegg til at den er serif både svak og ganske liten. Det kan gjøre det ubehagelig å lese.

Likevel kan disse gamle conf filene fikses hvis du ønsker å bruke dem. Følgende eksempel er den første delen av 64-arphic-uming.conf fra UMing - det er mange flere lignende elementer som også må endres :

   <match target="pattern">
       <test qual="any" name="lang" compare="contains">
           <string>zh-cn</string>
           <string>zh-sg</string>
       </test>
       <test qual="any" name="family">
           <string>serif</string>
       </test>
       <edit name="family" mode="prepend" binding="strong">
           <string>AR PL UMing CN</string>
       </edit>
   </match>

Prosessen for å rette opp dette er grei, men kjedelig - for alle elementer som produserer en feilmelding ved å bruke redigeringsprogrammet (som root bruker) rediger den installerte filen for å gjenta hele blokken så mange ganger som det er flere variabler, reduser deretter hvert eksempel til å ha bare ett av dem. Du kan ønske å jobbe med en feil om gangen, lagre filen etter hver rettelse, og fra en eget terminal kjør en kommando som f.eks fc-list 2>&1 | less for å se at reparasjonen fungerte. For blokken ovenfor, den reparerte versjonen vil være :

   <match target="pattern">
       <test qual="any" name="lang" compare="contains">
           <string>zh-cn</string>
       </test>
       <test qual="any" name="family">
           <string>serif</string>
       </test>
       <edit name="family" mode="prepend" binding="strong">
           <string>AR PL UMing CN</string>
       </edit>
    </match>
   <match target="pattern">
       <test qual="any" name="lang" compare="contains">
           <string>zh-sg</string>
       </test>
       <test qual="any" name="family">
           <string>serif</string>
       </test>
       <edit name="family" mode="prepend" binding="strong">
           <string>AR PL UMing CN</string>
       </edit>
    </match>

Om fontvekter

Da denne siden og neste side først ble opprettet, kom latinske fonter med maksimalt to vekter - enten vanlig eller bok (bok typisk har en større X-høyde for å gjøre det lettere å lese i store tekstblokker), og fet - og kanskje en kursiv (eller skråstilt) stil. Noen få fonter hadde også Kondenserte overflater (for å passe inn mer tekst i en linje og brukes vanligvis bare når spesifisert). Uten CSS-markering (Cascading Style Sheets) brukte teksten Vanlig eller bokvekt unntatt når <b> ... </b> markering var brukes til fet tekst. Kursive stiler vil bli påberopt av <i> ... </i> markup, sammen med fet markup for fet kursiv.

Noen overflater inneholder nå opptil 9 vekter, muligens også med variabel skrift (for å spare plass ved å inkludere alle alternativene i én fil og ev tillater mellomvekter). For de fleste skrivebordsbrukere som ikke trenger dette bredt utvalg av vekter for å lage innhold, er det enklere å bare installere en eller to vekter. Hvis et overflate har individuell vekt pluss en variabel skrift, den variable fonten er vanligvis på toppnivået i den medfølgende mappen, med individuelle vekter i en static/ undermappe. Bortsett fra når du først vurderer en skrift, gir det ingen mening å installer både statisk og variabel, og heller ikke alle mulige vekter.

Vektene er merket fra 100 (tynn) til 900 (svart eller tung) i CSS terminologi, hvor 400 er normal og 700 fet. Hele settet med vekter er beskrevet på Tabell over CSS fontvekter.

Hvis du har installert en font med en rekke vekter, kan du kopiere font-weights.html til din lokale maskin. Som sendt vil den bruke din standard Serif font forutsatt du har en. Rediger den for å peke på en spesifikk installert font ved å bruke navnet kjent for Fontconfig (også i *EDITME FONTNAME* tekstelementer) og åpne den fra skrivebordsnettleseren. Du kan også bruke den til å se på en skrift med bare to installerte vekter, f.eks. for testing for å se om du foretrekker andre vekter.

Til tross for detaljene i den Mozilla lenken, ser det ut til at hvis bare normal og fete vekter er installert, SemiBold (600) vises med fet skrift.

Det ser ut til å være et lite rom for å endre hvilke vekter som brukes til normal og fet hvis bare to vekter er installert. Firefox, og sannsynligvis andre nettlesere, vil se etter den neste vekten tyngre enn normalt. Hvis det er mindre enn fet (Medium, kanskje SemiFet - usikker) det vil bli brukt til normal og deretter neste høyere vekt, hvis noen vil være brukes for fet skrift, slik at du kan gjøre skriftene litt mørkere. Omvendt, hvis bare en vekt mindre enn normalt er installert, for eksempel Light, det vil bli brukt for både normale og fete vekter (søket oppover skjer først).

Hvis du fjerner noen vekter av en systemfont, må du kanskje kjøre fc-cache som root bruker og logg deretter helt ut for å tømme hurtiglagre knyttet til brukeren din.

Elementer som kan overstyre Fontconfig

Flere skrivebordsmiljøer, samt noen programmer, vil bruke Fontconfig for å finne fonter, men kan overstyre visse ting.

GNOME: Innstillingene i org.gnome.desktop.interface kan bli oppdatert med dconf-editor. Du kan stille inn fontene til din preferanse og ønsket punktstørrelse. For å bruke skriftene valgt av Fontconfig spesifisere f.eks. 'Sans 12', Serif 11', 'Mono 10' etter ønske. Se også gjennom antialiasing, hinting og rgba innstillinger. Alternativt, gnome-tweaks-49.0 kan også oppdatere fontinnstillingene i et GUI skjema.

LXQt: Endre fontinnstillinger etter behov for å samsvare Fontconfig i lxqt-config-appearance.

KDE Plasma: Innstillingene kan justeres i System Settings under Appearance -> Fonts eller i Edit -> Preferences av den enkelte applikasjonen.

Xfce desktop: Innstillingene kan justeres i Settings -> Appearance -> Fonts. Spesifiser dine foretrukne fonter, f.eks. 'Sans Regular' (for å bruke normal overflate og vekt i stedet for fet og/eller kursiv) og juster punktstørrelsen i alternativet. Se gjennom alternativene for gjengivelse og DPI.

Firefox: Denne nettleseren lar deg spesifisere dens standard fonter. For 128esr-serien, bruk "Hamburger"-menyen for å gå til Innstillinger, Generelt og under Fonts -> Advanced velg Sans Serif, Serif eller Monospace etter behov hvis du ønsker å bruke skriftene som samsvarer med Fontconfig. Still inn punktstørrelsene som ønsket. I senere versjoner er innstillingene på Preferences -> Fonts.

Libreoffice: Tester med engelsk tekst med en gammel japansk font (HanaMinA) som støtter flere europeiske språk men hadde bare én vekt og ingen kursiv eller skråstilte viste at selv om Libreoffice bruker Fontconfig for å finne fonten laget den sin egen fet eller skråstilt tekst. Det er ikke klart om det vil gjøre det samme hvor en font faktisk har fet vekt eller en kursiv stil. Det viser også dokumentasjon at Libreoffice har sine egne erstatningsregler for når et kodepunkt ikke finnes i den valgte fonten, men er uklart om disse reglene gjelder på Linux som bruker Fontconfig.

Pango: som nevnt i eksempelet ~/.config/fontconfig ovenfor, alt som bruker Pango-1.44 (fra 2019) eller senere bruker nå Harfbuzz for hint, FreeType, og hintfull er ikke støttet.

Thunderbird: Skriftinnstillingene kan endres ved å gå til "Rediger -> Innstillinger" og deretter rulle ned til "Fonts & Colors".

Eksterne linker

I stared into the fontconfig ...

Blogginnleggene av Eevee er spesielt nyttige hvis Fontconfig ikke tror den valgte fonten støtter språket ditt, og for å foretrekke noen ikke-MS japanske fonter når en stygg MS-font allerede er installert.

subpixel-hinting

Dokumentasjonen til FreeType v40 tolken på freetype docs forklarer hvordan gjeldende hinter fungerer, og hvorfor den forrige (langsomme) Infinality tolk ble byttet ut.

Beregner DPI

Et gammelt svar på askubuntu gir noen detaljer om beregning av en skjerms punkter per tomme, men i hovedsak måler du bare bredden og høyden på det synlige panelet, konverterer til tommer hvis du bruker metriske mål, og del på antall piksler. Da kan du sende -dpi 90 når du starter Xorg ved å bruke din egen verdi.

Tabell over CSS fontvekter

Kanskje mer enn du noen gang ønsket å vite er på Mozilla CSS docs.

Bruke autohint på en skrift

Hvis du bruker hinting og har en TTF (ikke OTF) font som mangler hint men tillater deg å forgrene den, kan du kanskje bruke hint ved å bruke ttfautohint som er basert på den gamle autohinteren. Fra og med versjon 1.8.4 klarer den ikke å bygge uten Qt5.

Fontconfig i Arch wiki

Arch har mye informasjon i sin wiki på font_configuration.

Fontconfig i Gentoo wiki

Gentoo har noe informasjon i sin wiki på Fontconfig selv om mange av detaljene (hva du skal aktivere, og Infinality) er spesifikke for Gentoo.

TTF og OTF fonter

Om TTF og OTF fonter

Opprinnelig ga Xorg kun punktgrafikkfonter. Senere, ble noen skalerbare Type1 fonter lagt til, men skrivebordsverdenen gikk videre til å bruke TrueType og Open Type fonter. For å støtte disse bruker Xorg Xft, X FreeType grensesnittbibliotek, med Fontconfig (se forrige side for detaljer, inkludert hvordan fonter velges og forskjellige årsaker til at en font kan bli ignorert).

Noen få fonter er gitt som samlinger (TTC eller OTC) hvor skriftdata deles mellom forskjellige fonter, og sparer dermed diskplass. Behandle disse nøyaktig på samme måte som individuelle TTF eller OTF filer.

Hvis en skrift gir både TTF og OTF skjemaer, bør du foretrekke OTF skjemaet i linux, det kan gi flere funksjoner for programmer som vet hvordan de skal brukes (som xelatex). TTF filene til disse fontene inneholder vanligvis hint, se Antyding og Anti-aliasing og Elementer som kan overstyre Fontconfig for grunner til at hint kan være uønsket eller ubrukelig.

En font kan ha flere variasjoner. For eksempel Noto Sans har 9 vekter (ExtraLight, Light, Thin, Normal, Medium, SemiBold, Bold, ExtraBold, and Black) og 2 stiler (vanlig og kursiv), altså 18 varianter totalt. Normalt leveres hver variant som en separat TTF eller OTF fil. For full dekning må du installere alle disse TTF eller OTF filene. Selv om du har lite diskplass, bør du fortsatt installere to vekter (Regular and Bold) med to stiler (Normal og kursiv) hvis skriften har disse variasjonene. Noen fonter har ikke kursiv stil (for eksempel de fleste CJK fonter og noen monospace fonter), og noen fonter har bare én variant (for eksempel Noto Sans Math, den gir bare glyphen til noen matematikk symboler).

Noen fonter er også tilgjengelige som variable fontfiler. I motsetning til en vanlig fontfil som bare inneholder én variant, en variabel fontfil inneholder uendelige variasjoner. Hver variant kan defineres av applikasjonen som bruker denne fonten ved å tildele tall til én eller flere variabler. Det er også forhåndsdefinerte navngitte instanser analogt med de tradisjonelle variasjonene. For eksempel, med den variable versjonen av Noto Sans, vektvariabel kan tildeles et hvilket som helst tall som ikke er mindre enn 100 og ikke større enn 900, og 9 navngitte forekomster er forhåndsdefinert: ExtraLight for vekt=100, Regular for vekt=400, Bold for vekt=700 osv. Så når en variabel variabel fontfil for Noto Sans er installert, vil alle 9 navngitte forekomster (eller «variasjoner») være tilgjengelig. Merk at helningen ikke er definert som en variabel i variabelversjonen av Noto Sans, så Regular og Italic er fortsatt tradisjonelle varianter og en separat variabel fontfil er nødvendig for kursiv varianten.

En fil med variable fonter er åpenbart mer fleksibel enn vanlig statiske) fontfiler. Det er ekstremt nyttig for å finjustere skrift for websider eller publikasjoner. Og størrelsen på en variabel fontfil er vanligvis betydelig mindre enn den totale størrelsen på flere statiske fontfiler for flere varianter. For eksempel den variable fontfilen for Noto Sans SC er bare 11M, mens den totale størrelsen på 9 statiske fontfiler for Noto Sans SC er 91M. Men du må sørge for at programmene dine virkelig støtter variable fonter før du installerer en. For eksempel, lualatex støtter variabel font men xelatex gjør det ikke. Så hvis du vil bruke en font for en artikkel og bruker xelatex for setting, må du ikke installere filene med variabel skrift.

For informasjon om variable fonter, se Variable Fonts.

For noen skript pango er påkrevd for å gjengi ting riktig, enten ved å velge forskjellige glyffvarianter, eller ved å kombinere glyffer - i begge tilfeller, i henhold til konteksten. Dette gjelder spesielt Arabiske og Indiske skrifter.

Standard skalerbare fonter som følger med X gir svært dårlig Unicode dekning. Du vil kanskje legge merke til det i applikasjoner som bruker Xft at noen tegn vises som en boks med fire binære sifre inni. I dette tilfellet, en font med nødvendige glyfer er ikke funnet. Andre ganger, applikasjoner som ikke bruker andre fontfamilier som standard og ikke godtar erstatninger fra Fontconfig vil vise tomme linjer når standardfonten ikke dekker ortografien til brukerens språk.

Fontene som er tilgjengelige for et program er de som var til stede da det ble startet, så hvis du legger til en ekstra font og ønsker å bruke den i et program som for øyeblikket kjører, så må du lukke og starte det programmet på nytt.

Noen mennesker er glade for å ha dusinvis, eller til og med hundrevis, av skriftfiler tilgjengelig, men hvis du noen gang ønsker å velge en spesifikk font på en skrivebordapplikasjon (for eksempel i en tekstbehandler) og deretter bla gjennom mange skrifttyper for å finne den rette er tregt og vanskelig - færre er bedre. Så for noen fontpakker kan du bestemme deg for å installere bare en av skriftene - men installer likevel de forskjellige variantene (kursiv, fet, osv.) siden disse er alle varianter for samme skriftnavn.

Tidligere anbefalte alle å kjøre fc-cache som root bruker etter installasjon eller fjerning av fonter, men dette er ikke lenger nødvendig på linux, Fontconfig vil gjøre det automatisk om nødvendig og hvis hurtiglagrene er mer enn 30 sekunder gamle. Men hvis du legger til en font og vil bruke den umiddelbart, så kan du kjøre den kommandoen som en vanlig bruker.

Det er flere referanser nedenfor til CJK karakterer. Dette står for Kinesisk, japansk og koreansk, selv om moderne koreansk nå er nesten alt skrevet ved hjelp av de fonetiske Hangul-glyfer (det pleide noen ganger å bruke Hanja glyfer som ligner på kinesisk og japansk). Unicode bestemte seg for å gå for Han Unification og å kartlegge noen kinesiske og japanske glyfer til de samme kodepunktene. Dette var svært upopulær i Japan, og resultatet er at forskjellige fonter vil gjengi noen kodepunkter i ganske forskjellige former. I tillegg forenklet Kinesisk vil noen ganger bruke samme kodepunkt som tradisjonell kinesisk men vil vise det annerledes, noe analogt med de forskjellige formene som brukes for bokstavene 'a' og 'g' på engelsk (en-etasjes og to-etasjes), bortsett fra at man i en språksammenheng vil se "feil" ut snarere enn bare "annerledes".

I motsetning til de fleste andre pakker i denne boken, overvåker ikke BLFS redaktørene versjonene av fontene på denne siden - når en font er god nok for generell bruk er de typiske tilleggene i en ny versjon mindre (f.eks. nye valutasymboler, eller glyffer som ikke er for et moderne språk, for eksempel emojis eller spillekort). Derfor viser ingen av disse fontene versjon eller md5 informasjon.

Listen nedenfor vil ikke gi fullstendig Unicode dekning. Unicode oppdateres hvert år, og de fleste tilleggene er nå for historiske skrivesystemer. For nesten fullstendig dekning kan du installere et fullt sett med Noto fonts (det er egne fonter for forskjellige skrivesystemer). Vi pleide å anbefale Unicode Font Guide, men det har ikke blitt oppdatert siden 2008, og mange av koblingene er døde.

Rendrete eksempler på de fleste av disse fontene, og mange andre, med detaljer om hvilke språk de dekker, finner du på typosetting.linuxfromscratch.org som har som mål å analysere og sammenligne fonter og til tross for navnet til slutt legge til noen fornuftige eksempler på typografi.

Fonter leveres ofte i zip filer, og krever verktøy fra libarchive-3.8.5 or 7zip-26.00 for å liste og pakke dem ut, men selv om den nåværende utgivelsen er en tarball, bør du fortsatt sjekke om det vil opprette en mappe (å spre innholdet i en zip fil eller tarball på tvers av gjeldende mappe kan være veldig rotete, og noen få fonter lager __MACOSX/ mapper). I tillegg, mange fonter leveres med tillatelser som ikke tillater "andre" brukere å lese dem - hvis en font skal installeres for systemomfattende bruk, evt mapper må være modus 755 og alle filene modus 644, så du må endre dem hvis tillatelsene er forskjellige. Hvis du glemmer, root brukeren kan kanskje se en bestemt skrift i fc-list, men en vanlig bruker vil ikke kunne bruke dem.

Som et eksempel på fontinstallasjon, vurder installasjonen av Dejavu fonts. I denne spesielle pakken, TTF filene er i en undermappe. Fra den utpakkede kildemappen, kjør følgende kommandoer som root bruker:

install -v -d -m755 /usr/share/fonts/dejavu &&
install -v -m644 ttf/*.ttf /usr/share/fonts/dejavu &&
fc-cache -v /usr/share/fonts/dejavu

Hvis du ønsker det, kan du også installere eventuelle lisenser eller annen dokumentasjon, enten ved siden av fonten eller i en tilsvarende mappe under /usr/share/doc/.

Noen få fonter leveres med kilden så vel som med fullførte TTF eller OTF fil(er). Med mindre du har tenkt å endre fonten, og har de riktige verktøyene (noen ganger FontForge-20251009, men ofte kommersielle verktøy), kilden vil ikke gi noen fordel, så ikke installer den. En eller to fonter vil til og med sendes med Web Open Font Format (WOFF) filer - nyttig hvis du kjører en webserver og ønsker å bruke den fonten på nettstedet ditt, men ikke nyttig for et skrivebordssystem.

For å gi større Unicode dekning, bør du installere noen av de følgende fonter, avhengig av hvilke nettsteder og språk du vil lese. Den neste delen av denne siden beskriver noen fonter som dekker minst latinske alfabeter, og den siste delen tar for seg noen CJK problemer.

Notat

Installasjon av Dejavu fonts pleide å være sterkt anbefalt, men Noto fonts vil bli foretrukket hvis begge har blitt installert. Den eneste sannsynlige grunnen til å nå foretrekke en DejaVu font er at DejaVu-Serif har en åpen 'g' (Både DejaVu Sans og Noto Sans bruker også en åpen 'g'). Bortsett fra det er Noto mer oppdatert med fullere dekning.

Adwaita fonter

Adwaita fonts – Adwaita-familien tilbyr klare, moderne og vedlikeholdte fonter. De er de foretrukne fontene for GNOME-48 og senere. Tarballen inneholder oppdateringsskript for kildekoden, samt TTF-fonter i mono/- og sans/-mappene. Sans-fontene med variabel bredde er tilpasset for å passe inn i dialogmeldinger i brukergrensesnittet og beregnet for normal bruk. Mono-fontene (normal og kursiv i vanlig og fet skrift) ,er ment å samsvare, med bruk i terminaler og programmering.

Caladea

Caladea (opprettet som en ekstra font for Chrome OS) er metrisk kompatibel med MS Cambria og kan brukes hvis du må redigere et dokument som noen startet i Microsoft Office med Cambria.

Cantarell fonts

Cantarell fonts – Cantarell skrifttypefamilien gir en moderne humanist Sans Serif. Den er spesielt optimalisert for lesbarhet i små størrelser og var den foretrukne skriftfamilien for GNOME brukergrensesnittet før GNOME-48.

Carlito

Carlito (opprettet som en ekstra Chrome OS skrifttype) er metrisk kompatibel med MS Calibri og kan brukes hvis du må redigere et dokument som noen startet i Microsoft Office ved hjelp av Calibri.

DejaVu fonter

DejaVu fonter – Disse fontene er en utvidelse av og erstatning for, Bitstream Vera fontene og gi latinbaserte skript med aksenter og tegnsetting som "smarte anførselstegn" og variantavstand tegn, samt kyrilliske, greske, arabiske, hebraiske, armenske, georgiske og noen andre glyfer. I fravær av Bitstream Vera fonter (som hadde mye mindre dekning), disse var standard reserve skrifttyper for 'latinske' språk. Fra og med Fontconfig-2.14, hvis Noto 'Latin' fonter er installert de vil bli prioritert foran DejaVu.

GNU FreeFont

GNU FreeFont – Dette settet med fonttyper dekker mange ikke-CJK tegn, men glyfer er relativt små (i motsetning til Noto og DejaVu skrifter som er relativt stor) og ganske lett («mindre svart» når den er svart på hvit brukes) som betyr at de i noen sammenhenger som terminaler er ikke visuelt tiltalende, for eksempel når de fleste andre glyfer er gitt med en annen font. På den annen side, noen fonter brukes primært for trykt utdata, og mange CJK fonter, er også lette.

Gelasio

Gelasio er metrisk kompatibel med MS Georgia og Fontconfig vil bruke det hvis noen gang MS Georgia er forespurt, men ikke installert.

Liberation fonter

Liberation fonter gi libre erstatninger for Arial, Courier New, og Times New Roman. Fontconfig vil bruke dem som erstatter for disse skriftene, og også for lignende Helvetica, Courier, og Times Roman, selv om den for disse sistnevnte kan foretrekke en annen font (se eksemplene i PDF-er på typosetting.co.uk).

Mange vil finne Liberation fontene nyttige for sider hvor en av disse fontene er forespurt.

Microsoft Kjernefonter

Microsoft Kjernefonter De ble levert med gamle versjoner av Microsoft Windows og ble tilsynelatende gjort tilgjengelig for generell bruk. Du kan pakke dem ut fra 'exe' filene ved å bruke bsd-tar fra libarchive-3.8.5. Sørg for å lese lisensen før du bruker dem. En gang noen av disse skriftene (spesielt Arial, Times New Roman, og til en mindre utstrekning Courier New) var mye spesifisert på nettsider. Hele settet inneholder Andale Mono, Arial, Arial Black, Comic Sans MS, Courier New, Georgia, Impact, Times New Roman, Trebuchet MS, Verdana og Webdings.

Vær oppmerksom på at hvis du bare vil bruke en font med samme beregninger (tegnstørrelse osv.) som Arial, Courier New eller Times New Roman kan du bruke libre Liberation Fonts (over), og på samme måte kan du erstatte Georgia med Gelasio.

Selv om mange gamle innlegg anbefaler å installere disse fontene for utdata som ser bedre ut, mindre gamle innlegg sier at disse er «stygg» eller «ødelagt» med moderne Fontconfig, Freetype og Pango. De fleste vil ikke installere noen av disse fontene.

De nyere fontene som Microsoft har gjort som sine standardinnstillinger i senere utgivelser av MS Windows eller MS Office (Calibri og Cambria) har aldri vært fritt tilgjengelig. Men hvis du ikke har dem installert, kan du finne metrikk ekvivalenter (Carlito og Caladea) ovenfor.

Noto fonter

Noto fonter ('No Tofu', dvs. unngå bokser med prikker [hexadekte sifre] når en glyph ikke kan bli funnet) er et sett med fonter som tar sikte på å dekke hver glyph i unicode, uansett hvor obskur.

Personer som bruker språk skrevet kun med latinske, greske eller kyrilliske alfabeter må installere Noto Sans, Noto Serif og/eller Noto Sans Mono. For mer informasjon om organiseringen av Noto fonter, se how are noto fonts organized. Det er også separate fonter for hvert andre gjeldende skriftsystemer, men de dekker ikke tekst på latin språk.

Disse tre fontene er førstevalgspreferansene til Fontconfig for tekst i disse tre alfabetene, og de oppdateres ofte for å dekke nyere Unicode tillegg som utvidelser for fonetisk transkripsjon i Latinske og kyrilliske alfabeter.

Det kan være lettere å laste ned en bestemt Noto-font ved å gå til Noto Sans og endre fontnavnet etter behov, med '+' mellom hvert ord, f.eks. 'Noto+Kufi+Arabic', 'Noto+Serif+Georgian' eller hva som helst, og klikk deretter på 'Download family'.

For Noto CJK fontene er det lettere å finne det spesifikke zip arkivet du ønsker på Github. Gå til https://github.com/notofonts/noto-cjk/releases/ og se etter den nyeste Sans eller Serif versjonen med sin egen oppdaterte nedlastings guide og dens eiendeler. Nedlastingsveiledningene skal hjelpe deg å identifisere hvilken zip fil som passer best til dine behov.

Noto Sans er den foretrukne fonten for KDE Plasma og applikasjoner, unntatt for monospace fonter hvor Hack er foretrukket.

For skrivesystemer som ikke bruker det latinske, greske eller kyrilliske alfabetet Noto fonter er ikke foretrukket av Fontconfig. Hvis du bruker en Noto font for et moderne språk der en annen installert font også dekker det (f.eks DejaVu fonter dekker flere høyre-til-venstre alfabeter), kan det hende du må angi en preferanse for Fontconfig - se forrige side.

Source Code Pro

Dette settet med fonter fra Adobe (sju forskjellige vekter) inkluderer det som er nå den foretrukne monospace fonten for de programmene som bruker gsettings-desktop-schemas-49.1. The github release source-code-pro inneholder OTF (foretrukket) og TTF samt kilde og WOFF fontene.

For å bruke dette i terminaler vil du sannsynligvis bare ha Regular fonten.

Det finnes også en eldre TTF versjon av denne tilgjengelig fra Google fonts men det har svært begrenset dekning (tilstrekkelig for de fleste Europeiske språk som bruker et latinsk alfabet).

Lohit fonter

For indiske språk, Fontconfig foretrekker nå Lohit fonter (sanskrit for 'rød'). De finner du på pagure.org

CJK fonter

Som angitt tidligere, bruk av en kombinasjon av kinesisk, japansk og koreanske tegn kan være vanskelige - hver skrift dekker bare en delmengde av de tilgjengelige kodepunktene kan de foretrukne formene til glyfene variere mellom språkene, og mange av CJK-fontene støtter faktisk ikke moderne koreansk.

Også, Fontconfig foretrekker kinesisk fremfor japansk som standard. Tuning dekkes på Foretrekke valgte CJK fonter.

Selv om Unicode har blitt utvidet til å tillate et veldig stort antall CJK kodepunkter, de utenfor grunnplanet (større enn U+0xFFFF) er det ikke ofte brukt på mandarin (den normale formen for skriftlig kinesisk, enten Forenklet (fastlands-Kina, Malaysia og Singapore) eller tradisjonell (Hong Kong og Taiwan)), eller japansk.

For Hong Kong, som bruker tradisjonell kinesisk og hvor kantonesisk er dominerende språk, ble Hong Kong Supplementary Character Set lagt til Unicode i 2005 og revidert i 2009 (det er en del av CJK Extension B og nneholder mer enn 1900 tegn). Tidligere fonter vil ikke kunne støtter enten kantonesisk eller bruk disse tegnene der lokale navn er skrevet på mandarin. UMing HK, Noto Sans HK og WenQuanYi Zen Hei fonter ser alle ut til å dekke bruken i Hong Kong (Fontconfig er uenig om Noto Sans HK).

Han glyfer er dobbel bredde, andre tegn i samme font kan være smalere. For deres CJK innhold kan alle disse fontene betraktes som monospaced (dvs. fast bredde).

Hvis du ønsker å bruke Noto fonter, finnes det også Serif versjoner av deres ulike CJK fonter. Noto Sans/Serif SC/TC/HK/JP/KR fontene er avledet fra en monolitikk noto-cjk depot, og du kan finne .ttc filer for hele Noto Sans CJK (inkludert SC/TC/HK/JP/KR) eller Noto Serif CJK fontfamilie der. Google anbefaler vanlige brukere å bruke den separate Noto Sans/Serif SC/TC/HK/JP/KR fonter i stedet, men hvis du er i stand til og villig til å lese tekster i mer enn ett CJK karaktersystem kan det være lettere å bruke en monolittisk .ttc fil for full dekning.

Hvis alt du ønsker å gjøre er å gjengi CJK glyfer, å installere WenQuanYi ZenHei kan være et godt sted å starte hvis du ikke allerede har en preferanse.

Kinesiske fonter:

På kinesisk er det tre fontstiler i vanlig bruk: Sung (også kjent som Song eller Ming), som er den mest vanlige ornamenterte ("serif") form, Kai ("penselstrøk") som er en tidligere ornamentert stil som ser ganske annerledes ut, og moderne Hei ("sans"). Med mindre du setter pris på forskjeller, vil du sannsynligvis ikke installere Kai fonter.

De gjeldende versjonene av kinesiske Noto Sans fonter finner du på Noto Sans SC for Forenklet kinesisk, Noto Sans TC for Tradisjonell kinesisk, og som nevnt ovenfor Noto Sans HK til bruk i Hong Kong.

Opendesktop fonter

En kopi av versjon 1.4.2 av opendesktop-fonts er bevart ved Arch. Dette var en senere utvikling av fireflysung som BLFS pleide å anbefale, for å legge til Kai og Mono fonter. Navnet på Sung skrifttypen forblir 'AR PL New Sung', så de kan ikke installeres sammen.

På et tidspunkt var det en 1.6 utgivelse, og mer nylig noen versjoner på github, som også inkluderte en Sans font (Odohei), men de har falt utenfor nettet, og det er uklart om det var et problem. Fontconfig vet ikke noe om senere fonter (AR PL New Kai, AR PL New Sung Mono) og vil som standard behandle dem som Sans.

UMing

UMing fonts – sett med kinesiske Ming fonter (fra Debian, bruk '.orig' tarball) i en ttc som inneholder varianter av forenklet og tradisjonell kinesisk (Taiwanesisk, med andre variant for forskjellige bopomofo, og kantonesisk for Hong Kong). Dette leveres med gamle syntaksfiler som du kan installere til /etc/fonts/conf.d/ men se Redigering av gammeldagse conf filer.

WenQuanYi Zen Hei

WenQuanYi Zen Hei gir en Sans-Serif font som dekker alle CJK skript inkludert koreansk. Selv om det inkluderer gammeldagse conf filer, er disse ikke obligatorisk: Fontconfig vil allerede behandle disse skriftene (den "skarpe" inneholder punktgrafikk, monospace vises ikke å være Mono i sin ASCII del) som Sans, Serif og Monospace. Hvis alt du ønsker å gjøre er å kunne gjengi Han og koreansk tekst uten bekymre deg for finhetene til figurene som brukes, hovedfonten fra denne pakken er en god font og bruke.

Japanske fonter:

På japansk er gotiske fonter Sans, og Mincho er Serif. BLFS pleide å nevne bare Kochi fontene, men de ser ut til å være det nå minst foretrukket av de japanske skriftene.

Bortsett fra skriftene som er beskrevet nedenfor, bør du også vurdere Noto Sans JP.

IPAex fonter

IPAex fonts er gjeldende versjon av IPA fontene. Bruk Google Translate på hjemmesiden, klikk deretter på nedlastingslenken for IPAex Font Ver.004.01. Dessverre, Fontconfig vet bare om de eldre IPA fontene og den forgrenede IPA Mona fonten (som ikke er lett tilgjengelig og som tilsynelatende ikke oppfyller Debians frie programvare retningslinjer). Hvis du installerer IPAex fontene, kan det være lurt å gjøre det kjent til Fontconfig. Se Foretrekke valgte CJK fonter for en måte å oppnå dette på.

Kochi fonter

Kochi Erstatningsfonter var de første virkelig frie japanske skriftene (de tidligere Kochi fontene ble angivelig plagiert fra en kommersiell font).

VL Gothic

VL Gothic fonten er en moderne japansk font i to varianter med monotont eller proporsjonalt mellomrom for ikke-japanske tegn.

Koreanske fonter:

På koreansk er Batang eller Myeongjo (det eldre navnet) Serif, Dotum eller Gotisk og er de viktigste Sans skriftene. BLFS anbefalte tidligere Baekmuk fontene, men Nanum og Un fontene er nå foretrukket fremfor Baekmuk av Fontconfig på grunn av brukerforespørsler.

Et praktisk sted å se eksempler på disse og mange andre koreanske fonter er Free Korean Fonts. Klikk på 'Gothic Fonts' eller 'All Categories -> Myeongjo Fonts', klikk deretter på fonteksemplet for å se flere detaljer, inkludert Lisens, og klikk på lenken for å laste den ned. For Nanum trenger du å kunne lese koreansk for å finne nedlastingslenken på siden du kommer til. For Un er det direkte lenker og du kan finne un-fonts-core tarball i releases/ mappen.

Alternativt kan du vurdere Noto Sans KR or WenQuanYi ZenHei.

Xorg Legacy

Introduksjon til Xorg Legacy

Xorg sin stamfar (X11R1, i 1987) først ga bare punktgrafikkfonter, med et verktøy (bdftopcf) for å hjelpe til med installasjonen. Med introduksjonen av xorg-server-1.19.0 og libXfont2 mange mennesker vil ikke trenge dem. Det er fortsatt noen få gamle pakker som kan kreve, eller dra nytte av, disse utdaterte skriftene, og derfor vises følgende pakker her.

Notat

font-adobe-100dpi pakken installerer 100 punkter per tomme versjoner av Courier, Helvetica, New Century Schoolbook og Times.

De resterende fontpakkene her gir 75dpi versjoner av disse skriftene, og diverse diverse fonter - mest for eldre kodinger. Det er først og fremst for å dempe advarsler når du tester Xorg. I tidligere versjoner av BLFS ble mye flere eldre fonter installert.

Vennligst se BLFS-7.10 boken på https://www.linuxfromscratch.org/blfs/view/7.10/x/x7font.html hvis du ønsker å installere noen av de andre fontene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xorg Legacy Avhengigheter

Påkrevd

Xorg Fonts

Laste ned Xorg Legacy

Lag først en liste over filer som skal lastes ned. Denne filen vil også brukes til å bekrefte integriteten til nedlastingene når de er fullført:

cat > legacy.dat << "EOF"
e09b61567ab4a4d534119bba24eddfb1 util/ bdftopcf-1.1.1.tar.xz
20239f6f99ac586f10360b0759f73361 font/ font-adobe-100dpi-1.0.4.tar.xz
2dc044f693ee8e0836f718c2699628b9 font/ font-adobe-75dpi-1.0.4.tar.xz
2c939d5bd4609d8e284be9bef4b8b330 font/ font-jis-misc-1.0.4.tar.xz
6300bc99a1e45fbbe6075b3de728c27f font/ font-daewoo-misc-1.0.4.tar.xz
fe2c44307639062d07c6e9f75f4d6a13 font/ font-isas-misc-1.0.4.tar.xz
145128c4b5f7820c974c8c5b9f6ffe94 font/ font-misc-misc-1.1.3.tar.xz
EOF

For å laste ned de nødvendige filene ved hjelp av Wget-1.25.0, bruk følgende kommandoer:

mkdir legacy &&
cd    legacy &&
grep -v '^#' ../legacy.dat | awk '{print $2$3}' | wget -i- -c \
     -B https://www.x.org/pub/individual/ &&
grep -v '^#' ../legacy.dat | awk '{print $1 " " $3}' > ../legacy.md5 &&
md5sum -c ../legacy.md5

Installasjon av Xorg Legacy

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

for package in $(grep -v '^#' ../legacy.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.?z*}
  tar -xf $package
  pushd $packagedir
    ./configure $XORG_CONFIG
    make
    as_root make install
  popd
  rm -rf $packagedir
  as_root /sbin/ldconfig
done

Til slutt går du ut av skallet som ble startet tidligere:

exit

Innhold

Installerte Programmer: bdftopcf
Installerte Biblioteker: Ingen
Installerte Mapper: $XORG_PREFIX/share/fonts/100dpi, $XORG_PREFIX/share/fonts/75dpi, $XORG_PREFIX/share/fonts/misc

Korte Beskrivelser

bdftopcf

konverterer en X font fra Bitmap distribusjonsformat til Portable kompilert format

Kapittel 25. Grafiske Miljøbiblioteker

Dette kapittelet inneholder ikke biblioteker som kreves for å kjøre X. Den inneholder biblioteker som forbedrer X. I noen tilfeller er forbedringen så enkel som fontstøtte. I andre er det like komplekst som biblioteker som sitter mellom X og applikasjoner som kjører på X hvis formål er å standardisere utseendet og følelse og kommunikasjon mellom prosesser for ulike applikasjoner. Det hjelper også programmerere å levere vanlige elementer.

Atkmm-2.28.4

Introduksjon til Atkmm

Atkmm er det offisielle C++ grensesnittet for ATK biblioteket for tilgjengelighetsverktøy.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Atkmm Avhengigheter

Påkrevd

at-spi2-core-2.58.3 og GLibmm-2.66.8

Installasjon av Atkmm

Installer Atkmm ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libatkmm-1.6.so
Installerte Mapper: /usr/{include,lib}/atkmm-1.6 og /usr/share/{devhelp/books/atkmm-1.6,doc/atkmm-2.28.4}

Korte Beskrivelser

libatkmm-1.6.so

inneholder ATK API klasser

Atkmm-2.36.3

Introduksjon til Atkmm

Atkmm er det offisielle C++-grensesnittet for ATK bibliotek for tilgjengelighetsverktøy. Denne versjonen er en del av et nytt API for å støtte gtkmm-4.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Atkmm Avhengigheter

Påkrevd

at-spi2-core-2.58.3 og GLibmm-2.86.0

Installasjon av Atkmm

Installer Atkmm ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libatkmm-2.36.so
Installerte Mapper: /usr/{include,lib}/atkmm-2.36 og /usr/share/{devhelp/books/atkmm-2.36,doc/atkmm-2.28.4}

Korte Beskrivelser

libatkmm-2.36.so

inneholder ATK API klasser

at-spi2-core-2.58.3

Introduksjon til At-Spi2 Core

At-Spi2 Core pakken inneholder en omfattende tilgjengelighetsrammeverk for hjelpemidler tilgjengelig på GNOME plattformen. Dette inkluderer et sett med grensesnitt som er implementert av andre verktøysett og applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

At-Spi2 Core Avhengigheter

Påkrevd

dbus-1.16.2, GLib-2.86.4 (GObject Introspection påkrevd for GNOME), gsettings-desktop-schemas-49.1 (Kjøretid), og Xorg Biblioteker

Valgfri

Gi-DocGen-2026.1 og sphinx-9.1.0

Installasjon av At-Spi2 Core

Installer At-Spi2 Core ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                  \
      --prefix=/usr             \
      --buildtype=release       \
      -D gtk2_atk_adaptor=false \
      -D systemd_user_dir=/tmp  &&
ninja

Nå, som root bruker:

ninja install &&
rm /tmp/at-spi-dbus-bus.service

Testpakken krever at glib skjemaene til pakken allerede er installert. Testene må også kjøres i et grafisk miljø. For å teste resultatene, installer pakken først, deretter utsted: dbus-run-session ninja test.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D systemd_user_dir=/tmp: Dette flagget putter systemd enhetsfilen i /tmp hvor den vil bli fjernet. SysV kan ikke bruke denne filen.

-D docs=true: Bruk denne bryteren hvis du vil bygge dokumentasjon. Merk at du må ha både Gi-DocGen-2026.1 og sphinx-9.1.0 installert på systemet ditt.

-D gtk2_atk_adaptor=false: Denne bryteren deaktiverer bygging av GTK+-2 modulen for denne pakken.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libatk-1.0.so, libatk-bridge-2.0.so, og libatspi.so
Installerte Mapper: /usr/include/atk-1.0, /usr/include/at-spi-2.0, /usr/include/at-spi2-atk, /usr/lib/gnome-settings-daemon-3.0, /usr/share/defaults/at-spi2, og /usr/share/gtk-doc/html/libatspi (valgfri)

Korte Beskrivelser

libatk-1.0.so

inneholder funksjoner som brukes av hjelpemidler for å samhandle med skrivebordsapplikasjoner

libatk-bridge-2.0.so

inneholder Verktøysett for tilgjengelighet GTK+ modulen

libatspi.so

inneholder At-Spi2 API funksjoner

Cairo-1.18.4

Introduksjon til Cairo

Cairo er et 2D grafikkbibliotek med støtte for flere utdataenheter. For tiden støttede utdatamål inkluderer X Vindussystem, Win32, image buffers, PostScript, PDF and SVG. Eksperimentelle bakstykker inkluderer OpenGL, Quartz og XCB fil utdata. Cairo er designet for å produsere konsistent utdata på alle utskriftsmedier mens du drar nytte av skjermen sin maskinvareakselerasjon når tilgjengelig (f.eks., gjennom X Render Utvidelse). Cairo API gir operasjoner som ligner på tegningsoperatørene til PostScript og PDF. Operasjoner i Cairo inkludere stryke og fylle kubikk Bézier splines, transformere og komponere gjennomsiktige bilder, og kantutjevnet tekstgjengivelse. Alle tegneoperasjoner kan transformeres av hvilken som helst affine transformation (skala, rotasjon, skjæring osv.)

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Cairo Avhengigheter

Påkrevd

libpng-1.6.55 og Pixman-0.46.4

Anbefalt
Valgfri

ghostscript-10.06.0, GTK-Doc-1.35.1, libdrm-2.4.131, librsvg-2.61.4, libxml2-2.15.1, LZO-2.10, Poppler-26.02.0, Valgrind-3.26.0, GTK+-2, og libspectre

Notat

Det er en sirkulær avhengighet mellom cairo og harfbuzz. Hvis cairo bygges før harfbuzz, er det nødvendig å gjenoppbygge cairo etter harfbuzz for å bygge pango.

Installasjon av Cairo

Installer Cairo ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken har ikke en fungerende testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D xlib-xcb=enabled: Denne bryteren aktiverer flere eksperimentelle Xlib/XCB funksjoner brukt av noen vindusbehandlere.

-D gtk_doc=true: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å opprette og installere dokumentasjonen.

Innhold

Installerte Programmer: cairo-trace
Installerte Biblioteker: libcairo.so, libcairo-gobject.so, og libcairo-script-interpreter.so
Installerte Mapper: /usr/include/cairo and /usr/lib/cairo

Korte Beskrivelser

cairo-trace

genererer en logg over alle anrop fra en applikasjon til Cairo

libcairo.so

inneholder 2D grafikkfunksjonene som kreves for å gjengi ulike produksjonsmål

libcairo-gobject.so

inneholder funksjoner som integrerer Cairo med Glib sin GObject type system

libcairo-script-interpreter.so

inneholder skripttolkerfunksjonene for å utføre og manipulere Cairo utførelsesspor

libcairomm-1.0 (cairomm-1.14.5)

Introduksjon til libcairomm-1.0

libcairomm-1.0 pakken gir et C++ grensesnitt til Cairo.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libcairomm-1.0 Avhengigheter

Påkrevd

Cairo-1.18.4 og libsigc++-2.12.1

Anbefalt
Valgfri

Doxygen-1.16.1

Installasjon av libcairomm-1.0

Installer Cairomm-1.0 ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D build-tests=true  \
      -D boost-shared=true &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D build-tests=true: Denne bryteren er for å bygge enhetstestene. Fjern hvis du ikke har installert Boost-1.90.0.

-D boost-shared=true: Denne bryteren lar pakken bruke den delte versjonen av boost biblioteker. Det kreves hvis du ikke har installert de statiske boost bibliotekene, og du har gitt -Dbuild-tests=true.

-D build-documentation=true: Denne bryteren bygger html dokumentasjon hvis doxygen er installert.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libcairomm-1.0.so
Installerte Mapper: /usr/{lib,include}/cairomm-1.0 og /usr/share/{devhelp/books,doc}/cairomm-1.0 (valgfri)

Korte Beskrivelser

libcairomm-1.0.so

inneholder Cairo API klasser

libcairomm-1.16 (cairomm-1.18.0)

Introduksjon til libcairomm-1.16

libcairomm-1.16 pakken gir et C++ grensesnitt til Cairo. Denne versjonen av API er nødvendig for å støtte gtkmm-4.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libcairomm-1.16 Avhengigheter

Påkrevd

Cairo-1.18.4 og libsigc++-3.6.0

Anbefalt
Valgfri

Doxygen-1.16.1

Installasjon av libcairomm-1.16

Installer Cairomm-1.16 ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D build-tests=true  \
      -D boost-shared=true &&
ninja

For å kjøre testpakken, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D build-tests=true: Denne bryteren er for å bygge enhetstestene. Fjern hvis du ikke har installert Boost-1.90.0.

-D boost-shared=true: Denne bryteren gjør at pakken bruker den delte versjonen av boost bibliotekene. Det kreves hvis du ikke har installert de statiske boost bibliotekene, og du har sendt -D build-tests=true.

-D build-documentation=true: Denne bryteren bygger html dokumentasjon hvis doxygen er installert.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libcairomm-1.16.so
Installerte Mapper: /usr/{lib,include}/cairomm-1.16 and /usr/share/{devhelp/books,doc}/cairomm-1.16 (optional)

Korte Beskrivelser

libcairomm-1.16.so

inneholder Cairo API klasser

colord-gtk-0.3.1

Introduksjon til Colord GTK

Colord GTK pakken inneholder GTK+ bindinger for Colord.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Colord GTK Avhengigheter

Påkrevd

colord-1.4.8 og GTK-3.24.51

Anbefalt
Valgfri

docbook-xml-5.0, docbook-xsl-ns-1.79.2, libxslt-1.1.45 (for å bygge manualsider), og GTK-Doc-1.35.1

Installasjon av Colord GTK

Advarsel

Hvis du bygger dokumentasjonen ninja -j1 må brukes.

Installer Colord GTK ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D gtk4=true        \
            -D vapi=true        \
            -D docs=false       \
            -D man=false        \
            ..                  &&
ninja

Hvis docbook-xml-5.0, docbook-xsl-ns-1.79.2, og libxslt-1.1.45 er installert, bygg manualsider:

sed '/class="manual"/i \
     <refmiscinfo class="source">colord-gtk</refmiscinfo>' \
    -i ../man/*.xml &&
meson configure -D man=true &&
ninja

For å teste resultatene, kjør: ninja test. Testene må kjøres fra en X økt, og kan kreve en fargeprofil for din primære skjerm.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D vapi=true: Denne bryteren aktiverer bygging av Vala bindingene. Fjern denne bryteren hvis du ikke har Vala-0.56.18 installert.

-D gtk4=true: Denne bryteren gjør det mulig å bygge GTK-4 bindingene for colord. Sett dette alternativet til 'false' hvis du ikke har GTK-4.20.3 installert.

-D docs=false: Denne bryteren deaktiverer bygging av gtk-doc basert dokumentasjon. Selv om gtk-doc er installert, vil du trenge namespaced versjonene av Docbook XSL stilarkene.

Innhold

Installerte Programmer: cd-convert
Installerte Biblioteker: libcolord-gtk.so og libcolord-gtk4.so
Installerte Mapper: /usr/include/colord-1/colord-gtk og /usr/share/gtk-doc/html/colord-gtk

Korte Beskrivelser

cd-convert

er et Fargebehandler testverktøy

libcolord-gtk.so

inneholder Colord GTK+ bindinger

libcolord-gtk4.so

inneholder Colord GTK-4 bindinger

FLTK-1.4.4

Introduksjon til FLTK

FLTK (uttalt "fulltick") er et C++ GUI verktøysett på tvers av plattformer. FLTK gir moderne GUI funksjonalitet og støtter 3D grafikk via OpenGL og dets innebygde GLUT emuleringsbiblioteker som brukes til å lage grafiske brukergrensesnitt for applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere nedlastinger

FLTK Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

alsa-lib-1.2.15.3, desktop-file-utils-0.28, Doxygen-1.16.1, GLU-9.0.3, Mesa-25.3.5, og texlive-20250308 (eller install-tl-unx)

Installasjon av FLTK

Notat

Tar sin ekstraksjonsmappe er fltk-1.4.4 og ikke fltk-1.4.4-source som angitt av tarball navnet.

Installer FLTK ved å kjøre følgende kommandoer:

sed -i -e '/cat./d' documentation/Makefile &&

./configure --prefix=/usr --enable-shared  &&
make

Hvis du ønsker å lage API dokumentasjonen, kjør:

make -C documentation html

Testene for pakken er interaktive. For å utføre testene, kjør test/unittests. I tillegg kommer 70 andre kjørbare testprogrammer i test mappen som kan kjøres individuelt.

Installer nå pakken og fjern unødvendige statiske biblioteker. Som root bruker:

make docdir=/usr/share/doc/fltk-1.4.4 install &&
rm -vf /usr/lib/libfltk*.a

Hvis ønskelig, installer noen eksempelspill bygget som en del av testene, ekstra dokumentasjon og eksempelprogrammer. Som root bruker:

make -C test          docdir=/usr/share/doc/fltk-1.4.4 install-linux &&
make -C documentation docdir=/usr/share/doc/fltk-1.4.4 install-linux

Hvis du lastet ned den valgfrie html dokumentasjonen, installer den som root bruker:

tar -C /usr/share/doc/fltk-1.4.4 --strip-components=4 -xf ../fltk-1.4.4-docs-html.tar.gz

Parameterforklaringer

sed ... documentation/Makefile: Unngå å installere sider i /usr/share/man/cat*.

Innhold

Installerte Programmer: blocks, checkers, fltk-config, fluid, og sudoku
Installerte Biblioteker: libfltk.so, libfltk_forms.so, libfltk_gl.so, og libfltk_images.so
Installerte Mapper: /usr/include/FL og /usr/share/doc/fltk-1.4.4

Korte Beskrivelser

blocks

er et FLTK basert blokkelimineringsspill

checkers

er en FLTK basert versjon av damspillet

fltk-config

er et hjelpeskript som kan brukes til å få informasjon om gjeldende versjon av FLTK som er installert på systemet

fluid

er en interaktiv GUI designer for FLTK

sudoku

er en implementering av det populære Sudoku spillet

libfltk.so

inneholder funksjoner som gir en API for å implementere grafisk brukergrensesnitt

Freeglut-3.8.0

Introduksjon til Freeglut

Freeglut er ment å være en 100% kompatibel, fullstendig åpen kildekode kloning av GLUT biblioteket. GLUT er et vindussystemuavhengig verktøysett for å skrive OpenGL programmer, implementere en enkel vindus API, som gjør læring og utforsking av OpenGL programmering veldig enkelt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Freeglut Avhengigheter

Påkrevd

CMake-4.2.3 og Mesa-25.3.5

Anbefalt

Installasjon av Freeglut

Installer Freeglut ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -D FREEGLUT_BUILD_DEMOS=OFF         \
      -D FREEGLUT_BUILD_STATIC_LIBS=OFF   \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-D FREEGLUT_BUILD_DEMOS=OFF: Deaktiver bygging av valgfrie demoprogrammer. Merk at hvis du velger å bygge dem, må installasjonen gjøres manuelt. Demoprogrammene er begrenset og installasjon anbefales ikke.

-D FREEGLUT_BUILD_STATIC_LIBS=OFF: Ikke bygg det statiske biblioteket.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libglut.so
Installerte Mapper: /usr/lib/cmake/FreeGLUT

Korte Beskrivelser

libglut.so

inneholder funksjoner som implementerer OpenGL Nytte Verktøysett

gdk-pixbuf-2.44.5

Introduksjon til Gdk Pixbuf

Gdk Pixbuf pakken er et verktøysett for bildelasting og pikselbuffermanipulering. Den brukes av GTK+ 3 for å laste og manipulere bilder. Tidligere ble det distribuert som en del av GTK+ 2, men den ble delt opp i en egen pakke som forberedelse til endringen til GTK+ 3.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gdk Pixbuf Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection påkrevd for GNOME), og shared-mime-info-2.4

Anbefalt
Valgfri

Gi-DocGen-2026.1 (for å generere dokumentasjon), libavif-1.3.0 (kjøretid, utdatert), libjpeg-turbo-3.1.3 (deprecated), libjxl-0.11.2 (kjøretid, utdatert), libpng-1.6.55 (deprecated), librsvg-2.61.4 (kjøretid, utdatert), og libtiff-4.7.1 (utdatert)

Installasjon av Gdk Pixbuf

Installer Gdk Pixbuf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                \
      --prefix=/usr           \
      --buildtype=release     \
      -D png=disabled         \
      -D gif=disabled         \
      -D jpeg=disabled        \
      -D tiff=disabled        \
      -D thumbnailer=disabled \
      --wrap-mode=nofallback  \
      $(pkgconf glycin-2 || echo -D glycin=disabled) &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/docs_dir =/s@\$@ / 'gdk-pixbuf-2.44.5'@" -i ../docs/meson.build &&
meson configure -D gtk_doc=true                                        &&
ninja

For å teste resultatene, utsted: ninja test

Nå, som root bruker:

ninja install

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av «DESTDIR» metoden, en viktig fil ble ikke installert og bør kopieres og/eller genereres. Generer den ved å bruke følgende kommando som root bruker:

gdk-pixbuf-query-loaders --update-cache

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

--wrap-mode=nofallback: Denne bryteren forhindrer meson fra å bruke delprosjektets tilbakefall for evt avhengighetserklæringer i byggefilene, og forhindrer det å laste ned eventuell valgfrie avhengigheter som ikke er installert på systemet.

-D *=disabled: Ikke bygg komponentene som er foreldet til fordel for glycin. Disse komponentene blir automatisk deaktivert når du bygger denne pakken med glycin installert, men spesifiser disse alternativene eksplisitt for å gjøre konfigurasjonen av den første byggingen (uten glycin) konsistent.

Innhold

Installerte Programmer: gdk-pixbuf-csource, gdk-pixbuf-pixdata, og gdk-pixbuf-query-loaders
Installerte Biblioteker: libgdk_pixbuf-2.0.so
Installerte Mapper: /usr/include/gdk-pixbuf-2.0, /usr/lib/gdk-pixbuf-2.0, /usr/libexec/installed-tests/gdk-pixbuf, /usr/share/installed-tests/gdk-pixbuf, /usr/share/gtk-doc/html/gdk-pixbuf, og /usr/share/thumbnailers

Korte Beskrivelser

gdk-pixbuf-csource

er et lite verktøy som genererer C kode som inneholder bilder, brukt for å kompilere bilder direkte inn i programmer

gdk-pixbuf-pixdata

er et verktøy som brukes til å konvertere GdkPixbuf til GdkPixdata

gdk-pixbuf-query-loaders

samler informasjon om lastbare moduler for Gdk Pixbuf og skriver det til standard hurtiglagerplassering, eller til stdout

libgdk_pixbuf-2.0.so

inneholder funksjoner som brukes til å laste og gjengi bilder

GLEW-2.3.1

Introduksjon til GLEW

GLEW er OpenGL Wrangler Utvidelsebibliotek.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

glew Avhengigheter

Påkrevd

Mesa-25.3.5

Installasjon av GLEW

Installer GLEW ved å kjøre følgende kommandoer:

sed -i 's%lib64%lib%g' config/Makefile.linux &&
sed -e '/glew.lib.static:/d' \
    -e '/0644 .*STATIC/d'    \
    -e 's/glew.lib.static//' \
    -e 's|/local||'          \
    -i Makefile              &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install.all

Parameterforklaringer

sed -i 's%lib64%lib%g' ...: Dette sikrer at biblioteket er installert i /usr/lib.

sed -i -e '/glew.lib.static:/d' ...: Dette undertrykker det statiske biblioteket.

sed -i -e 's|/local||' ...: Dette sikrer at pakken er installert i /usr.

make install.all: Dette installerer også programmene samt biblioteket.

Innhold

Installerte Programmer: glewinfo og visualinfo
Installert Bibliotek: libGLEW.so
Installert Mappe: /usr/include/GL

Korte Beskrivelser

glewinfo

gir informasjon om de støttede utvidelsene

visualinfo

er en utvidet versjon av glxinfo

libGLEW.so

gir funksjoner for å få tilgang til OpenGL utvidelser

glslang-16.2.0

Introduksjon til Glslang

Glslang Pakken inneholder et grensesnitt og en validator for OpenGL, OpenGL ES og Vulkan shaders.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Glslang Avhengigheter

Påkrevd

CMake-4.2.3 og SPIRV-Tools-1.4.341.0

Installasjon av Glslang

Installer Glslang ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr     \
      -D CMAKE_BUILD_TYPE=Release      \
      -D ALLOW_EXTERNAL_SPIRV_TOOLS=ON \
      -D BUILD_SHARED_LIBS=ON          \
      -D GLSLANG_TESTS=ON              \
      -G Ninja .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D ALLOW_EXTERNAL_SPIRV_TOOLS=ON: Denne bryteren tillater byggesystemet å bruke den systeminstallerte kopien av SPIRV-Tools-1.4.341.0, i stedet for å laste ned og installerer sin egen kopi.

-D BUILD_SHARED_LIBS=ON: Denne bryteren bygger delte versjoner av bibliotekene, og installerer ikke statiske versjoner av dem.

-D GLSLANG_TESTS=ON: Denne bryteren bygger tester for pakken.

Innhold

Installerte Programmer: glslang og glslang-validator (symbolkobling til glslang)
Installerte Biblioteker: libglslang.so, libglslang-default-resource-limits.so, og libSPIRV.so
Installerte Mapper: /usr/include/glslang og /usr/lib/cmake/glslang

Korte Beskrivelser

glslang

gir et grensesnitt og en validator for OpenGL, OpenGL ES og Vulkan shaders

libglslang.so

inneholder funksjoner som gir et grensesnitt og en validator for OpenGL, OpenGL ES og Vulkan shaders til andre programmer

libSPIRV.so

gir et grensesnitt og en generator for SPIR-V binærfiler

GLU-9.0.3

Introduksjon til GLU

Denne pakken inneholder Mesa OpenGL Verktøy biblioteket.

Notat

Hvis du har installert libglvnd eller systemd versjonen av libglvnd installer GLFS versjonen av GLU eller systemd versjonen av GLU i stedet slik at biblioteket fungerer som forventet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GLU Avhengigheter

Påkrevd

Mesa-25.3.5

Installasjon av GLU

Installer GLU ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..              \
      --prefix=$XORG_PREFIX \
      --buildtype=release   \
      -D gl_provider=gl     \
      -D default_library=shared &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå som root bruker:

ninja install

Parameterforklaringer

-D default_library=shared: Denne bryteren forhindrer bygging og installasjon av det statiske biblioteket.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libGLU.so
Installerte Mapper: Ingen

Korte Beskrivelser

libGLU.so

er Mesa OpenGL Verktøy biblioteket

GOffice-0.10.60

Introduksjon til GOffice

GOffice pakken inneholder et bibliotek med GLib/GTK dokument sentriske objekter og verktøy. Dette er nyttig for å utføre felles operasjoner for dokumentsentriske applikasjoner som er konseptuelt enkle, men komplisert å implementere fullt ut. Noen av operasjonene levert av GOffice biblioteket inkluderer støtte for programtillegg, last inn/lagre rutiner for søknadsdokumenter og angre/gjør om funksjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GOffice Avhengigheter

Påkrevd

GTK-3.24.51, libgsf-1.14.55, librsvg-2.61.4, libxslt-1.1.45, og Which-2.23

Valgfri

GLib-2.86.4 (med GObject Introspection), ghostscript-10.06.0, gsettings-desktop-schemas-49.1, GTK-Doc-1.35.1, Lasem, og libspectre

Installasjon av GOffice

Installer GOffice ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Hvis du ønsker å kjøre testene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgoffice-0.10.so
Installerte Mapper: /usr/include/libgoffice-0.10, /usr/{lib,share}/goffice, og /usr/share/gtk-doc/html/goffice-0.10

Korte Beskrivelser

libgoffice-0.10.so

inneholder API funksjoner for å gi støtte for dokumentsentriske gjenstander og verktøy

Graphene-1.10.8

Introduksjon til Graphene

Graphene pakken gir et tynt lag med typer for grafikkbiblioteker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Graphene Avhengigheter

Påkrevd

GLib-2.86.4 (med GObject Introspection)

Installasjon av Graphene

Installer Graphene ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dgtk_doc=true: Bruk denne bryteren hvis du har GTK-Doc-1.35.1 installert og ønsker å generere API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgraphene-1.0.so
Installerte Mapper: /usr/include/graphene-1.0, /usr/lib/graphene-1.0, /usr/{libexec,share}/installed-tests/graphene-1.0

Korte Beskrivelser

libgraphene-1.0.so

inneholder funksjoner som gir et tynt lag med typer for grafikkbiblioteker

GTK-3.24.51

Introduksjon til GTK3

GTK3 pakken inneholder biblioteker som brukes til å lage grafiske brukergrensesnitt for applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GTK3 Avhengigheter

Påkrevd

at-spi2-core-2.58.3, gdk-pixbuf-2.44.5, libepoxy-1.5.10, og Pango-1.57.0

Anbefalt
Anbefalt (Påkrevd hvis GNOME bygges)
Valgfri

colord-1.4.8, Cups-2.4.16, Evince-48.1 (kjøretid for forhåndsvisning av utskrift), GTK-Doc-1.35.1, libcloudproviders-0.3.6, PyAtSpi2-2.58.1 (for tester), sassc-3.6.2, tinysparql-3.10.1, og PAPI

Installasjon av GTK3

Installer GTK3 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D man=true         \
      -D broadway_backend=true &&
ninja

For å teste resultatene trenger du en grafisk økt, og utfør deretter dbus-run-session ninja test.

To tester, window og clipboard, er kjent for å mislykkes.

Nå, som root bruker:

ninja install

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, en viktig fil ble ikke installert og må kopieres og/eller genereres. Generer den ved å bruke følgende kommando som root bruker:

gtk-query-immodules-3.0 --update-cache

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

Parameterforklaringer

-D broadway_backend=true: Denne bryteren aktiverer HTML5 GTK bakstykket.

-D man=true: Denne bryteren tillater generering av manualsider.

-D gtk_doc=true: Denne bryteren aktiverer bygging av dokumentasjonen. Det krever GTK-Doc-1.35.1.

-D tracker3=true: Denne bryteren aktiverer søke funksjonen basert på TinySPARQL i GTK3 filvelgerdialogen. Det krever tinysparql-3.10.1.

-D cloudproviders=true: Bruk denne bryteren hvis du har libcloudproviders-0.3.6 installert og ønsker å aktivere støtte for skyleverandører i et filvelgervindu.

Konfigurere GTK3

Konfigurasjonsfiler

~/.config/gtk-3.0/settings.ini og /etc/gtk-3.0/settings.ini

Konfigurasjonsinformasjon

GTK3 temaer endrer måten en GTK3 applikasjon ser ut. Et ikontema kan brukes til å endre ikonene som vises på programmets verktøylinje. Hvis du har installert en GTK3 tema (f.eks. Adwaita temaet innebygd i GTK3), et ikontema (som f.eks oxygen-icons-6.0.0) og/eller en font (Dejavu fonts), du kan angi dine preferanser i ~/.config/gtk-3.0/settings.ini, eller standard systemomfattende konfigurasjonsfil (som root bruker), i /etc/gtk-3.0/settings.ini. For en lokal bruker et eksempel er:

mkdir -vp ~/.config/gtk-3.0
cat > ~/.config/gtk-3.0/settings.ini << "EOF"
[Settings]
gtk-theme-name = Adwaita
gtk-icon-theme-name = oxygen
gtk-font-name = DejaVu Sans 12
gtk-cursor-theme-size = 18
gtk-toolbar-style = GTK_TOOLBAR_BOTH_HORIZ
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = hintslight
gtk-xft-rgba = rgb
gtk-cursor-theme-name = Adwaita
EOF

Det finnes mange innstillingsnøkler, noen med standardverdier. Du kan finne dem på Settings: GTK3 Reference Manual. Det er mange flere temaer tilgjengelig på https://www.gnome-look.org/browse/ og andre steder.

Som en del av GTK-3.0 sin redesign, er rullefeltknappene ikke lenger synlig på rullefeltet i mange applikasjoner. Hvis denne funksjonaliteten er ønsket, endre gtk.css filen og gjenopprett dem ved å bruke følgende kommando:

cat > ~/.config/gtk-3.0/gtk.css << "EOF"
*  {
   -GtkScrollbar-has-backward-stepper: 1;
   -GtkScrollbar-has-forward-stepper: 1;
}
EOF

Innhold

Installerte Programmer: broadwayd, gtk3-demo, gtk3-demo-application, gtk3-icon-browser, gtk3-widget-factory, gtk-builder-tool, gtk-encode-symbolic-svg, gtk-launch, gtk-query-immodules-3.0, gtk-query-settings, og gtk-update-icon-cache
Installerte Biblioteker: libgailutil-3.so, libgdk-3.so, og libgtk-3.so
Installerte Mapper: /etc/gtk-3.0, /usr/include/{gail,gtk}-3.0, /usr/{lib,share}/gtk-3.0, og /usr/share/themes/{Default,Emacs}/gtk-3.0

Korte Beskrivelser

broadwayd

gir støtte for å vise GTK3 applikasjoner i en nettleser, ved hjelp av HTML5 og web-sockets

gtk3-demo

er et enkelt program som demonstrerer noen av oppgavene som kan bli gjort med GTK3

gtk3-demo-application

er en enkelt GTK+ 3 applikasjon

gtk3-icon-browser

er et verktøy for å utforske ikonene i det gjeldende ikontemaet. Den viser ikoner i ulike størrelser, deres symbolske varianter hvor tilgjengelig, samt en beskrivelse av ikonet og dets kontekst

gtk3-widget-factory

er et program å vise GTK3 temaer og skjermelementer

gtk-builder-tool

utfører ulike operasjoner på GtkBuilder .ui filer

gtk-encode-symbolic-svg

konverterer symbolske SVG ikoner til spesial forberedte PNG filer. GTK3 kan laste inn og farge disse PNGene, akkurat som originale SVGer, men lasting av dem er mye raskere

gtk-launch

starter en applikasjon med det gitte navnet. Navnet skal samsvare med programmets skrivebordsfilnavn, som ligger i /usr/share/applications, med eller uten '.desktop' suffikset

gtk-query-immodules-3.0

samler informasjon om lastbare inndata metodemoduler for GTK3 og skriver den til standard hurtigbuffer filplassering, eller til standardutdata

gtk-query-settings

gir en fullstendig liste over alle innstillinger relatert til GTK3

gtk-update-icon-cache

er et hurtigbufferverktøy for ikontema som lager mmap()able hurtigbufferfiler for ikontemaer

libgailutil-3.so

inneholder funksjoner som implementerer tilgjengelighetsgrensesnittene definert av GNOME Tilgjengelighets Verktøysett

libgdk-3.so

inneholder funksjoner som fungerer som en innpakning rundt lavt nivå tegne og vindus funksjoner levert av det underliggende grafikksystemet

libgtk-3.so

inneholder funksjoner som gir en API for å implementere grafisk brukergrensesnitt

GTK-4.20.3

Introduksjon til GTK 4

GTK 4 pakken inneholder biblioteker som brukes til å lage grafiske brukergrensesnitt for applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gnome.org/sources/gtk/4.20/gtk-4.20.3.tar.xz

  • Nedlasting MD5 sum: 7fe0499e3390d516f8644411ce2c3cde

  • Nedlastingsstørrelse: 16 MB

  • Estimert diskplass som kreves: 960 MB (med dokumenter; legg til 68 MB for tester)

  • Estimert byggetid: 1.7 SBU (bruker parallellisme=4; med dokumenter; legg til 1.9 SBU for tester)

GTK 4 Avhengigheter

Påkrevd

gdk-pixbuf-2.44.5, graphene-1.10.8, ISO Codes-4.20.1, libepoxy-1.5.10, librsvg-2.61.4, libxkbcommon-1.13.1, Pango-1.57.0, PyGObject-3.54.5, og wayland-protocols-1.47

Anbefalt
Anbefalt (Påkrevd hvis GNOME bygges)
Valgfri

Avahi-0.8 (for noen tester), colord-1.4.8, Cups-2.4.16, docutils-0.22.4, Evince-48.1 (kjøretid for forhåndsvisning av utskrift), Gi-DocGen-2026.1, Highlight-4.18 (kjøretid, bare brukt av gtk4-demo for syntaks utheving av demo kildekoden), libcloudproviders-0.3.6, sassc-3.6.2, tinysparql-3.10.1, accesskit-c, cpdb, pydbus (for noen tester), og sysprof

Kjernekonfigurasjon

Noen GTK-4 funksjoner trenger følgende alternativer i kjernekonfigurasjonen. Det er også nødvendig for testpakken.

Device Drivers --->
  DMABUF options --->
    [*] userspace dmabuf misc driver                                   [UDMABUF]

Installasjon av GTK 4

Installer GTK 4 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr            \
            --buildtype=release      \
            -D broadway-backend=true \
            -D introspection=enabled \
            -D vulkan=enabled        \
            .. &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s@'doc'@& / 'gtk-4.20.3'@" -i ../docs/reference/meson.build &&
meson configure -D documentation=true                            &&
ninja

For å kjøre testene, utsted:

env -u{GALLIUM_DRIVER,MESA_LOADER_DRIVER_OVERRIDE}          \
    LIBGL_ALWAYS_SOFTWARE=1 VK_LOADER_DRIVERS_SELECT='lvp*' \
    dbus-run-session meson test --setup x11                 \
                                --no-suite=headless

Hvis du er i en Wayland økt, bytt ut den ene forekomsten av x11 med wayland. Mange tester vil mislykkes hvis ~/.config/gtk-4.0/settings.ini eksisterer og gtk-modules linjen er ikke kommentert. Flere andre tester kan mislykkes av ukjente årsaker. På systemer med NVIDIA grafikkort kan testene ta betydelig lengre tid.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D broadway-backend=true: Denne bryteren aktiverer HTML5 GDK bakstykket.

-D introspection=enabled: Denne bryteren aktiverer å bruke GObject Introspection til å generere GIR bindinger av disse pakkene. Disse bindingene kreves av GNOME.

-D cloudproviders=enabled: Bruk denne bryteren hvis du har libcloudproviders-0.3.6 installert og ønsker å aktivere støtte for skyleverandører i et filvelgervindu.

-D tracker=enabled: Bruk denne bryteren hvis du har tinysparql-3.10.1 installert og ønsker å bruke søkefunksjonalitet når du kjører en filvelger.

-D colord=enabled: Bruk denne bryteren hvis du har colord-1.4.8 installert og ønsker å bruke colord med CUPS utskrifts bakstykket.

-D man-pages=true: Bruk denne bryteren hvis du har docutils-0.22.4 installert og ønsker å generere manualsider.

-D sysprof=enabled: Bruk denne bryteren hvis du har sysprof installert og ønsker å aktivere sporingsstøtte for GTK4 baserte applikasjoner.

-D vulkan=disabled: Bruk denne bryteren i stedet for -D vulkan=enabled hvis du ikke har Vulkan-Loader-1.4.341.0 or glslc from shaderc-2026.1 installert. Det vil deaktivere Vulkan backend som oppstrøms foretrekker å bruke på Wayland baserte grafiske miljøer.

LIBGL_ALWAYS_SOFTWARE=1 og VK_LOADER_DRIVERS_SELECT='lvp*': Tving testpakken å bruke softpipe eller llvmpipe Gallium driver og lavapipe Vulkan driver fra Mesa. Testpakken er så følsom at mindre forskjeller forårsaket av en annen Mesa driver kan utløse testfeil.

env -u{GALLIUM_DRIVER,MESA_LOADER_DRIVER_OVERRIDE}: Deaktiver variabler som kan komme i konflikt med LIBGL_ALWAYS_SOFTWARE=1.

--no-suite=headless: Deaktiver testene som krever den eksterne avhengigheten pydbus.

Konfigurere GTK 4

Konfigurasjonsfiler

~/.config/gtk-4.0/settings.ini og /usr/share/gtk-4.0/settings.ini

Konfigurasjonsinformasjon

GTK 4 temaer endrer måten en GTK 4 applikasjonen ser ut. Et ikontema kan brukes til å endre ikonene som vises på programmets verktøylinje. Hvis du har installert et GTK 4 tema (f.eks. Adwaita temaet bygd i GTK 4), et ikontema (som f.eks oxygen-icons-6.0.0) og/eller en font (Dejavu fonts), kan du angi dine preferanser i ~/.config/gtk-4.0/settings.ini, eller standard systemomfattende konfigurasjonsfil (som root bruker), i /usr/share/gtk-4.0/settings.ini. For en lokal bruker, et eksempel er:

mkdir -pv ~/.config/gtk-4.0
cat > ~/.config/gtk-4.0/settings.ini << "EOF"
[Settings]
gtk-theme-name = Adwaita
gtk-icon-theme-name = oxygen
gtk-font-name = DejaVu Sans 12
gtk-cursor-theme-size = 18
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = hintslight
gtk-xft-rgba = rgb
gtk-cursor-theme-name = Adwaita
EOF

Det finnes mange innstillingsnøkler, noen med standardverdier. Du kan finne dem på Settings: GTK 4 Reference Manual.

Innhold

Installerte Programmer: gtk4-broadwayd, gtk4-builder-tool, gtk4-demo, gtk4-demo-application, gtk4-encode-symbolic-svg, gtk4-image-tool, gtk4-launch, gtk4-node-editor, gtk4-path-editor, gtk4-print-editor, gtk4-query-settings, gtk4-rendernode-tool, gtk4-update-icon-cache, og gtk4-widget-factory
Installerte Biblioteker: libgtk-4.so
Installerte Mapper: /usr/include/gtk-4.0, /usr/lib/gtk-4.0, og /usr/share/gtk-4.0

Korte Beskrivelser

gtk4-broadwayd

gir støtte for visning av GTK 4 applikasjoner i en nettleser som bruker HTML5 og web-sockets

gtk4-builder-tool

utfører ulike operasjoner på GtkBuilder .ui filer

gtk4-demo

er et enkelt program som viser noen av oppgavene som kan bli utført med GTK 4

gtk4-demo-application

er en enkel GTK 4 applikasjon som er nyttig for testing

gtk4-encode-symbolic-svg

konverterer symbolske SVG ikoner til spesielle PNG filer. GTK 4 kan laste og farge disse PNGene på nytt, akkurat som originale SVGer, men laster dem mye raskere

gtk4-image-tool

utfører ulike operasjoner på bilder, inkludert sammenligninger, konverteringer, listeinformasjon på bildene, ommerking av bilder, og viser bildene

gtk4-launch

starter en applikasjon med det gitte navnet. Navnet skal samsvare applikasjonens .desktop filnavn (som vist i /usr/share/applications), med eller uten '.desktop' forlengelsen

gtk4-node-editor

er et verktøy for å vise og redigere gjengivelsesnodefiler. Slike gjengivelsesnodefiler kan hentes f.eks. fra GTK inspektøren

gtk4-path-tool

utfører ulike oppgaver på stier, inkludert dekomponeringer, reverseringer, restriksjoner, gjengivelse, visning av banen og listeinformasjon om stiene

gtk4-print-editor

er et enkelt program for å demonstrere utskrift med GTK 4 applikasjoner

gtk4-query-settings

gir en fullstendig liste over alle innstillinger relatert til GTK 4

gtk4-rendernode-tool

utfører ulike oppgaver på GTK-gjengivelsesnoder, inkludert benchmarks, sammenligninger, trekke ut data-URLer, vise informasjon om nodene, vise nodene og ta skjermbilder av nodene

gtk4-update-icon-cache

er et hurtigbufferverktøy for ikontema som lager mmap()able hurtigbufferfiler for ikontemaer

gtk4-widget-factory

er et program for å se GTK 4 temaer og skjermelementer

libgtk-4.so

inneholder funksjoner som gir en API for å implementere grafisk brukergrensesnitt

Gtkmm-3.24.10

Introduksjon til Gtkmm

Gtkmm pakken gir et C++ grensesnitt til GTK+ 3.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gtkmm Avhengigheter

Påkrevd

Atkmm-2.28.4, GTK-3.24.51, og Pangomm-2.46.4

Valgfri

Doxygen-1.16.1

Installasjon av Gtkmm

Installer Gtkmm ved å kjøre følgende kommandoer:

mkdir gtkmm3-build &&
cd    gtkmm3-build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test. Merk at du må være i et grafisk miljø, da testene prøver å åpne noen vinduer.

Nå, som root bruker:

ninja install

Hvis du har bygget dokumentasjonen (se kommandoforklaringer nedenfor), den ble installert i /usr/share/doc/gtkmm-3.0. For konsistens, flytt den til en versjonert mappe som root bruker:

mv -v /usr/share/doc/gtkmm-3.0 /usr/share/doc/gtkmm-3.24.10

Parameterforklaringer

-Dbuild-documentation=true: Hvis du har installert Doxygen-1.16.1 denne definisjonen vil bygge og installere dokumentasjon.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgdkmm-3.0.so og libgtkmm-3.0.so
Installerte Mapper: /usr/include/gdkmm-3.0, /usr/include/gtkmm-3.0, /usr/lib/gdkmm-3.0, /usr/lib/gtkmm-3.0, og valgfritt /usr/share/{devhelp/books/gtkmm-3.0,doc/gtkmm-3.24.10}

Korte Beskrivelser

libgdkmm-3.0.so

inneholder GDK API klasser

libgtkmm-3.0.so

inneholder GTK+ 3 API klasser

Gtkmm-4.20.0

Introduksjon til Gtkmm

Gtkmm pakken gir et C++ grensesnitt til GTK-4.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gtkmm Avhengigheter

Påkrevd

GTK-4.20.3 og Pangomm-2.56.1

Valgfri

Doxygen-1.16.1 og Vulkan-Loader-1.4.341.0

Installasjon av Gtkmm

Installer Gtkmm ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test. Merk at du må være i et grafisk miljø, da testene prøver å åpne noen vinduer.

Nå, som root bruker:

ninja install

Hvis du har bygget dokumentasjonen (se Parameterforklaringer nedenfor), den ble installert til /usr/share/doc/gtkmm-4.0. For konsistens, flytt den til en versjonert mappen som root bruker:

mv -v /usr/share/doc/gtkmm-4.0 /usr/share/doc/gtkmm-4.20.0

Parameterforklaringer

-Dbuild-documentation=true: Hvis du har installert Doxygen-1.16.1 denne definisjonen vil bygge og installere dokumentasjon.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgdkmm-4.0.so og libgtkmm-4.0.so
Installerte Mapper: /usr/include/gdkmm-4.0, /usr/include/gtkmm-4.0, /usr/lib/gdkmm-4.0, /usr/lib/gtkmm-4.0, og valgfritt /usr/share/{devhelp/books/gtkmm-4.0,doc/gtkmm-4.20.0}

Korte Beskrivelser

libgdkmm-4.0.so

inneholder GDK API klasser

libgtkmm-4.0.so

inneholder GTK 4 API klasser

gtk-vnc-1.5.0

Introduksjon til Gtk VNC

Gtk VNC pakken inneholder en VNC visningselement for GTK+. Den er bygget ved å bruke koroutiner som tillater at den skal være helt asynkron mens den forblir enkelttrådet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gtk VNC Avhengigheter

Påkrevd

GnuTLS-3.8.12, GTK-3.24.51, og libgcrypt-1.12.0

Anbefalt
Valgfri

Cyrus SASL-2.1.28, og Gi-DocGen-2026.1 (for å generere dokumentasjon)

Installasjon av Gtk VNC

Installer Gtk VNC ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dwith-vala=disabled: Denne bryteren deaktiverer bygging av Vala bindingene. Legg til dette hvis du bestemmer deg for å bygge gtk-vnc uten vala installert.

Innhold

Installert Program: gvnccapture
Installerte Biblioteker: libgtk-vnc-2.0.so, libgvnc-1.0.so og libgvncpulse-1.0.so
Installerte Mapper: /usr/include/gtk-vnc-2.0, /usr/include/gvnc-1.0 og /usr/include/gvncpulse-1.0

Korte Beskrivelser

gvnccapture

brukes til å ta bilder fra en VNC server

libgtk-vnc-2.0.so

inneholder GTK+ 3 bindinger for Gtk VNC

libgvnc-1.0.so

inneholder GObject bindinger for Gtk VNC

libgvncpulse-1.0.so

er PulseAudio bro for Gtk VNC

gtksourceview-3.24.11

Introduksjon til GtkSourceView

GtkSourceView pakken inneholder biblioteker som brukes til å utvide GTK+ tekstfunksjoner for å inkludere syntaksutheving.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK-3.24.51

Anbefalt
Valgfri

Vala-0.56.18, Valgrind-3.26.0, GTK-Doc-1.35.1, itstool-2.0.7, fop-2.11 (eller dblatex), og Glade

Installasjon av GtkSourceView

Først, fiks å bygge denne pakken med gcc-14 og senere:

sed -i 's/g_object_ref (buffer)/g_object_ref (GTK_SOURCE_BUFFER (buffer))/' gtksourceview/gtksourceview.c

Installer GtkSourceView ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør make check. Testene må kjøres i et grafisk miljø.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgtksourceview-3.0.so
Installerte Mapper: /usr/{include,share,share/gtk-doc/html}/gtksourceview-3.0

Korte Beskrivelser

libgtksourceview-3.0.so

inneholder funksjonsutvidelser for GtkTextView skjermelementet

gtksourceview4-4.8.4

Introduksjon til GtkSourceView

GtkSourceView pakken inneholder biblioteker som brukes til å utvide GTK+ tekstfunksjoner for å inkludere syntaksutheving.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK-3.24.51

Anbefalt
Valgfri

Vala-0.56.18, Valgrind-3.26.0, GTK-Doc-1.35.1, itstool-2.0.7, fop-2.11 (eller dblatex), og Glade

Installasjon av GtkSourceView

Installer GtkSourceView ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør ninja test. Testene må kjøres i et grafisk miljø.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dgtk_doc=true: Dette alternativet er normalt brukt hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgtksourceview-4.so
Installerte Mapper: /usr/{include,share,share/gtk-doc/html}/gtksourceview-4

Korte Beskrivelser

libgtksourceview-4.so

inneholder funksjonsutvidelser for GtkTextView skjermelementet

gtksourceview5-5.18.0

Introduksjon til GtkSourceView

GtkSourceView pakken inneholder et bibliotek som brukes til å utvide GTK tekstfunksjoner for å inkludere syntaksutheving.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK-4.20.3

Anbefalt
Valgfri

Gi-DocGen-2026.1, Vala-0.56.18, Valgrind-3.26.0, Vulkan-Loader-1.4.341.0, og sysprof

Installasjon av GtkSourceView

Installer GtkSourceView ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Ddocumentation=true: Bruk denne bryteren hvis du har Gi-DocGen-2026.1 installert og ønsker å generere API dokumentasjonen.

-Dsysprof=true: Bruk denne bryteren hvis du har sysprof installert og ønsker å bygge med sysprof profilstøtte.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgtksourceview-5.so
Installerte Mapper: /usr/include/gtksourceview-5 og /usr/share/gtksourceview-5

Korte Beskrivelser

libgtksourceview-5.so

inneholder funksjonsutvidelser for GtkTextView skjermelementet

imlib2-1.12.6

Introduksjon til imlib2

imlib2 er et grafikkbibliotek for rask fillasting, lagring, gjengivelse og manipulering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

imlib2 Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

Doxygen-1.16.1 (for API dokumentasjon), highway-1.3.0, libheif-1.21.2, libjpeg-turbo-3.1.3, libjxl-0.11.2, libpng-1.6.55, libtiff-4.7.1, libwebp-1.6.0, libid3tag, libspectre

Installasjon av imlib2

Installer imlib2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du genererte API dokumentasjonen, installer den som root bruker:

install -v -m755 -d            /usr/share/doc/imlib2-1.12.6/html &&
install -v -m644    doc/html/* /usr/share/doc/imlib2-1.12.6/html

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-doc-build: Denne bryteren genererer API dokumentasjonen. Doxygen-1.16.1 må være installert.

Innhold

Installerte Programmer: imlib2_bumpmap, imlib2_colorspace, imlib2_conv, imlib2_grab, imlib2_load, imlib2_poly, imlib2_show, imlib2_test, and imlib2_view
Installerte Biblioteker: libImlib2.so og ulike filtre og bildelastermoduler.
Installerte Mapper: /usr/lib/imlib2, /usr/share/doc/imlib2-1.12.6, og /usr/share/imlib2

Korte Beskrivelser

imlib2_bumpmap

er for å teste imlib2 bumpmap funksjonen

imlib2_colorspace

er for å teste imlib2 colorspace funksjonen

imlib2_conv

konverterer bilder mellom formater

imlib2_grab

tar skjermbilder

imlib2_load

laster og hurtiglagrer bilder

imlib2_poly

er for å teste imlib2 poly funksjon

imlib2_show

er en imlib2 programtester

imlib2_test

er en imlib2 programtester

imlib2_view

viser bildefiler

libImlib2.so

gir funksjonene for programmer for å håndtere ulike bildedataformater

kColorPicker-0.3.1

Introduksjon til kColorPicker

kColorPicker er et QToolButton bibliotek med en hurtigmeny med farger, som lar deg velge farger. Hurtigmenyen har en fargedialogknapp som kan brukes til å legge til egendefinerte farger i hurtigmenyen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

kColorPicker Avhengigheter

Påkrevd

CMake-4.2.3 og Qt-6.10.2

Installasjon av kColorPicker

Installer kColorPicker ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_SHARED_LIBS=ON      \
      -D BUILD_WITH_QT6=ON         \
      .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libkColorPicker.so
Installerte Mapper: /usr/lib/cmake/kColorPicker

kImageAnnotator-0.7.2

Introduksjon til kImageAnnotator

kImageAnnotator er et verktøy for å kommentere bilder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

kImageAnnotator Avhengigheter

Påkrevd

kcolorpicker-0.3.1

Installasjon av kImageAnnotator

Installer kImageAnnotator ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_SHARED_LIBS=ON      \
      -D BUILD_WITH_QT6=ON         \
      .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libkImageAnnotator.so
Installerte Mapper: /usr/include/kImageAnnotator-Qt6, /usr/lib/cmake/kImageAnnotator-Qt6, og /usr/share/kImageAnnotator

keybinder-3.0-0.3.2

Introduksjon til keybinder-3.0

keybinder-3.0 pakken inneholder et verktøys bibliotek registrerer globale X tastatursnarveier for GTK+-3.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

keybinder-3.0 Avhengigheter

Påkrevd

GTK-3.24.51

Anbefalt
Valgfri

GTK-Doc-1.35.1

Installasjon av keybinder-3.0

Installer keybinder-3.0 ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libkeybinder-3.0.so
Installerte Mapper: /usr/include/keybinder-3.0 og /usr/share/gtk-doc/html/keybinder-3.0

Korte Beskrivelser

libkeybinder-3.0.so

er biblioteket som registrerer globale X tastatursnarveier

libadwaita-1.8.4

Introduksjon til libadwaita

libadwaita pakken gir ekstra GTK4 UI skjermelement for bruk i utvikling av brukergrensesnitt. Det er brukt primært for GNOME applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libadwaita Avhengigheter

Påkrevd

AppStream-1.1.2, GTK-4.20.3, og sassc-3.6.2

Anbefalt
Valgfri

Gi-DocGen-2026.1 og xdg-desktop-portal-1.20.3 (for to tester)

Installasjon av libadwaita

Installer libadwaita ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "s/apiversion/'1.8.4'/" -i ../doc/meson.build &&
meson configure -D documentation=true             &&
ninja

For å teste resultatene, kjør: ninja test. Testene må kjøres fra en grafisk sesjon. To tester vil mislykkes hvis xdg-desktop-portal-1.20.3 ikke er installert.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: adwaita-1-demo
Installerte Biblioteker: libadwaita-1.so
Installerte Mapper: /usr/include/libadwaita-1

Korte Beskrivelser

adwaita-1-demo

gir et eksempel på hvordan du bruker libadwaita biblioteket

libadwaita-1.so

gir ekstra GTK skjermelementer for å bruke til å lage brukergrensesnitt

libei-1.5.0

Introduksjon til libei

libei pakken inneholder et sett med biblioteker for håndtering av emulerte inndataer. Den er først og fremst rettet mot Wayland stakken.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libei Avhengigheter

Påkrevd

attrs-25.4.0 og elogind-255.22

Valgfri

libevdev-1.13.6, libxkbcommon-1.13.1, libxml2-2.15.1, munit, og structlog

Installasjon av libei

Installer libei ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D tests=disabled &&
ninja

Denne pakken kommer med en testpakke, men den krever en ekstern avhengighet. Hvis du har både munit og structlog installert og ønsker å kjøre testpakken, kjør følgende kommandoer:

meson configure -D tests=enabled &&
ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libei.so, libeis.so, og liboeffis.so
Installerte Mapper: /usr/include/libei-1.0

Korte Beskrivelser

libei.so

gir en klientsideimplementering for håndtering av Emulert inndata

libeis.so

gir en implementering på serversiden for håndtering av Emulert inndata

liboffis

tilbyr DBus-kommunikasjonstjenester mellom libei og XDG RemoteDesktop portal

libhandy-1.8.3

Introduksjon til libhandy

libhandy pakken gir ekstra GTK UI skjermelementer for bruk i utvikling av brukergrensesnitt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libhandy Avhengigheter

Påkrevd

GTK-3.24.51

Anbefalt
Valgfri

GTK-Doc-1.35.1 og Glade

Installasjon av libhandy

Installer libhandy ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test. Testene skal kjøres fra en grafisk økt.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dgtk_doc=true: Bruk dette alternativet hvis du har GTK-Doc-1.35.1 installert og ønsker å installere dokumentasjonen.

Innhold

Installerte Programmer: handy-1-demo
Installerte Biblioteker: libhandy-1.so
Installerte Mapper: /usr/include/libhandy-1

Korte Beskrivelser

handy-1-demo

gir et eksempel på hvordan du bruker libhandy biblioteket

libhandy-1.so

gir ekstra GTK skjermelementer for bruk til å lage brukergrensesnitt

Libdrm-2.4.131

Introduksjon til Libdrm

Libdrm gir et brukerromsbibliotek for tilgang til direkte gjengivelsesbehandling (DRM) på operativsystemer som støtter ioctl grensesnittet. Libdrm er et bibliotek på lavt nivå, vanligvis brukt av grafikkdrivere som Mesa DRI drivere, X drivere, libva og lignende prosjekter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libdrm Avhengigheter

Anbefalt
Valgfri

Cairo-1.18.4 (for tester), CMake-4.2.3 (kan brukes til å finne avhengigheter uten pkgconfig filer), docbook-xml-4.5, docbook-xsl-nons-1.79.2, docutils-0.22.4, og libxslt-1.1.45 (for å bygge manual sider), libatomic_ops-7.10.0 (kreves av arkitekturer uten opprinnelige atomoperasjoner), Valgrind-3.26.0, og CUnit (for AMDGPU tester)

Installasjon av Libdrm

Installer libdrm ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=$XORG_PREFIX \
            --buildtype=release   \
            -D udev=true          \
            -D valgrind=disabled  \
            ..                    &&
ninja

For å teste resultatene, kjør ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D udev=true: Denne parameteren muliggjør støtte for bruk av Udev i stedet for mknod.

-D valgrind=disabled: Denne parameteren deaktiverer bygging av libdrm med valgrind støtte. Dette fikser å bygge noen pakker som bruker libdrm. Endre denne parameteren til "aktivert" (eller fjern den) hvis du trenger støtte for valgrind.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libdrm_amdgpu.so, libdrm_intel.so, libdrm_nouveau.so, libdrm_radeon.so, og libdrm.so
Installerte Mapper: /usr/include/libdrm og /usr/share/libdrm

Korte Beskrivelser

libdrm_amdgpu.so

inneholder AMDGPU spesifikke Direct Rendering Manager funksjoner

libdrm_intel.so

inneholder Intel spesifikke Direct Rendering Manager funksjoner

libdrm_nouveau.so

inneholder open source nVidia (Nouveau) spesifikke Direct Rendering Manager funksjoner

libdrm_radeon.so

inneholder AMD Radeon spesifikke Direct Rendering Manager funksjoner

libdrm.so

inneholder Direct Rendering Manager API funksjoner

libepoxy-1.5.10

Introduksjon til libepoxy

libepoxy er et bibliotek for håndtering av OpenGL funksjonen pekerhåndtering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libepoxy Avhengigheter

Påkrevd

Mesa-25.3.5

Valgfri

Doxygen-1.16.1 (for dokumentasjon)

Installasjon av libepoxy

Installer libepoxy ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Ddocs=true: Hvis du har Doxygen-1.16.1 installert, legg til dette alternativet for å generere ytterligere dokumentasjon.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libepoxy.so
Installerte Mapper: /usr/include/epoxy

Korte Beskrivelser

libepoxy.so

inneholder API funksjoner for håndtering av OpenGL funksjonen pekerhåndtering

libnotify-0.8.8

Introduksjon til libnotify

libnotify biblioteket brukes til å sende skrivebord varsler til en varslingsnisse, som definert på Desktop Notifications spec. Disse varslene kan brukes til å informere brukeren om en hendelse eller vise en eller annen form for informasjon uten å komme i brukerens vei.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libnotify Avhengigheter

Påkrevd

gdk-pixbuf-2.44.5

Anbefalt
Anbefalt (Påkrevd hvis det skal bygges GNOME)

GLib-2.86.4 (med GObject Introspection)

Valgfri

Gi-DocGen-2026.1 og xmlto-0.0.29

Påkrevd (kjøretid)

Minst én av notification-daemon-3.20.0, xfce4-notifyd-0.9.7, eller lxqt-notificationd-2.3.1

Notat

GNOME Skall og KDE KWin gir deres egne varslingsnisser.

Installasjon av libnotify

Installer libnotify ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D gtk_doc=false    \
            -D man=false        \
            ..                  &&
ninja

For å teste resultatene, utsted: ninja test

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "/docs_dir =/s@\$@ / 'libnotify'@" \
    -i ../docs/reference/meson.build   &&
meson configure -D gtk_doc=true        &&
ninja

Nå, som root bruker:

ninja install &&
if [ -e /usr/share/doc/libnotify ]; then
  rm -rf /usr/share/doc/libnotify-0.8.8
  mv -v  /usr/share/doc/libnotify{,-0.8.8}
fi

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D tests=false: Bruk dette alternativet hvis du ikke har installert den anbefalte avhengigheten GTK-4.20.3.

Innhold

Installert Program: notify-send
Installert Bibliotek: libnotify.so
Installerte Mapper: /usr/include/libnotify og /usr/share/gtk-doc/html/libnotify

Korte Beskrivelser

notify-send

er en kommando som brukes til å sende varsler

libnotify.so

inneholder libnotify API funksjoner

libxklavier-5.4

Introduksjon til libxklavier

libxklavier pakken inneholder et verktøybibliotek for X tastatur.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libxklavier Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt), ISO Codes-4.20.1, libxml2-2.15.1 og Xorg Biblioteker

Valgfri

GTK-Doc-1.35.1 og Vala-0.56.18

Installasjon av libxklavier

Installer libxklavier ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Denne parameteren er normalt brukt hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen. Det er ødelagt for denne pakken på grunn av bruken av et lenge utdatert gtk-doc program som ikke lenger er tilgjengelig.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libxklavier.so
Installerte Mapper: /usr/include/libxklavier og /usr/share/gtk-doc/html/libxklavier

Korte Beskrivelser

libxklavier.so

inneholder XKB verktøysfunksjoner

Pango-1.57.0

Introduksjon til Pango

Pango er et bibliotek for utforming og gjengivelse av tekst, med vekt på internasjonalisering. Den kan brukes hvor som helst som tekstlayout er nødvendig, selv om det meste av arbeidet med Pango så langt er gjort i forbindelse med GTK+ skjermelement verktøysett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Pango Avhengigheter

Påkrevd

Fontconfig-2.17.1 (må bygges med FreeType-2.14.1 ved bruk av harfBuzz-12.3.2), FriBidi-1.0.16, og GLib-2.86.4 (GObject Introspection påkrevd for GNOME)

Anbefalt
Valgfri

docutils-0.22.4 (for å generere manualsider), Gi-DocGen-2026.1 (for å generere dokumentasjon), help2man, libthai, og sysprof

Installasjon av Pango

Installer Pango ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr            \
            --buildtype=release      \
            --wrap-mode=nofallback   \
            -D introspection=enabled \
            ..                       &&
ninja

Hvis du har docutils-0.22.4 installert og ønsker å bygge manualsidene for de installerte programmene, utsted:

meson configure -D man-pages=true &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "/docs_dir =/s@\$@ / 'pango-1.57.0'@" -i ../docs/meson.build &&
meson configure -D documentation=true                            &&
ninja

For å teste resultatene, kjør: ninja test. Tre tester, test-font-data, test-font, og test-layout er kjent for å mislykkes på grunn av manglende fontdata.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D introspection=disabled: Bruk denne bryteren hvis du ikke ønsker å bruke GObject Introspection.

--wrap-mode=nofallback: Denne bryteren forhindrer meson fra å bruke delprosjektets tilbakefall for evt avhengighetserklæringer i byggefilene, og forhindrer det å laste ned eventuell valgfrie avhengigheter som ikke er installert på systemet.

Konfigurere Pango

Konfigurasjonsfiler

/etc/pango/pangorc, ~/.pangorc og filen spesifisert i miljøvariabelen PANGO_RC_FILE

Innhold

Installerte Programmer: pango-list, pango-segmentation, og pango-view
Installerte Biblioteker: libpango-1.0.so, libpangocairo-1.0.so, libpangoft2-1.0.so, og libpangoxft-1.0.so
Installerte Mapper: /usr/include/pango-1.0 og /usr/share/doc/pango-1.57.0 (if gi-docgen is available)

Korte Beskrivelser

pango-list

viser en liste over fonter som Pango kan bruke som for øyeblikket er installert på systemet

pango-segmentation

viser tekstsegmentering som bestemt av Pango.

pango-view

render en gitt tekstfil gjennom Pango for visningsformål

libpango-1.0.so

inneholder lavt nivå layout rendering rutiner, en høy nivå driver for å legge ut hele tekstblokker, og rutiner for å hjelpe til med å redigere internasjonalisert tekst

Pangomm-2.46.4

Introduksjon til Pangomm

Pangomm pakken gir et C++ grensesnitt til Pango.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Pangomm Avhengigheter

Påkrevd

libcairomm-1.14.5, GLibmm-2.66.8 og Pango-1.57.0

Installasjon av Pangomm

Installer Pangomm ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libpangomm-1.4.so
Installerte Mapper: /usr/include/pangomm-1.4, /usr/lib/pangomm-1.4, og /usr/share/{devhelp/books/pangomm-1.4,doc/pangomm-2.46.4}

Korte Beskrivelser

libpangomm-1.4.so

inneholder Pango API klasser

Pangomm-2.56.1

Introduksjon til Pangomm

Pangomm pakken gir et C++ grensesnitt til Pango. Denne versjonen er en del av en ny API for støtte til gtkmm-4.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Pangomm Avhengigheter

Påkrevd

libcairomm-1.18.0, GLibmm-2.86.0 og Pango-1.57.0

Installasjon av Pangomm

Installer Pangomm ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libpangomm-2.48.so
Installerte Mapper: /usr/include/pangomm-2.48, /usr/lib/pangomm-2.48, og /usr/share/{devhelp/books/pangomm-2.48,doc/pangomm-2.46.4}

Korte Beskrivelser

libpangomm-2.48.so

inneholder Pango API klasser

Qt-6.10.2

Introduksjon til Qt6

Qt6 er et applikasjonsrammeverk på tvers av plattformer som er mye brukt for å utvikle applikasjonsprogramvare med et grafisk brukergrensesnitt (GUI) (i hvilke tilfeller Qt6 er klassifisert som et skjermelement verktøysett), og brukes også til å utvikle ikke-GUI programmer som kommandolinjeverktøy og konsoller for servere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Qt6 Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

BlueZ-5.86 (for sdpscanner, og ved kjøretid for QtConnectivity moduler), GTK-3.24.51, ibus-1.5.33, LLVM-21.1.8 (med Clang), libproxy-0.5.12, MariaDB-11.8.6 eller MySQL, MIT Kerberos V5-1.22.2, pciutils-3.14.0, PostgreSQL-18.2, Protobuf-33.5, PulseAudio-17.0, sdl2-compat-2.32.64, unixODBC-2.3.14, assimp, Flite, Firebird, FreeTDS, OpenAL, speech-dispatcher, og tslib

Notat

Enten gstreamer stakken eller ffmpeg må være installert for å bruke programmer som bruker QtMultimedia. Hvis man ikke har et tilgjengelig bakstykke, kan det føre til at ethvert program som bruker QtMultimedia krasjer. For eksempel kan Konsole avslutte med en SIGABRT hvis det ikke er et bakstykke tilgjengelig for QtMultimedia.

Stille inn installasjonsprefikset

Installere i /opt/qt6

BLFS redaktørene anbefaler å installere Qt6 i en annen mappe enn /usr, dvs. /opt/qt6. For å gjøre dette, sett følgende miljøvariabel:

export QT6PREFIX=/opt/qt6

Tips

Noen ganger er installasjonsbanene hardkodet til installerte filer. Dette er grunnen til at /opt/qt6 brukes som installasjonsprefiks i stedet for /opt/qt-6.10.2. For å lage en versjonert Qt6 mappe, du kan gi nytt navn til mappen og lage en symbolkobling:

mkdir -pv /opt/qt-6.10.2
ln -sfnv qt-6.10.2 /opt/qt6

Senere vil du kanskje installere andre versjoner av Qt6. For å gjøre det, fjern bare symbolkoblingen, opprett den nye versjonsmappen, og lag på nytt /opt/qt6 symbolkoblingen igjen før du bygger den nye versjonen. Hvilken versjon av Qt6 du bruker avhenger bare av hvor symbollinken peker.

Notat

Hvis noen av disse er installert, libqtxdg-4.3.0, qca-2.3.10, qcoro-0.12.0, eller sddm-0.21.0, må disse pakkene installeres på nytt etter at denne pakken er installert.

Installasjon av Qt6

Advarsel

Hvis Qt6 blir reinstallert i samme mappe som en eksisterende økt, kjør kommandoene utført av root, som make install, fra en konsoll eller ikke-Qt6 basert vindusbehandler. Den overskriver Qt6 biblioteker som ikke skal være i bruk under installasjonsprosessen.

Obs

Hvis du ikke installerte noen av de anbefalte avhengighetene, undersøk ./configure --help utdata for å sjekke hvordan du deaktiverer dem eller bruk interne versjoner samlet i kildens tarball.

Notat

Byggetiden og plassen som kreves for hele Qt6 er ganske lang. Instruksjonene nedenfor bygger ikke opplæringen og eksemplene. Fjerning av -nomake linjen vil skape ekstra ressurser..

Notat

BLFS redaktørene anbefaler ikke å installere Qt6 inn i /usr hierarkiet fordi det blir vanskelig å finne komponenter og for å oppdatere til en ny versjon.

Deaktiver en motstridende deklarasjon på i686-systemer og fiks en byggefeil på grunn av SIMD egenskapene i QtMultimedia:

if [ "$(uname -m)" == "i686" ]; then
    sed -e "/^#elif defined(Q_CC_GNU_ONLY)/s/.*/& \&\& 0/" \
        -i qtbase/src/corelib/global/qtypes.h                          &&
    export CXXFLAGS+="-DDISABLE_SIMD -DPFFFT_SIMD_DISABLE"
fi

Installer Qt6 ved å kjøre følgende kommandoer:

./configure -prefix $QT6PREFIX      \
            -sysconfdir /etc/xdg    \
            -dbus-linked            \
            -openssl-linked         \
            -system-sqlite          \
            -nomake examples        \
            -no-rpath               \
            -no-sbom                \
            -syslog                 \
            -skip qt3d              \
            -skip qtquick3dphysics  \
            -skip qtwebengine       &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Fjern referanser til byggemappen fra installerte bibliotekers avhengighet (prl) filer ved å kjøre følgende kommando som root bruker:

find $QT6PREFIX/ -name \*.prl \
   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

Installer bilder og lag menyoppføringer for installerte applikasjoner. Igjen som root bruker:

pushd qttools/src &&

install -v -Dm644 assistant/assistant/images/assistant-128.png       \
                  /usr/share/pixmaps/assistant-qt6.png               &&

install -v -Dm644 designer/src/designer/images/designer.png          \
                  /usr/share/pixmaps/designer-qt6.png                &&

install -v -Dm644 linguist/linguist/images/icons/linguist-128-32.png \
                  /usr/share/pixmaps/linguist-qt6.png                &&

install -v -Dm644 qdbus/qdbusviewer/images/qdbusviewer-128.png       \
                  /usr/share/pixmaps/qdbusviewer-qt6.png             &&
popd &&


cat > /usr/share/applications/assistant-qt6.desktop << EOF
[Desktop Entry]
Name=Qt6 Assistant
Comment=Shows Qt6 documentation and examples
Exec=$QT6PREFIX/bin/assistant
Icon=assistant-qt6.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
EOF

cat > /usr/share/applications/designer-qt6.desktop << EOF
[Desktop Entry]
Name=Qt6 Designer
GenericName=Interface Designer
Comment=Design GUIs for Qt6 applications
Exec=$QT6PREFIX/bin/designer
Icon=designer-qt6.png
MimeType=application/x-designer;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF

cat > /usr/share/applications/linguist-qt6.desktop << EOF
[Desktop Entry]
Name=Qt6 Linguist
Comment=Add translations to Qt6 applications
Exec=$QT6PREFIX/bin/linguist
Icon=linguist-qt6.png
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF

cat > /usr/share/applications/qdbusviewer-qt6.desktop << EOF
[Desktop Entry]
Name=Qt6 QDbusViewer
GenericName=D-Bus Debugger
Comment=Debug D-Bus applications
Exec=$QT6PREFIX/bin/qdbusviewer
Icon=qdbusviewer-qt6.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Debugger;
EOF

Parameterforklaringer

-nomake examples: Denne bryteren deaktiverer bygging av eksempelprogrammene inkludert i kilde tarballen. Fjern den hvis du vil bygge dem.

-skip qt3d: Denne bryteren deaktiverer bygging av qt3d støtte. Det er et problem å bygge disse filene uten et eksternt bibliotek og ingen pakker i BLFS bruker qt3d.

-system-sqlite: Denne bryteren aktiverer bruk av systemversjonen av SQLite.

-dbus-linked -openssl-linked: Disse brytere aktiverer eksplisitt kobling av D-Bus og OpenSSL biblioteker inn i Qt6 biblioteker i stedet for dlopen()-ing dem.

-syslog: Denne bryteren lar deg sende Qt meldinger til syslog loggingssystem.

-skip qtwebengine: Denne bryteren deaktiverer bygging av QtWebEngine. BLFS redaksjonen har valgt å bygge qtwebengine-6.10.2 hver for seg.

-skip qtquick3dphysics: Denne bryteren deaktiverer bygging av Qt Quick 3D Physics undermodulen. På 32-bits systemer vil dette føre til at byggeprosessen mislykkes med en inlining feil i Qt6 pakkene av PhysX SDK.

-libproxy: Denne bryteren muliggjør bruk av libproxy for å bestemme proxy-serverinformasjon.

Konfigurere Qt6

Konfigurasjonsinformasjon

Hvis Sudo-1.9.17p2 er installert, skal QT6DIR være tilgjengelig for superbrukeren også. Utfør følgende kommandoer som root bruker:

cat > /etc/sudoers.d/qt << "EOF"
Defaults env_keep += QT6DIR
EOF

Du må nå oppdatere følgende konfigurasjonsfiler slik at Qt6 blir riktig funnet av andre pakker og systemprosesser.

Som root bruker, oppdater /etc/ld.so.conf filen og den dynamiske linkeren kjøretidsbufferfil:

cat >> /etc/ld.so.conf << EOF
# Begin Qt addition

/opt/qt6/lib

# End Qt addition
EOF

ldconfig

Som root bruker, opprett /etc/profile.d/qt6.sh filen:

cat > /etc/profile.d/qt6.sh << "EOF"
# Begin /etc/profile.d/qt6.sh

QT6DIR=/opt/qt6

pathappend $QT6DIR/bin           PATH
pathappend $QT6DIR/lib/pkgconfig PKG_CONFIG_PATH

export QT6DIR

# End /etc/profile.d/qt6.sh
EOF

Innhold

Installerte Programmer: androiddeployqt (hard link to androiddeployqt6), androiddeployqt6, androidtestrunner, assistant, balsam, balsamui, canbusutil, designer, instancer, lconvert, lightmapviewer, linguist, lottietoqml, lrelease, lupdate, materialeditor, meshdebug, pixeltool, qdbus, qdbuscpp2xml, qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qmake (hard link to qmake6), qmake6, qml, qmldom, qmleasing, qmlformat, qmllint, qmlls, qmlplugindump, qmlpreview, qmlprofiler, qmlscene, qmltc, qmltestrunner, qmltime, qopcuaxmldatatypes2cpp, qqem, qsb, qtdiag (hard link to qtdiag6), qtdiag6, qtpaths (hard link to qtpaths6), qtpaths6, qtplugininfo, qt-cmake, qt-cmake-create, qt-configure-module, shadergen, shapegen, og svg2xml
Installerte Biblioteker: libQt6Bluetooth.so, libQt6BundledEmbree.a, libQt6BundledOpenXR.a, libQt6BundledResonanceAudio.a, libQt6Charts.so, libQt6ChartsQml.so, libQt6Coap.so, libQt6Concurrent.so, libQt6Core.so, libQt6Core5Compat.so, libQt6DBus.so, libQt6DataVisualization.so, libQt6DataVisualizationQml.so, libQt6DeclarativeOpcua.so, libQt6Designer.so, libQt6DesignerComponents.so, libQt6DeviceDiscoverySupport.a, libQt6EglFSDeviceIntegration.so, libQt6EglFsKmsGbmSupport.so, libQt6EglFsKmsSupport.so, libQt6ExampleIcons.a, libQt6ExamplesAssetDownloader.a, libQt6FbSupport.a, libQt6Graphs.so, libQt6GraphsWidgets.so, libQt6Grpc.so, libQt6GrpcQuick.so, libQt6GstreamerMediaPluginImpl.a, libQt6Gui.so, libQt6Help.so, libQt6HttpServer.so, libQt6InputSupport.a, libQt6JsonRpc.so, libQt6KmsSupport.a, libQt6LabsAnimation.so, libQt6LabsFolderListModel.so, libQt6LabsPlatform.so, libQt6LabsQmlModels.so, libQt6LabsSettings.so, libQt6LabsSharedImage.so, libQt6LabsSynchronizer.so, libQt6LabsWavefrontMesh.so, libQt6LanguageServer.a, libQt6Location.so, libQt6Lottie.so, libQt6LottieVectorImageGenerator.so, libQt6LottieVectorImageHelpers.so, libQt6Mqtt.so, libQt6Multimedia.so, libQt6MultimediaQuick.so, libQt6MultimediaTestLib.a, libQt6MultimediaWidgets.so, libQt6Network.so, libQt6NetworkAuth.so, libQt6Nfc.so, libQt6OpcUa.so, libQt6OpenGL.so, libQt6OpenGLWidgets.so, libQt6PacketProtocol.a, libQt6Positioning.so, libQt6PositioningQuick.so, libQt6PrintSupport.so, libQt6Protobuf.so, libQt6ProtobufQtCoreTypes.so, libQt6ProtobufQtGuiTypes.so, libQt6ProtobufQuick.so, libQt6ProtobufWellKnownTypes.so, libQt6QGstreamerMediaPluginImpl.a, libQt6Qml.so, libQt6QmlAssetDownloader.a, libQt6QmlCompiler.so, libQt6QmlCore.so, libQt6QmlDebug.a, libQt6QmlDom.a, libQt6QmlFormat.a, libQt6QmlLocalStorage.so, libQt6QmlLS.a, libQt6QmlMeta.so, libQt6QmlModels.so, libQt6QmlNetwork.so, libQt6QmlToolingSettings.a, libQt6QmlTypeRegistrar.a, libQt6QmlWorkerScript.so, libQt6QmlXmlListModel.so, libQt6Quick.so, libQt6Quick3D.so, libQt6Quick3DAssetImport.so, libQt6Quick3DAssetUtils.so, libQt6Quick3DEffects.so, libQt6Quick3DGlslParser.so, libQt6Quick3DHelpers.so, libQt6Quick3DHelpersImpl.so, libQt6Quick3DIblBaker.so, libQt6Quick3DParticleEffects.so, libQt6Quick3DParticles.so, libQt6Quick3DRuntimeRender.so, libQt6Quick3DSpatialAudio.so, libQt6Quick3DUtils.so, libQt6Quick3DXr.so, libQt6QuickControls2.so, libQt6QuickControls2Basic.so, libQt6QuickControls2BasicStyleImpl.so, libQt6QuickControls2FluentWinUI3StyleImpl.so, libQt6QuickControls2Fusion.so, libQt6QuickControls2FusionStyleImpl.so, libQt6QuickControls2Imagine.so, libQt6QuickControls2ImagineStyleImpl.so, libQt6QuickControls2Impl.so, libQt6QuickControls2Material.so, libQt6QuickControls2MaterialStyleImpl.so, libQt6QuickControls2Universal.so, libQt6QuickControls2UniversalStyleImpl.so, libQt6QuickControlsTestUtils.a, libQt6QuickDialogs2.so, libQt6QuickDialogs2QuickImpl.so, libQt6QuickDialogs2Utils.so, libQt6QuickEffects.so, libQt6QuickLayouts.so, libQt6QuickParticles.so, libQt6QuickShapes.so, libQt6QuickShapesDesignHelpers.so, libQt6QuickTemplates2.so, libQt6QuickTimelineBlendTrees.so, libQt6QuickTest.so, libQt6QuickTestUtils.a, libQt6QuickTimeline.so, libQt6QuickTimelineBlendTrees.so, libQt6QuickVectorImageGenerator.so, libQt6QuickVectorImageHelpers.so, libQt6QuickVectorImage.so, libQt6QuickWidgets.so, libQt6RemoteObjects.so, libQt6RemoteObjectsQml.so, libQt6Scxml.so, libQt6ScxmlQml.so, libQt6Sensors.so, libQt6SensorsQuick.so, libQt6SerialBus.so, libQt6SerialPort.so, libQt6ShaderTools.so, libQt6SpatialAudio.so, libQt6Sql.so, libQt6StateMachine.so, libQt6StateMachineQml.so, libQt6Svg.so, libQt6SvgWidgets.so, libQt6Test.so, libQt6TextToSpeech.so, libQt6UiTools.so, libQt6VirtualKeyboard.so, libQt6VirtualKeyboardQml.so, libQt6VirtualKeyboardSettings.so, libQt6WaylandClient.so, libQt6WaylandCompositor.so, libQt6WaylandCompositorIviapplication.so, libQt6WaylandCompositorPresentationTime.so, libQt6WaylandCompositorWLShell.so, libQt6WaylandCompositorXdgShell.so, libQt6WaylandEglClientHwIntegration.so, libQt6WaylandEglCompositorHwIntegration.so, libQt6WebChannel.so, libQt6WebChannelQuick.so, libQt6WebSockets.so, libQt6WebView.so, libQt6WebViewQuick.so, libQt6Widgets.so, libQt6WlShellIntegration.so, libQt6XcbQpa.so, og libQt6Xml.so
Installerte Mapper: /opt/qt6 og /opt/qt-6.10.2

Korte Beskrivelser

assistant

er et verktøy for å presentere nettbasert dokumentasjon

balsam

er et verktøy for å konvertere 3D scener fra ulike opprettelsesverktøy til QML format, for bruk av det nye QtQuick 3D-biblioteket

canbustil

er et verktøy for å håndtere vilkårlige CAN bussrammer. Et Controller Area Network (CAN) er en standard for kjøretøybuss for å tillate mikrokontrollere og enheter å kommunisere med hverandre i applikasjoner uten vertsdatamaskin

designer

er en fullverdig GUI bygger. Det inkluderer kraftige funksjoner som forhåndsvisningsmodus, automatisk skjermelement stil, støtte for egendefinerte skjermelementer og en avansert eiendomsredigerer

lconvert

er en del av Qt6s Linguist verktøykjede. Den kan brukes som et frittstående verktøy for å konvertere og filtrere oversettelsesdatafiler

lightmapviewer-qt6

viser lyskart generert i Qt format, og lister opp informasjon om dem

linguist

gir støtte for å oversette applikasjoner til lokale språk

lottietoqml

konverterer lottie filer (som er i SVG format) til QML filer

lrelease

er et enkelt kommandolinjeverktøy. Den leser XML basert oversettelse filer i TS format og produserer meldingsfiler som brukes av applikasjoner

lupdate

finner oversettelige strenger i den angitte kilden, deklarasjonen og Qt Designer grensesnittfiler, og lagrer de utpakkede meldingene i oversettelsesfiler som skal behandles av lrelease

meshdebug

viser informasjon om qtquick-3d mesh filer

pixeltool

er en skrivebordsforstørrelsesglass - mens du beveger musen rundt skjermen, vil den vise det forstørrede innholdet i vinduet

qdbus

viser tilgjengelige tjenester, objektbaner, metoder, signaler og egenskapene til objekter på en buss

qdbuscpp2xml

tar en C++ kildefil og genererer en D-Bus XML definisjon av grensesnittet

qdbusviewer

er en grafisk D-Bus leser

qdbusxml2cpp

er et verktøy som kan brukes til å analysere grensesnittbeskrivelser og produsere statisk kode som representerer disse grensesnittene,

qdistancefieldgenerator

lar en fontbuffer forhåndsgenereres for at Text.QtRendering skal øke hastigheten oppstart av en applikasjon hvis brukergrensesnittet har mye tekst, eller flere fonter, eller en stor mengde distinkte tegn, f.eks. i CJK skrivesystemer

qdoc

er et verktøy som brukes av Qt Utviklere for å generere dokumentasjon for programvareprosjekter

qmake

bruker informasjon som er lagret i prosjektfiler til bestemme hva som skal gå i makefilene det genererer

qml

kjører en QML fil

qmleasing

er et verktøy som brukes til å definere lettelseskurvene ved hjelp av en interaktiv kurveredigerer

qmlformat

formaterer QML filer i henhold til QML kodingskonvensjonene

qmllint

er en syntakskontroll for QML filer

qmlplugindump

er et verktøy for å lage en qmltypes fil

qmlpreview

er et verktøy som brukes til å analysere QML applikasjoner

qmlprofiler

er et verktøy som ser på QML og JavaScript filer på disk og oppdaterer applikasjonen live med eventuelle endringer

qmlscene

er et verktøy som laster og viser QML dokumenter selv før applikasjonen er komplett

qmltestrunner

er et verktøy som brukes til å lage tester

qtdiag

er et verktøy for å rapportere diagnostisk informasjon om Qt og dens miljø

qtpaths

er et verktøy for å spørre Qt baneinformasjon

qtplugininfo

dumper metadata om Qt programtillegg i JSON format

QtWebEngine-6.10.2

Introduksjon til QtWebEngine

Viktig

Denne pakken har historisk sett hatt hyppige oppdateringer som adresserer sikkerhetssårbarheter. For å finne den siste status sjekk BLFS Security Advisories.

QtWebEngine integrerer chromium sin nettfunksjoner i Qt. Den sender med sin egen kopi av ninja som den bruker til byggingen hvis den ikke kan finne en systemkopi og forskjellige kopier av biblioteker fra ffmpeg, icu, libvpx, og zlib (inkludert libminizip) som har blitt skilt ut av chromium utviklere.

Denne pakken og nettlesere som bruker den kan være nyttig hvis du trenger å bruke et nettsted utviklet for google chrome, eller chromium, nettlesere.

Advarsel

QtWebEngine bruker en utskilt kopi av chromium, og er derfor sårbar for mange problemer som finnes der. Qt-utviklerne ser ut til å forgrene en nyere versjon for mindre Qt-versjoner, men fordi krom flyttes til nyere versjoner veldig ofte, når Qt-utviklerne får en forgrenet versjon for å bestå deres utvidede tester er det alltid en gammel versjon og sikkerhet reparasjoner fra krom (hvorav noen har et CVE-nummer) kan ta flere måneder for å vises i en QtWebengine-utgivelse, selv om alvorlighetsgraden har vært vurdert som kritisk.

Derfor bør du være forsiktig med å bruke QtWebEngine i en sensitiv kontekst og bør alltid oppdatere til neste utgivelse så snart den vises i denne boken, selv om den ikke er merket som en sikkerhetsoppdatering. Identifisere hvilke sårbarheter som er fikset i en bestemt utgivelsen krever å trekke den riktige 'baserte NNN'-grenen rett før tidligere og nåværende utgivelser og er ofte upraktisk. Rapporter om faste QTBUG-elementer ser ikke ut til å være tilgjengelige, og det er ikke noen dokumentasjon i tarball for endringer etter qt-5 versjonene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Advarsel

Som standard vil ninja bruke alle online CPUer +2 (hvis minst 4 finnes), selv om de ikke er tilgjengelige for gjeldende oppgave på grunn av at byggeterminalen har blitt begrenset med 'oppgavesett'. I BLFS, denne pakken tar mer tid å bygge enn noen annen. I ett eksempel, konstruksjonen av denne pakken krasjet ved omtrent 90 prosent punktet på grunn av et lite minneproblem på et system med 24 kjerner og 32 GB av minne.

For å omgå dette, se kommandoforklaringene nedenfor.

Pakkeinformasjon

qtwebengine Avhengigheter

Påkrevd

Cups-2.4.16, html5lib-1.1, nodejs-22.22.0, nss-3.120, pciutils-3.14.0, og Qt-6.10.2

Anbefalt

Notat

Hvis disse pakkene ikke er installert, vil byggeprosessen kompilere og installere sin egen (kanskje eldre) versjon, med bivirkning av økt bygg og installert diskplass og byggetid.

Valgfri

MIT Kerberos V5-1.22.2, Poppler-26.02.0, jsoncpp, libsrtp, og snappy

Installasjon av qtwebengine

Installer qtwebengine ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_MESSAGE_LOG_LEVEL=STATUS             \
      -D QT_FEATURE_webengine_system_ffmpeg=ON      \
      -D QT_FEATURE_webengine_system_icu=ON         \
      -D QT_FEATURE_webengine_system_libevent=ON    \
      -D QT_FEATURE_webengine_proprietary_codecs=ON \
      -D QT_FEATURE_webengine_webrtc_pipewire=ON    \
      -D QT_BUILD_EXAMPLES_BY_DEFAULT=OFF           \
      -D QT_GENERATE_SBOM=OFF                       \
      -G Ninja ..                                   &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

CMAKE_MESSAGE_LOG_LEVEL=STATUS: Sender ut interessante meldinger som prosjektbrukere kan være interessert i. Ideelt sett bør disse være konsise, ikke mer enn en enkelt linje, men fortsatt informativ.

QT_FEATURE_webengine_system_*: Spesifiser hvilke eksterne pakker systemet skal bruke.

QT_BUILD_EXAMPLES_BY_DEFAULT=OFF: Ikke bygg eksempler som standard.

NINJAJOBS=4 make: Hvis du oppdaterte system ninja i LFS til å gjenkjenne miljøvariabelen NINJAJOBS, vil denne kommandoen kjøre systemets ninja med det angitte antall jobber (dvs. 4). Det er flere grunner til at du kanskje vil bruke alternativer som dette:

  • Å bygge på et undersett av CPUer gjør det mulig å måle byggetiden for et mindre antall prosessorer, og/eller kjører andre CPU intensive oppgaver samtidig. For en redaktør på en maskin med mange CPUer, å prøve å måle byggetiden for en 4-CPU maskin, NINJAJOBS=4 make vil gi en rimelig tilnærming (det er en kort periode hvor N+2 python og node jobber kjøres).

  • På en maskin med bare 4 CPUer tilgjengelig, standard planlegging med N+2 jobber for qtwebengine er tregere med mellom 3% og 7%, sannsynligvis på grunn av størrelsen på C++ filene og deres mange inkluderinger og maler. Derfor, hvis du er i tvil, sett NINJAJOBS til antall CPUer.

  • Å redusere antall kjerner som brukes på langvarig CPU intensive pakker kan hjelpe på varmeproblemer.

  • Redusering av antall kjerner vil forhindre potensielt tomt minne problemer på systemer som ikke har nok minne (eller vekselminne) når alle kjerner er aktive. En foreslått tilnærming er å begrense antall kjerner til omtrent en kjerne for hver 1,5 GB av kombinert RAM og vekselminne.

Konfigurere QtWebEngine

Konfigurasjonsinformasjon

Hvis du oppgraderer fra en eldre mindre versjon av denne applikasjon, for at enkelte nettsider skal lastes, må du kanskje fjerne nettleseren sin mellomlagring, f.eks. til falkon vil de bli funnet i ~/.cache/falkon/. Du må gjøre dette hvis nettleseren begynner å gjengi siden og endres deretter til en tom fane med en melding at noe gikk galt, og en knapp for å prøve på nytt. Til og med etter at du har fjernet de gamle mellomlagrene, kan det hende du må prøve noen ganger for hver berørt fane.

Hvis en nettleser som bruker denne pakken ikke klarer å kjøre og når den kjøres fra en term rapporterer det 'Trace/breakpoint trap', dvs sannsynligvis et problem med kjernekonfigurasjon - det er ikke nødvendig å gjenoppbygge QtWebEngine, se neste avsnitt, kompiler på nytt kjernen og start på nytt til den nye kjernen.

Kjernekonfigurasjon

Denne pakken krever ingen av de valgfrie kjernenavneromselementene, men hvis brukernavneområdet er aktivert PID navneområde må også være aktivert. Aktiver i så fall følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    # Enable or disable *both* of them:
    [ /*] User namespace                                               [USER_NS]
    [ /*] PID Namespaces                                                [PID_NS]

Innhold

Installerte Programmer: qtwebengine_convert_dict og QtWebEngineProcess (begge i $QT6DIR/libexec)
Installerte Biblioteker: libQt6Pdf.so, libQt6PdfQuick.so, libQt6PdfWidgets.so, libQt6WebEngineCore.so, libQt6WebEngineiQuick.so, libQt6WebEngineQuickDelegatesQml.so, og libQt6WebEngineWidgets.so
Installerte Mapper: $QT6DIR/include/QtPdf, $QT6DIR/include/QtPdfQuick, $QT6DIR/include/QtPdfWidgets, $QT6DIR/include/QtWebEngineCore, $QT6DIR/include/QtWebEngineQuick, $QT6DIR/include/QtWebEngineWidgets, $QT6DIR/qml/QtWebEngine, og $QT6DIR/translations/qtwebengine_locales

Korte Beskrivelser

qtwebengine_convert_dict

konverterer hunspell ordbøker (.dic) til chromium format (.bdic)

QtWebEngineProcess

er et libexec program som kjører en zygote prosess (en som lytter for spawn forespørsler fra en masterprosess, og vil gå inn i respons)

libQtWebEngineCore.so

gir offentlig API som deles av både QtWebEngine og QtWebEngineWidgets

libQtWebEngineWidgets.so

gir en nettlesermotor samt C++ klasser for å gjengi og samhandle med nettinnhold

startup-notification-0.12

Introduksjon til startup-notification

startup-notification pakken inneholder startup-notification biblioteker. Disse er nyttige for å bygge en konsistent måte å varsle brukeren på gjennom markøren som applikasjonen laster inn.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

startup-notification Avhengigheter

Påkrevd

Xorg Biblioteker og xcb-util-0.4.1

Installasjon av startup-notification

Installer startup-notification ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -m644 -D doc/startup-notification.txt \
    /usr/share/doc/startup-notification-0.12/startup-notification.txt

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libstartup-notification-1.so
Installerte Mapper: /usr/include/startup-notification-1.0 og /usr/share/doc/startup-notification-0.12

Korte Beskrivelser

libstartup-notification-1.so

gir funksjonene for å hjelpe applikasjoner med å kommunisere med markørsystemet for å gi tilbakemelding til brukeren om at applikasjonen lastes inn

Vulkan-Headers-1.4.341.0

Introduksjon til Vulkan-Headers

Vulkan-Headers pakken inneholder et sett med deklarasjonsfiler som er nødvendige for å bygge og koble applikasjoner mot Vulkan API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Vulkan-Headers Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av Vulkan-Headers

Installer Vulkan-Headers ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr -G Ninja .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/vk_video, /usr/include/vulkan, /usr/share/cmake/VulkanHeaders, og /usr/share/vulkan

Vulkan-Loader-1.4.341.0

Introduksjon til Vulkan-Loader

Vulkan-Loader pakken inneholder et bibliotek som gir Vulkan API og gir kjernestøtte for grafikkdrivere for Vulkan.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Vulkan-loader Avhengigheter

Påkrevd

CMake-4.2.3, Vulkan-Headers-1.4.341.0, og Xorg Biblioteker

Anbefalt
Anbefalt (Kjøretid)

Mesa-25.3.5 (for Vulkan drivere)

Valgfri (for testing)

git-2.53.0

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av Vulkan-Loader

Notat

Hvis denne pakken blir installert på et system der Mesa allerede er installert tidligere, vennligst gjenoppbygg Mesa-25.3.5 etter denne pakken for å installere Vulkan grafikkdrivere.

Installer Vulkan-Loader ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr   \
      -D CMAKE_BUILD_TYPE=Release    \
      -D CMAKE_SKIP_INSTALL_RPATH=ON \
      -G Ninja .. &&
ninja

For å kjøre testpakken, utsted (merk at kommandoen vil bruke git-2.53.0 for å laste ned en kopi av GoogleTest for å bygge testpakken):

sed "s/'git', 'clone'/&, '--depth=1', '-b', self.commit/" \
    -i ../scripts/update_deps.py &&
cmake -D BUILD_TESTS=ON -D UPDATE_DEPS=ON .. &&
ninja &&
ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D BUILD_WSI_WAYLAND_SUPPORT=OFF: Dette alternativet tillater bygging uten Wayland-1.24.0 støtte.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libvulkan.so
Installerte Mapper: /usr/lib/cmake/VulkanLoader

Korte Beskrivelser

libvulkan.so

gir Vulkan API og kjernestøtte for grafikkdrivere

WebKitGTK-2.50.5

Introduksjon til WebKitGTK

WebKitGTK pakken er en overføring av flyttbar nettgjengivelsesmotor WebKit til GTK-3 og GTK-4 plattformer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken har historisk sett hatt hyppige oppdateringer som adresserer sikkerhetssårbarheter. For å finne den siste status sjekk BLFS Security Advisories.

Pakkeinformasjon

  • Nedlasting (HTTP): https://webkitgtk.org/releases/webkitgtk-2.50.5.tar.xz

  • Nedlasting MD5 sum: 6c4b69c1de985a16a5b7ae00d181cf3e

  • Nedlastingsstørrelse: 42 MB

  • Estimert diskplass som kreves: 1.5 GB (182 MB installert, legg til 177 MB for GTK-4)

  • Estimert byggetid: 26 SBU (for GTK-3, bruk parallellisme=8, legg til 26 SBU for GTK-4)

WebKitGTK Avhengigheter

Påkrevd

Cairo-1.18.4, CMake-4.2.3, gst-plugins-base-1.28.0, gst-plugins-bad-1.28.0, GTK-3.24.51, GTK-4.20.3, ICU-78.2, Little CMS-2.18, libgudev-238, libsecret-0.21.7, libsoup-3.6.5, libtasn1-4.21.0, libwebp-1.6.0, Mesa-25.3.5, OpenJPEG-2.5.4, Ruby-4.0.1, unifdef-2.12, og Which-2.23

Anbefalt
Valgfri

Gi-DocGen-2026.1, harfBuzz-12.3.2, Wayland-1.24.0, WOFF2-1.0.2, ccache, flite, Hyphen, libbacktrace, libmanette, libspiel, og sysprof

Installasjon av WebKitGTK

Viktig

Denne pakken tillater bygging med enten GTK-3 eller GTK-4, men ikke begge deler i samme bygg. GTK-4-versjonen er nødvendig for pakker som f.eks Epiphany-49.2. Andre pakker, som f.eks Balsa-2.6.5 eller Evolution-3.58.3, krever GTK-3 versjon. Begge versjonene kan installeres side ved side på samme system. Vi gir byggeinstruksjoner for begge tilfeller nedenfor, men den eneste forskjellen er innstillingen av -DUSE_GTK4

Med standard «release» byggekonfigurasjon, noen kildefiler i denne pakken krever mer enn 4 GiB RAM for å bli bygget. Som et resultat bør du sende -j<N> til ninja (erstatte <N> med kvotienten av mengden tilgjengelig RAM og 4 GiB) for å begrense antallet parallelle jobber og unngå at jobben blir drept av kjernens OOM killer.

På et 32-bits system kan ikke summen av RAM og vekslingsplass som brukes av en byggejobb (faktisk en hvilken som helst enkeltprosess) overstige 4 GiB. Så hvis du bygger denne pakken på et 32-bits system, må du legge til -D CMAKE_CXX_FLAGS_RELEASE="-O2 -DNDEBUG" alternativet til cmake for å deaktivere noen optimaliseringer som krever mye minne for å begrense minnebruken til individuelle byggejobber. Ytelsen vil bli noe påvirket, men ikke på et nivå der det er merkbart under normal bruk.

Hvis du vil installere GTK-3 versjonen av WebKitGTK, kjør følgende kommandoer:

mkdir -vp build &&
cd        build &&

cmake -D CMAKE_BUILD_TYPE=Release     \
      -D CMAKE_INSTALL_PREFIX=/usr    \
      -D CMAKE_SKIP_INSTALL_RPATH=ON  \
      -D PORT=GTK                     \
      -D LIB_INSTALL_DIR=/usr/lib     \
      -D USE_LIBBACKTRACE=OFF         \
      -D USE_LIBHYPHEN=OFF            \
      -D ENABLE_GAMEPAD=OFF           \
      -D ENABLE_MINIBROWSER=ON        \
      -D ENABLE_DOCUMENTATION=OFF     \
      -D ENABLE_WEBDRIVER=OFF         \
      -D USE_WOFF2=OFF                \
      -D USE_GTK4=OFF                 \
      -D ENABLE_JOURNALD_LOG=OFF      \
      -D ENABLE_BUBBLEWRAP_SANDBOX=ON \
      -D USE_SYSPROF_CAPTURE=NO       \
      -D ENABLE_SPEECH_SYNTHESIS=OFF  \
      -W no-dev -G Ninja ..           &&
ninja

Denne pakken har ikke en fungerende testpakke. Imidlertid er det en brukbar grunnleggende grafisk nettleser i byggemappen, build/bin/MiniBrowser. Hvis det mislykkes å starte den, er det et problem med bygget.

Nå, som root bruker:

ninja install

Hvis du vil installere GTK-4 versjonen av WebKitGTK, kjør følgende kommandoer:

rm -rf * .[^.]* &&

cmake -D CMAKE_BUILD_TYPE=Release      \
      -D CMAKE_INSTALL_PREFIX=/usr     \
      -D CMAKE_SKIP_INSTALL_RPATH=ON   \
      -D PORT=GTK                      \
      -D LIB_INSTALL_DIR=/usr/lib      \
      -D USE_LIBBACKTRACE=OFF          \
      -D USE_LIBHYPHEN=OFF             \
      -D ENABLE_GAMEPAD=OFF            \
      -D ENABLE_MINIBROWSER=ON         \
      -D ENABLE_DOCUMENTATION=OFF      \
      -D USE_WOFF2=OFF                 \
      -D USE_GTK4=ON                   \
      -D ENABLE_JOURNALD_LOG=OFF       \
      -D ENABLE_BUBBLEWRAP_SANDBOX=ON  \
      -D USE_SYSPROF_CAPTURE=NO        \
      -D ENABLE_SPEECH_SYNTHESIS=OFF   \
      -W no-dev -G Ninja ..            &&
ninja

Nå, som root bruker:

ninja install

Siden -D ENABLE_DOCUMENTATION=OFF alternativet brukes, dokumentasjonen er ikke gjenoppbygd eller installert nå. Hvis du trenger dokumentasjon, kan du enten installere Gi-DocGen-2026.1 og fjern dette alternativet fra cmake kommandoen, eller installer den forhåndsbygde dokumentasjonen (kun for GTK-4-versjonen) i stedet:

install -vdm755 /usr/share/gtk-doc/html &&
cp -rv ../Documentation/* /usr/share/gtk-doc/html

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D USE_LIBBACKTRACE=OFF: Denne bryteren deaktiverer bruken av libbacktrace for å dumpe en stabelsporing ved krasj skjer. Du må installere libbacktrace hvis du ønsker å aktivere det (erstatte OFF med ON eller bare fjerne bryteren).

-D USE_LIBHYPHEN=OFF: Denne bryteren deaktiverer standard implementering av automatisk orddeling. Du må installere Hyphen hvis du ønsker å aktivere den (erstatte OFF med ON eller bare fjern bryteren).

-D ENABLE_DOCUMENTATION=OFF: Denne bryteren deaktiverer regenerering av dokumentasjonenen. Fjern denne bryteren hvis du har Gi-DocGen-2026.1 installert og ønsker å regenerere dokumentasjonen.

-D ENABLE_GAMEPAD=OFF: Denne bryteren deaktiverer støtte for gamepad. Fjern denne bryteren hvis du har libmanette installert og ønsker å aktivere den.

-D ENABLE_MINIBROWSER=ON: Denne bryteren aktiverer kompilering og installasjon av MiniBrowser.

-D ENABLE_WEBDRIVER=OFF: Denne bryteren deaktiverer kompilering og installasjon av WebKitWebDriver. Vi bruker det for GTK-3 bygget fordi WebKitWebDriver fra GTK-3-bygget vil uansett bli overskrevet av GTK-4-bygget. Fjern dette alternativet hvis du ikke planlegger å bygge denne pakken med GTK-4.

-D ENABLE_BUBBLEWRAP_SANDBOX=ON: Denne bryteren aktiverer Bubblewrap sandkassen, som bidrar til å dempe virkningen av de fleste sikkerhetssårbarheter i denne pakken. Endre denne bryteren til OFF hvis du ikke vil installere bubblewrap-0.11.0, libseccomp-2.6.0, eller xdg-dbus-proxy-0.1.6, men merk at dette kan sette deg i fare.

-D ENABLE_JOURNALD_LOG=OFF: Denne bryteren deaktiverer bruk av systemd journal for logging av feil og feilsøkingsinformasjon siden den ikke er tilgjengelig på SysV systemer.

-D USE_SYSPROF_CAPTURE=NO: Denne bryteren deaktiverer en hard avhengighet av sysprof.

-D ENABLE_SPEECH_SYNTHESIS=OFF: Denne bryteren deaktiverer byggestøtte for talesyntese i WebKitGTK fordi det krever ytterligere eksterne avhengigheter. Du vil trenge både flite og libspiel hvis du ønsker å aktivere dette.

-D USE_SYSTEM_MALLOC=ON: Denne bryteren gjør det mulig å bygge mot systemets installerte malloc.

-D ENABLE_GEOLOCATION=OFF: Bruk denne bryteren hvis du ikke ønsker å installere GeoClue-2.8.0.

-D USE_AVIF=OFF: Bruk denne bryteren hvis du ikke vil installere libavif-1.3.0. Merk at du ikke vil ha støtte for AVIF bilder hvis du gjør dette.

-D USE_WOFF2=ON: Bruk denne bryteren hvis den valgfrie pakken WOFF2-1.0.2 er installert. Dette legger til ekstra støtte for fonter.

-D USE_JPEGXL=OFF: Bruk denne bryteren hvis den anbefalte pakken libjxl-0.11.2 ikke er installert. Merk at du ikke vil har støtte for JPEG XL bilder hvis dette alternativet er brukt.

Innhold

Installert Program: WebKitWebDriver
Installerte Biblioteker: libjavascriptcoregtk-4.1.so, libjavascriptcoregtk-6.0.so, libwebkit2gtk-4.1.so, og libwebkitgtk-6.0.so
Installerte Mapper: /usr/include/webkitgtk-4.1, /usr/include/webkitgtk-6.0, /usr/lib{,exec}/webkit2gtk-4.1, /usr/lib{,exec}/webkitgtk-6.0, /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1 (valgfri), og /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-process-extension}}-6.0

Korte Beskrivelser

WebKitWebDriver

tillater feilsøking og automatisering av nettsider og nettlesere

libjavascriptcoregtk-4.1.so

inneholder kjerne JavaScript API funksjoner som brukes av jsc og libwebkit2gtk-4.1

libjavascriptcoregtk-6.0.so

inneholder kjerne JavaScript API funksjoner som brukes av jsc og libwebkitgtk-6.0

libwebkit2gtk-4.1.so

inneholder WebKit2 API funksjoner

libwebkitgtk-6.0.so

inneholder WebKit API funksjoner for GTK-4 applikasjoner

xdg-desktop-portal-1.20.3

Introduksjon til xdg-desktop-portal

xdg-desktop-portal er en D-Bus tjeneste som lar programmer samhandle med skrivebordet på en sikker måte. Flere aspekter ved skrivebordsinteraksjon, som filvelger, skrivebordsstil, etc er implementert i forskjellige D-Bus APIer, kjent som portals. Sandkasse applikasjoner drar mest nytte av denne tjenesten siden de ikke trenger spesielle tillatelser for å bruke portal APIene, men alle applikasjoner kan bruke den. xdg-desktop-portal ivaretar mange ressurser og funksjoner med et brukerkontrollert tillatelsessystem. Denne tjenesten trenger et bakstykke som implementerer skrivebordsspesifikke portalgrensesnitt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xdg-desktop-portal Avhengigheter

Påkrevd

Fuse-3.18.1, gdk-pixbuf-2.44.5, JSON-GLib-1.10.8, pipewire-1.4.10, og dbus-1.16.2 (ved kjøretid). Videre er det nødvendig med et bakstykke ved kjøretid for at denne pakken skal være nyttig, enten xdg-desktop-portal-gtk-1.15.3 eller xdg-desktop-portal-gnome-49.0 eller xdg-desktop-portal-lxqt-1.3.0

Anbefalt

Notat

Selv om det er en mulighet for å bygge pakken uten bubblewrap, oppstrøms utviklere og LFS redaktører anbefaler på det sterkeste å la være å bruke denne muligheten, siden det vil skape et stort sikkerhetsproblem.

Valgfri

GeoClue-2.8.0 (for «lokasjons» portal), og pytest-9.0.2 med libportal-0.9.1, dbusmock-0.38.1, og umockdev-0.19.4 (for å kjøre tester)

Valgfri (for å bygge dokumentasjonen)

sphinx-9.1.0 med sphinxext.opengraph, sphinx_copybutton, furo, and flatpak

Installasjon av xdg-desktop-portal

Installer xdg-desktop-portal ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D tests=disabled .. &&
ninja

Hvis de valgfrie avhengighetene er installert, kan du teste resultatene ved å kjøre:

meson configure -D tests=enabled &&
ninja test

Uten de eksterne avhengighetene en test, integration/dynamiclauncher er kjent for å mislykkes.

Nå, som root bruker:

ninja install

Fjern systemd filer som er ubrukelige (som root bruker):

rm -rvf /usr/lib/systemd

Kommandoforklaringer

-D tests=disabled: Hindrer å kreve flere valgfrie avhengigheter som kun trengs for tester.

Konfigurere xdg-desktop-portal

Konfigurasjonsfiler

De viktigste konfigurasjonsfilene er ~/.config/xdg-desktop-portal/portals.conf, /etc/xdg-desktop-portal/portals.conf, og /usr/share/xdg-desktop-portal/portals.conf. Flere andre steder kan søkes etter konfigurasjonsfiler. Se portals.conf(5).

Konfigurasjonsinformasjon

De ulike konfigurasjonsfilene brukes til å velge bakstykke avhengiget av ulike forhold. Se portals.conf(5) for detaljer.

Innhold

Installerte Programmer: flere nisser i /usr/libexec
Installert(e) Bibliotek(er): Ingen
Installert(e) Mappe(r): Ingen

xdg-desktop-portal-gtk-1.15.3

Introduksjon til xdg-desktop-portal-gtk

xdg-desktop-portal-gtk er et bakstykke for xdg-desktop-portal, som bruker GTK og ulike deler av GNOME infrastruktur.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xdg-desktop-portal-gtk Avhengigheter

Påkrevd

GTK-3.24.51 og xdg-desktop-portal-1.20.3

Anbefalt

Installasjon av xdg-desktop-portal-gtk

Installer xdg-desktop-portal-gtk ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Fjern systemd filer som er ubrukelige (som root bruker):

rm -rvf /usr/lib/systemd

Parameterforklaringer

-D wallpaper=disabled: Bruk dette alternativet hvis du ikke har installert den anbefalte avhengigheten gnome-desktop-44.5.

Innhold

Installert Program: en nisse i /usr/libexec
Installert Bibliotek: Ingen
Installert Mappe: /usr/share/xdg-desktop-portal (om ikke annen xdg-desktop-portal bakstykke er installert)

Kapittel 26. Skjermbehandlere

Skjermbehandlere er grafiske programmer som brukes for å starte det grafiske visningen (for øyeblikket X serveren) og gi en påloggingsmulighet for et Vindusbehandlings eller skrivebords miljø.

Det er mange tilgjengelige Skjermbehandlere. Noen av de mer vel kjente inkluderer: gdm, kdm (avviklet), LightDM, lxdm, Slim, og sddm.

Blant skrivebordsmiljøene som er tilgjengelige for Linux finner du: Enlightenment, GNOME, Plasma, lxde, LXQt, og xfce.

Å velge en Skjermbehandler eller et skrivebordsmiljø er svært subjektivt. Valget avhenger av utseendet og følelsen til pakkene, ressursene (minne og diskplass) som kreves, og verktøyene inkludert.

I dette kapittelet, installasjonsinstruksjonene til noen skjermbehandlere er presentert. Senere i boken finner du andre, som blir levert som en del av noen skrivebordsmiljøer.

GDM-49.2

Introduksjon til GDM

GDM er en systemtjeneste som er ansvarlig for å gi grafiske pålogginger og administrere lokale og eksterne skjermer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GDM Avhengigheter

Påkrevd

AccountsService-23.13.9, DConf-0.49.0, libcanberra-0.30 (bygget etter GTK-3.24.51), og Linux-PAM-1.7.2

Valgfri

keyutils-1.6.3 og check (for testing)

Kjøretids Avhengigheter

gnome-session-49.2, gnome-shell-49.4, og elogind-255.22

Installasjon av GDM

Det anbefales å ha en dedikert bruker og gruppe for å ta kontroll over gdm nissen etter at den er startet. Utfør følgende kommandoer som root bruker:

groupadd -g 21 gdm &&
useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \
        -g gdm -s /bin/false gdm &&
passwd -ql gdm

Installer GDM ved å kjøre følgende kommandoer:

sed -e 's@systemd@elogind@'                                \
    -e 's/-session optional/-session required/'            \
    -e '/elogind/isession  required       pam_loginuid.so' \
    -i data/pam-lfs/gdm-launch-environment.pam &&

mkdir build &&
cd    build &&

meson setup ..                   \
      --prefix=/usr              \
      --buildtype=release        \
      -D gdm-xsession=true       \
      -D initial-vt=7            \
      -D run-dir=/run/gdm        \
      -D logind-provider=elogind \
      -D systemd-journal=false   \
      -D systemdsystemunitdir=no \
      -D systemduserunitdir=no   &&
ninja

Testpakken krever Check som er fjernet fra LFS.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D initial-vt=7: Denne bryteren starter GDM på VT7 som standard, siden elogind ikke er tilgjengelig på SysV systemer før den aktiveres av PAM under en påloggingsøkt. Standardoppførselen er å starte på den aktive TTY-en, men denne oppførselen fører til at GDM ikke starter i virtuelle miljøer og andre situasjoner der Wayland ikke støttes.

-D default-pam-config=lfs: Bruk denne bryteren hvis du ikke opprettet /etc/lfs-release fil ellers vil distribusjon automatisk gjenkjenning mislykkes, og du vil ikke kunne bruke GDM.

-D gdm-xsession=true: Dette aktiverer installasjon av GDM Xsession filen.

Konfigurere GDM

Konfigurasjonsfiler

/etc/gdm/custom.conf

Konfigurasjonsinformasjon

GDM nissen er konfigurert ved hjelp av /etc/gdm/custom.conf filen. Standardverdier er lagret i GSettings i gdm.schemas filen. Det anbefales at sluttbrukere endrer /etc/gdm/custom.conf filen fordi skjemaenefilen kan bli overskrevet når brukeren oppdaterer systemet sitt til en nyere versjon av GDM.

På noen systemer med NVIDIA GPUer eller virtuelle GPU-er (slik som levert av qemu), vil GDM skjule Wayland økter som standard. Dette gjøres ofte for å hindre brukere i å støte på problemer med buggy drivere, som kan føre til systemlåsing, applikasjonskrasjer, strømstyringsproblemer og grafiske nedbremsinger. Hvis systemet ditt er en virtuell maskin eller du har et NVIDIA GPU og fortsatt vil prøve å kjøre Wayland økter, kjør følgende kommando som root user:

ln -s /dev/null /etc/udev/rules.d/61-gdm.rules

Oppstartsskript

For å starte gdm automatisk når systemet blir byttet til kjørenivå 5, installer /etc/rc.d/init.d/xdm skriptet og /etc/sysconfig/xdm konfigurasjonsfilen inkludert i blfs-bootscripts-20251220 pakken og juster /etc/inittab ved å kjøre som root bruker:

make install-gdm

For å permanent sette standard kjørenivå til 5, starter du gdm velkomstskjermen automatisk, kan du endre /etc/inittab. Som root bruker:

sed /initdefault/s/3/5/ -i /etc/inittab

Konfigurere GDM automatisk suspendering

GDM vil suspendere systemet når velkomstskjermen har kjørt en stund uten interaktive input. Hvis du vil deaktivere automatisk suspendering uansett årsak (for eksempel hvis systemet er vert for noen tjenester i tillegg til å fungere som et skrivebordssystem), som root bruker, utsted:

su gdm -s /bin/bash                                                \
       -c "dbus-run-session                                        \
             gsettings set org.gnome.settings-daemon.plugins.power \
                           sleep-inactive-ac-type                  \
                           nothing"

Innhold

Installerte Programmer: gdm, gdm-config, og gdmflexiserver
Installerte Biblioteker: libgdm.so og pam_gdm.so (PAM Modul)
Installerte Mapper: /etc/gdm, /usr/include/gdm, /usr/share/gdm, og /usr/share/help/*/gdm

Korte Beskrivelser

gdm

er en påloggingsforespørsel for GNOME

gdm-config

konfigurerer en rekke autentiseringsalternativer for GDM

lightdm-1.32.0

Introduksjon til Lightdm

lightdm pakken inneholder en lettvekt skjermbehandler basert på GTK.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Lightdm Pakkeinformasjon

Ytterligere Nedlasting

Notat

greeter er et program for å presentere en grafisk påloggingsskjerm. Det er flere alternative hilsener, men gtk+ pakken er referanse gjennomføringen. For en liste over andre hilser, se https://en.wikipedia.org/wiki/LightDM.

Lightdm Avhengigheter

Påkrevd

Exo-4.20.0 (for greeter), libgcrypt-1.12.0, itstool-2.0.7, Linux-PAM-1.7.2, og Xorg-Server-21.1.21 (Kjøretid)

Anbefalt
Valgfri

AccountsService-23.13.9 (kjøretid), at-spi2-core-2.58.3, GTK-Doc-1.35.1, libido, og libindicator

Installasjon av Lightdm

Først oppretter du en dedikert bruker og gruppe for å ta kontroll over lightdm nissen etter at den er startet. Utfør følgende kommandoer som root bruker:

groupadd -g 65 lightdm       &&
useradd  -c "Lightdm Daemon" \
         -d /var/lib/lightdm \
         -u 65 -g lightdm    \
         -s /bin/false lightdm

Deretter endrer du Linux-PAM konfigurasjonsfiler sånn at elogind blir brukt:

sed -i s/systemd/elogind/ data/pam/*

Installer lightdm ved å kjøre følgende kommandoer:

./configure --prefix=/usr                 \
            --libexecdir=/usr/lib/lightdm \
            --localstatedir=/var          \
            --sbindir=/usr/bin            \
            --sysconfdir=/etc             \
            --disable-static              \
            --disable-tests               \
            --with-greeter-user=lightdm   \
            --with-greeter-session=lightdm-gtk-greeter \
            --docdir=/usr/share/doc/lightdm-1.32.0 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install                                                  &&
cp tests/src/lightdm-session /usr/bin                         &&
sed -i '1 s/sh/bash --login/' /usr/bin/lightdm-session        &&
rm -rf /etc/init                                              &&
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm      &&
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data &&
install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm    &&
install -v -dm770 -o lightdm -g lightdm /var/log/lightdm

Nå bygg greeter:

tar -xf ../lightdm-gtk-greeter-2.0.9.tar.gz &&
cd lightdm-gtk-greeter-2.0.9 &&

./configure --prefix=/usr                 \
            --libexecdir=/usr/lib/lightdm \
            --sbindir=/usr/bin            \
            --sysconfdir=/etc             \
            --with-libxklavier            \
            --enable-kill-on-sigterm      \
            --disable-libido              \
            --disable-libindicator        \
            --disable-static              \
            --disable-maintainer-mode     \
            --docdir=/usr/share/doc/lightdm-gtk-greeter-2.0.9 &&
make

Nå, som root bruker:

make install

Notat

Hvis du installerte Xorg i /opt, må du lage en symbolsk lenke slik at lightdm kan finne Xorg serveren. Som root bruker:

ln -sf /opt/xorg/bin/Xorg /usr/bin/X

Parameterforklaringer

sed ... /usr/bin/lightdm-session: Denne kommandoen sikrer at den første påloggingen via greeter kildene /etc/profile og ~/.bash_profile. Uten dette, kommandoer som avhenger av forskjellige miljøvariabler fungerer kanskje ikke som forventet.

Konfigurere lightdm

Konfigurasjonsfiler

/etc/lightdm/{lightdm,users,keys,lightdm-gtk-greeter}.conf

Konfigurasjonsfilene tilbyr mange alternativer. Hvis du for eksempel har et oppsett med flere skjermer, men foretrekker at påloggingsvinduet vises på bare én skjerm, sett 'active-monitor=<monitor-name>' i lightdm-gtk-greeter.conf. For eksempel kan du bruke active-monitor=HDMI-1. Du kan bestemme monitor-names med xrandr --listmonitors. Merk at skjermnavnene kan endres hvis du endrer grafikkdriveren og du må kanskje justere konfigurasjonen deretter.

Oppstartsskript

For å starte lightdm automatisk når systemet er byttet til kjørenivå 5, installer /etc/rc.d/init.d/xdm skriptet og /etc/sysconfig/xdm konfigurasjonsfilen inkludert i blfs-bootscripts-20251220 pakken og juster /etc/inittab ved å kjøre som root bruker:

make install-lightdm

Starte lightdm

lightdm greeter kan startes fra kommandolinjen som root bruker:

telinit 5

Tilgjengelige Økter

greeter tilbyr en liste over tilgjengelige økter, avhengig av Vindusbehandlere og Skrivebordsmiljø installert. Listen inkluderer økter som har en tilsvarende .desktop fil installert under /usr/share/xsessions. Mesteparten av Vindusbehandlere og Skrivebordsmiljøer gir disse filene automatisk, men om nødvendig kan du inkludere en egendefinert.

Innhold

Installerte Programmer: dm-tool, lightdm, og lightdm-gtk-greeter
Installerte Biblioteker: liblightdm-gobject-1.so
Installerte Mapper: /etc/lightdm, /etc/apparmor.d, /usr/lib/lightdm, /usr/include/lightdm-gobject-1, /usr/share/help/C/lightdm /usr/share/gtk-doc/html/lightdm-gobject-1, /usr/share/doc/lightdm-gtk-greeter-2.0.9, /var/lib/lightdm, /var/lib/lightdm-data, /var/cache/lightdm, og /var/log/lightdm

Korte Beskrivelser

lightdm

er en skjerm og påloggings behandler

lightdm-gtk-greeter

er en hjelpeprosess som viser greeter, et grafisk brukergrensesnitt som utfører brukerautentisering og starter den valgte vindusbehandlingen eller visningsmiljø

sddm-0.21.0

Introduksjon til sddm

sddm pakken inneholder en lettvekts skjermbehandler basert på Qt og QML.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

SDDM Avhengigheter

Påkrevd

CMake-4.2.3, Extra-CMake-Modules-6.20.0, og Qt-6.10.2

Anbefalt

Installasjon av SDDM

Først oppretter du en dedikert bruker og gruppe for å ta kontroll over sddm nissen etter at den er startet. Utfør følgende kommandoer som root bruker:

groupadd -g 64 sddm &&
useradd  -c "sddm Daemon" \
         -d /var/lib/sddm \
         -u 64 -g sddm    \
         -s /bin/false sddm

Installer sddm ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -D CMAKE_POLICY_VERSION_MINIMUM=3.5 \
      -D ENABLE_JOURNALD=OFF              \
      -D NO_SYSTEMD=ON                    \
      -D RUNTIME_DIR=/run/sddm            \
      -D USE_ELOGIND=ON                   \
      -D BUILD_MAN_PAGES=ON               \
      -D BUILD_WITH_QT6=ON                \
      -D DATA_INSTALL_DIR=/usr/share/sddm \
      -D DBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \
      .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -dm755 -o sddm -g sddm /var/lib/sddm
/usr/bin/sddm --example-config > /etc/sddm.conf

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren er brukt til å legge til ekstra kompilatoroptimaliseringer.

-D CMAKE_POLICY_VERSION_MINIMUM=3.5: Denne bryteren gjør at denne pakken kan bygges med cmake-4.0 eller nyere.

-D ENABLE_JOURNALD=OFF og -D NO_SYSTEMD=ON: Disse bryterne brukes pga at denne versjonen av BLFS støtter ikke systemd.

-D DBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf: Denne bryteren forhindrer at filen /etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf fra å bli overskrevet, da den kan brukes av andre DM-er.

-D BUILD_MAN_PAGES=ON: Denne bryteren brukes til å bygge og installer manualsider.

Konfigurere SDDM

Konfigurasjonsfiler

/etc/sddm.config

Vanligvis vil du redigere denne filen. For eksempel hvis Xorg er installert i /opt, bruk ditt foretrukne redigeringsprogram som root bruker for å erstatte standard XauthPath verdi med /opt/xorg/bin/xauth. Eller, som root bruker, utsted:

sed -i.orig '/ServerPath/ s|usr|opt/xorg|' /etc/sddm.conf

Denne kommandoen vil gjøre erstatningen og lage en kopi av originalen med filnavnet /etc/sddm.conf.orig.

Fra nå av vil vi beskrive hvordan du endrer konfigurasjoner ved å bruke sed. Selvfølgelig kan du i stedet bruke ditt foretrukne redigeringsprogram som root bruker.

Av sikkerhetsgrunner vil du vanligvis ha standard ServerArguments=-nolisten tcp, med mindre en ekstern maskin trenger tilgang til den lokale X serveren. I så fall, som root bruker, utsted:

sed -i 's/-nolisten tcp//' /etc/sddm.conf

Stasjonær maskin (bærbare datamaskin) brukere vil normalt ha Num Lock-tasten på (av). For det som root, utsted:

sed -i '/Numlock/s/none/on/' /etc/sddm.conf

for brukere av stasjonære maskiner. For brukere av bærbare datamaskiner, erstatt /on/ med /off/ i kommandoen ovenfor.

Som standard presenteres et virtuelt tastatur for brukeren. Hvis dette ikke er ønsket, kjør som root:

sed -i 's/qtvirtualkeyboard//' /etc/sddm.conf

Oppstartsskript

Installer /etc/rc.d/init.d/xdm init skriptet fra blfs-bootscripts-20251220 pakken, som root bruker:

make install-sddm

Linux PAM konfigurasjon

Notat

Installasjonsprosedyren ovenfor installerte et sett med PAM konfigurasjonsfiler. Disse prosedyrene overskriver dem og bruker versjoner som er kompatible med et BLFS miljø.

Hvis du har bygget sddm med Linux PAM støtte, opprett de nødvendige konfigurasjonsfilene ved å kjøre følgende kommandoer som root bruker:

cat > /etc/pam.d/sddm << "EOF"
# Begin /etc/pam.d/sddm

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     include        system-auth

account  include        system-account
password include        system-password

session  required       pam_limits.so
session  include        system-session

# End /etc/pam.d/sddm
EOF

cat > /etc/pam.d/sddm-autologin << "EOF"
# Begin /etc/pam.d/sddm-autologin

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     required       pam_permit.so

account  include        system-account

password required       pam_deny.so

session  required       pam_limits.so
session  include        system-session

# End /etc/pam.d/sddm-autologin
EOF

cat > /etc/pam.d/sddm-greeter << "EOF"
# Begin /etc/pam.d/sddm-greeter

auth     required       pam_env.so
auth     required       pam_permit.so

account  required       pam_permit.so
password required       pam_deny.so
session  required       pam_unix.so
-session optional       pam_systemd.so

# End /etc/pam.d/sddm-greeter
EOF

Starte sddm

Hvis sddm oppstartsskriptet er installert, start sddm ved å kjøre, som root bruker:

/etc/rc.d/init.d/xdm start

Etter konvensjon bør X kjøres på kjørenivå 5, det samme gjelder for sddm. Imidlertid, standard kjørenivå er 3. Bytt til runlevel 5, fra en konsollterminal, som root bruker, start sddm oppstartsskriptet, som henter frem velkomstskjermen:

init 5

For å permanent sette standarden til 5, for å starte sddm velkomstskjermen automatisk, endre /etc/inittab som root bruker:

cp -v /etc/inittab{,-orig} &&
sed -i '/initdefault/ s/3/5/' /etc/inittab

Tilgjengelige økter

Velkomstskjermen tilbyr en liste over tilgjengelige økter, avhengig av vindusbehandlere og skrivebordsmiljøer som er installert. Listen inkluderer økter som har en tilsvarende .desktop fil installert under /usr/share/xsessions eller /usr/share/wayland-sessions. De fleste vindusbehandlere og skrivebordsmiljøer automatisk gir disse filene, men om nødvendig kan du inkludere en egendefinert.

Temaer

Tre temaer er installert i /usr/share/sddm/themes: elarun, maldives, og maya. Det er også et standardtema, som ikke finnes i den mappen. Du kan installere andre temaer i den mappen. For å endre tema, må du redigere /etc/sddm.conf, for å endre standard (tomt) tema, erstatt «Current=» med «Current=<new theme>», f.eks. «Current=maldives».

For å se temaet uten å forlate økten, utsted:

sddm-greeter --test-mode --theme <theme path>

Innhold

Installerte Programmer: sddm og sddm-greeter
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/sddm og /var/lib/sddm

Korte Beskrivelser

sddm

er en skjerm og påloggings behandler basert på Qt biblioteker.

sddm-greeter

er en hjelpeprosess som viser hilsenen, et grafisk brukergrensesnitt som utfører bruker autentisering og starter den valgte vindusbehandlingen eller visningsmiljøet.

Kapittel 27. Vindusbehandlere

Vindubehandlere og skrivebordsmiljøer er den primære brukeren sitt grensesnitt inn i X Vindussystemet. En vindubehandler er et program som kontrollerer utseendet til vinduer og gir måten brukeren kan samhandle med dem. Et skrivebordsmiljø gir et mer komplett grensesnitt til operativsystemet, og gir en rekke integrerte verktøy og applikasjoner.

Det er mange Vindubehandlere tilgjengelig. Noen av de mer kjente inkluderer fvwm2, Window Maker, AfterStep, Enlightenment, Sawfish, og Blackbox.

Skrivebordsmiljøene som er tilgjengelige for Linux er GNOME, KDE, og XFce.

Å velge en Vindubehandler eller Skrivebordsmiljø er svært subjektiv. Valget avhenger av utseendet og følelsen til pakkene, ressurser (RAM, diskplass) som kreves, og verktøyene inkludert. Et nettsted som gir et veldig godt sammendrag av hva som er tilgjengelig, skjermbilder, og deres respektive funksjoner er Window Managers for X.

I dette kapittelet, installasjonsinstruksjonene til flere Vindubehandler og ett lett skrivebordsmiljø presenteres. Senere i boken, både KDE og GNOME har sine egne seksjoner.

Fluxbox-1.3.7

Introduksjon til Fluxbox

Fluxbox pakken inneholder en vindusbehandler..

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Package Information

Fluxbox Avhengigheter

Påkrevd

et grafiske miljø

Valgfri

dbus-1.16.2 (kjøretid), FriBidi-1.0.16, og imlib2-1.12.6 (hvis du ønsker å bruke andre bildeformater i tillegg til XPM)

Installasjon av Fluxbox

Først, fikse en byggefeil når du bygger med gcc-11.1 og senere:

sed -i '/text_prop.value > 0/s/>/!=/' util/fluxbox-remote.cc

Installer Fluxbox ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken har ikke en fungerende testpakke.

Nå, som root bruker:

make install

Konfigurere Fluxbox

Konfigurasjonsfiler

~/.fluxbox/init, ~/.fluxbox/keys, og ~/.fluxbox/menu

Konfigurasjonsinformasjon

Hvis Fluxbox er den eneste vindusbehandleren du vil bruke, kan du starte den med en .xinitrc fil i hjemmemappen din. Sørg for å sikkerhetskopiere din nåværende .xinitrc før du fortsetter.

echo startfluxbox > ~/.xinitrc

Eller alternativt, hvis du bruker en innloggingsbehandler som GDM-49.2 eller lightdm-1.32.0, og vil kunne velge Fluxbox ved påloggingsprompten oppretter du en fluxbox.desktop fil. Som root:

mkdir -pv /usr/share/xsessions &&
cat > /usr/share/xsessions/fluxbox.desktop << "EOF"
[Desktop Entry]
Encoding=UTF-8
Name=Fluxbox
Comment=This session logs you into Fluxbox
Exec=startfluxbox
Type=Application
EOF

Hvis du ikke installerte GDM-49.2 eller lightdm-1.32.0 i /usr, endre da kommandoen slik at den passer til prefikset du valgte.

Lag nå Fluxbox konfigurasjonsfiler:

mkdir -v ~/.fluxbox &&
cp -v /usr/share/fluxbox/init ~/.fluxbox/init &&
cp -v /usr/share/fluxbox/keys ~/.fluxbox/keys

For å generere applikasjonsmenyen, vil du kanskje først kjøre fluxbox-generate_menu -h, for å velge en <user_options>, deretter utsted:

cd ~/.fluxbox &&
fluxbox-generate_menu <user_options>

Alternativt kan du kopiere en forhåndsgenerert meny:

cp -v /usr/share/fluxbox/menu ~/.fluxbox/menu

Menyelementer legges til ved å redigere~/.fluxbox/menu. Syntaksen er forklart på fluxbox manualsiden.

Hvis du vil bruke et bilde som skrivebordsbakgrunn, kopierer du temaet du liker ~/.fluxbox. Legg deretter til en linje for å få den til å bruke riktig bilde. I de neste kommandoene, endre <theme> til navnet av temaet du ønsker og endre </path/to/nice/image.ext> til å peke på det faktiske bildet du vil bruke, hvor ext må være xpm, hvis imlib2-1.12.6 ikke er installert for å tillate andre bildeformater.

cp -r /usr/share/fluxbox/styles/<theme> ~/.fluxbox/theme &&

sed -i 's,\(session.styleFile:\).*,\1 ~/.fluxbox/theme,' ~/.fluxbox/init &&

[ -f ~/.fluxbox/theme ] &&
echo "background.pixmap: </path/to/nice/image.ext>" >> ~/.fluxbox/theme ||
[ -d ~/.fluxbox/theme ] &&
echo "background.pixmap: </path/to/nice/image.ext>" >> ~/.fluxbox/theme/theme.cfg

I noen lokaliteter inneholder kanskje ikke fonten som er spesifisert i temaet nødvendige tegn. Dette resulterer i menyer med tomme elementer. Du kan fikse dette ved å redigere ~/.fluxbox/theme med en tekstredigerer og endre den slik at den navngir en passende font.

Innhold

Installerte Programmer: fluxbox, fbsetbg, fbsetroot, fluxbox-generate_menu, startfluxbox, fbrun, fluxbox-remote, og fluxbox-update_configs
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/fluxbox og ~/.fluxbox

Korte Beskrivelser

fluxbox

er en vindusbehandler for X11 basert på Blackbox 0.61.0

fbsetbg

er et verktøy som setter bakgrunnsbildet. Det krever en av følgende under kjøring: Esetroot, wmsetbg, feh, hsetroot, chbg, display, qiv, xv, xsri, xli, eller xsetbg. Det krever også which hvis Esetroot er funnet

fbsetroot

er et verktøy for å endre utseendet på rotvinduet basert på Blackbox applikasjonen bsetroot

fluxbox-generate_menu

er et verktøy som genererer en meny ved å skanne PATHen din

startfluxbox

er et oppstartsskript for økter som tillater kommando utførelser før fluxbox starter

fbrun

viser et kjør dialogvindu

fluxbox-remote

gir kommandolinjetilgang til nøkkelkommandoer for Fluxbox

fluxbox-update_configs

bruk for å administrere konfigurasjonsfiler (last på nytt, oppdatering, test)

IceWM-4.0.0

Introduksjon til IceWM

IceWM er en vindusbehandler med mål om hastighet, enkelhet og ikke å komme i brukeren' sin vei.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

IceWM Avhengigheter

Påkrevd

CMake-4.2.3, imlib2-1.12.6, og et grafiske miljø

Valgfri

asciidoc-10.2.1 (for å regenerere HTML dokumentasjonen), FriBidi-1.0.16 (for språk skrevet fra høyre til venstre), librsvg-2.61.4, libao-1.2.0, libsndfile-1.2.2, alsa-lib-1.2.15.3 (for det eksperimentelle icesound programmet), og gdk-pixbuf-xlib

Installasjon av IceWM

Installer IceWM ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D CFGDIR=/etc               \
      -D ENABLE_LTO=ON             \
      -D DOCDIR=/usr/share/doc/icewm-4.0.0  \
      .. &&
make

Denne pakken har ikke en fungerende testpakke.

Nå, som root bruker:

make install

Denne pakken lager to .desktop filer i /usr/share/xsessions/ mappen. Begge er ikke nødvendig i et BLFS system, så unngå at de ekstra filene vises som et alternativ i en skjermbehandler. Som root bruker:

rm -v /usr/share/xsessions/icewm.desktop

Parameterforklaringer

-D ENABLE_LTO=ON: Dette alternativet aktiverer Link Time Optimization og kreves for denne pakken.

Konfigurere IceWM

Konfigurasjonsfiler

~/.icewm/keys, ~/.icewm/menu, og ~/.icewm/preferences, og ~/.icewm/toolbar, og ~/.icewm/winoptions. Standardversjonene er installert i /usr/share/icewm/ og vil bli brukt hvis du ikke har kopiert dem til ~/.icewm.

Konfigurasjonsinformasjon

Hvis IceWM er den eneste Vindusbehandleren du ønsker å bruke, kan du starte den med en .xinitrc fil i hjemmemappen din. Sørg for å sikkerhetskopiere gjeldende .xinitrc før du fortsetter.

echo icewm-session > ~/.xinitrc

Nå oppretter du IceWM konfigurasjonsfiler:

mkdir -pv ~/.icewm                                      &&
cp -v /usr/share/icewm/keys ~/.icewm/keys               &&
cp -v /usr/share/icewm/menu ~/.icewm/menu               &&
cp -v /usr/share/icewm/preferences ~/.icewm/preferences &&
cp -v /usr/share/icewm/toolbar ~/.icewm/toolbar         &&
cp -v /usr/share/icewm/winoptions ~/.icewm/winoptions

Du kan nå redigere disse filene for å møte dine krav. Spesielt, gjennomgå preferences filen. Du kan bruke Logout -> Restart-IceWM på hovedmenyen for å laste dine endrede preferanser, men endringer i bakgrunnen tar bare effekt når IceWM er startet.

På dette tidspunktet kan du enten tilpasse tradisjonelle menyfiler som passer dine behov, eller bruke den nyere icewm-menu-fdo beskrevet senere.

Syntaksen til menyene er forklart i hjelpefilene, som du får tilgang til ved å kjøre help fra menyen, men noen av detaljen er utdatert og standardvalgene i menyene (noen få gamle applikasjoner på hovedmenyen, alt annet på Programs menyen) vil ha nytte av å bli oppdatert til å møte dine behov. Følgende eksempler er gitt for å oppmuntre deg til å tenke på hvordan du ønsker å organisere menyene dine. Vær oppmerksom på følgende:

  • Hvis et program som er oppført i menyen ikke er installert, vil det ikke vises når menyen vises. Tilsvarende hvis programmet eksisterer, men det angitte ikonet ikke gjør det, vil ingen ikon vises i menyen.

  • Ikonene kan være enten .xpm eller .png filer, og det er ikke nødvendig å spesifisere utvidelsen. Hvis ikonet er plassert i "library" (/usr/share/icewm/icons) er det ikke nødvendig å spesifisere banen.

  • De fleste programmer er i undermenyer, og hovedmenyen vil alltid legge til oppføringer for windows, help, settings, logout på bunnen.

  • Et ikon for firefox ble kopiert til library mappen og gitt et meningsfullt navn. Ikonet for xine er xine.xpm som ble installert i en pixmap mappe.

  • Standard verktøylinje er ikke endret.

Hvis du ønsker å bruke denne tradisjonelle metoden, er det flere eksempler i tidligere utgivelser av denne boken (f.eks. BLFS-7.8).

Alternativt, kan du lage en meny som samsvarer med FDO Desktop Menu Specifications, hvor programmer kan bli funnet fordi de har en .desktop fil i XDG_DATA_HOME eller XDG_DATA_DIR mappene. I motsetning til de fleste vindusbehandlere, icewm søker ikke etter programmer når menyen påkalles, så hvis du tar denne ruten må du kjøre følgende kommando etter installasjon eller fjerning av programmer:

icewm-menu-fdo >~/.icewm/menu

Hvis du ønsker å putte ikoner på skrivebordet ditt, må du installere et program som f.eks rox-filer som gir en oppslagstavle. Hvis du gjør det vil du ikke lenger få tilgang til menyen ved å høyreklikke på skrivebordet, du må bruke IceWM knappen. For å sikre at rox oppslagstavlen kjører, følgende kommandoer vil putte den i oppstartsfilen:

cat > ~/.icewm/startup << "EOF"
rox -p Default &
EOF &&
chmod +x ~/.icewm/startup

Tips

Det er en rekke hurtigtaster i IceWM:

  • Ctrl + Alt + FN : går til ttyN.

  • Ctrl + Alt + N : går til skrivebord nummer N

  • Ctrl + Alt + Space : åpne en boks på oppgavelinjen der du kan taste inn navnet på et program og kjøre det.

Innhold

Installerte Programmer: icehelp, icesh, icesound, icewm, icewm-menu-fdo, icewm-menu-xrandr, icewm-session, icewm-set-gnomewm, icewmbg, og icewmhint
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/icewm-4.0.0, /usr/share/icewm and ~/.icewm

Korte Beskrivelser

icehelp

brukes til å vise html manualen

icesh

er en kommandolinje vindusbehandler som kan brukes i ~/.icewm/startup

icesound

spiller av lydfiler på GUI hendelser reist av IceWM

icewm

er vindusbehandleren

icewm-menu-fdo

kan lage en fil i et format som passer for en IceWM menyen, som viser de programmene som for øyeblikket er installert i et oppsett som samsvarer med FDO Desktop Menu Specifications

icewm-menu-xrandr

er et hjelpeprogram som brukes til å administrere flerskjermskonfigurasjoner

icewm-session

kjører icewmbg, icewm, icewmtray, startup, shutdown (dvs. oppstart og avslutning skript kjøres hvis de er installert)

icewm-set-gnomewm

er et skript for å angi GNOME vindusbehandler til icewm ved bruk av gconftool

icewmbg

brukes til å sette bakgrunnen, i henhold til de ulike DesktopBackground innstillinger i preferansene

icewmhint

brukes internt for å gi hint til brukeren

openbox-3.6.1

Introduksjon til openbox

Openbox er et svært konfigurerbart skrivebord vindusbehandler med omfattende standardstøtte. Den lar deg kontrollere nesten alle aspekter av hvordan du samhandler med skrivebordet ditt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere nedlastinger

Openbox Avhengigheter

Påkrevd

et grafiske miljø og Pango-1.57.0 (kompilert med støtte for libXft)

Valgfri

dbus-1.16.2 (kjøretid), imlib2-1.12.6 (for å aktivere ikoner i høyreklikkmenyen), ImageMagick-7.1.2-13 (for å vise skrivebordsbakgrunner som vist i Konfigurasjonsinformasjonsdelen nedenfor), PyXDG-0.28, startup-notification-0.12, og librsvg-2.61.4

Installasjon av Openbox

Notat

Hvis XORG_PREFIX ikke er /usr, fortell gcc om det:

export LIBRARY_PATH=$XORG_PREFIX/lib

Oppdater pakkeskriptene for å aktivere Python 3:

patch -Np1 -i ../openbox-3.6.1-py3-1.patch

Installer Openbox ved å kjøre følgende kommandoer:

autoreconf -fi &&
./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --docdir=/usr/share/doc/openbox-3.6.1 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Denne pakken oppretter tre .desktop filer i /usr/share/xsessions/ mappen. To av disse er ikke passende i et BLFS system, så unngå de ekstra filene som vises som alternativer i en skjermbehandling. Som root bruker:

rm -v /usr/share/xsessions/openbox-{gnome,kde}.desktop

Parameterforklaringer

--sysconfdir=/etc: Dette alternativet putter Openbox sine konfigurasjonsfiler i /etc/xdg/openbox i stedet for /usr/etc/xdg/openbox.

--docdir=/usr/share/doc/openbox-3.6.1: dette legger noen få filer i en versjonert mappe i /usr/share/doc.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Konfigurere Openbox

Konfigurasjonsfiler

/etc/xdg/openbox/autostart, /etc/xdg/openbox/menu.xml, /etc/xdg/openbox/rc.xml, ~/.config/openbox/autostart, ~/.config/openbox/menu.xml og ~/.config/openbox/rc.xml

Konfigurasjonsinformasjon

Openbox sin høyreklikk menyen kan brukes til å starte programmer. Selve menyen er konfigurert med 2 filer, /etc/xdg/openbox/menu.xml og ~/.config/openbox/menu.xml. For å gjøre endringer i menyen, kopier /etc/xdg/openbox/menu.xml til ~/.config/openbox/menu.xml og redigere den:

cp -rf /etc/xdg/openbox ~/.config

For å ha ikoner i høyreklikkmenyen krever installasjon av imlib2-1.12.6 før du installerer Openbox. For å angi et ikon for en oppføring i menyen rediger ~/.config/openbox/menu.xml og legg til et ikonet til <item> taggen som dette:

<item label="Mplayer" icon="/usr/share/pixmaps/mplayer.png">

Mange andre aspekter ved Openbox sin oppførsel er konfigurert med ~/.config/openbox/rc.xml som for eksempel hvilke tastebindinger som brukes for å starte programmer eller hvilken museknapp som starter hovedmenyen.

Detaljer om temaet som Openbox setter for vindusdekorasjoner er konfigurert i ~/.config/openbox/rc.xml. Du kan få en liste over tilgjengelige temaer med kommandoen:

ls -d /usr/share/themes/*/openbox-3 | sed 's#.*es/##;s#/o.*##'

Starte Openbox

For å starte openbox automatisk når du starter Xorg:

echo openbox > ~/.xinitrc

Hvis du vil sette et bakgrunnsbilde til skrivebordet ditt kan du bruke display og starte den fra ~/.xinitrc like før openbox:

cat > ~/.xinitrc << "EOF"
display -backdrop -window root /path/to/beautiful/picture.jpeg
exec openbox
EOF

Eller hvis du liker litt variasjon, legg et utvalg bilder i en mappe (i dette eksemplet, mappen ~/.config/backgrounds) og velg en tilfeldig hver gang du xinit:

cat > ~/.xinitrc << "EOF"
# make an array which lists the pictures:
picture_list=(~/.config/backgrounds/*)
# create a random integer between 0 and the number of pictures:
random_number=$(( ${RANDOM} % ${#picture_list[@]} ))
# display the chosen picture:
display -backdrop -window root "${picture_list[${random_number}]}"
exec openbox
EOF

Hvis du liker å ha numlock tasten satt når du starter Xorg, installer Numlockx og legg det til din xinitrc. En annen nyttig applikasjon er dbus-1.16.2:

cat > ~/.xinitrc << "EOF"
. /etc/profile
picture_list=(~/.config/backgrounds/*)
random_number=$(( ${RANDOM} % ${#picture_list[*]} ))
display -backdrop -window root "${picture_list[${random_number}]}"
numlockx
eval $(dbus-launch --auto-syntax --exit-with-session)
lxpanel &
exec openbox
EOF

Innhold

Installerte Programmer: gdm-control, gnome-panel-control, obxprop, openbox, openbox-gnome-session, openbox-kde-session og openbox-session
Installerte Biblioteker: libobrender.so og libobt.so
Installerte Mapper: /etc/xdg/openbox, /usr/include/openbox, /usr/share/doc/openbox-3.6.1 og /usr/share/themes.

Korte Beskrivelser

gdm-control

er et kommandolinjeverktøy for å sende signaler til GDM

gnome-panel-control

er et kommandolinjeverktøy for å starte Gnome Panel kjør dialog/meny

obxprop

er et verktøy for å vise egenskapene på et x vindu. Den har en lignende funksjonalitet som xprop, men lar deg se UTF-8 strenger som tekst

openbox

er en standardkompatibel, svært konfigurerbar vindusbehandler

openbox-gnome-session

er et skript for å starte en Gnome økt med Openbox som din vindusbehandler fra din ~/.xinitrc

openbox-kde-session

er et skript for å starte en KDE økt med Openbox som din vindusbehandler fra din ~/.xinitrc

openbox-session

er et skript for å starte en Openbox økt fra din ~/.xinitrc

libobrender.so

inneholder funksjonene som brukes av Openbox for temagjengivelse

libobt.so

er Openbox verktøysett bibliotek

Kapittel 28. Ikoner

Vindusbehandlere og skrivebordsmiljøer kan bruke ikoner fra forskjellige kilder. Vanligvis er ikoner installert i /usr/share/icons og er uavhengige av distribusjon.

adwaita-icon-theme-49.0

Introduksjon til Adwaita Ikontema

Adwaita Ikontema pakken inneholder et ikontema for GTK+ 3 og GTK 4 applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Adwaita Ikontema Avhengigheter

Påkrevd

GTK-3.24.51 eller GTK-4.20.3, og librsvg-2.61.4

Installasjon av Adwaita Ikontema

Installer Adwaita Ikontema ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Fjern eventuelle gamle ikoner og installer de nye. Som root bruker:

rm -rf /usr/share/icons/Adwaita/ &&
ninja install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: Ingen
Installert Mappe: /usr/share/icons/Adwaita

breeze-icons-6.20.0

Introduksjon til Breeze Ikoner

Breeze Ikoner pakken inneholder standardikoner for KDE Plasma applikasjoner, men den kan brukes til andre vindusmiljøer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Breeze Ikoner Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0 og Qt-6.10.2

Valgfri

KDE Frameworks-6.20.0, libxml2-2.15.1, og lxml-6.0.2

Installasjon av Breeze Ikoner

Installer Breeze Ikoner ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D BUILD_TESTING=OFF         \
      -W no-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-D BUILD_TESTING=OFF: Denne parameteren deaktiverer bygging av testrammeverket, som krever noen moduler fra KDE Frameworks-6.20.0.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKF6BreezeIcons.so
Installert Mappe: /usr/include/KF6/BreezeIcons, /usr/lib/cmake/KF6BreezeIcons, og /usr/share/icons/breeze{,-dark}

gnome-icon-theme-3.12.0

Introduksjon til GNOME Ikon Tema

GNOME Ikon Tema pakken inneholder et utvalg av ikke-skalerbare ikoner i forskjellige størrelser og temaer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Ikon Tema Avhengigheter

Påkrevd

GTK-3.24.51, hicolor-icon-theme-0.18, og icon-naming-utils-0.8.90

Installasjon av GNOME Ikon Tema

Installer GNOME Ikon Tema ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/icons/gnome

gnome-icon-theme-extras-3.12.0

Introduksjon til GNOME Ekstra Temaikon

GNOME Ekstra Temaikon pakken inneholder ekstra ikoner for GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Ekstra Temaikon Avhengigheter

Påkrevd

gnome-icon-theme-3.12.0

Valgfri

git-2.53.0 og Inkscape-1.4.3

Installasjon av GNOME Ekstra Temaikon

Installer GNOME Ekstra Temaikon ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

gnome-icon-theme-symbolic-3.12.0

Introduksjon til GNOME Symbolsk Temaikon

GNOME Symbolsk Temaikon pakken inneholder symbolske ikoner for standard GNOME ikontema.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Symbolsk Temaikon Avhengigheter

Påkrevd

gnome-icon-theme-3.12.0

Valgfri

git-2.53.0 og Inkscape-1.4.3

Installasjon av GNOME Symbolsk Temaikon

Installer GNOME Symbolsk Temaikon ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/icons/gnome/scalable

gnome-themes-extra-3.28

Introduksjon til GNOME Ekstra Temaer

GNOME Ekstra Temaer pakke, tidligere kjent som GNOME Standard Temaer, inneholder ulike komponenter i standard GNOME tema.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Ekstra Temaer Avhengigheter

Påkrevd

GTK-3.24.51 med librsvg-2.61.4

Installasjon av GNOME Ekstra Temaer

Installer GNOME Ekstra Temaer ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-gtk2-engine &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-gtk2-engine: Denne bryteren deaktiverer GTK+-2 temamotor fordi GTK+-2 ikke lenger er en del av BLFS.

--disable-gtk3-engine: Denne bryteren deaktiverer GTK+-3 temamotoren.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/icons/HighContrast, /usr/share/themes/Adwaita, /usr/share/themes/Adwaita-dark, og /usr/share/themes/HighContrast

hicolor-icon-theme-0.18

Introduksjon til hicolor-icon-theme

hicolor-icon-theme pakke inneholder et standard reservetema for implementeringer av temaikon spesifikasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av hicolor-icon-theme

Installer hicolor-icon-theme ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/icons/hicolor

Korte Beskrivelser

/usr/share/icons/hicolor/*

inneholder ikondefinisjoner som brukes som standard

icon-naming-utils-0.8.90

Introduksjon til icon-naming-utils

icon-naming-utils pakken inneholder et Perl skript brukt for å vedlikeholde bakoverkompatibilitet med gjeldende skrivebordsikontemaer, mens du migrerer til navn spesifisert i Ikonnavnings spesifikasjonen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

icon-naming-utils Avhengigheter

Påkrevd

XML-Simple-2.25

Installasjon av icon-naming-utils

Installer icon-naming-utils ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: icon-name-mapping
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/dtds and /usr/share/icon-naming-utils

Korte Beskrivelser

icon-name-mapping

er et Perl skript som brukes til å vedlikeholde bakoverkompatibilitet med gjeldende skrivebordsikontemaer, mens du migrerer til navnene som er spesifisert i ikonnavngivningen spesifikasjonen

lxde-icon-theme-0.5.1

Introduksjon til LXDE Ikontema

LXDE Ikontema pakken inneholder nuoveXT 2.2 Ikontema for LXDE.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

LXDE Ikontema Avhengigheter

Valgfri

GTK-3.24.51 (for gtk-update-icon-cache kommandoen)

Installasjon av LXDE Ikontema

Installer LXDE Ikontema ved å kjøre følgende kommandoer:

./configure --prefix=/usr

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har installert en av de valgfrie avhengighetene, kjør følgende kommando som root bruker:

gtk-update-icon-cache -qf /usr/share/icons/nuoveXT2

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/icons/nuoveXT2

oxygen-icons-6.0.0

Introduksjon til oxygen-icons

Oxygen ikontemae er en fotorealistisk ikonstil, med en høy standard på grafikkkvalitet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

oxygen-icons Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0 og Qt-6.10.2

Installasjon av oxygen-icons

Aktiver først skalerbare ikoner:

sed -i '/( oxygen/ s/)/scalable )/' CMakeLists.txt

Installer oxygen-icons ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr -W no-dev ..

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/icons/oxygen

Del VII. KDE

KDE er et omfattende skrivebordsmiljø med et stort antall applikasjoner skrevet for det og en enorm mengde brukere. Den er basert på Qt rammeverket.

For mer informasjon besøk den offisielle KDE prosjektsiden på https://kde.org/.

Kapittel 29. Introduksjon til KDE

KDE Innledende

KDE er et omfattende skrivebordsmiljø med et stort antall applikasjoner skrevet for det og en enorm mengde brukere. Den er basert på Qt rammeverket.

KDE6 systemet har to hovedblokker: bibliotekene, kalt KDE Frameworks 6 eller KF6, som kan brukes i andre miljøer, og skrivebordsmiljø kalt KDE Plasma 6. De fleste applikasjonene skrevet av KDE teamet bruker kun KF6, og trenger ikke plasmamiljøet

For mer informasjon besøk den offisielle KDE prosjektsiden på https://kde.org/.

Extra-CMake-Modules-6.20.0

Introduksjon til Ekstra CMake Moduler

Ekstra CMake Moduler pakken inneholder ekstra CMake moduler brukt av KDE Frameworks og andre pakker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ekstra CMake Moduler Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt
Valgfri

sphinx-9.1.0 (for bygge dokumentasjon), PyQt (eksperimentell støtte for å bygge KDE Python bindinger), og ReuseTool (for å kjøre interne tester)

Installasjon av Ekstra CMake Moduler

Installer Ekstra CMake Moduler ved å kjøre følgende kommandoer:

sed -i '/"lib64"/s/64//' kde-modules/KDEInstallDirsCommon.cmake &&

sed -e '/PACKAGE_INIT/i set(SAVE_PACKAGE_PREFIX_DIR "${PACKAGE_PREFIX_DIR}")' \
    -e '/^include/a set(PACKAGE_PREFIX_DIR "${SAVE_PACKAGE_PREFIX_DIR}")' \
    -i ECMConfig.cmake.in &&

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D BUILD_WITH_QT6=ON         \
      -D DOC_INSTALL_DIR=/usr/share/doc/extra-cmake-modules-6.20.0 \
      .. &&
make

Denne pakken kommer ikke med en testpakke.

Notat

I motsetning til andre KF6 pakker, er denne modulen installert i /usr fordi den kan brukes av noen ikke-KF6 pakker.

Nå, som root bruker:

make install

Parameterforklaringer

sed ... Modules/KDEInstallDirs.cmake: Denne kommandoen deaktiverer programmer som bruker cmake fra å prøve å installere filer i lib64 undermappen.

sed ... ECMConfig.cmake.in: Denne kommandoen beskytter den globale cmake variabelen PACKAGE_PREFIX_DIR fra å bli endret når vi sjekker ECM tilstedeværelse: siden vi installerer ECM i /usr, sjekken vil sette den variabelen til /usr, mens de fleste KDE pakker forventer at den blir satt til /opt/kf6 og ville mislykkes i å bygge hvis den er satt til noe annet.

-D DOC_INSTALL-DIR=/usr/share/doc/extra...: Denne bryteren tillater installasjon av dokumentasjonen (som er bygget hvis sphinx-9.1.0 er installert) i en versjonsmappe.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/ECM og /usr/share/doc/ECM (hvis dokumentasjon ble bygget)

Phonon-4.12.0

Introduksjon til Phonon

Phonon er multimedia API for KDE. Den erstatter det gamle aRts pakken. Phonon trenger VLC bakstykket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Phonon Avhengigheter

Påkrevd

CMake-4.2.3, Extra-CMake-Modules-6.20.0, GLib-2.86.4, og Qt-6.10.2

phonon-backend-vlc-0.12.0 må være installert etterpå for multimedia operasjoner i KDE.

Valgfri

PulseAudio-17.0

Installasjon av Phonon

Installer Phonon ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D PHONON_BUILD_QT5=OFF      \
      -W no-dev .. &&
make

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

-D PHONON_BUILD_QT5=OFF: Denne bryteren er nødvendig for å hindre bygging av Qt5 bindinger, som mislykkes hvis Qt5 ikke er installert.

Innhold

Installerte Programmer: phononsettings
Installerte Biblioteker: libphonon4qt6.so and libphonon4qt6experimental.so
Installerte Mapper: /usr/include/phonon4qt6, /usr/lib/cmake/phonon4qt6, og /usr/lib/plugins/designer

Phonon-backend-vlc-0.12.0

Introduksjon til the Phonon-backend-vlc

Denne pakken gir en Phonon bakstykke som utnytterVLC media rammeverket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Phonon-backend-vlc Avhengigheter

Påkrevd

phonon-4.12.0 og VLC-3.0.23 (gui er ikke nødvendig)

Installasjon av Phonon-backend-vlc

Installer Phonon-backend-vlc ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D PHONON_BUILD_QT5=OFF      \
      .. &&
make

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bruke høyere nivå av kompilatoroptimaliseringer.

Innhold

Installert Program: Ingen
Installerte Biblioteker: phonon_vlc_qt6.so
Installert Mappe: /usr/lib/plugins/phonon4qt6_backend

Polkit-Qt-0.200.0

Introduksjon til Polkit-Qt

Polkit-Qt gir en API til PolicyKit i Qt miljøet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Polkit-Qt Avhengigheter

Påkrevd

CMake-4.2.3, Polkit-127, og Qt-6.10.2

Installasjon av Polkit-Qt

Installer Polkit-Qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D QT_MAJOR_VERSION=6        \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libpolkit-qt6-agent-1.so, libpolkit-qt6-core-1.so, and libpolkit-qt6-gui-1.so
Installerte Mapper: /usr/include/polkit-qt6-1 and /usr/lib/cmake/PolkitQt6-1

plasma-wayland-protocols-1.19.0

Introduksjon til Plasma-wayland-protocols

Denne pakken gir et tilpasset sett med protokolldefinisjoner for KDE.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Plasma-wayland-protocols Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0

Installasjon av Plasma-wayland-protocols

Installer Plasma-wayland-protocols ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr ..

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/plasma-wayland-protocols and /usr/lib/cmake/PlasmaWaylandProtocols

Kapittel 30. KDE Rammeverk 6

KDE Rammeverk 6 Konfigurasjon før Installasjon

KF6 kan installeres i /usr eller /opt/kf6. BLFS redaktører anbefaler sistnevnte i BLFS miljøet.

Installere i /usr

Et alternativ er å installere KDE Rammeverk i /usr hierarkiet. Dette skaper et enklere oppsett, men gjør det vanskeligere å prøve flere versjoner av KDE Rammeverk.

export KF6_PREFIX=/usr

Det er en god ide å legge til følgende variabler til ditt system eller personlige profiler:

cat >> /etc/profile.d/qt6.sh << "EOF"
# Begin kf6 extension for /etc/profile.d/qt6.sh

pathappend /usr/lib/plugins        QT_PLUGIN_PATH
pathappend $QT6DIR/lib/plugins     QT_PLUGIN_PATH

pathappend /usr/lib/qt6/qml        QML2_IMPORT_PATH
pathappend $QT6DIR/lib/qml         QML2_IMPORT_PATH

# End extension for /etc/profile.d/qt6.sh
EOF

cat > /etc/profile.d/kf6.sh << "EOF"
# Begin /etc/profile.d/kf6.sh

export KF6_PREFIX=/usr

# End /etc/profile.d/kf6.sh
EOF

Notat

Hvis qt6 var installert i /usr, $QT6DIR/lib/ deler av stiene ovenfor må kanskje endres til $QT6DIR/lib/qt6/.

I tillegg, hvis Sudo-1.9.17p2 er installert, disse variablene bør være tilgjengelig for superbrukeren. Utfør følgende kommandoer som root bruker:

cat >> /etc/sudoers.d/qt << "EOF"
Defaults env_keep += QT_PLUGIN_PATH
Defaults env_keep += QML2_IMPORT_PATH
EOF

cat >> /etc/sudoers.d/kde << "EOF"
Defaults env_keep += KF6_PREFIX
EOF

Installere i /opt

En metode for å bygge installasjoner med flere versjoner av KDE Rammeverk i /opt hierarkiet:

export KF6_PREFIX=/opt/kf6

Hvis du ikke installerer KDE Rammeverk i /usr, må du gjøre noen ekstra konfigurasjonsendringer. Beste praksis er å legge de til ditt system eller din personlige profil:

cat > /etc/profile.d/kf6.sh << "EOF"
# Begin /etc/profile.d/kf6.sh

export KF6_PREFIX=/opt/kf6

pathappend $KF6_PREFIX/bin              PATH
pathappend $KF6_PREFIX/lib/pkgconfig    PKG_CONFIG_PATH

pathappend $KF6_PREFIX/etc/xdg          XDG_CONFIG_DIRS
pathappend $KF6_PREFIX/share            XDG_DATA_DIRS

pathappend $KF6_PREFIX/lib/plugins      QT_PLUGIN_PATH
pathappend $KF6_PREFIX/lib/plugins/kcms QT_PLUGIN_PATH

pathappend $KF6_PREFIX/lib/qml          QML2_IMPORT_PATH

pathappend $KF6_PREFIX/lib/python3.14/site-packages PYTHONPATH

pathappend $KF6_PREFIX/include          CPLUS_INCLUDE_PATH

pathappend $KF6_PREFIX/lib/gtk-3.0      GTK_PATH
# End /etc/profile.d/kf6.sh
EOF

cat >> /etc/profile.d/qt6.sh << "EOF"
# Begin Qt6 changes for KF6

pathappend /usr/lib/plugins            QT_PLUGIN_PATH
pathappend $QT6DIR/plugins             QT_PLUGIN_PATH
pathappend $QT6DIR/qml                 QML2_IMPORT_PATH

# End Qt6 changes for KF6
EOF

Utvid din /etc/ld.so.conf fil:

cat >> /etc/ld.so.conf << "EOF"
# Begin KF6 addition

/opt/kf6/lib

# End KF6 addition
EOF

Flere KDE Rammeverk og Plasma pakker installerer filer i D-Bus og Polkit mappene. Ved installasjon av KDE Rammeverk på et annet sted enn /usr, D-Bus og Polkit må kunne finne disse filene. Den enkleste måten å oppnå dette på er å lage følgende symbolkoblinger (som root bruker):

install -v -dm755           $KF6_PREFIX/{etc,share} &&
ln -sfv /etc/dbus-1         $KF6_PREFIX/etc         &&
ln -sfv /usr/share/dbus-1   $KF6_PREFIX/share       &&
ln -sfv /usr/share/polkit-1 $KF6_PREFIX/share

Noen pakker kan også installere ikoner fra "hicolor"-ikonsettet. Siden det ikonsettet brukes av mange pakker, er det en god ide å lage en symbolkobling til den i /usr/share for å unngå å ha flere installasjoner av hicolor-icon-theme-0.18. Kjør følgende kommandoer som root bruker:

install -v -dm755                $KF6_PREFIX/share/icons &&
ln -sfv /usr/share/icons/hicolor $KF6_PREFIX/share/icons

Tips

Noen ganger er installasjonsbanene hardkodet til installerte filer. Dette er grunnen til at /opt/kf6 brukes som installasjonsprefiks i stedet for /opt/kf6-6.20.0. Etter installasjon av KDE Rammeverk, du kan gi nytt navn til mappen og lage en symbolkobling:

mv /opt/kf6{,-6.20.0}
ln -sfv kf6-6.20.0 /opt/kf6

Senere kan det være lurt å installere andre versjoner av KDE Rammeverk. For å gjøre det, bare fjern symbolkoblingen og bruk /opt/kf6 som prefiks igjen. Hvilken versjon av KDE Rammeverk du bruker avhenger bare av hvor symbolkoblingen peker. Ingen annen rekonfigurering vil være nødvendig.

Bygge KDE Rammeverk 6.20.0 (KF6)

KDE Rammeverk er en samling av biblioteker basert på toppen av Qt6 og QML avledet fra de tidligere KDE bibliotekene. De kan brukes uavhengig av KDE skjermmiljøet (Plasma 6).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Instruksjonene nedenfor bygger alle KDE Rammeverk pakkene i et trinn ved å bruke et bash skript.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.kde.org/stable/frameworks/6.20

  • Nedlasting MD5 sum: Se Under

  • Nedlastingsstørrelse: 109 MB

  • Estimert diskplass som kreves: 3.0 GB (197 MB installert)

  • Estimert byggetid: 12 SBU (bruker parallellisme=8)

KF6 Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0, breeze-icons-6.20.0, docbook-xml-4.5, docbook-xsl-nons-1.79.2, libcanberra-0.30, libgcrypt-1.12.0, libical-3.0.20, libsecret-0.21.7, libxslt-1.1.45, lmdb-0.9.35, qca-2.3.10, libqrencode-4.1.1, plasma-wayland-protocols-1.19.0, PyYAML-6.0.3, shared-mime-info-2.4, URI-5.34, og Wget-1.25.0 (kreves for å laste ned pakkene)

Anbefalt
Valgfri

BlueZ-5.86 (nødvendig for å bygge Bluez-Qt) og Datamatrix (ansett anbefalt for Prison av oppstrøms)

Kjøretidsavhengighet for FrameworkIntegration

Noto fonts

Ytterligere anbefalte avhengigheter for kapidox
Ytterligere bildeformat støtte i KImageFormats

libavif-1.3.0, libheif-1.21.2, libjxl-0.11.2, libraw-0.22.0, OpenEXR

Valgfrie avhengigheter for Solid

UDisks-2.11.0, UPower-1.91.1 og media-player-info (kjøretid)

Valgfri avhengighet for KWallet

gpgmepp-2.0.0

Valgfrie avhengigheter for kcoreaddons

Shiboken6 og PySide6

Valgfri ordbok bakstykke for Sonnet

Hspell og Hunspell

Laste ned KDE Rammeverk

Den enkleste måten å få KDE Rammeverk pakkene på er å bruke en enkelt wget å hente dem alle på en gang:

url=https://download.kde.org/stable/frameworks/6.20/
wget -r -nH -nd -A '*.xz' -np $url

Alternativene som brukes her er:
  -r            gjentakelse gjennom undermapper
  -nH           deaktiver generering av vertsprefikserte mapper
  -nd           ikke lag et hierarki av mapper
  -A '*.xz'     bare hent *.xz filene
  -np           ikke hent overordnede mapper

Angi Pakkerekkefølge

Rekkefølgen på byggefiler er viktig på grunn av interne avhengigheter. Lag listen over filer i riktig rekkefølge som følger:

cat > frameworks-6.20.0.md5 << "EOF"
89d349c7c1fe15637331219a46d92943  attica-6.20.0.tar.xz
#f8f4244ee36b34cc4259adc117e0adb8  extra-cmake-modules-6.20.0.tar.xz
8efda91362c49971530e52f8a67e50a2  kapidox-6.20.0.tar.xz
b50cddc01e18a88f8e2185546e5f6b25  karchive-6.20.0.tar.xz
0490158158794dba76e6e74085eebe1b  kcodecs-6.20.0.tar.xz
da66af528520ba6b62e6123d85073085  kconfig-6.20.0.tar.xz
8feb2d9481341a8f5e5a23a1c2fae4e1  kcoreaddons-6.20.0.tar.xz
0e596b9bcea43279d67384aedc405145  kdbusaddons-6.20.0.tar.xz
0bb877d2aa09518d97ff92b83dc29f86  kdnssd-6.20.0.tar.xz
adce0513e83c86efad5e2414f5736bef  kguiaddons-6.20.0.tar.xz
17a7a148d4a7afd6098da85b1e2cd349  ki18n-6.20.0.tar.xz
d259e3432db63ddea7f28f365c05e97a  kidletime-6.20.0.tar.xz
29e1084151d5c426380e3f567f0210ad  kimageformats-6.20.0.tar.xz
87d962685f0ad786880aa0c876c05ca5  kitemmodels-6.20.0.tar.xz
f6b3168f77b80b4f3d454e684b84d26e  kitemviews-6.20.0.tar.xz
3d43c594486ea7de7eff8e62f7b1c6f6  kplotting-6.20.0.tar.xz
46258ac9d079db8ce123c1a800de71ab  kwidgetsaddons-6.20.0.tar.xz
5aebd7a86b07017b8a918d18498f7dab  kwindowsystem-6.20.0.tar.xz
b241fd6f1f530060588023b742ce324b  networkmanager-qt-6.20.0.tar.xz
e29d2399ef6643899de65187b20a3fa1  solid-6.20.0.tar.xz
ef922d3ab1d9d35f06662bd13dc9ad6f  sonnet-6.20.0.tar.xz
ceaeaed663307f04876f424cee3b1162  threadweaver-6.20.0.tar.xz
6781a19190b12c7402b2be92355338a9  kauth-6.20.0.tar.xz
8dc98dd1367d821a64c60047197ffea9  kcompletion-6.20.0.tar.xz
938ef9117720166ff74e1ee52fac7674  kcrash-6.20.0.tar.xz
58ef18e61e8697a6a0be001170342419  kdoctools-6.20.0.tar.xz
847b2fe05e8edc3f9c94ff9b42793052  kpty-6.20.0.tar.xz
09d9da4e43270d31c958de1fd7bc3f4b  kunitconversion-6.20.0.tar.xz
16b7d1b74d14822f3c21ffbf3841ceb2  kcolorscheme-6.20.0.tar.xz
2fd18d6f5d2b9efacf2fb9da63675445  kconfigwidgets-6.20.0.tar.xz
515dc229c2342f288588338d40e5b739  kservice-6.20.0.tar.xz
8015cacbddb55e74b05f97de697d9556  kglobalaccel-6.20.0.tar.xz
3dd332c5f69c27f39d8803d1b05c6121  kpackage-6.20.0.tar.xz
43d52b2f783902df3aaa506cd32ff28b  kdesu-6.20.0.tar.xz
774050a40374a24c8ea06a6bbc603956  kiconthemes-6.20.0.tar.xz
ba3abc6c60aea797212748618d03c77b  knotifications-6.20.0.tar.xz
5d91bf06aaf524c3dafe98c091b48d37  kjobwidgets-6.20.0.tar.xz
7a60ecf0db6e85dc83e4d0a944639524  ktextwidgets-6.20.0.tar.xz
c30973c60bf9f8fba5200ce5a320c1f6  kxmlgui-6.20.0.tar.xz
4f7a7b40169b9a2952b7ef8843a5cecb  kbookmarks-6.20.0.tar.xz
769278cfc0490ef14efd7b6ac458bb24  kwallet-6.20.0.tar.xz
9fec31c961d6f003b77dab2ef634f595  kded-6.20.0.tar.xz
b1f484161d7d017a38c78cfbb25658ca  kio-6.20.0.tar.xz
9b3317df0c4aef80dc18c5f06e561de4  kdeclarative-6.20.0.tar.xz
81df1bb3dc9caabbb069a58171553296  kcmutils-6.20.0.tar.xz
c34faa649d9e0508479a8cfc96be012b  kirigami-6.20.0.tar.xz
d2a3c7d76c5f63f408e149fa4aff4c24  syndication-6.20.0.tar.xz
4f76cbabdb0aa7b63f51f1061d80cb1d  knewstuff-6.20.0.tar.xz
4bb9aac382093d5a80dc89d1f38c6a9b  frameworkintegration-6.20.0.tar.xz
cab87112d59edeb212664516160f6482  kparts-6.20.0.tar.xz
d34e1514a13f75f30e309bf4ab0bbc05  syntax-highlighting-6.20.0.tar.xz
7aff1716b445fa2a7652045cf4d814ab  ktexteditor-6.20.0.tar.xz
966592f3d0444836f67ec6c0b52491c6  modemmanager-qt-6.20.0.tar.xz
23e89282ed12d538ca1cf1fe655d29b6  kcontacts-6.20.0.tar.xz
cf2c3f3b83924627e14862d8d36224cf  kpeople-6.20.0.tar.xz
dc1daa0970f7f7d8ebe6ea19ffecedf9  bluez-qt-6.20.0.tar.xz
23afc50ffa3536c7bfcbbae2d01230fa  kfilemetadata-6.20.0.tar.xz
a7d95c808af8e6d2cb2514c1cdc7be31  baloo-6.20.0.tar.xz
#f4f4b113f37ba84da82243fa590f2089  breeze-icons-6.20.0.tar.xz
dae53683cee3f882e39ebf88a75dcd2d  krunner-6.20.0.tar.xz
9cf74a92e38f145352c97261a1a1ba21  prison-6.20.0.tar.xz
e064b676ae48428dc2e7d94138c29378  qqc2-desktop-style-6.20.0.tar.xz
39f7f40a61cdd74efcd81d44c0607d52  kholidays-6.20.0.tar.xz
fbb7b5bc4bc02e7c4482bfe5e03b5e16  purpose-6.20.0.tar.xz
f4485ddc5c32459d9d8c6c6da578afb8  kcalendarcore-6.20.0.tar.xz
24a06d8b57ac5015b3bd85dc67e39e97  kquickcharts-6.20.0.tar.xz
9e04ce07f31ca63c7a09f309bc15e8ae  knotifyconfig-6.20.0.tar.xz
49aed2b4c521543c6fe388ba967c664b  kdav-6.20.0.tar.xz
69245a30daef5230060b8334df273c85  kstatusnotifieritem-6.20.0.tar.xz
3e7355d0d59cb8ca4b5d7dfa656775be  ksvg-6.20.0.tar.xz
eb890e82b97045b79d3a00e05258b1c0  ktexttemplate-6.20.0.tar.xz
de12bde595290ea028890d249c8c3109  kuserfeedback-6.20.0.tar.xz
EOF

I listen ovenfor, legg merke til at noen filer har blitt kommentert ut med et hash tegn (#)..

  • Extra-cmake-modules oppføringen har blitt kommentert ut fordi det ble bygget tidligere i Introduksjon til KDE.

  • Ikonpakken dekkes separat på breeze-icons-6.20.0. Den er separat for å tillate brukere som trenger disse ikonene, men ikke trenger hele settet med KF6-pakker (f.eks. LXQt-Post-Install) for å enklere installere dem. De er imidlertid en nødvendig avhengighet for flere kf6 pakker.

Installasjon av KDE Rammeverk

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Obs

Hvis du installerer i /opt og det er en eksisterende /opt/kf6 enten som en vanlig mappe eller en symbolsk lenke, bør den initialiseres på nytt (som root):

mv -v /opt/kf6 /opt/kf6.old                         &&
install -v -dm755           $KF6_PREFIX/{etc,share} &&
ln -sfv /etc/dbus-1         $KF6_PREFIX/etc         &&
ln -sfv /usr/share/dbus-1   $KF6_PREFIX/share       &&
ln -sfv /usr/share/polkit-1 $KF6_PREFIX/share

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

while read -r line; do

    # Get the file name, ignoring comments and blank lines
    if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
    file=$(echo $line | cut -d" " -f2)

    pkg=$(echo $file|sed 's|^.*/||')          # Remove directory
    packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory

    name=$(echo $pkg|sed 's|-6.*$||') # Isolate package name

    tar -xf $file
    pushd $packagedir

      # kapidox is a python module
      case $name in
        kapidox)
          pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
          as_root pip3 install --no-index --find-links dist --no-user kapidox
          popd
          rm -rf $packagedir
          continue
          ;;
      esac

      mkdir build
      cd    build

      cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
            -D CMAKE_INSTALL_LIBEXECDIR=libexec \
            -D CMAKE_PREFIX_PATH=$QT6DIR        \
            -D CMAKE_SKIP_INSTALL_RPATH=ON      \
            -D CMAKE_BUILD_TYPE=Release         \
            -D BUILD_TESTING=OFF                \
            -D BUILD_PYTHON_BINDINGS=OFF        \
            -W no-dev ..
      make
      as_root make install
    popd

  as_root rm -rf $packagedir
  as_root /sbin/ldconfig

done < frameworks-6.20.0.md5

exit

Notat

Eventuelle moduler som er utelatt kan installeres senere ved å bruke det samme mkdir build; cd build; cmake; make; make install prosedyren som ovenfor.

Ubrukelige systemd enheter er installert i $KF6_PREFIX/lib. Fjern dem nå (som root):

rm -rf $KF6_PREFIX/lib/systemd

Noen ganger er installasjonsbanene hardkodet til installerte filer. Hvis den installerte mappen ikke er /usr, gi nytt navn til mappen og opprette en symbolkobling:

mv -v /opt/kf6 /opt/kf6-6.20.0
ln -sfvn kf6-6.20.0 /opt/kf6

Parameterforklaringer

-D CMAKE_PREFIX_PATH=$QT6DIR: Denne bryteren brukes for å la cmake finne de riktige Qt bibliotekene.

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

-D BUILD_TESTING=OFF: Denne bryteren brukes til å forhindre bygging av testprogrammer og biblioteker som ikke er til nytte for en sluttbruker.

-D BUILD_PYTHON_BINDINGS=OFF: Denne bryteren brukes til å forhindre at Python moduler som krever eksterne valgfrie avhengigheter bygges.

Innhold

Installerte Programmer: balooctl, baloo_file, baloo_file_extractor, baloosearch, balooshow, checkXML6, depdiagram-generate, depdiagram-generate-all, depdiagram-prepare, desktoptojson, gentrigrams, kactivities-cli, kapidox_generate, kate-syntax-highlighter, kbuildsycoca6, kcookiejar6, kdebugdialog6, kded6, kdeinit6, kdeinit6_shutdown, kdeinit6_wrapper, kf6-config, kf6kross, kgendesignerplugin, kglobalaccel6, kiconfinder6, kjs6, kjscmd6, kjsconsole, knewstuff-dialog, kpackagelauncherqml, kpackagetool6, kquitapp6, kreadconfig6, kshell6, ktelnetservice6, ktrash6, kwalletd6, kwallet-query, kwrapper6, kwriteconfig6, meinproc6, parsetrigrams, plasmapkg2, preparetips6, protocoltojson, og solid-hardware6
Installerte Biblioteker: libkdeinit6_klauncher.so, libKF6Activities.so, libKF6ActivitiesStats.so, libKF6Archive.so, libKF6Attica.so, libKF6AuthCore.so, libKF6Auth.so, libKF6Baloo.so, libKF6BluezQt.so, libKF6Bookmarks.so, libKF6CalendarCore.so, libKF6CalendarEvents.so, libKF6Codecs.so, libKF6Completion.so, libKF6ConfigCore.so, libKF6ConfigGui.so, libKF6ConfigWidgets.so, libKF6Contacts.so, libKF6CoreAddons.so, libKF6Crash.so, libKF6DAV.so, libKF6DBusAddons.so, libKF6Declarative.so, libKF6DNSSD.so, libKF6DocTools.so, libKF6Emoticons.so, libKF6FileMetaData.so, libKF6GlobalAccel.so, libKF6GuiAddons.so, libKF6Holidays.so, libKF6I18n.so, libKF6IconThemes.so, libKF6IdleTime.so, libKF6ItemModels.so, libKF6ItemViews.so, libKF6JobWidgets.so, libKF6JSApi.so, libKF6JsEmbed.so, libKF6JS.so, libKF6KCMUtils.so, libKF6KDELibs4Support.so, libKF6KHtml.so, libKF6KIOCore.so, libKF6KIOFileWidgets.so, libKF6KIOGui.so, libKF6KIONTLM.so, libKF6KIOWidgets.so, libKF6Kirigami2.so, libKF6KrossCore.so, libKF6KrossUi.so, libKF6MediaPlayer.so, libKF6NetworkManagerQt.so, libKF6NewStuffCore.so, libKF6NewStuff.so, libKF6Notifications.so, libKF6NotifyConfig.so, libKF6Package.so, libKF6Parts.so, libKF6PeopleBackend.so, libKF6People.so, libKF6PeopleWidgets.so, libKF6PlasmaQuick.so, libKF6Plasma.so, libKF6Plotting.so, libKF6Prison.so, libKF6Pty.so, libKF6Purpose.so, libKF6PurposeWidgets.so, libKF6QuickAddons.so, libKF6Runner.so, libKF6Service.so, libKF6Solid.so, libKF6SonnetCore.so, libKF6SonnetUi.so, libKF6Style.so, libKF6Su.so, libKF6SyntaxHighlighting.so, libKF6TextEditor.so, libKF6TextWidgets.so, libKF6ThreadWeaver.so, libKF6UnitConversion.so, libKF6Wallet.so, libKF6WaylandClient.so, libKF6WaylandServer.so, libKF6WidgetsAddons.so, libKF6WindowSystem.so, libKF6XmlGui.so, libKF6XmlRpcClient.so, og libkwalletbackend6.so
Installerte Mapper: /opt/kf6 (symbolkobling til /opt/kf6-6.20.0) hvis du installerer i /opt

Korte Beskrivelser

checkXML6

er et verktøy for å se etter syntaksfeil i KDE DocBook XML filer

depdiagram-generate

er et verktøy for å generere et avhengighetsdiagram

depdiagram-generate-all

er et verktøy for å generere et avhengighetsdiagram for alle rammeverk samtidig

depdiagram-prepare

er et verktøy for å klargjøre dot filer

desktoptojson

er et verktøy for å konvertere en .desktop-fil til en .json fil

kbuildsycoca6

gjenoppbygger KService skrivebordsfilsystemkonfigurasjonens hurtiglager

kcookiejar6

er et kommandolinjegrensesnitt til HTTP lageret for informasjonskapsler som brukes av KDE, en D-BUS tjeneste for å lagre/hente/rense informasjonskapsler

kded6

konsoliderer flere små tjenester i én prosess

kdeinit6

er en prosessstarter som ligner litt på den berømte init som brukes for oppstart av UNIX

kf6-config

er et kommandolinjeprogram som brukes til å hente informasjon om KDE installasjonen eller brukerstier

kf6kross

kjører kross skript skrevet i KDE Javascript, Python, Ruby, Java og Falcon

kgendesignerplugin

genererer skjermelement programtillegg for Qt(TM) Designer

kglobalaccel6

er en nisse som brukes til å registrere nøkkelbindingene og for å få varslet når handlingen utløste

kjs6

er en KDE ECMAScript/JavaScript motor

kjscmd6

er et verktøy for å starte KJSEmbed skript fra kommandolinjen

kjsconsole

er en konsoll for kjs6

kpackagelauncherqml

er et kommandolinjeverktøy for å starte kpackage QML applikasjonen

kpackagetool6

er et kommandolinje kpackage verktøy

kreadconfig6

er et kommandolinjeverktøy for å hente verdier fra KDE konfigurasjonsfiler

kshell6

start applikasjoner via kdeinit

ktelnetservice6

er en telnet tjeneste

ktrash6

er et hjelpeprogram for å håndtere KDE papirkurven

kwalletd6

er lommebokbehandler nissen

kwriteconfig6

er et kommandolinjeverktøy for å skrive verdier i KDE konfigurasjonsfiler

meinproc6

konverterer DocBook filer til HTML

plasmapkg2

er et verktøy for å installere, liste, fjerne Plasma pakker

preparetips6

er et skript for å trekke ut teksten fra en tipsfil

solid-hardware6

er et kommandolinjeverktøy for å undersøke tilgjengelige enheter

Kapittel 31. KDE Rammeverk 6 Baserte Applikasjoner

ark-25.08.3

Introduksjon til Ark

Ark pakken er et KF6 arkivverktøy. Det er et grafisk grensesnitt til tar og lignende verktøy.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ark Avhengigheter

Påkrevd

KDE Frameworks-6.20.0 og libarchive-3.8.5

Anbefalt

Installasjon av Ark

Installer Ark ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: ark
Installerte Biblioteker: libkerfuffle.so
Installerte Mapper: $KF6_PREFIX/lib/plugins/kerfuffle and $KF6_PREFIX/share/doc/HTML/*/ark

Korte Beskrivelser

ark

er en KF6 basert arkivbehandler

dolphin-25.08.3

Introduksjon til dolphin

dolphin pakken er en KF6 filbehandler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

dolphin Avhengigheter

Påkrevd

KDE Frameworks-6.20.0 og phonon-4.12.0

Valgfri

baloo-widgets (for metadatafunksjonene til Dolphin) og packagekit-qt

Valgfri (Kjøretid)

kio-extras-25.08.3 (for montering av SMB delinger)

Installasjon av dolphin

Installer dolphin ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: dolphin
Installerte Biblioteker: libdolphinvcs.so og libdolphinprivate.so
Installerte Mapper: $KF6_PREFIX/include/Dolphin, $KF6_PREFIX/lib/cmake/DolphinVcs, $KF6_PREFIX/lib/plugins/dolphin, og $KF6_PREFIX/share/doc/HTML/*/dolphin

Korte Beskrivelser

dolphin

er en KF6 basert filbehandler

dolphin-plugins-25.08.3

Introduksjon til dolphin-plugins

dolphin-plugins pakken gir ekstra programtillegg for filbehandleren dolphin.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

dolphin-plugins Avhengigheter

Påkrevd

dolphin-25.08.3

Installasjon av dolphin-plugins

Installer dolphin-plugins ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: I $KF6_PREFIX/lib/plugins/dolphin/vcs/: fileviewsvnplugin.so, fileviewgitplugin.so, fileviewbazaarplugin.so, fileviewdropboxplugin.so, fileviewhgplugin.so, makefileactions.so, and mountisoaction.so
Installerte Mapper: Ingen

kdenlive-25.08.3

Introduksjon til Kdenlive

Kdenlive pakken er en KF6 basert video redigerer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Kdenlive Avhengigheter

Påkrevd

git-2.53.0, KDE Frameworks-6.20.0, MLT-7.36.1, og v4l-utils-1.32.0 (kjøretid)

Anbefalt
Valgfri

LADSPA-SDK og Noise-Suppression

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Installasjon av Kdenlive

Installer Kdenlive ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Notat

Byggeprosessen vil laste ned et Git depot av OpenTimelineIO, totalt rundt 100 MB. Konfigurasjonen vil tilsynelatende henge seg opp rett etter at cmake begynner å kjøre. Dette er normalt, den henter det Git depotet. Hvis det henger seg en stund, skyldes det mest sannsynlig dårlig nedlastingshastighet under nedlastingsprosessen.

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: kdenlive og kdenlive_render
Installerte Biblioteker: mltpreview.so
Installerte Mapper: $KF6_PREFIX/share/doc/HTML/*/kdenlive and $KF6_PREFIX/share/kdenlive

Korte Beskrivelser

kdenlive

er en åpen kildekode ikke-lineær videoredigerer som støtter et stort antall formater

kdenlive_render

er et renderprogram for kdenlive

KMix-25.08.3

Introduksjon til KMix

KMix Pakken inneholder en KF6 basert lydmikser applikasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

KMix Avhengigheter

Påkrevd

KDE Frameworks-6.20.0

Anbefalt
Valgfri

libcanberra-0.30 og PulseAudio-17.0

Installasjon av KMix

Installer KMix ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: kmix, kmixctrl, og kmixremote
Installerte Biblioteker: libkmixcore.so
Installerte Mapper: $KF6_PREFIX/share/kmix og $KF6_PREFIX/share/doc/HTML/*/kmix

Korte Beskrivelser

kmix

er en mini lydmikser for kde

kmixctrl

brukes til å lagre eller gjenopprette innstillingene for kmix

kmixremote

er et verktøy for å dempe, hente og stille inn volumnivåer

khelpcenter-25.08.3

Introduksjon til Khelpcenter

Khelpcenter er en applikasjon for å vise dokumentasjonen til KDE applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Khelpcenter Avhengigheter

Påkrevd

KDE Frameworks-6.20.0, libxml2-2.15.1, og xapian-1.4.30

Anbefalt
Valgfri (Kjøretid)

kio-extras-25.08.3 (for visning av manualsider og info sider)

Installasjon av Khelpcenter

Installer khelpcenter ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: khelpcenter
Installerte Biblioteker: Ingen
Installerte Mapper: $KF6_PREFIX/share/khelpcenter, $KF6_PREFIX/share/doc/HTML/*/{khelpcenter,fundamentals,onlinehelp}

Korte Beskrivelser

khelpcenter

er hjelpeviseren for KDE applikasjoner

Konsole-25.08.3

Introduksjon til Konsole

Konsole pakken er en KF6 basert terminal emulator.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Konsole Avhengigheter

Påkrevd

KDE Frameworks-6.20.0

Installasjon av Konsole

Notat

I ikke-plasma miljøer er konsollens rullefelt og dens behandling vises ikke godt. Hvis ønskelig, bruk den valgfrie oppdateringen på pakken:

patch -Np1 -i ../konsole-adjust_scrollbar-1.patch

Oppdateringen gjør rullefeltet lysegrå med en liten hvit kant. Håndtaket er mørkegrå. Om ønskelig kan fargene endres etter smak med å redigere oppdateringen.

Installer Konsole ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: konsole og konsoleprofile
Installerte Biblioteker: libkdeinit6_konsole.so og libkonsoleprivate.so
Installerte Mapper: $KF6_PREFIX/share/doc/HTML/*/konsole, $KF6_PREFIX/share/konsole, og $KF6_PREFIX/share/kxmlgui6/konsole

Korte Beskrivelser

konsole

er en X terminalemulering som gir et kommandolinje grensesnitt

konsoleprofile

er et kommandolinjeverktøy for å endre profilen til gjeldende fane alternativer

konversation-25.08.3

Introduksjon til konversation

konversation pakken er en KF6 basert IRC klient.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

konversation Avhengigheter

Påkrevd

KDE Frameworks-6.20.0

Installasjon av konversation

Installer konversation ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: konversation
Installerte Biblioteker: Ingen
Installerte Mapper: $KF6_PREFIX/share/doc/HTML/*/konversation, og $KF6_PREFIX/share/konversation

Korte Beskrivelser

konversation

er en IRC klient

libkexiv2-25.08.3

Introduksjon til libkexiv2

Libkexiv2 er en KDE innpakning rundt Exiv2 biblioteket for å manipulere bildemetadata.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libkexiv2 Avhengigheter

Påkrevd

KDE Frameworks-6.20.0 og Exiv2-0.28.7

Installasjon av libkexiv2

Installer libkexiv2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_WITH_QT6=ON                \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKExiv2Qt6.so
Installerte Mapper: $KF6_PREFIX/include/KExiv2Qt6 and $KF6_PREFIX/lib/cmake/KExiv2Qt6

plasma-activities-6.5.2

Introduksjon til plasma-activities-6.5.2

plasma-activities-6.5.2 applikasjon gir kjernekomponenter for KDE aktiviteter. Den bygges normalt med Plasma-6.5.2 men er inkludert her fordi det trengs for okular-25.08.3 og kio-extras-25.08.3 hvis Plasma-6.5.2 ikke er bygget ennå.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

plasma-activities Avhengigheter

Påkrevd

KDE Frameworks-6.20.0

Installasjon av plasma-activities

Installer plasma-activities ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: plasma-activities-cli6
Installerte Biblioteker: libPlasmaActivities.so
Installerte Mapper: $KF6_PREFIX/include/PlasmaActivities, $KF6_PREFIX/lib/cmake/PlasmaActivities, og $KF6_PREFIX/share/share/qlogging-categories6

Korte Beskrivelser

plasma-activities-cli6

er aktivitetsbehandler for KDE applikasjoner

plasma-activities-stats-6.5.2

Introduksjon til plasma-activities-stats-6.5.2

plasma-activities-stats-6.5.2 biblioteket gir tilgang til bruksdataene som samles inn av systemets KDE aktiviteter. Den bygges normalt med Plasma-6.5.2 men er inkludert her fordi det trengs for kio-extras-25.08.3.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

plasma-activities Avhengigheter

Påkrevd

plasma-activities-6.5.2

Installasjon av plasma-activities-stats

Installer plasma-activities-stats ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert ProgramInstallert Program: Ingen
Installerte Biblioteker: libPlasmaActivitiesStats.so
Installerte Mapper: $KF6_PREFIX/include/PlasmaActivitiesStats og $KF6_PREFIX/lib/cmake/PlasmaActivitiesStats

kio-extras-25.08.3

Introduksjon til kio-extras

kio-extras pakken inneholder ekstra komponenter for å øke funksjonaliteten til KDE ressurser og nettverkstilgang abstraksjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

kio-extras Avhengigheter

Påkrevd

KDE Frameworks-6.20.0, kdsoap-ws-discovery-client-0.4.0, libproxy-0.5.12, plasma-activities-stats-6.5.2, og qcoro-0.12.0

Anbefalt
Valgfri

libtirpc-1.3.7, Samba-4.23.5, taglib-2.1.1, libappimage, libimobiledevice, libmtp, libplist, libssh, og OpenEXR

Installasjon av kio-extras

Installer kio-extras ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libkioarchive6.so og 33 32 programtillegg
Installerte Mapper: $KF6_PREFIX/include/KioArchive6, $KF6_PREFIX/lib/cmake/KioArchive6, and $KF6_PREFIX/share/doc/HTML/en/kioworker6

okular-25.08.3

Introduksjon til Okular

Okular er en dokumentviser for KDE. Den kan vise dokumenter av mange typer inkludert PDF, PostScript, TIFF, DjVu, DVI, XPS, og ePub.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Okular Avhengigheter

Påkrevd

KDE Frameworks-6.20.0 og plasma-activities-6.5.2

Anbefalt
Valgfri

qca-2.3.10, discount, DjVuLibre, libspectre, libepub, og LibZip

Installasjon av Okular

Installer Okular ved å kjøre følgende kommandoer:

Notat

Hvis noen av de valgfrie avhengighetene er installert, fjern tilknyttet referanse i SKIP_OPTIONAL miljøvariabelen.

mkdir build &&
cd    build &&

SKIP_OPTIONAL='Discount;DjVuLibre;EPub;LibSpectre;LibZip'

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -D FORCE_NOT_REQUIRED_DEPENDENCIES="$SKIP_OPTIONAL" \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: okular
Installert Bibliotek: Okular6Core.so
Installerte Mapper: $KF6_PREFIX/include/okular, $KF6_PREFIX/lib/cmake/Okular6, $KF6_PREFIX/lib/plugins/okular, $KF6_PREFIX/share/okular, and $KF6_PREFIX/share/doc/HTML/*/okular

Korte Beskrivelser

okular

er en dokumentviser

libkdcraw-25.08.3

Introduksjon til libkdcraw

Libkdcraw er en KDE innpakning rundt libraw-0.22.0 bibliotek for å manipulere bildemetadata.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libkdcraw Avhengigheter

Påkrevd

KDE Frameworks-6.20.0 og libraw-0.22.0

Installasjon av libkdcraw

Installer libkdcraw ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -D QT_MAJOR_VERSION=6               \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKDcrawQt6.so
Installerte Mapper: $KF6_PREFIX/include/KDcrawQt6 and $KF6_PREFIX/lib/cmake/KDcrawQt6

gwenview-25.08.3

Introduksjon til Gwenview

Gwenview er en rask og enkel å bruke bildeviser for KDE.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gwenview Avhengigheter

Påkrevd

Exiv2-0.28.7, kimageannotator-0.7.2, KDE Frameworks-6.20.0, og Little CMS-2.18

Anbefalt
Valgfri

plasma-activities-6.5.2 og CFitsio

Installasjon av Gwenview

Installer Gwenview ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: gwenview og gwenview_importer
Installerte Biblioteker: libgwenviewlib.so og gvpart.so
Installerte Mapper: $KF6_PREFIX/share/{gwenview,doc/HTML/*/gwenview}

Korte Beskrivelser

gwenview

er KDE bildeviser

gwenview_importer

er en foto importør

libkcddb-25.08.3

Introduksjon til libkcddb

libkcddb pakken inneholder et bibliotek som brukes til å hente lyd-CD metadata fra internett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libkcddb Avhengigheter

Påkrevd

KDE Frameworks-6.20.0

Anbefalt

Installasjon av libkcddb

Installer libkcddb ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -D QT_MAJOR_VERSION=6               \
      -W no-dev ..                        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libKCddb6.so
Installerte Mapper: $KF6_PREFIX/include/KCddb6 $KF6_PREFIX/lib/cmake/KCddb6 $KF6_PREFIX/share/doc/HTML/*/kcontrol

Korte Beskrivelser

libKCddb6.so

inneholder funksjoner som brukes til å hente lyd-CD metadata fra internett

k3b-25.08.3

Introduksjon til K3b

K3b pakken inneholder en KF6 basert grafisk grensesnitt til Cdrtools og dvd+rw-tools CD/DVD manipulasjonsverktøy. Den kombinerer også mulighetene til mange andre multimediepakker til et sentralt grensesnitt for å gi en enkel å betjene applikasjon som kan brukes til å håndtere mange av dine CD/DVD opptak og formateringskrav. Den brukes også til å lage lyd, data, video og CD-er med blandet modus som kopiering, ripping og brenning av CDer og DVDer.

Selv om k3b kan brukes til å kopiere nesten alle DVD til lignende medium, det gir ikke en måte å kopiere eller reprodusere en dobbeltlags DVD til enkeltlags medium. Selvfølgelig er det ikke et program hvor som helst på hvilken som helst plattform som kan lage en eksakt duplikat av en dobbeltlags DVD på en enkeltlags disk, er det programmer på noen plattformer som kan komprimere dataene på en dobbel-lags DVD for å passe på en enkeltlags DVD som produserer et duplikat, men komprimert, bilde. Hvis du trenger å kopiere innholdet på en dobbel-lags DVD til enkeltlags medium, kan du se på RMLCopyDVD pakken.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

K3b Avhengigheter

Påkrevd

KDE Frameworks-6.20.0, libkcddb-25.08.3, libsamplerate-0.2.2, og shared-mime-info-2.4

CD/DVD stasjonen oppdages ved kjøretid ved hjelp av UDisks-2.11.0, som derfor må installeres før kjøring av k3b.

Anbefalt
Valgfri Kjøretid

FFmpeg-8.0.1

Valgfri

FLAC-1.5.0, LAME-3.100, libmad-0.15.1b, libsndfile-1.2.2, libvorbis-1.3.7, og Musepack (libmpcdec)

Installasjon av K3b

Installer K3b ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev ..                        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: k3b
Installerte Biblioteker: libk3bdevice.so, libk3blib.so, og mange programtilleggsmoduler for de installerte avhengighetene
Installerte Mapper: $KF6_PREFIX/share/k3b and $KF6_PREFIX/share/doc/HTML/*/k3b

Korte Beskrivelser

k3b

er det grafiske CD/DVD programmet

Flere KDE pakker

Dette kapitlet ga ikke instruksjoner for alle de tilgjengelige pakkene i KDE programvarekompileringen. De inkluderte pakkene ble valgt basert på hva folk flest ønsker å bruke på en standard stasjonær datamaskin.

For en fullstendig liste over tilgjengelige pakker, ta en titt på KDE6 serverne på https://download.kde.org/stable/release-service/25.08.3/src.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Further_KDE_Packages

Noen ekstra pakker verdt å nevne er:

  • Juk: En lett musikkspiller.

  • Dragon: En videospiller.

  • Kcalc: En vitenskapelig kalkulator.

  • Kwalletmanager: En applikasjon for administrasjon av legitimasjon.

  • Marble: Et globalt kartprogram.

  • Spectacle: et program for skjermdumper.

  • En rekke (ca. 40) KDE spill inkludert: kpat, kfourinline, og kmines.

Notat

Noen pakker vil kreve ytterligere avhengigheter. Å bestemme hvilke avhengigheter som trengs, kjør fra toppen av kildetreet:

cmake -W no-dev -LH .

Merk at dette oppretter noen filer øverst i kildemappen, slik at det er bedre å pakket ut en ren kilde på nytt før du fortsetter til bygget.

De fleste av disse pakkene kan bygges med standard KDE6 instruksjoner:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Og som root bruker:

make install

Kapittel 32. KDE Plasma

KDE Plasma er et skrivebordsmiljø bygget med KDE Rammeverk og QML som kjører på toppen av en fullt maskinvareakselerert grafikkstabel ved hjelp av Qt, QtQuick og en OpenGL(-ES) scenegraf.

Ingen ekstra konfigurasjon er nødvendig før du bygger KDE Plasma fordi den bruker samme konfigurasjon som KDE Rammeverket bruker.

kirigami-addons-1.10.0

Introduksjon til kirigami-addons

Denne pakken inneholder qml tilleggsfiler for Kirigami rammeverket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

kirigami-addons Avhengigheter

Påkrevd

KDE Frameworks-6.20.0

Anbefalt

Installasjon av kirigami-addons

Installer kirigami-addons ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
       ..                                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: $KF6_PREFIX/lib/qml/org/kde/kirigamiaddons og $KF6_PREFIX/lib/cmake/KF6KirigamiAddons

pulseaudio-qt-1.7.0

Introduksjon til pulseaudio-qt

Denne pakken er en Qt-stil innpakker for PulseAudio-17.0. Den tillater spørring og manipulering av ulike PulseAudio objekter som Sinks, Sources og Streams. Den omslutter ikke hele funksjonssettet til libpulse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Konsole Avhengigheter

Påkrevd

KDE Frameworks-6.20.0 og PulseAudio-17.0

Installasjon av pulseaudio-qt

Installer pulseaudio-qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_PREFIX_PATH=$QT6DIR        \
      -D CMAKE_SKIP_INSTALL_RPATH=ON      \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      .. &&
make

Nå som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libKF6PulseAudioQt.so
Installerte Mapper: $KF6_PREFIX/lib/cmake/KF6PulseAudioQt og $KF6_PREFIX/include/KF6/KF6PulseAudioQt

Bygge Plasma

KDE Plasma er en samling pakker basert på toppen av KDE Rammeverket og QML. De implementerer KDE Skjermmiljø (Plasma).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Instruksjonene nedenfor bygger alle Plasma pakkene i et trinn ved å bruke et bashskript.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.kde.org/stable/plasma/6.5.2

  • Nedlasting MD5 sum: Se Under

  • Nedlastingsstørrelse: 304 MB

  • Estimert diskplass som kreves: 2.9 GB (690 MB installert)

  • Estimert byggetid: 18 SBU (bruke parallellisme=8)

Plasma Avhengigheter

Påkrevd

Boost-1.90.0, FFmpeg-8.0.1, GTK-3.24.51, KDE Frameworks-6.20.0, kirigami-addons-1.10.0, libdisplay-info-0.3.0, libpwquality-1.4.5, libqalculate-5.9.0, libnl-3.12.0, libxcvt-0.1.3, libxkbcommon-1.13.1, Mesa-25.3.5 bygget med Wayland-1.24.0, opencv-4.13.0, phonon-4.12.0, pipewire-1.4.10, pulseaudio-qt-1.7.0, qca-2.3.10, qcoro-0.12.0, sassc-3.6.2, taglib-2.1.1, xdotool-4.20251130.1, og Xorg Evdev Driver-2.11.0

Anbefalt
Anbefalt (kjøretid)
Valgfri

AppStream-1.1.2 (bygget med -qt=true), GLU-9.0.3, ibus-1.5.33, qtwebengine-6.10.2, KDevPlatform, libgps, libhybris, packagekit-qt, Qapt, SCIM, og socat (for pam_kwallet)

Nedlaste KDE Plasma

Den enkleste måten å få KDE Plasma pakkene på er å bruke en singel wget for å hente dem alle på en gang:

url=https://download.kde.org/stable/plasma/6.5.2/
wget -r -nH -nd -A '*.xz' -np $url

Alternativene som brukes her er:
  -r            gjentakelse gjennom undermapper
  -nH           deaktiver generering av vertsprefikserte mapper
  -nd           ikke lag et hierarki av mapper
  -A '*.xz'     bare hent *.xz filene
  -np           ikke hent overordnede mapper

Angi Pakkerekkefølge

Rekkefølgen på byggefiler er viktig på grunn av interne avhengigheter. Lag listen over filer i riktig rekkefølge som følger:

cat > plasma-6.5.2.md5 << "EOF"
58f04117211e972efd92f922c96055cd  kdecoration-6.5.2.tar.xz
1f4450689ccc7a9aa20198ac8dc0a6cc  libkscreen-6.5.2.tar.xz
e1be5d31ee907ac0ff175e545b0e0a30  libksysguard-6.5.2.tar.xz
9dbd57f1b956736dd5a9b7a8ea4c3bd1  breeze-6.5.2.tar.xz
59398dd08e6f618172a79090e25f387f  breeze-gtk-6.5.2.tar.xz
7b8cbb35f521ea0fb460c301fc8a9d81  layer-shell-qt-6.5.2.tar.xz
2ae4496598a51f6eaf2a9f5b3c302c77  plasma-activities-6.5.2.tar.xz
27f817a83adcc01813240921a76ab33f  libplasma-6.5.2.tar.xz
38d9e490d8d8208bee2b00c26f88cfef  kscreenlocker-6.5.2.tar.xz
e098b5e2d4c5a7616dbd6240240e5cab  kinfocenter-6.5.2.tar.xz
9af88b31a1c8342ea9e891e628c03626  kglobalacceld-6.5.2.tar.xz
5e1524efe19ca0a22e7c34d3c0042fb0  kwayland-6.5.2.tar.xz
69a421eb481108d2def1f0ccf4137199  aurorae-6.5.2.tar.xz
8777d0ef81794ff04571eae1c2d9dba3  knighttime-6.5.2.tar.xz
68fb57c18349cae5dc411ee8b7e9f654  kwin-x11-6.5.2.tar.xz
1ed01b28a32782eaa10b28bda811c784  kwin-6.5.2.tar.xz
aa362ec117c9a7dfff82ee871aafb75c  plasma5support-6.5.2.tar.xz
cbbda0dbafbd784916e9471c5fc8f6c0  plasma-activities-stats-6.5.2.tar.xz
7b30f4bd2c71d0f54ea1c3b873181323  kpipewire-6.5.2.tar.xz
a488661f1feaf83e86dbdcb964d1b827  plasma-workspace-6.5.2.tar.xz
86ae79614c7be2bcd4529cf86c94b4fc  plasma-disks-6.5.2.tar.xz
49bb09528e33905794b705deff553478  bluedevil-6.5.2.tar.xz
83ecf077f949a86ac8c6e1fd1134f3ea  kde-gtk-config-6.5.2.tar.xz
a852ab4c89356b47e428b8d7fe5711de  kmenuedit-6.5.2.tar.xz
efea3c5c9289680b3bc0028d7b857654  kscreen-6.5.2.tar.xz
3d07bbe0e668bcb30aa377f7b74d2474  kwallet-pam-6.5.2.tar.xz
2e6842536d8a8ff7f069a6dda61d65f6  kwrited-6.5.2.tar.xz
d304d603402df595a00171ec542c51de  milou-6.5.2.tar.xz
633148a8dd396c9afddcc5c8bcea117e  plasma-nm-6.5.2.tar.xz
90e562569589a7ccc9b9da6d8e18801b  plasma-pa-6.5.2.tar.xz
d9d3df0a1c397a9b291e185f676dcbe9  plasma-workspace-wallpapers-6.5.2.tar.xz
cc88a0ecc8daba609245136cb5359f06  polkit-kde-agent-1-6.5.2.tar.xz
147c57031bc1220465d4a6603a535b1c  powerdevil-6.5.2.tar.xz
29bb939ab84528a498b006ca2142a829  plasma-desktop-6.5.2.tar.xz
0ed8da3923d8c044d739f318ecabf05a  kgamma-6.5.2.tar.xz
3d2a784250aa4c782c5126275c5a6b58  ksshaskpass-6.5.2.tar.xz
#3cd4ebe01da73b50f772c2e4e5c518b4  plasma-sdk-6.5.2.tar.xz
767a80aa25321096693eb33a89449132  sddm-kcm-6.5.2.tar.xz
#4e403f30537fb87d942bc6292fa72513  discover-6.5.2.tar.xz
#7ea4c37754e831f2133d778cc3ba024b  breeze-grub-6.5.2.tar.xz
#75b0138b771d2776cf38c15ece7337c2  breeze-plymouth-6.5.2.tar.xz
748b8f9764bd61f0bc89e9bca057f2bc  kactivitymanagerd-6.5.2.tar.xz
0a411ba2ea20803316863915f7a1702d  plasma-integration-6.5.2.tar.xz
#18131058a667fda5bee9d45626fee6d2  plymouth-kcm-6.5.2.tar.xz
aac4e8bbd9d5cdf195488f9c6e13d7e0  xdg-desktop-portal-kde-6.5.2.tar.xz
56c7d0c55024bd43b5c14ff77e374631  drkonqi-6.5.2.tar.xz
5f318f2a7e7284c385ab30940002858d  plasma-vault-6.5.2.tar.xz
#72099f019b5f6835355ed05a15d0040d  plasma-browser-integration-6.5.2.tar.xz
89969215ac1123b112ac9ff325e7bb8a  kde-cli-tools-6.5.2.tar.xz
e1911d223164f6374bc5f24492b02832  systemsettings-6.5.2.tar.xz
f8e8ad0c0c5654abedd734c03b47cd2e  plasma-thunderbolt-6.5.2.tar.xz
#05af2d5b9b5a884698a59a2a6fbdde66  plasma-mobile-6.5.2.tar.xz
#1c265e16027a5fcbe44be6fb2fa63605  plasma-nano-6.5.2.tar.xz
5833d6717d40ef290959e013753cbae2  plasma-firewall-6.5.2.tar.xz
638f11e73f908e0220d4fabee932c9fc  plasma-systemmonitor-6.5.2.tar.xz
2848dcc8f8c7cf188919da3c55e373c9  qqc2-breeze-style-6.5.2.tar.xz
8f1d8564eb8134ecf203a47898a25190  ksystemstats-6.5.2.tar.xz
b4ce7000f5f96ad2d2439a97e632293a  oxygen-sounds-6.5.2.tar.xz
a00742176687fd7eae75084984ef754b  kdeplasma-addons-6.5.2.tar.xz
#76abe3c9f6abf7f68e96b8ee93f5b8b4  flatpak-kcm-6.5.2.tar.xz
1e094cc3ff5b8a056a20bda0fc10dace  plasma-welcome-6.5.2.tar.xz
86b168a0c06a0ba86c94e08bc09e42af  ocean-sound-theme-6.5.2.tar.xz
07df94e19e97f52775d31a35a0ecc60d  print-manager-6.5.2.tar.xz
d95d9304abd61952db9a29a2d8bfbbba  wacomtablet-6.5.2.tar.xz
#47f0fb5bf97ae5662f59ef0340edcc8c  kwayland-integration-6.5.2.tar.xz
#d0711337e89dfd43aec1d30970d2add8  krdp-6.5.2.tar.xz
ab37b5180696761079325fab2c9e269d  oxygen-6.5.2.tar.xz
#78074c45dc269f5593b310c385ca87af  plasma-dialer-6.5.2.tar.xz
#b83bf556dcf693215097d2c3b151aa88  spacebar-6.5.2.tar.xz
1b3e818d9662e3fd65923dc7af4ec273  spectacle-6.5.2.tar.xz
EOF

Om Utkommenterte Pakker

I listen ovenfor er flere filer kommentert ut med et hash tegn (#).

  • plasma-sdk pakken er valgfri og brukes til programvareutvikling.

  • discover pakken krever at AppStream-1.1.2 blir bygget med -D qt=true bryteren.

  • breeze-grub-, breeze-plymouth- og plymouth-kcm pakkene ovenfor er alle for tilpasset støtte for Plymouth som er designet for å kjøres innenfor en initial ram-disk under oppstart (se «Om initramfs»).

  • plasma-browser-integration er designet for å implementere nettleserintegrasjon for Plasma i Mozilla Firefox og Google Chrome. Pakken bygger, men er bare nyttig hvis du vil at disse nettleserne skal integreres i skallet på en måte som tillater at du ser (og kontrollerer) nedlastinger fra Plasmas varslingsområde, i tillegg til at du kan søke i nettleserhistorikken i KDE Runner. Merk at du også må installere en nettleserutvidelse for dette for å fungere. For flere detaljer, se the KDE Plasma wiki page about browser integration.

  • krdp pakken brukes til å tillate at en RDP server kjøres mens plasma brukes. Denne funksjonen krever 2.x-versjonen av FreeRDP, som ikke er i BLFS.

  • plasma-nano pakken brukes til innebygde systemer.

  • Plasma-mobil-, plasma-dialer og spacebar pakkene gi telefonfunksjonalitet for plasma.

  • flatpak-kcm pakken er for å administrere støtte for flatpak applikasjoner.

  • Kwayland-integrasjonsapplikasjonen krever plasma5 støtte.

Installasjon av Plasma

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

while read -r line; do

    # Get the file name, ignoring comments and blank lines
    if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
    file=$(echo $line | cut -d" " -f2)

    pkg=$(       echo $file|sed 's|^.*/||')    # Remove directory
    name=$(      echo $pkg |sed 's|-6.*$||')   # Isolate package name
    packagedir=$(echo $pkg |sed 's|\.tar.*||') # Source directory

    tar -xf $file
    pushd $packagedir

       mkdir build
       cd    build

       cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
             -D CMAKE_INSTALL_LIBEXECDIR=libexec \
             -D CMAKE_BUILD_TYPE=Release         \
             -D BUILD_QT5=OFF                    \
             -D BUILD_TESTING=OFF                \
             -W no-dev ..  &&

        make
        as_root make install
    popd


    as_root rm -rf $packagedir
    as_root /sbin/ldconfig

done < plasma-6.5.2.md5

exit

Hvis du ikke satte $KF6_PREFIX til /usr, lage symbolkoblinger for å tillate skjermbehandlere å finne Plasma, og for å tillate XDG Desktop Portal å bli oppdaget. Som root bruker:

# Setup xsessions (X11 sessions)
install -dvm 755 /usr/share/xsessions
cd /usr/share/xsessions

[ -e plasma.desktop ] ||
ln -sfv $KF6_PREFIX/share/xsessions/plasmax11.desktop 

# Setup wayland-sessions 
install -dvm 755 /usr/share/wayland-sessions
cd /usr/share/wayland-sessions

[ -e plasmawayland.desktop ] ||
ln -sfv $KF6_PREFIX/share/wayland-sessions/plasma.desktop

# Setup xdg-desktop-portal
install -dvm 755 /usr/share/xdg-desktop-portal
cd /usr/share/xdg-desktop-portal 

[ -e kde-portals.conf ] ||
ln -sfv $KF6_PREFIX/share/xdg-desktop-portal/kde-portals.conf

# Setup kde portal
install -dvm 755 /usr/share/xdg-desktop-portal/portals
cd /usr/share/xdg-desktop-portal/portals

[ -e kde.portal ] ||
ln -sfv $KF6_PREFIX/share/xdg-desktop-portal/portals/kde.portal

Ubrukelige systemd enheter er installert i $KF6_PREFIX/lib. Fjern dem nå (som root):

rm -rf $KF6_PREFIX/lib/systemd

Konfigurere Plasma

Linux PAM Konfigurasjon

Hvis du bygget Plasma med den anbefalte Linux PAM støtten, opprett nødvendige konfigurasjonsfiler ved å kjøre følgende kommandoer som root bruker:

cat > /etc/pam.d/kde << "EOF"
# Begin /etc/pam.d/kde

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     include        system-auth

account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/kde
EOF

cat > /etc/pam.d/kde-np << "EOF"
# Begin /etc/pam.d/kde-np

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     required       pam_permit.so

account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/kde-np
EOF

cat > /etc/pam.d/kscreensaver << "EOF"
# Begin /etc/pam.d/kscreensaver

auth    include system-auth
account include system-account

# End /etc/pam.d/kscreensaver
EOF

Starte Plasma

Du kan starte Plasma fra kjørenivå 3, ved hjelp av xinit-1.4.4, eller fra kjørenivå 5, ved å bruke en Skjermbehandler, som for eksempel lightdm-1.32.0.

For å starte Plasma ved bruk av xinit-1.4.4, kjør følgende kommandoer:

cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 $KF6_PREFIX/bin/startplasma-x11
EOF

startx

X økten starter på den første ubrukte virtuelle terminalen, normalt vt7. Du kan bytte til en annen vtn samtidig med å trykke på tastene Ctrl-Alt-Fn (n=1, 2, ...). For å bytte tilbake til X økten, vanligvis startet på vt7, bruk Ctrl-Alt-F7. Vt hvor kommandoen startx ble utført vil vise mange meldinger, inkludert X startmeldinger, applikasjoner startet automatisk med økten, og til slutt noen advarsler og feilmeldinger. Du kan foretrekke å omdirigere disse meldingene til en loggfil, som ikke bare vil beholde den innledende vt ryddig, men kan også brukes til feilsøkingsformål. Dette kan gjøres fra X med:

startx &> ~/x-session-errors

Når du slår av eller starter på nytt, vises avslutningsmeldingene på vt hvor X kjørte. Hvis du ønsker å se disse meldingene, samtidig trykk på tastene Alt-F7 (forutsatt at X kjørte på vt7).

Innhold

Installerte Programmer: Det er for mange plasma programmer (over 50 i /opt/kf6/bin) til å ramse opp separat her.
Installerte Biblioteker: Det er for mange plasma biblioteker (over 250 i /opt/kf6/lib) til å ramse opp separat her.
Installerte Mapper: Det er for mange plasma mapper (over 2700 i /opt/kf6) til å ramse opp separat her.

Del VIII. GNOME

Kapittel 33. GNOME Biblioteker og Skrivebord

Målet med denne delen er å bygge et GNOME skrivebord.

For øyeblikket er det kjent at GNOME 49 på SysV systemer er ødelagt på grunn av manglende brukertjenestefunksjonalitet. Dette avhenger av en daemon som vil bli skrevet i desember når det er mer utviklertid å sette av til nye prosjekter. Vennligst avstå fra å sende feilrapporter hvis du prøver å bygge GNOME på et SysV system. Merk at applikasjoner ikke påvirkes.

Biblioteker

Gcr-3.41.2

Introduksjon til Gcr

Gcr pakken inneholder biblioteker som brukes for visning av sertifikater og tilgang til nøkkellagre. Det gir også viseren for kryptofiler på GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gcr Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt), libgcrypt-1.12.0, og p11-kit-0.26.2

Anbefalt
Valgfri

Gi-DocGen-2026.1 og Valgrind-3.26.0

Installasjon av Gcr

Først, bruk en løsning for bygging uten OpenSSH installert:

sed '/ssh.add/d; /ssh.agent/d' -i meson.build

Installer Gcr ved å kjøre følgende kommandoer:

sed -i 's:"/desktop:"/org:' schema/*.xml &&

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D gtk_doc=false    \
            -D ssh_agent=false  \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed -e "/install_dir/s@,\$@ / 'gcr-3.41.2'&@" \
    -i ../docs/*/meson.build                  &&
meson configure -D gtk_doc=true               &&
ninja

For å teste resultatene, kjør: ninja test. Testene skal kjøres fra en X Terminal eller lignende.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D ssh_agent=false: Deaktiver ssh-agent implementeringen fra denne pakken. Denne implementeringen er ikke fullført og implementeringen fra Gcr-4.4.0.1 bør brukes i stedet for GNOME.

-D gtk=false: Bruk denne bryteren hvis du ikke har installert GTK-3.24.51. Merk at gcr-viewer vil ikke bli installert hvis dette alternativet brukes.

-D gtk_doc=true: Tillat å bygge denne pakken uten Gi-DocGen-2026.1 installert. Hvis du har Gi-DocGen-2026.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, meson configure kommandoen vil tilbakestille dette alternativet.

Innhold

Installert Program: gcr-viewer
Installerte Biblioteker: libgck-1.so, libgcr-base-3.so og libgcr-ui-3.so
Installerte Mapper: /usr/include/gck-1, /usr/include/gcr-3, og /usr/share/gtk-doc/html/{gcr,gck}

Korte Beskrivelser

gcr-viewer

brukes til å vise sertifikater og nøkkelfiler

libgck-1.so

inneholder GObject bindinger for PKCS#11

Gcr-4.4.0.1

Introduksjon til Gcr

Gcr pakken inneholder biblioteker som brukes for visning av sertifikater og tilgang til nøkkellagre. Det gir også viseren for kryptofiler på GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gcr Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt), libgcrypt-1.12.0, p11-kit-0.26.2

Anbefalt
Valgfri

Gi-DocGen-2026.1, GnuTLS-3.8.12, OpenSSH-10.2p1, og Valgrind-3.26.0

Installasjon av Gcr

Notat

Både gcr-3 og gcr-4 kan installeres samtidig. Denne versjonen av pakken brukes til å støtte GTK-4 applikasjoner, som f.eks gnome-shell-49.4 og Epiphany-49.2.

Installer Gcr ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D gtk_doc=false    \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed -e "/install_dir/s@,\$@ / 'gcr-4.4.0.1'&@" \
    -i ../docs/*/meson.build                 &&
meson configure -D gtk_doc=true              &&
ninja

For å teste resultatene, kjør: ninja test. Testene skal kjøres fra en X Terminal eller lignende.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtk4=false: Bruk denne bryteren hvis du ikke har installert GTK-4.20.3. Merk at gcr-viewer-gtk4 vil ikke bli installert hvis dette sendes til meson.

-D gtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2026.1 installert. Hvis du har Gi-DocGen-2026.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, meson configure kommandoen vil tilbakestille dette alternativet.

-D crypto=gnutls: Bruk denne bryteren hvis du har GnuTLS-3.8.12 installert og ønsker å bruke den i stedet for libgcrypt-1.12.0.

Innhold

Installert Program: gcr-viewer-gtk4
Installerte Biblioteker: libgck-2.so, libgcr-4.so
Installerte Mapper: /usr/include/gck-2, /usr/include/gcr-4, og /usr/share/gtk-doc/html/{gcr,gck}

Korte Beskrivelser

gcr-viewer-gtk4

brukes til å vise sertifikater og nøkkelfiler

libgck-2.so

inneholder GObject bindinger for PKCS#11

libgcr-4.so

inneholder funksjoner for tilgang til nøkkellagre og visning av sertifikater

gsettings-desktop-schemas-49.1

Introduksjon til GSettings Skrivebordsskjemaer

GSettings Skrivebordsskjemaer pakken inneholder en samling av GSettings skjemaer for innstillinger som deles av forskjellige komponenter av GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GSettings Skrivebordsskjemaer Avhengigheter

Påkrevd

GLib-2.86.4 (med GObject Introspection)

Installasjon av GSettings Skrivebordsskjemaer

Installer GSettings Skrivebordsskjemaer ved å kjøre følgende kommandoer:

sed -i -r 's:"(/system):"/org/gnome\1:g' schemas/*.in &&

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

Parameterforklaringer

sed ... schemas/*.in: Denne kommandoen fikser noen utdaterte oppføringer i skjemamalene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/gsettings-desktop-schemas og /usr/share/GConf/gsettings

libsecret-0.21.7

Introduksjon til libsecret

libsecret pakken inneholder en GObject basert bibliotek for tilgang til Secret Service API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libsecret Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt)

Anbefalt
Valgfri

Gi-DocGen-2026.1 og docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.45 (for å bygge manualsider), Valgrind-3.26.0 (kan bli brukt i tester), og tpm2-tss (for TPM støtte)

Valgfri (Nødvendig for testpakken)

D-Bus Python-1.4.0, Gjs-1.86.0, og PyGObject-3.54.5

Påkrevd Kjøretids Avhengighet

gnome-keyring-48.0

Notat

Enhver pakke som krever libsecret forventer at GNOME Keyring er tilstede under kjøring.

Installasjon av libsecret

Installer libsecret ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D gtk_doc=false    \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s/api_version_major/'0.21.7'/"            \
    -i ../docs/reference/libsecret/meson.build &&
meson configure -D gtk_doc=true                &&
ninja

Nå, som root bruker:

ninja install

For å teste resultatene, kjør: dbus-run-session ninja test.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2026.1 installert. Hvis du har Gi-DocGen-2026.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, meson configure kommandoen vil tilbakestille dette alternativet.

-D manpage=false: Bruk denne bryteren hvis du ikke har installert libxslt-1.1.45 og DocBook pakker.

-D crypto=gnutls: Bruk denne bryteren hvis du vil bruke GnuTLS-3.8.12 for kryptografi i stedet for libgcrypt-1.12.0.

-D crypto=disabled: Bruk denne bryteren hvis du ikke har GnuTLS-3.8.12 eller libgcrypt-1.12.0 installert. Merk at deaktivering av transport kryptering støtte ved å gjøre dette anbefales ikke.

Innhold

Installert Program: secret-tool
Installert Bibliotek: libsecret-1.so
Installerte Mapper: /usr/include/libsecret-1 og /usr/share/doc/libsecret-0.21.7

Korte Beskrivelser

secret-tool

er et kommandolinjeverktøy som kan brukes til å lagre og hente passord

libsecret-1.so

inneholder libsecret API funksjoner

librest-0.10.2

Introduksjon til librest

librest pakken inneholder et bibliotek som er designet for å gjøre det enklere å få tilgang til webtjenester som hevder å være "RESTful". Det inkluderer praktiske innpakninger for libsoup og libxml for å gjør ekstern bruk av RESTful API enklere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

librest Avhengigheter

Påkrevd

JSON-GLib-1.10.8, libsoup-3.6.5, og make-ca-1.16.1

Anbefalt
Valgfri

Gi-DocGen-2026.1, libadwaita-1.8.4 og gtksourceview5-5.18.0 (for å bygge demoen), og Vala-0.56.18

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av librest

Installer librest ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D examples=false   \
            -D gtk_doc=false    \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/output/s/librest-1.0/librest-0.10.2/" -i ../docs/meson.build &&
meson configure -D gtk_doc=true                                    &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2026.1 installert. Hvis du har Gi-DocGen-2026.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, meson configure kommandoen vil tilbakestille dette alternativet.

-D examples=false: Fjern dette alternativet hvis libadwaita-1.8.4 og gtksourceview5-5.18.0 er installert og du ønsker å bygge demonstrasjonsapplikasjonen som følger med denne pakken.

-D vapi=true: Bruk denne bryteren hvis Vala-0.56.18 er installert og du ønsker å bygge Vala bindingene gitt av denne pakken.

Innhold

Installerte Programmer: librest-demo (valgfri)
Installerte Biblioteker: librest-1.0.so og librest-extras-1.0.so
Installerte Mapper: /usr/include/rest-1.0 og /usr/share/gtk-doc/html/librest-0.10.2

Korte Beskrivelser

librest-demo

gir et eksempel på hvordan du bruker RESTful Web API Query funksjoner

librest-1.0.so

inneholder RESTful Web API Query funksjoner

librest-extras-1.0.so

inneholder ekstra RESTful Web API Query funksjoner

totem-pl-parser-3.26.6

Introduksjon til Totem PL Analyser

Totem PL Analyser pakken inneholder en enkel GObject basert bibliotek som brukes til å analysere flere spillelisteformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Totem PL Analyser Avhengigheter

Anbefalt
Valgfri

CMake-4.2.3, GTK-Doc-1.35.1, Gvfs-1.58.1 (for noen tester), LCOV, og libquvi >= 0.9.1 og libquvi-scripts - hvis de er installert, da er lua-socket (git) nødvendig for testene

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av Totem PL Analyser

Installer Totem PL Analyser ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test. Testen navngitt parser er kjent for å mislykkes.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libtotem-plparser-mini.so og libtotem-plparser.so
Installerte Mapper: /usr/include/totem-pl-parser og /usr/share/gtk-doc/html/totem-pl-parser

Korte Beskrivelser

libtotem-plparser.so

er Totem Spilleliste Analyse biblioteket

libtotem-plparser-mini.so

er Totem Spilleliste Analyse biblioteket, miniversjon

VTE-0.82.3

Introduksjon til VTE

VTE pakken inneholder en virtuell terminal skjermelement for GTK applikasjoner..

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

VTE Avhengigheter

Påkrevd

libxml2-2.15.1

Anbefalt
Valgfri

Gi-DocGen-2026.1, både git-2.53.0 og make-ca-1.16.1 (for nedlasting av kopier av fast_float, fmt og simdutf hvis disse anbefalte avhengighetene ikke er installert)

Installasjon av VTE

Installer VTE ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D _systemd=false   &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed -e "/docdir =/s@\$@/ 'vte-0.82.3'@" \
    -i ../doc/reference/meson.build     &&
meson configure -D docs=true            &&
ninja

For å teste resultatene, kjør ninja test.

Nå, som root bruker:

ninja install &&
rm -v /etc/profile.d/vte.*

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

rm -v /etc/profile.d/vte.*: Denne kommandoen fjerner to filer installert i /etc/profile.d som ikke har noen bruk på et LFS system.

-D gnutls=false: Legg til denne bryteren hvis du ikke ønsker å aktivere GnuTLS støtte.

-D vapi=false: Legg til denne bryteren hvis du ikke ønsker å aktivere vala bindinger.

-D gtk3=false: Legg til denne bryteren hvis du ikke vil bygge GTK-3 versjonen av VTE.

-D gtk4=false: Legg til denne bryteren hvis du ikke vil bygge GTK-4 versjonen av VTE.

Innhold

Installert Program: vte-2.91 og vte-2.91-gtk4
Installert Bibliotek: libvte-2.91.so og libvte-2.91-gtk4.so
Installerte Mapper: /usr/include/vte-2.91, /usr/include/vte-2.91-gtk4, og (optional) /usr/share/doc/vte-0.82.3

Korte Beskrivelser

vte-2.91

er en testapplikasjon for VTE biblioteker

vte-2.91-gtk4

er en testapplikasjon for GTK-4 versjonen av VTE bibliotekene

libvte-2.91.so

er et bibliotek som implementerer en terminalemulator skjermelement for GTK+ 3

libvte-2.91-gtk4.so

er et bibliotek som implementerer en terminalemulator skjermelement for GTK-4

yelp-xsl-49.0

Introduksjon til Yelp XSL

Yelp XSL pakken inneholder XSL stilark som brukes av Yelp for å hjelpe nettleseren til å formatere Docbook og Mallard dokumenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Yelp XSL Avhengigheter

Påkrevd

libxslt-1.1.45 og itstool-2.0.7

Installasjon av Yelp XSL

Installer Yelp XSL ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/yelp-xsl

geocode-glib-3.26.4

Introduksjon til Geocode GLib

Geocode GLib er et praktisk bibliotek for Yahoo! Place Finder APIer. Netttjenesten Place Finder tillater at du kan gjøre geokoding (finne lengde- og breddegrad fra en adresse), samt omvendt geokoding (finne en adresse fra koordinater).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Geocode GLib Avhengigheter

Påkrevd

JSON-GLib-1.10.8 og libsoup-3.6.5

Anbefalt
Valgfri

GTK-Doc-1.35.1

Installasjon av Geocode GLib

Installer Geocode GLib ved å kjøre følgende kommandoer:

mkdir build                   &&
cd    build                   &&

meson setup --prefix=/usr           \
            --buildtype=release     \
            -D enable-gtk-doc=false \
            -D soup2=false          \
            ..                      &&
ninja

For å teste resultatene, kjør: LANG=C ninja test. En test mislykkes fordi den trenger sv_SE.utf8 lokalitet, som ikke er installert som standard i LFS.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D enable-gtk-doc=false: La denne pakken bli bygget uten GTK-Doc-1.35.1. Fjern denne parameteren hvis GTK-Doc-1.35.1 er installert og du ønsker å bygge om og installere API dokumentasjonen.

-D soup2=false: Denne bryteren tvinger denne pakken til å bruke libsoup-3 for HTTP forespørsler i stedet for libsoup-2. Pakkene i BLFS som bruker geocode-glib forventer nå at libsoup-3 blir brukt.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgeocode-glib-2.so
Installerte Mapper: /usr/include/geocode-glib-2.0, /usr/libexec/installed-tests/geocode-glib, /usr/share/icons/gnome/scalable/places, og /usr/share/gtk-doc/html/geocode-glib

Korte Beskrivelser

libgeocode-glib-2.so

inneholder Geocode GLib API funksjoner

Gjs-1.86.0

Introduksjon til Gjs

Gjs er et sett med Javascript bindinger for GNOME.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gjs Avhengigheter

Påkrevd

Cairo-1.18.4, dbus-1.16.2, GLib-2.86.4 (med GObject Introspection), og SpiderMonkey from Firefox-140.7.0

Valgfri (for tester)
Valgfri

DTrace, LCOV, sysprof, og Systemtap

Installasjon av Gjs

Installer Gjs ved å kjøre følgende kommandoer:

mkdir gjs-build &&
cd    gjs-build &&

meson setup --prefix=/usr          \
            --buildtype=release    \
            --wrap-mode=nofallback \
            ..                     &&
ninja

For å teste resultatene, sørge for at både GTK-3.24.51 og GTK-4.20.3 er installert og utsted: ninja test i en grafisk økt.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

--wrap-mode=nofallback: Denne bryteren forhindrer meson fra å bruke delprosjektets tilbakefall for evt avhengighetserklæringer i byggefilene, og forhindrer det å laste ned eventuell valgfrie avhengigheter som ikke er installert på systemet.

-D profiler=disabled: Denne bryteren forhindrer bygging av profiler bakstykket selv om sysprof er installert.

Innhold

Installerte Programmer: gjs (symbolkobling) og gjs-console
Installert Bibliotek: libgjs.so
Installerte Mapper: /usr/include/gjs-1.0, /usr/lib/gjs, /usr/libexec/installed-tests/gjs, /usr/share/gjs-1.0, og /usr/share/installed-tests/gjs

Korte Beskrivelser

gjs-console

inneholder en konsoll for å kjøre JavaScript kommandoer

libgjs.so

inneholder GNOME JavaScript bindinger

gnome-autoar-0.4.5

Introduksjon til gnome-autoar

gnome-autoar pakken gir et rammeverk for automatisk arkivutpakking, komprimering og administrasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gnome-autoar Avhengigheter

Påkrevd

libarchive-3.8.5 og GTK-3.24.51

Anbefalt
Valgfri

GTK-Doc-1.35.1 (for bygging av dokumenter)

Installasjon av gnome-autoar

Installer gnome-autoar ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D vapi=true        \
            -D tests=true       \
            ..                  &&
ninja

For å teste resultatene, kjør: ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtk_doc=true: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgnome-autoar-0.so og libgnome-autoar-gtk-0.so
Installerte Mapper: /usr/include/gnome-autoar-0 og /usr/share/gtk-doc/html/gnome-autoar

Korte Beskrivelser

libgnome-autoar-0.so

gir API funksjoner for automatisk arkivbehandling

libgnome-autoar-gtk-0.so

gir GTK+ skjermelementer for å hjelpe til med automatisk arkivbehandling

gnome-desktop-44.5

Introduksjon til GNOME Skrivebord

GNOME Skrivebord pakken inneholder et bibliotek som gir en API som deles av flere applikasjoner på GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Skrivebord Avhengigheter

Påkrevd

gsettings-desktop-schemas-49.1, ISO Codes-4.20.1, libseccomp-2.6.0, og xkeyboard-config-2.46

Anbefalt
Valgfri

itstool-2.0.7, GTK-Doc-1.35.1, og libxkbcommon-1.13.1

Installasjon av GNOME Skrivebord

Installer GNOME Skrivebord ved å kjøre å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr         \
            --buildtype=release   \
            -D desktop_docs=false \
            ..                    &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D desktop_docs=false: Dette tillater bygging av pakken uten itstool-2.0.7 ved å deaktivere installasjonen av kopier og oversettelser av GNU FDL, GPL og LGPL lisensene.

-D build_gtk4=false: Bruk dette alternativet hvis du ønsker å bygge denne pakken uten GTK-4.20.3 installert. Merk at det sannsynligvis vil føre til at GTK-4 applikasjoner som er avhengig av denne pakken ikke kan bygges.

-D legacy_library=false: Bruk dette alternativet hvis du ønsker å bygge denne pakken uten GTK-3.24.51 installert. Merk at det sannsynligvis vil føre til at GTK-3 applikasjoner som er avhengig av denne pakken ikke kan bygges.

-Dgtk_doc=true: Bruk denne parameter hvis du ønsker å bygge API dokumentasjonen.

-Dinstalled_tests=true: Bruk denne parameter du ønsker for å aktivere de installerte testene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgnome-bg-4.so, libgnome-desktop-3.so, libgnome-desktop-4.so, og libgnome-rr-4.so
Installerte Mapper: /usr/include/gnome-desktop-3.0, /usr/include/gnome-desktop-4.0, /usr/libexec/gnome-desktop-debug, /usr/share/gtk-doc/html/gnome-desktop3 (vakgfri), og /usr/share/help/*/{fdl,gpl,lgpl} (valgfri)

Korte Beskrivelser

libgnome-desktop-3.so

inneholder funksjoner som deles av flere GNOME applikasjoner

gnome-menus-3.38.1

Introduksjon til GNOME Menyer

GNOME Menyer pakken inneholder en implementering av utkastet Desktop Menu Specification fra freedesktop.org. Det inneholder også GNOME konfigurasjon av menyoppsett filer og .directory filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Menyer Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt)

Installasjon av GNOME Menyer

Installer GNOME Menyer ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgnome-menu-3.so
Installerte Mapper: /etc/xdg/menus, /usr/include/gnome-menus-3.0, og /usr/share/desktop-directories

Korte Beskrivelser

libgnome-menu-3.so

inneholder funksjoner som kreves for å støtte GNOME sin implementering av Desktop Menu Specification

gnome-online-accounts-3.56.4

Introduksjon til GNOME Nettkontoer

GNOME Nettkontoer pakken inneholder en rammeverk som brukes for å få tilgang til brukerens nettkontoer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Nettkontoer Avhengigheter

Påkrevd

Gcr-4.4.0.1, JSON-GLib-1.10.8, libadwaita-1.8.4, librest-0.10.2, og Vala-0.56.18

Anbefalt
Valgfri

Gi-DocGen-2026.1, keyutils-1.6.3, MIT Kerberos V5-1.22.2, og Valgrind-3.26.0

Installasjon av GNOME Nettkontoer

Notat

Google API nøkkelen og OAuth tokenene nedenfor er spesifikke for LFS. Hvis du bruker disse instruksjonene for en annen distro, eller hvis du har tenkt å distribuere binære kopier av programvaren ved å bruke disse instruksjonene, hent dine egne nøkler ved å følge instruksjonene på https://www.chromium.org/developers/how-tos/api-keys.

Installer GNOME Nettkontoer ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup                                            \
      --prefix=/usr                                    \
      --buildtype=release                              \
      -D documentation=false                           \
      -D kerberos=false                                \
      -D google_client_secret=5ntt6GbbkjnTVXx-MSxbmx5e \
      -D google_client_id=595013732528-llk8trb03f0ldpqq6nprjp1s79596646.apps.googleusercontent.com \
      .. &&
ninja

Hvis du har installert Gi-DocGen-2026.1 og du ønsker å bygge og installere API dokumentasjonen for denne pakken, utsted:

meson configure -D documentation=true &&
sed "s/project_name()/& + '-' + meson.project_version()/" \
    -i ../doc/meson.build &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D google_*: Disse bryterne setter BLFS OAuth ID og hemmelighet for Google tjenester.

-D kerberos=true: Bruk denne bryteren hvis du har installert MIT Kerberos V5-1.22.2 og ønsker å bruke den med GNOME Nettkontoer.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgoa-1.0.so og libgoa-backend-1.0.so
Installerte Mapper: /usr/include/goa-1.0, /usr/lib/goa-1.0, og /usr/share/doc/gnome-online-accounts-3.56.4 (valgfri)

Korte Beskrivelser

libgoa-1.0.so

inneholder GNOME Nettkontoer API funksjoner

libgoa-backend-1.0.so

inneholder funksjoner som brukes av GNOME Nettkontoer bakstykker

libgee-0.20.8

Introduksjon til libgee

libgee pakken er et samlingsbibliotek som gir GObject baserte grensesnitt og klasser for ofte brukte datastrukturer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libgee Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt) og Vala-0.56.18

Valgfri

LCOV

Installasjon av libgee

Installer libgee ved å kjøre følgende kommandoer:

./configure --prefix=/usr --enable-vala &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgee-0.8.so
Installert Mappe: /usr/include/gee-0.8

Korte Beskrivelser

libgee-0.8.so

inneholder libgee API funksjoner

libgtop-2.41.3

Introduksjon til libgtop

libgtop pakken inneholder et bibliotek for tilgang til systemytelsesdata.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libgtop Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection anbefalt) og Xorg Biblioteker

Valgfri

GTK-Doc-1.35.1

Installasjon av libgtop

Installer libgtop ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: libgtop_daemon2 og libgtop_server2
Installert Bibliotek: libgtop-2.0.so
Installerte Mapper: /usr/include/libgtop-2.0 og /usr/share/gtk-doc/html/libgtop

Korte Beskrivelser

libgtop-2.0.so

inneholder funksjoner som gir tilgang til systemets ytelsesdata

libgweather-4.4.4

Introduksjon til libgweather

libgweather pakken er et bibliotek som brukes for å få tilgang til værinformasjon fra netttjenester for mange steder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

libgweather Avhengigheter

Påkrevd

geocode-glib-3.26.4, libsoup-3.6.5, og PyGObject-3.54.5

Anbefalt
Valgfri

Gi-DocGen-2026.1 (gi-docgen leveres også som meson delprosjekt, som vil bli brukt hvis -D gtk_doc=false ikke er overført til meson), LLVM-21.1.8 (for clang-format), og pylint

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av libgweather

Løs et problem i de sendte geolokaliseringsdataene:

patch -Np1 -i ../libgweather-4.4.4-upstream_fix-1.patch

Installer libgweather ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D gtk_doc=false    \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s/libgweather_full_version/'libgweather-4.4.4'/" \
    -i ../doc/meson.build                             &&
meson configure -D gtk_doc=true                       &&
ninja

En test trenger at lokalitetsfilene er installert på systemet, så det er bedre å kjøre testene etter at du har installert pakken.

Nå, som root bruker:

ninja install

For å teste resultatene, kjør: LC_ALL=C ninja test.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2026.1 installert. Hvis du har Gi-DocGen-2026.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, meson configure kommandoen vil tilbakestille dette alternativet.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgweather-4.so
Installerte Mapper: /usr/lib/libgweather-4, /usr/include/libgweather-4.0, /usr/share/gtk-doc/html/libgweather-4.0 (optional), og /usr/share/libgweather-4

Korte Beskrivelser

libgweather-4.so

inneholder funksjoner som gjør det mulig å hente ut vær informasjon

libpeas-1.36.0

Introduksjon til libpeas

libpeas er en GObject basert programtilleggs motor, og er rettet mot å gi enhver applikasjon sjansen å anta sin egen utvidbarhet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libpeas Avhengigheter

Påkrevd

GLib-2.86.4 (med GObject Introspection) og GTK-3.24.51

Anbefalt
Valgfri

Gi-DocGen-2026.1, Glade, embed, LGI (for LUA bindinger, bygget med LUA-5.1), med enten luajit-20260213 eller LUA-5.1

Installasjon av libpeas

Installer libpeas ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr          \
            --buildtype=release    \
            --wrap-mode=nofallback \
            -D python3=false       \
            ..                     &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/docs_dir =/s@\$@/ 'libpeas-1.36.0'@" \
    -i ../docs/reference/meson.build       &&
meson configure -D gtk_doc=true            &&
ninja

For å teste resultatene, kjør: ninja test. En aktiv grafisk økt med bussadresse er nødvendig for å kjøre testene.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

--wrap-mode=nofallback: Denne bryteren forhindrer meson fra å bruke delprosjektets tilbakefall for evt avhengighetserklæringer i byggefilene, og forhindrer det å laste ned eventuell valgfrie avhengigheter som ikke er installert på systemet.

-D python3=false: Denne bryteren deaktiverer Python programtillegglaster fordi den er inkompatibel med pygobject-3.52.x, og den vil føre til at programmer som laster inn Python-plugins henger på ubestemt tid.

-D vapi=true: Legg til denne bryteren hvis du ønsker å generere vapi (vala) data.

-D demos=false: Legg til denne bryteren hvis du ikke ønsker å bygge demoprogrammene.

Innhold

Installert Program: peas-demo
Installerte Biblioteker: libpeas-1.0.so og libpeas-gtk-1.0.so
Installerte Mapper: /usr/include/libpeas-1.0, /usr/lib/libpeas-1.0, /usr/lib/peas-demo og /usr/share/gtk-doc/html/libpeas (valgfri)

Korte Beskrivelser

peas-demo

er Peas demoprogrammet

libpeas-1.0.so

inneholder libpeas API funksjoner

libpeas-gtk-1.0.so

inneholder libpeas GTK+ skjermelement

libshumate-1.5.3

Introduksjon til libshumate

libshumate pakken inneholder et GTK-4 skjermelement for å vise kart.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libshumate Avhengigheter

Påkrevd

GTK-4.20.3, libsoup-3.6.5, og Protobuf-c-1.5.2

Anbefalt
Valgfri

Gi-DocGen-2026.1, Valgrind-3.26.0, og sysprof

Installasjon av libshumate

Installer libshumate ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr          \
            --buildtype=release    \
            --wrap-mode=nodownload \
            -D gtk_doc=false       \
            ..                     &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed -e 's/lib_version/version/' \
    -i ../docs/meson.build      &&
meson configure -D gtk_doc=true &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

--wrap-mode=nodownload: Denne bryteren forhindrer meson fra å nedlaste valgfrie avhengigheter som ikke er installert på systemet.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libshumate-1.0.so
Installerte Mapper: /usr/include/shumate-1.0 and /usr/share/doc/libshumate-1.5.3 (valgfri)

Korte Beskrivelser

libshumate-1.0.so

inneholder funksjoner som gir et GTK-4 skjermelement for å vise kart

evolution-data-server-3.58.3

Introduksjon til Evolution Dataserver

Evolution Data Server pakken gir et enhetlig bakstykke for programmer som fungerer med kontakter, oppgaver og kalender informasjon. Den ble opprinnelig utviklet for Evolution (derav navnet), men brukes nå av andre pakker også.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Evolution Dataserver Avhengigheter

Påkrevd

libical-3.0.20, libsecret-0.21.7, og nss-3.120

Anbefalt
Anbefalt (Kjøretid)
Valgfri

GTK-Doc-1.35.1, MIT Kerberos V5-1.22.2, en MTA (som gir en sendmail kommando), OpenLDAP-2.6.12, Berkeley DB (deprecated), og libphonenumber

Installasjon av Evolution Dataserver

Installer Evolution Dataserver ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr  \
      -D SYSCONF_INSTALL_DIR=/etc   \
      -D ENABLE_VALA_BINDINGS=ON    \
      -D ENABLE_INSTALLED_TESTS=ON  \
      -D WITH_OPENLDAP=OFF          \
      -D WITH_KRB5=OFF              \
      -D ENABLE_INTROSPECTION=ON    \
      -D ENABLE_GTK_DOC=OFF         \
      -D WITH_LIBDB=OFF             \
      -D WITH_SYSTEMDUSERUNITDIR=no \
      -W no-dev -G Ninja ..         &&
ninja

Nå, som root bruker:

ninja install

For å teste resultatene, utsted: ninja test.

Parameterforklaringer

-D ENABLE_VALA_BINDINGS=ON: Denne bryteren bygger Vala bindingene. Fjern hvis du ikke har Vala-0.56.18 installert.

-D ENABLE_GTK_DOC=OFF: Denne bryteren deaktiverer bygging av API dokumentasjonen. Det er ødelagt for denne pakken på grunn av bruken av et lenge utdatert gtk-doc program som ikke lenger er tilgjengelig.

-D WITH_KRB5=OFF: Denne bryteren tillater bygging av denne pakken uten MIT Kerberos V5-1.22.2. Hvis du trenger Kerberos støtte i denne pakken, for eksempel for å koble til et bedriftsnettverk, endrer du denne bryteren fra OFF til ON.

-D WITH_LIBDB=OFF: Denne bryteren tillater bygging av denne pakken uten Berkeley DB (deprecated). sqlite brukes til normal drift.

-D ENABLE_OAUTH2_WEBKITGTK4=OFF: Bruk denne bryteren hvis du ikke bygde WebKitGTK-2.50.5 med GTK-4.

-D WITH_SYSTEMDUSERUNITDIR=no: Denne bryteren deaktiverer installasjon av systemd enheter, som ikke brukes for et Sysv bygg.

Notat

For å aktivere mange av de valgfrie avhengighetene, se gjennom informasjonen fra cmake -L CMakeLists.txt for de nødvendige parametere du må sende til cmake kommandoen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libcamel-1.2.so, libebackend-1.2.so, libebook-1.2.so, libebook-contacts-1.2.so, libecal-2.0.so, libedata-book-1.2.so, libedata-cal-2.0.so, libedataserver-1.2.so, libedataserverui-1.2.so, libedataserverui4-1.0.so, og libetestserverutils.so
Installerte Mapper: /usr/include/evolution-data-server, /usr/lib{,exec}/evolution-data-server, /usr/share/evolution-data-server, /usr/share/installed-tests/evolution-data-server, og /usr/share/pixmaps/evolution-data-server

Korte Beskrivelser

libcamel-1.2.so

er Evolution MIME meldings håndteringsbibliotek

libebackend-1.2.so

er nyttebiblioteket for Evolution Data Server bakstykker

libebook-1.2.so

er klientbiblioteket for Evolution addressebøker

libebook-contacts-1.2.so

er klientbiblioteket for Evolution kontakter

libecal-1.2.so

er klientbiblioteket for Evolution kalendere

libedata-book-1.2.so

er bakstykkebiblioteket for Evolution addressebøker

libedata-cal-1.2.so

er bakstykkebiblioteket for Evolution kalendere

libedataserver-1.2.so

er nyttebiblioteket for Evolution Data Server

libedataserverui-3.0.so

er GUI verktøybiblioteket for Evolution Data Server

libedataserverui4-1.0.so

er det GTK-4 baserte GUI verktøybiblioteket for Evolution Data Server

libetestserverutils.so

er server testverktøy biblioteket for Evolution Data Server

tinysparql-3.10.1

Introduksjon til Tinysparql

Tinysparql er en RDF trippellagring med lavt fotavtrykk med et SPARQL 1.1-grensesnitt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Tinysparql Avhengigheter

Påkrevd

JSON-GLib-1.10.8 og Vala-0.56.18

Anbefalt
Valgfri

asciidoc-10.2.1, Avahi-0.8, Graphviz-14.1.2, bash-completion, og libstemmer

Installasjon av Tinysparql

Fiks plasseringen hvor dokumentasjonen vil installeres i:

sed -e "s/'generate'/&, '--no-namespace-dir'/"         \
    -e "/--output-dir/s/@OUTPUT@/&\/tinysparql-3.10.1/" \
    -i docs/reference/meson.build

Installer Tinysparql ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr                  \
            --buildtype=release            \
            -D man=false                   \
            -D systemd_user_services=false \
            ..                            &&
ninja

Nå, som root bruker:

ninja install

For å teste resultatene, utsted: meson configure -D debug=true && LC_ALL=C.UTF-8 ninja test. Testpakken skal kjøres fra en grafisk sesjon. En test er kjent for å mislykkes på grunn av at manualsidene ikke blir generert, men vil bestå hvis "-D man=false" utelates når pakken konfigureres.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D man=false: Denne bryteren forhindrer byggeprosessen fra å generere manualsider. Utelat denne bryteren hvis du har asciidoc-10.2.1 installert og ønsker å generere og installer manualsidene.

-D systemd_user_services=false: Denne bryteren forhindrer byggeprosessen fra å installere systemd brukertjenester siden de er ubrukelig på SysV systemer.

meson configure -D debug=true: Denne kommandoen aktiverer noen feilsøkingskontroller som er nødvendige for testpakken. Vi vil ikke aktiver dem for de installerte tinysparql bibliotekene og programmene, så vi kjører testpakken etter installasjonen.

Innhold

Installerte Programmer: tinysparql
Installert Bibliotek: libtinysparql-3.0.so og libtracker-sparql-3.0.so
Installerte Mapper: /usr/{include,lib}/tinysparql-3.0 og /usr/share/doc/tinysparql-3.10.1 (valgfri)

Korte Beskrivelser

tinysparql

er et kontrollprogram for TinySPARQL databaser

libtinysparql-3.0.so

inneholder funksjoner for å administrere TinySPARQL databaser

libtracker-sparql-3.0.so

inneholder ressursstyring og databasefunksjoner

localsearch-3.10.2

Introduksjon til Localsearch

Localsearch pakken inneholder et filsystem indekserer samt en metadatauttrekker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Localsearch Avhengigheter

Påkrevd

gexiv2-0.14.6, gst-plugins-base-1.28.0, og tinysparql-3.10.1

Anbefalt
Valgfri

asciidoc-10.2.1 (for å bygge manuelsider; merk at manuelsider er nødvendige for noen tester), CMake-4.2.3, gst-plugins-good-1.28.0 (for en test), libgsf-1.14.55, dbusmock-0.38.1 (for funksjonstester), totem-pl-parser-3.26.6, libcue, libitpcdata, libosinfo, og gupnp

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen, og kompiler deretter kjernen på nytt og gjør en omstart om nødvendig:

Security options --->
  [*]        Enable different security models                         [SECURITY]
  [*]        Landlock support                                [SECURITY_LANDLOCK]
  # List more Linux Security Modules here (separated with comma) if needed,
  # for example 'landlock,lockdown,smack':
  (landlock) Ordered list of enabled LSMs                                  [LSM]

Installasjon av Localsearch

Advarsel

Hvis du oppgraderer denne pakken fra en versjon der den var kjent som tracker-miners, er det flere filer som vil skape konflikter. Før du installerer denne pakken, fjern disse filene som root bruker:

rm -fv /etc/xdg/autostart/tracker-miner-fs-3.desktop                           &&
rm -fv /usr/lib/systemd/user/tracker-miner-fs-3.service                        &&
rm -fv /usr/lib/systemd/user/tracker-miner-fs-control-3.service                &&
rm -fv /usr/share/dbus-1/services/org.freedesktop.Tracker3.Miner.Files.service &&
rm -fv /usr/share/dbus-1/services/org.freedesktop.Tracker3.Writeback.service   &&
rm -fv /usr/share/dbus-1/services/org.freedesktop.Tracker3.Miner.Files.Control.service

Notat

Hvis du planlegger å kjøre testene, er noen tidsavbrudd for korte på spinnende disker. Det er to steder hvor tidsavbrudd er brukt: for det første har individuelle tester i en gruppe tester en standard tidsavbrudd på 10s. Dette kan endres ved å stille inn miljøvariabelen TRACKER_TESTS_AWAIT_TIMEOUT til ønsket verdi når du kjører testene (se nedenfor). For det andre, et globalt tidsavbrudd for en gruppe tester er fast på konfigurasjonstidspunktet. Standardverdien i functional-tests mappen (andre mapper har bare kortvarige tester) kan bli økt med følgende kommando (erstatt 200 med en verdi egnet for din maskin):

sed -i s/120/200/ tests/functional-tests/meson.build

Installer Localsearch ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr                  \
            --buildtype=release            \
            -D systemd_user_services=false \
            -D man=false                   \
            -D functional_tests=false      \
            ..                             &&
ninja

For å teste resultatene, utfør følgende kommandoer. Sørg for at du justerer den individuelle testtidsavbruddet til en verdi som passer for maskinen din, les merknaden ovenfor for mer informasjon.

meson configure -D man=true -D functional_tests=true &&
ninja                                                &&
dbus-run-session env LC_ALL=C.UTF-8 TRACKER_TESTS_AWAIT_TIMEOUT=20 \
                 ninja test

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D man=false: Denne bryteren forhindrer byggeprosessen fra å generere manualsider. Utelat denne bryteren hvis du har asciidoc-10.2.1 installert og ønsker å generere og installer manualsider.

-D functional_tests=false: Denne bryteren hindrer at installasjonsprosessen krever dbusmock-0.38.1 og mislykkes hvis den ikke er installert. Du kan fjerne denne bryteren hvis den er installert.

-D systemd_user_services=false: Denne bryteren forhindrer byggeprosessen fra å installere systemd enheter siden de er ubrukelige på SysV systemer.

-D seccomp=false: Dette alternativet deaktiverer seccomp systemet anropsfilter. På noen arkitekturer, som ARM, funksjonene som localsearch bruker er ikke beskyttet ordentlig, og localsearch vil bli drept med et SIGSYS signal som følge av dette. Merk at deaktivering secomp kan føre til at systemet blir kompromittert verre i tilfelle en sikkerhetssårbarhet i lokalt søk eller dets avhengigheter er utnyttet, og det er IKKE anbefalt.

-D landlock=disabled: Denne bryteren deaktiverer Sandkasse for filtilgang til landlås. Bruk den hvis du ikke vil bygge kjerne med Landlock støtte. Merk at deaktivering av Landlock kan føre til at systemet blir kompromittert verre i tilfelle en sikkerhetssårbarhet i lokalt søk eller dets avhengigheter utnyttes, og dette er IKKE anbefalt.

-D battery_detection=none: Bruk dette alternativet hvis du ikke har installert den anbefalte avhengigheten upower. Ikke bruk dette alternativet hvis systemet ditt har et batteri (bærbar batteri eller UPS), ellers kan localsearch kaste bort batterilevetiden når strøm ikke er koblet til.

-D libav=disabled: Bruk dette alternativet hvis du ikke har installert den anbefalte avhengigheten ffmpeg. Merk at bruk av denne vil forårsake 7 testfeil, og vil også betydelig hemme funksjonaliteten til denne pakken.

Innhold

Installerte Programmer: localsearch
Installerte Biblioteker: Flere moduler under /usr/lib/localsearch-3.0
Installerte Mapper: /usr/lib/localsearch-3.0 og /usr/share/localsearch3

Korte Beskrivelser

localsearch

starter, stopper, starter på nytt og viser nisser som er ansvarlige for indeksering av innhold

GSound-1.0.3

Introduksjon til GSound

gsound pakken inneholder et lite bibliotek for å spille av systemlyder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gsound Avhengigheter

Påkrevd

libcanberra-0.30

Anbefalt
Valgfri

GTK-Doc-1.35.1 (for å generere dokumentasjon)

Installasjon av GSound

Installer gsound ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: gsound-play
Installerte Biblioteker: libgsound.so
Installerte Mapper: /usr/share/gtk-doc/html/gsound

Korte Beskrivelser

gsound-play

spiller av systemlyder gjennom libgsound grensesnittet

libgsound.so

inneholder API funksjoner for å spille av systemlyder

xdg-desktop-portal-gnome-49.0

Introduksjon til xdg-desktop-portal-gnome

xdg-desktop-portal-gnome er en bakstykke for xdg-desktop-portal, som bruker GTK og ulike deler av GNOME infrastruktur.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xdg-desktop-portal-gnome Avhengigheter

Påkrevd

gnome-desktop-44.5, GTK-4.20.3, libadwaita-1.8.4, xdg-desktop-portal-1.20.3, og xdg-desktop-portal-gtk-1.15.3 (ved kjøretid)

Installasjon av xdg-desktop-portal-gnome

Installer xdg-desktop-portal-gnome ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr              \
            --buildtype=release        \
            -D systemduserunitdir=/tmp \
            ..                         &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Fjern systemd filer som er ubrukelige (som root bruker):

rm -vf /tmp/*.service

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

Innhold

Installert Program: en nisse i /usr/libexec
Installert Bibliotek: Ingen
Installert Mappe: /usr/share/xdg-desktop-portal (om ikke annen xdg-desktop-portal bakstykke er installert)

GNOME Skrivebordskomponenter

DConf-0.49.0 / DConf-Editor-49.0

Introduksjon til DConf

DConf pakken inneholder et lavt nivå konfigurasjonssystem. Hovedformålet er å gi et bakstykke til GSettings på plattformer som ikke allerede har konfigurasjonslagrings systemer.

DConf-Editor, som navnet antyder, er et grafisk redigeringsprogram for DConf databasen. Installasjon er valgfritt, fordi gsettings fra GLib-2.86.4 gir lignende funksjonalitet på kommandolinjen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

DConf Avhengigheter

Påkrevd

dbus-1.16.2, GLib-2.86.4, GTK-3.24.51 (for redigeringsprogrammet), libhandy-1.8.3 (for redigeringsprogrammet), og libxml2-2.15.1 (for redigeringsprogrammet)

Anbefalt
Valgfri

GTK-Doc-1.35.1 og bash-completion

Installasjon av DConf

Først må du forhindre at unødvendige systemd enheter blir installert:

sed -i 's/install_dir: systemd_userunitdir,//' service/meson.build

Installer DConf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr            \
            --buildtype=release      \
            -D bash_completion=false \
            ..                       &&
ninja

For å teste resultatene, kjør: dbus-run-session ninja test

Some root bruker:

ninja install

Nå kan du eventuelt installere redigeringsprogrammet:

cd ..              &&
tar -xf ../dconf-editor-49.0.tar.xz &&
cd dconf-editor-49.0                &&

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gtk_doc=true: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen.

Innhold

Installerte Programmer: dconf og dconf-editor
Installerte Biblioteker: libdconf.so og libdconfsettings.so (GIO Modul installert i /usr/lib/gio/modules)
Installerte Mapper: /usr/{include,share/gtk-doc/html}/dconf

Korte Beskrivelser

dconf

er et enkelt verktøy for å manipulere DConf databasen

dconf-editor

er et grafisk program for redigering av DConf databasen

libdconf.so

inneholder DConf klient API funksjoner

gnome-backgrounds-49.0

Introduksjon til GNOME Bakgrunner

GNOME Bakgrunner pakken inneholder en samling grafikkfiler som kan brukes som bakgrunn i GNOME Skrivebordsmiljøet. I tillegg, pakken skaper riktig rammeverk og mappestruktur sånn at du kan legge til dine egne filer i samlingen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Bakgrunn Avhengigheter

Påkrevd ved kjøretid

libjxl-0.11.2

Installasjon av GNOME Bakgrunner

Installer GNOME Bakgrunner ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr ..

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/backgrounds/gnome og /usr/share/gnome-background-properties

Korte Beskrivelser

GNOME Bakgrunner

er bakgrunnsbilder for GNOME Skrivebordet

Gvfs-1.58.1

Introduksjon til Gvfs

Gvfs pakken er et virtuelt brukerrom filsystem designet for å fungere med I/O-abstraksjonene til GLibs GIO biblioteket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gvfs Avhengigheter

Påkrevd

dbus-1.16.2, GLib-2.86.4, Gcr-4.4.0.1, libusb-1.0.29, og libsecret-0.21.7

Anbefalt
Valgfri

Apache-2.4.66, Avahi-0.8, BlueZ-5.86, Fuse-3.18.1, gnome-online-accounts-3.56.4, GTK-Doc-1.35.1, libarchive-3.8.5, libgcrypt-1.12.0, libxml2-2.15.1, libxslt-1.1.45, OpenSSH-10.2p1, Samba-4.23.5, gnome-desktop-testing (for tester), libbluray, libgdata, libgphoto2, libimobiledevice, libmsgraph, libmtp, libnfs, og Twisted

Installasjon av Gvfs

Installer Gvfs ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup               \
      --prefix=/usr       \
      --buildtype=release \
      -D onedrive=false   \
      -D fuse=false       \
      -D gphoto2=false    \
      -D afc=false        \
      -D bluray=false     \
      -D nfs=false        \
      -D mtp=false        \
      -D smb=false        \
      -D tmpfilesdir=no   \
      -D dnssd=false      \
      -D goa=false        \
      -D google=false     \
      -D systemduserunitdir=no .. &&
ninja

Testpakken krever gnome-desktop-testing, som er utenfor rammen av BLFS.

Nå, som root bruker:

ninja install

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D <option>=false: Disse bryterne er nødvendig hvis den tilsvarende avhengigheten ikke er installert. Fjern de der du har installert det tilsvarende programmet og ønsker å bruke den med Gvfs. Alternativet dnssd krever avahi og både goa og google krever GNOME Online kontoer. Google alternativet krever også libgdata som har blitt fjernet fra BLFS. Onedrive støtten krever libmsgraph pakken.

-D tmpfilesdir=no -D systemduserunitdir=no: Disse brytere gir systemd mappeplasseringer. Å sette dem til «no» deaktiverer avhengigheten av systemd og logind.

-D cdda=false: Denne bryteren er nødvendig hvis libcdio ikke er installert. Cdda bakstykket er ubrukelig på maskiner uten CDROM/DVD stasjon.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgvfscommon.so, libgvfsdaemon.so og some under /usr/lib/gio/modules/
Installerte Mapper: /usr/include/gvfs-client og /usr/{lib,share}/gvfs

Korte Beskrivelser

libgvfscommon.so

inneholder de vanlige API funksjonene som brukes i Gvfs programmer

gexiv2-0.14.6

Introduksjon til gexiv2

gexiv2 er en GObject basert innpakning rundt Exiv2 biblioteket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gexiv2 Avhengigheter

Påkrevd

Exiv2-0.28.7

Anbefalt
Valgfri

GTK-Doc-1.35.1 (for dokumentasjon)

Installasjon av gexiv2

Installer gexiv2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør:

meson configure -D tests=true &&
ninja test

Som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgexiv2.so
Installerte Mapper: /usr/include/gexiv2

Korte Beskrivelser

libgexiv2.so

gir en innpakning rundt Exiv2 biblioteket

Nautilus-49.3

Introduksjon til Nautilus

Nautilus pakken inneholder GNOME filbehandler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Nautilus Avhengigheter

Påkrevd

gexiv2-0.14.6, gnome-autoar-0.4.5, gnome-desktop-44.5, libadwaita-1.8.4, libportal-0.9.1, libseccomp-2.6.0, og tinysparql-3.10.1

Anbefalt
Valgfri (for å generere dokumentasjon)

Gi-DocGen-2026.1

Anbefalt (Kjøretid)

Installasjon av Nautilus

Notat

Hvis du oppgraderer fra en tidligere versjon av denne pakken, fjern en konfliktfylt fil ved å kjøre følgende kommando som root bruker:

rm -fv /usr/lib/libnautilus-extension.so.4

Installer Nautilus ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            ..                  &&

ninja

Hvis du har Gi-DocGen-2026.1 installert og du ønsker å generere og installere API dokumentasjonen, utsted følgende kommandoer:

sed "/docdir =/s@\$@ / 'nautilus-49.3'@" -i ../meson.build &&
meson configure -D docs=true &&
ninja

For å teste resultatene, kjør: ninja test. Testene må kjøres i et grafisk miljø. En test er kjent for å mislykkes hvis localsearch-3.10.2 ikke er installert. En test er også kjent for tidsavbrudd hvis brukeren som kjører testene har en stor hjemmemappe.

Nå, som root bruker:

ninja install

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D cloudproviders=false: Bruk denne bryteren hvis du ikke har libcloudproviders-0.3.6 installert.

-D tests=none: Bruk denne bryteren hvis du ikke har localsearch-3.10.2 installert. Men merk at det ville deaktivere de fleste testene i testpakken, og Nautilus ville ikke starte før du installerer localsearch-3.10.2.

Innhold

Installerte Programmer: nautilus og nautilus-autorun-software
Installert Bibliotek: libnautilus-extension.so
Installerte Mapper: /usr/{include,lib,share}/nautilus og /usr/share/doc/nautilus-49.3 (optional)

Korte Beskrivelser

nautilus

er GNOME filbehandler

libnautilus-extension.so

leverer funksjonene som trengs av filbehandlerutvidelsene

gnome-bluetooth-47.1

Introduksjon til GNOME Bluetooth

GNOME Bluetooth pakken inneholder verktøy for å administrere og manipulere Bluetooth enheter ved bruk av GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere nedlastinger

GNOME Bluetooth Avhengigheter

Påkrevd

gsound-1.0.3, GTK-4.20.3, libnotify-0.8.8, og UPower-1.91.1

Anbefalt
Valgfri

GTK-Doc-1.35.1 og dbusmock-0.38.1

Kjøretids Avhengigheter

BlueZ-5.86

Installasjon av GNOME Bluetooth

Først må du fikse en byggefeil som skjer med pygobject-3.52.0 og senere:

patch -Np1 -i ../gnome-bluetooth-47.1-build_fix-1.patch

Installer GNOME Bluetooth ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: bluetooth-sendto
Installerte Biblioteker: libgnome-bluetooth-3.0.so og libgnome-bluetooth-ui-3.0.so
Installerte Mapper: /usr/include/gnome-bluetooth-3.0 og /usr/share/gnome-bluetooth-3.0

Korte Beskrivelser

bluetooth-sendto

er en GTK+ applikasjon for å overføre filer over Bluetooth

libgnome-bluetooth-3.0.so

inneholder GNOME Bluetooth API funksjoner

gnome-keyring-48.0

Introduksjon til GNOME Nøkkelring

GNOME Nøkkelring pakken inneholder en nisse som holder passord og andre hemmeligheter for brukere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Nøkkelring Avhengigheter

Påkrevd

dbus-1.16.2 og Gcr-3.41.2

Anbefalt
Valgfri

libcap-ng

Installasjon av GNOME Nøkkelring

Installer GNOME Nøkkelring ved å kjøre følgende kommandoer:

sed -i 's:"/desktop:"/org:' schema/*.xml &&

mkdir build-gkr &&
cd    build-gkr &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D systemd=disabled &&
ninja

En sesjonsbussadresse er nødvendig for å kjøre testene. For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

sed ... schema/*.xml: Denne kommandoen fikser en utdatert oppføring i skjemamalen.

-D systemd=disabled: Denne bryteren forhindrer en feil på grunn av at byggesystemet krever systemd som standard.

Innhold

Installerte Programmer: gnome-keyring (symbolkobling), gnome-keyring-3, og gnome-keyring-daemon
Installerte Biblioteker: gnome-keyring-pkcs11.so (PKCS#11 modul) og pam_gnome_keyring.so (PAM modul)
Installert Mappe: /usr/lib/gnome-keyring og /usr/share/xdg-desktop-portal

Korte Beskrivelser

gnome-keyring-daemon

er en sesjonsnisse som holder passord for brukere

gnome-settings-daemon-49.1

Introduksjon til GNOME Innstillingsnisse

GNOME Innstillingsnisse er ansvarlig for å stille inn ulike parametere for en GNOME Økt og applikasjonene som kjører under den.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Innstillingsnisse Avhengigheter

Påkrevd

alsa-lib-1.2.15.3, Fontconfig-2.17.1, Gcr-4.4.0.1, GeoClue-2.8.0, geocode-glib-3.26.4, gnome-desktop-44.5, libcanberra-0.30, libgweather-4.4.4, libnotify-0.8.8, libwacom-2.18.0, PulseAudio-17.0, og UPower-1.91.1

Anbefalt

Notat

Anbefalte avhengigheter er ikke strengt nødvendig for at denne pakken skal bygge og fungere, men du får kanskje ikke forventede resultater ved kjøring hvis du ikke installerer dem.

Anbefalt (Kjøretid)
Valgfri

gnome-session-49.2, Mutter-49.4, dbusmock-0.38.1, umockdev-0.19.4, og Xvfb (for tester, fra Xorg-Server-21.1.21 eller Xwayland-24.1.9)

Installasjon av GNOME Innstillingsnisse

Deretter fikser du libelogind deteksjon for tester:

sed -e 's/libsystemd/libelogind/' \
    -i plugins/power/test.py

Deretter fikser du bakgrunnsbelysnings funksjonaliteten i gnome-control-center:

sed -e 's/(backlight->logind_proxy)/(0)/' \
    -i plugins/power/gsd-backlight.c

Installer GNOME Innstillingsnisse ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D systemd=false    \
            ..                  &&
ninja

Denne pakken leveres ikke med en fungerende testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgsd.so
Installerte Mapper: /etc/xdg/Xwayland-session.d, /usr/include/gnome-settings-daemon-48, /usr/lib/gnome-settings-daemon-48, og /usr/share/gnome-settings-daemon

Tecla-49.0

Introduksjon til Tecla

Tecla pakken inneholder et tastaturoppsett visning.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Tecla Avhengigheter

Påkrevd

libadwaita-1.8.4 og libxkbcommon-1.13.1

Installasjon av Tecla

Installer Tecla ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: tecla
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

tecla

er en tastaturoppsettvisning

gnome-control-center-49.4

Introduksjon til GNOME Kontrollsenter

GNOME Kontrollsenter pakken inneholder GNOME innstillingsbehandling.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Kontrollsenter Avhengigheter

Påkrevd

AccountsService-23.13.9, blueprint-compiler-0.18.0, colord-gtk-0.3.1, Cups-2.4.16, gnome-bluetooth-47.1, gnome-online-accounts-3.56.4, gnome-settings-daemon-49.1, gsound-1.0.3, libadwaita-1.8.4, libgtop-2.41.3, libnma-1.10.6, libpwquality-1.4.5, MIT Kerberos V5-1.22.2, ModemManager-1.24.2, Samba-4.23.5, shared-mime-info-2.4, Tecla-49.0, og UDisks-2.11.0

Anbefalt
Valgfri

Xvfb (fra Xorg-Server-21.1.21 eller Xwayland-24.1.9) og dbusmock-0.38.1 (begge for tester)

Anbefalt (Kjøretid)
Valgfrie Kjøretids Avhengigheter

cups-pk-helper-0.2.7 (Skriverpanel), gnome-color-manager-3.36.2 (Fargepanel), gnome-shell-49.4 (Applikasjonspanel), og sound-theme-freedesktop-0.8 (Ytterligere lydeffekter i lydpanelet)

Notat

Anbefalte avhengigheter er ikke strengt nødvendig for at denne pakken skal bygge og fungere, men du får kanskje ikke forventede resultater ved kjøring hvis du ikke installerer dem.

Installasjon av GNOME Kontrollsenter

Installer GNOME Kontrollsenter ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: GTK_A11Y=none ninja test. Merk at du må ha python-dbusmock modulen installert for at testene skal fullføres på en vellykket måte.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dibus=false: Bruk denne bryteren hvis du ikke har installert den anbefalte IBus avhengigheten.

-D x11=true: Bruk denne bryteren for å aktivere støtte for X11. Merk at dette er utdatert av upstream og vil bli fjernet i GNOME 50.

Innhold

Installerte Programmer: gnome-control-center
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/gnome-control-center, /usr/share/pixmaps/faces, og /usr/share/sounds/gnome

Korte Beskrivelser

gnome-control-center

er et grafisk brukergrensesnitt som brukes til å konfigurere ulike aspekter ved GNOME

Mutter-49.4

Introduksjon til Mutter

Mutter er vindusbehandleren for GNOME. Den påberopes ikke direkte, men fra GNOME Økt (på en maskin med en maskinvareakselererte videodrivere).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Mutter Avhengigheter

Påkrevd

at-spi2-core-2.58.3, docutils-0.22.4, gnome-settings-daemon-49.1, graphene-1.10.8, GTK-4.20.3, libei-1.5.0, libxcvt-0.1.3, libxkbcommon-1.13.1, og pipewire-1.4.10

Anbefalt
Anbefalt (Påkrevd for å bygge Wayland sammensetteren)
Anbefalt (Kjøretid)
Valgfri

dbusmock-0.38.1 og GTK-3.24.51 (begge påkrevd for tester), libadwaita-1.8.4, Xorg-Server-21.1.21 (for X11 økter, utdatert), bash-completion, sysprof, Xvfb (fra Xorg-Server-21.1.21 eller Xwayland-24.1.9), xvfb-run, og zenity (X11 testene ville bare kjøre med alle de tre siste)

Installasjon av Mutter

Løs et problem med testene som ellers ville kreve at pakken må bygges med feilsøkingsinformasjon:

sed "/tests_c_args =/s/$/ + ['-U', 'G_DISABLE_ASSERT']/" -i src/tests/meson.build &&
sed "/c_args:/a '-U', 'G_DISABLE_ASSERT'," -i src/tests/cogl/unit/meson.build

Installer Mutter ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr            \
            --buildtype=release      \
            -D tests=disabled        \
            -D profiler=false        \
            -D bash_completion=false \
            ..                       &&
ninja

Hvis du vil kjøre testpakken, sørg for at både dbusmock-0.38.1 og GTK-3.24.51 er installert og utsted:

meson configure -D tests=enabled &&
ninja test

Testene krever en aktiv Wayland økt. Noen tester er ustabile (spesielt hvis systemet ditt er under høy belastning), så hvis en test mislykkes kan du prøve å kjøre en spesifikk test på nytt ved å bruke meson test <testnavn> kommandoen. Noen få tester kan mislykkes avhengig av noen systemkonfigurasjoner. Ikke gjør noen mus eller tastatur inndata mens testpakken kjører ellers kan noen tester mislykkes. Du kan også teste grunnleggende funksjoner til Mutter med å følge «Starte Mutter» etter installering av denne pakken.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D bash_completion=false: Gjør det mulig å bygge denne pakken uten bash-completion pakken installert.

-D tests=disabled: Tillat å bygge pakken uten dbusmock-0.38.1 installert. Det blir overstyrt av meson configure hvis testpakken kjøres.

-D profiler=false: Tillater bygging av denne pakken uten Sysprof. Fjern dette alternativet hvis du har installert Sysprof og vil analysere gjengivelsesytelsen til Mutter.

-D x11=true: Tillater bygging av denne pakken med X11 støtte. X11 støtte er utdatert og vil bli fjernet i GNOME 50.

Starte Mutter

Mutter brukes vanligvis som en del av gnome-shell, men den kan brukes som et frittstående Wayland sammensetter også. Å kjøre Mutter som en Wayland sammensetter, i en virtuell konsoll, kjør:

mutter --wayland -- vte-2.91

Erstatt vte-2.91 med kommandolinjen for første applikasjonen du vil ha i Wayland økten. Merk at med en gang denne applikasjonenen avsluttes, vil Wayland økten bli avsluttet.

Mutter kan også fungere som en nestet sammensetter i en annen Wayland økt. I en terminalemulator, kjør:

MUTTER_DEBUG_DUMMY_MODE_SPECS=1920x1080 mutter --wayland --nested -- vte-2.91

Erstatt 1920x1080 med den størrelsen du ønsker for den nestede Wayland økten.

Innhold

Installerte Programmer: gdctl, gnome-service-client, og mutter
Installerte Biblioteker: libmutter-17.so and libmutter-test-17.so (valgfri)
Installerte Mapper: /usr/{lib,include,libexec/installed-tests,share/{,installed-tests}}/mutter-17

Korte Beskrivelser

gdctl

kontrollerer gjeldende monitorkonfigurasjon på økter som bruker Mutter som vindusbehandler

gnome-service-client

starter en Wayland klient med en valgfri tagg

mutter

er Clutter basert sammensetnings GTK+ Vindusbehandler

libmutter-16.so

inneholder Mutter API funksjoner

libmutter-test-16.so

inneholder Mutter testpakke API funksjoner; dette biblioteket er bare installert hvis testpakken til denne pakken kjøres og den trenges for gnome-shell testpakken

gnome-shell-49.4

Introduksjon til GNOME Skallet

GNOME Skallet er kjernebrukergrensesnittet for GNOME Skrivebordsmiljøet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Skallet Avhengigheter

Påkrevd

evolution-data-server-3.58.3, Gcr-4.4.0.1, Gjs-1.86.0, gnome-desktop-44.5, ibus-1.5.33, Mutter-49.4, Polkit-127, og startup-notification-0.12

Anbefalt
Valgfri

GTK-Doc-1.35.1 og bash-completion

Nødvendige Kjøretids Avhengigheter

adwaita-icon-theme-49.0, DConf-0.49.0, elogind-255.22, GDM-49.2, gnome-control-center-49.4, og libgweather-4.4.4

Anbefalte kjøretidsavhengigheter

Installasjon av GNOME Skallet

Installer GNOME Skallet ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D systemd=false    \
            -D tests=false      \
            ..                  &&
ninja

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D systemd=false: Hindrer installasjon av systemd filer, som ikke er nødvendig i denne versjonen av BLFS.

-D extensions_tool=false: Denne bryteren tillater bygging av denne pakken uten gnome-autoar-0.4.5 installert.

Innhold

Installerte Programmer: gnome-extensions, gnome-extensions-app, gnome-shell, gnome-shell-extension-tool, og gnome-shell-test-tool
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/gnome-shell, /usr/share/gnome-shell, /usr/share/gtk-doc/html/{shell,st} (valgfri), og /usr/share/xdg-desktop-portal/

Korte Beskrivelser

gnome-shell

gir kjernefunksjonene for brukergrensesnittet for GNOME Skrivebordet

gnome-shell-extensions-49.0

Introduksjon til GNOME Skallutvidelser

GNOME Skallutvidelser pakken inneholder en samling utvidelser som gir ekstra og valgfrie funksjonaliteter til GNOME Skallet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Skallutvidelser Avhengigheter

Påkrevd

libgtop-2.41.3

Installasjon av GNOME Skallutvidelser

Installer GNOME Skallutvidelser ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr .. 

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D x11=true: Aktiverer støtte for X11 økter. Dette er utdatert, og X11 støtte for GNOME vil bli fjernet i GNOME 50.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/gnome-shell/extensions

gnome-session-49.2

Introduksjon til GNOME Økt

GNOME Økt pakken inneholder GNOME øktbehandler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Økt Avhengigheter

Påkrevd

elogind-255.22, gnome-desktop-44.5, JSON-GLib-1.10.8, Mesa-25.3.5, og UPower-1.91.1

Valgfri

xmlto-0.0.29, og libxslt-1.1.45 med docbook-xml-4.5 og docbook-xsl-nons-1.79.2 (for å bygge dokumentasjonen)

Installasjon av GNOME Økt

Installer GNOME Økt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr              \
            --buildtype=release        \
            -D man=false               \
            -D docbook=false           \
            -D systemduserunitdir=/tmp \
            ..                         &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Hvis du genererte dokumentasjonen, flytt den til en versjonsbasert mappe:

mv -v /usr/share/doc/gnome-session{,-49.2}

Denne pakken lager to Xorg baserte .desktop filer i /usr/share/xsessions/ mappen, og to Wayland baserte .desktop filer i /usr/share/wayland-sessions/ mappen. Bare en er nødvendig i hver mappe på et BLFS system, så forhindre at de ekstra filene vises som alternativer i en skjermbehandler. Som root bruker:

rm -fv /usr/share/xsessions/gnome.desktop &&
rm -v /usr/share/wayland-sessions/gnome.desktop

Nå, som root bruker, fjern systemd enheter som er ubrukelige på SysV systemer:

rm -rv /tmp/{*.d,*.target,*.service}

Oppstartssekvensen til gnome-wayland må opprette en dbus økt. På SysV må dette legges til den sendte gnome-wayland.desktop filen, som er skrevet for systemd. Som root bruker:

sed -e 's@^Exec=@&/usr/bin/dbus-run-session @' \
    -i /usr/share/wayland-sessions/gnome-wayland.desktop

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D man=false -D docbook=false: Disse parameterne deaktiverer bygging av dokumentasjon. Utelat dem hvis du har bygget de valgfrie avhengighetene.

-D x11=true: Dette alternativet aktiverer støtte for X11 økter. X11 støtte er utdatert og vil bli fjernet i GNOME 50.

Innhold

Installerte Programmer: gnome-session, gnome-session-inhibit, og gnome-session-quit
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/gnome-session-49.2 og /usr/share/gnome-session

Korte Beskrivelser

gnome-session

brukes til å starte opp GNOME Skrivebordsmiljøet

gnome-session-inhibit

brukes til å hemme visse GNOME øktfunksjonalitet mens du utfører den gitte kommandoen

gnome-session-quit

brukes til å avslutte GNOME økten

gnome-tweaks-49.0

Introduksjon til GNOME Tweaks

GNOME Tweaks er et enkelt program som brukes til å finjustere avanserte GNOME innstillinger.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Tweaks Avhengigheter

Påkrevd

GTK-4.20.3, gsettings-desktop-schemas-49.1, libadwaita-1.8.4, libgudev-238, PyGObject-3.54.5, og sound-theme-freedesktop-0.8

Installasjon av GNOME Tweaks

Installer GNOME Tweaks ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: gnome-tweaks
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.14/site-packages/gtweak og /usr/share/gnome-tweaks

Korte Beskrivelser

gnome-tweaks

brukes til å justere avanserte GNOME innstillinger

gnome-user-docs-49.4

Introduksjon til GNOME Brukerdokumenter

GNOME Brukerdokumenter pakken inneholder dokumentasjon for GNOME.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Brukerdokumenter Avhengigheter

Påkrevd

itstool-2.0.7 og libxml2-2.15.1

Installasjon av GNOME Brukerdokumenter

Installer GNOME Brukerdokumenter ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/help/*/gnome-help og /usr/share/help/*/system-admin-guide

Yelp-49.0

Introduksjon til Yelp

Yelp pakken inneholder en hjelpe nettleser som brukes til å vise hjelpefiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Yelp Avhengigheter

Påkrevd

gsettings-desktop-schemas-49.1, libadwaita-1.8.4, WebKitGTK-2.50.5, og yelp-xsl-49.0

Anbefalt

Notat

Yelp pakke er ikke nødvendig for et funksjonellt GNOME Skrivebord. Merk imidlertid at uten Yelp vil du ikke kunne se innebygd hjelp levert av kjerne GNOME og mange av støtteapplikasjonene.

Installasjon av Yelp

Installer Yelp ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Fortsatt som root bruker, sikre at /usr/share/applications/mimeinfo.cache vil oppdateres og derfor vil help i gnome applikasjoner fungere.

update-desktop-database

Innhold

Installert Program: gnome-help (symbolkobling) og yelp
Installert Bibliotek: libyelp-1.so
Installerte Mapper: /usr/include/libyelp-1, /usr/share/gtk-doc/html/libyelp (valgfri), og /usr/{lib,share}/yelp-1

Korte Beskrivelser

yelp

er GNOME Hjelpe nettleser

libyelp-1.so

inneholder Yelp API funksjoner

Kapittel 34. GNOME Applikasjoner

Disse pakkene er skrivebordsapplikasjoner og diverse verktøy fra GNOME prosjektet. Føl deg fri til å installere dem etter behov eller etter ønske.

Baobab-49.1

Introduksjon til Baobab

Baobab pakken inneholder en grafisk mappetre analysator.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Baobab Avhengigheter

Påkrevd

adwaita-icon-theme-49.0, GTK-4.20.3, itstool-2.0.7, libadwaita-1.8.4, og Vala-0.56.18

Installasjon av Baobab

Installer Baobab ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: baobab
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/help/*/baobab

Korte Beskrivelser

baobab

er et grafisk verktøy som brukes til å analysere diskbruk

Brasero-3.12.3

Introduksjon til Brasero

Brasero er en applikasjon som brukes til å brenne CDer og DVDer på GNOME Skrivebordet. Den er designet for å være så enkel som mulig og har noen unike funksjoner som gjør det mulig for brukere å lage platene sine enkelt og raskt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Brasero Avhengigheter

Påkrevd

gst-plugins-base-1.28.0, itstool-2.0.7, libcanberra-0.30, og libnotify-0.8.8

Anbefalt
Valgfri

GTK-Doc-1.35.1

Anbefalt (Kjøretid)
Valgfri (Kjøretid)

Cdrdao-1.2.6, libdvdcss-1.5.0, Cdrtools-3.02a09, og VCDImager

Installasjon av Brasero

Først, fiks et byggeproblem som oppstår med GCC-14:

patch -Np1 -i ../brasero-3.12.3-upstream_fixes-1.patch

Installer Brasero ved å kjøre følgende kommandoer:

./configure --prefix=/usr                \
            --enable-compile-warnings=no \
            --enable-cxx-warnings=no     \
            --disable-nautilus           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-*-warnings=no: Disse bryterne fikser byggeproblemer under GCC-6.x kompilatorer.

--disable-nautilus: Denne bryteren deaktiverer bygging av Nautilus utvidelsen siden den er inkompatibel med gtk4 versjonen av Nautilus.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: brasero
Installerte Biblioteker: libbrasero-{burn,media,utils}3.so
Installerte Mapper: /usr/include/brasero3, /usr/lib/brasero3, /usr/share/brasero, /usr/share/gtk-doc/html/libbrasero-{burn,media}, og /usr/share/help/*/brasero

Korte Beskrivelser

brasero

er et enkelt og brukervennlig CD/DVD brenningsprogram for GNOME Skrivebordet

libbrasero-burn3.so

inneholder Burning API funksjoner

libbrasero-media3.so

inneholder Media API funksjoner

libbrasero-utils3.so

inneholder Brasero API funksjoner

Evince-48.1

Introduksjon til Evince

Evince er en dokumentviser for flere dokumentformater. Den støtter PDF, Postscript, DjVu, TIFF og DVI. Det er nyttig for å vise dokumenter av ulike typer ved hjelp av en enkel applikasjon i stedet for flere dokumentvisningsprogrammer som en gang eksisterte på GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Evince Avhengigheter

Påkrevd

adwaita-icon-theme-49.0, gsettings-desktop-schemas-49.1, GTK-3.24.51, itstool-2.0.7, libhandy-1.8.3, libxml2-2.15.1, og OpenJPEG-2.5.4

Anbefalt
Valgfri

Cups-2.4.16 (for å aktivere utskrift hvis støtte er bygd inn i GTK+ 3), gnome-desktop-44.5, gspell-1.14.2, gst-plugins-base-1.28.0, Gi-DocGen-2026.1, libgxps-0.3.2, libtiff-4.7.1, texlive-20250308 (or install-tl-unx), DjVuLibre, libspectre, og Synctex

Installasjon av Evince

Installer Evince ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

CPPFLAGS+=" -I/opt/texlive/2025/include -DNO_DEBUG" \
meson setup --prefix=/usr                \
            --buildtype=release          \
            -D gtk_doc=false             \
            --wrap-mode=nodownload       \
            -D systemduserunitdir=no ..  &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/docs_dir/s@\$@ / 'evince-48.1'@" -i ../help/meson.build &&
meson configure -D gtk_doc=true                                 &&
ninja

Denne pakken har ikke en fungerende testpakke.

Nå, som root bruker:

ninja install

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

CPPFLAGS+=" -I/opt/texlive/2025/include": Sørg for at meson kan finne libkpathsea deklarasjoner fra TeXLive hvis det er installert. Dette har ingen effekt på systemer uten TeXLive installert.

--wrap-mode=nodownload: Denne bryteren deaktiverer nedlasting av enhver avhengighet: byggesystemet prøver å hente gi-docgen selv om -D gtk_doc=false er gitt.

-D gtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2026.1 installert. Hvis du har Gi-DocGen-2026.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, meson configure kommandoen vil tilbakestille dette alternativet.

-D gspell=false: Denne bryteren slår av støtten for stavekontroll programtillegget.

-D introspection=false: Bruk dette alternativet hvis du ikke har bygget GLib-2.86.4 med GObject Introspection og ønsker ikke å ha introspection støtte innebygd i Evince.

-D nautilus=false: Denne bryteren deaktiverer bygging av Nautilus Programmtillegget. Bruk denne bryteren hvis Nautilus ikke er installert.

-D keyring=false: Denne bryteren deaktiverer bruken av libsecret. Bruk denne bryteren hvis libsecret ikke er installert.

-D ps=enabled: Bruk denne bryteren hvis libspectre er installert og du vil se PostScript filer med Evince.

Innhold

Installerte Programmer: evince, evince-previewer, og evince-thumbnailer
Installerte Biblioteker: libevdocument3.so og libevview3.so
Installerte Mapper: /usr/{include,lib,share}/evince, /usr/share/gtk-doc/html/{evince,libevdocument-3.0,libevview-3.0} (optional), og /usr/share/help/*/evince

Korte Beskrivelser

evince

er en dokumentviser i flere formater

evince-previewer

er et program som implementerer forhåndsvisningen for utskrift

evince-thumbnailer

er et enkelt program som brukes til å lage miniatyrbilder av støttede dokumenter

Evolution-3.58.3

Introduksjon til Evolution

Evolution pakken inneholder en integrert post, kalender og adressebok pakke designet for GNOME miljøet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Evolution Avhengigheter

Påkrevd

adwaita-icon-theme-49.0, evolution-data-server-3.58.3, Gcr-4.4.0.1, gnome-autoar-0.4.5, shared-mime-info-2.4, og WebKitGTK-2.50.5

Anbefalt
Valgfri

geocode-glib-3.26.4, og GTK-Doc-1.35.1, clutter-gtk (Contact Maps programtillegg), cmark, Glade, libchamplain (Contact Maps programtillegg), libpst, libunity, libytnef

Installasjon av Evolution

Installer Evolution ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D SYSCONF_INSTALL_DIR=/etc  \
      -D ENABLE_INSTALLED_TESTS=ON \
      -D ENABLE_PST_IMPORT=OFF     \
      -D ENABLE_YTNEF=OFF          \
      -D ENABLE_CONTACT_MAPS=OFF   \
      -D ENABLE_MARKDOWN=OFF       \
      -D ENABLE_WEATHER=ON         \
      -G Ninja .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D ENABLE_YTNEF=OFF: Denne bryteren brukes til å deaktiver bruken av yTNEF biblioteket fordi libytnef ikke er en del av BLFS.

-D ENABLE_PST_IMPORT=OFF: Denne bryteren brukes til å deaktivere pst-import programtillegget fordi libpst ikke er en del av BLFS.

-D ENABLE_CONTACT_MAPS=OFF: Denne bryteren deaktiverer bygging av Contact Maps programtillegget. Fjern denne bryteren hvis du har installert de nødvendige avhengighetene og ønsker å bygge Contact Maps programtillegget.

-D ENABLE_MARKDOWN=OFF: Denne bryteren tillater bygging uten cmark. Fjern denne bryteren hvis du trenger markdown støtte og du har installert nødvendige avhengigheter.

-D ENABLE_WEATHER=ON: Denne bryteren tillater bygging mot libgweather-4.4.4.

-D WITH_HELP=OFF: Denne bryteren deaktiverer bygging av manualen til denne pakken. Bruk denne bryteren hvis du ikke har installert itstool-2.0.7.

-D WITH_OPENLDAP=OFF: Bruk denne bryteren hvis du ikke har installert OpenLDAP-2.6.12.

Innhold

Installerte Programmer: evolution
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/evolution, /usr/lib/evolution, /usr/libexec/evolution, /usr/share/evolution, /usr/share/installed-tests/evolution, /usr/share/help/*/evolution, og valgfri /usr/share/gtk-doc/html/{evolution-mail-composer,evolution-mail-engine}, /usr/share/gtk-doc/html/{evolution-mail-formatter,evolution-shell}, og /usr/share/gtk-doc/html/evolution-util

Korte Beskrivelser

evolution

er en e-post, kalender og adressebok pakke for GNOME Skrivebordet

File-Roller-44.6

Introduksjon til File Roller

File Roller er en arkivbehandler for GNOME med støtte for tar, bzip2, bzip3, gzip, zip, jar, compress, lzop, zstd, dmg og mange andre arkivformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Notat

File Roller er kun et grafisk grensesnitt til arkiveringsverktøy som f.eks tar og zip.

Pakkeinformasjon

File Roller Avhengigheter

Påkrevd

GTK-4.20.3 og itstool-2.0.7

Anbefalt
Valgfri (for API dokumentasjonen)

Gi-DocGen-2026.1

Valgfri (Kjøretid)

UnRar-7.2.4, libarchive-3.8.5, Zip-3.0, og unarchiver

Installasjon av File Roller

Installer File Roller ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D packagekit=false \
            ..                  &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
chmod -v 0755 /usr/libexec/file-roller/isoinfo.sh

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler inn i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK-3.24.51 installert (for ikon hurtiglageret) og desktop-file-utils-0.28 (for skrivebords hurtiglageret) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D packagekit=false: Denne bryteren deaktiverer bruken av PackageKit som ikke er egnet for BLFS.

-D api_docs=enabled: Bruk denne bryteren hvis du har Gi-DocGen-2026.1 installert og ønsker å generere API dokumentasjonen.

Innhold

Installert Program: file-roller
Installerte Biblioteker: libnautilus-fileroller.so
Installerte Mapper: /usr/{libexec,share{,/help/*}}/file-roller

Korte Beskrivelser

file-roller

er arkivbehandler for GNOME

gnome-calculator-49.2

Introduksjon til GNOME Kalkulator

GNOME Calculator er en kraftig grafikk kalkulator med økonomiske, logiske og vitenskapelige moduser. Den bruker en fler presisjon pakke for å gjøre sin aritmetikk for å gi en høy grad av nøyaktighet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Kalkulator Avhengigheter

Påkrevd

blueprint-compiler-0.18.0, gtksourceview5-5.18.0, itstool-2.0.7, libadwaita-1.8.4, libgee-0.20.8, og libsoup-3.6.5

Anbefalt

Installasjon av GNOME Kalkulator

Installer GNOME Kalkulator ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: gcalccmd og gnome-calculator
Installert Bibliotek: libgcalc-2.so og libgci-1.so
Installerte Mapper: /usr/include/gcalc-2, /usr/include/gci-2, /usr/share/devhelp/books/{GCalc-2,GCi-1}, og /usr/share/help/*/gnome-calculator

Korte Beskrivelser

gnome-calculator

er den offisielle kalkulatoren for GNOME Skrivebordet

gcalccmd

er en kommandolinjeversjon av gnome-calculator

gnome-color-manager-3.36.2

Introduksjon til GNOME Fargebehandler

GNOME Fargebehandler er et øktrammeverk for GNOME skrivebordsmiljø som gjør det enkelt å administrere, installere og generere fargeprofiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Fargebehandler Avhengigheter

Påkrevd

colord-1.4.8, GTK-3.24.51, itstool-2.0.7, og Little CMS-2.18

Anbefalt
Valgfri

DocBook-utils-0.6.14 (fører for tiden til at bygget mislykkes)

Installasjon av GNOME Fargebehandler

Hvis DocBook-utils-0.6.14 er installert, deaktiver installasjonen av mansidene for å unngå byggefeil:

sed /subdir\(\'man/d -i meson.build

Installer GNOME Fargebehandler ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test. Testene må kjøres fra en X økt.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: gcm-import, gcm-inspect, gcm-picker, and gcm-viewer
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/gnome-color-manager og /usr/share/help/*/gnome-color-manager

Korte Beskrivelser

gcm-import

lar deg importere ICC profiler levert av leverandører

gcm-inspect

lar deg inspisere innstillingene for øktfargebehandling

gcm-picker

lar deg velge spotfarger for bruk av et vedlagt kolorimeter

gcm-viewer

lar deg se egenskapene til ICC profiler

gnome-connections-49.0

Introduksjon til gnome-connections

gnome-connections er en VNC og RDP klient for GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gnome-connections Avhengigheter

Påkrevd

AppStream-1.1.2, FreeRDP-3.22.0, gtk-vnc-1.5.0, itstool-2.0.7, libhandy-1.8.3, libsecret-0.21.7, og Vala-0.56.18

Installasjon av gnome-connections

Installer gnome-connections ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: gnome-connections
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/gnome-connections, /usr/lib/gnome-connections, /usr/share/gnome-connections, og /usr/share/help/*/gnome-connections

Korte Beskrivelser

gnome-connections

er en ekstern skrivebordsvisning for GNOME Skrivebordet

gnome-disk-utility-46.1

Introduksjon til GNOME Diskverktøy

GNOME Diskverktøy pakken gir applikasjoner som brukes til å håndtere lagringsenheter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Diskverktøy Avhengigheter

Påkrevd

gnome-settings-daemon-49.1, itstool-2.0.7, libdvdread-7.0.1, libhandy-1.8.3, libpwquality-1.4.5, libsecret-0.21.7, og UDisks-2.11.0

Valgfri

appstream-glib-0.8.3

Installasjon av GNOME Diskverktøy

Installer GNOME Diskverktøy ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -Dlogind=libelogind .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dlogind=libelogind: Forteller byggesystemet at biblioteket som brukes til login service er libelogind.so i stedet for libsystemd.so.

Innhold

Installerte Programmer: gnome-disk-image-mounter og gnome-disks
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

gnome-disk-image-mounter

brukes til å sette opp diskbilder

gnome-disks

brukes til å inspisere, formatere, partisjonere og konfigurere disker og blokk enheter

gnome-maps-49.4

Introduksjon til GNOME Kart

GNOME Kart er en kartapplikasjon for GNOME.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Kart Avhengigheter

Påkrevd

desktop-file-utils-0.28, GeoClue-2.8.0, geocode-glib-3.26.4, Gjs-1.86.0, libadwaita-1.8.4, libgweather-4.4.4, libportal-0.9.1, librest-0.10.2, og libshumate-1.5.3

Installasjon av GNOME Kart

Installer GNOME Kart ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: gnome-maps (symbolkobling)
Installerte Biblioteker: libgnome-maps.so
Installerte Mapper: /usr/lib/gnome-maps og /usr/share/gnome-maps

Korte Beskrivelser

gnome-maps

er en kartapplikasjon for GNOME

gnome-nettool-42.0

Introduksjon til GNOME Nettverktøy

GNOME Nettverktøy pakken er et nettverk informasjonsverktøy som gir GUI grensesnitt for noen av de fleste vanlige kommandolinjenettverksverktøy.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

GNOME Nettverktøy Avhengigheter

Påkrevd

GTK-3.24.51, itstool-2.0.7, og libgtop-2.41.3

Kjøretids Avhengigheter

BIND Utilities-9.20.18, Nmap-7.98, Net-tools-2.10, Traceroute-2.1.6, og Whois-5.6.5

Installasjon av GNOME Nettverktøy

Først må du tilpasse GNOME Nettverktøy til endringer i ping, ping6, og netstat verktøyene:

patch -Np1 -i ../gnome-nettool-42.0-ping_and_netstat_fixes-1.patch

Legg deretter til en rettelse for nyere versjoner av meson:

sed -i '/merge_file/s/(.*/(/' data/meson.build

Installer GNOME Nettverktøy ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installert Program: gnome-nettool
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/gnome-nettool og /usr/share/help/*/gnome-nettool

Korte Beskrivelser

gnome-nettool

er et nettverksinformasjonsverktøy

gnome-power-manager-43.0

Introduksjon til GNOME Strømstyring

GNOME Strømstyring pakken inneholder et verktøy som brukes til å rapportere om strømstyring på systemet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Strømstyring Avhengigheter

Påkrevd

GTK-3.24.51 og UPower-1.91.1

Valgfri

appstream-glib-0.8.3 og DocBook-utils-0.6.14

Installasjon av GNOME Strømstyring

Installer GNOME Strømstyring ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: gnome-power-statistics
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

gnome-power-statistics

brukes til å visualisere strømforbruket til bærbar PC maskinvare

gnome-screenshot-41.0

Introduksjon til GNOME Skjermbilde

GNOME Skjermbilde er et verktøy som brukes for å ta skjermbilder av hele skjermen, et vindu eller et brukerdefinert område av skjermen, med valgfrie forskjønnende kanteffekter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Skjermbilde Avhengigheter

Påkrevd

GTK-3.24.51, libcanberra-0.30 (Kompilert med GTK+3 støtte), og libhandy-1.8.3

Installasjon av GNOME Skjermbilde

Først, fikse bygging med nyere versjoner av meson:

sed -i '/merge_file/{n;d}' data/meson.build

Installer GNOME Skjermbilde ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Notat

For best mulig å kjøre GNOME Skjermbilde fra kommandolinjen må -i-alternativet spesifiseres.

Innhold

Installert Program: gnome-screenshot
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

gnome-screenshot

brukes til å fange skjermen, et vindu eller et brukerdefinert området og lagre øyeblikksbildet til en fil

gnome-system-monitor-49.1

Introduksjon til GNOME Systemovervåking

GNOME Systemovervåking pakken inneholder GNOME sin erstatning for gtop.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Systemovervåking Avhengigheter

Påkrevd

adwaita-icon-theme-49.0, Gtkmm-4.20.0, itstool-2.0.7, libgtop-2.41.3, libadwaita-1.8.4, og librsvg-2.61.4

Valgfri

appstream-glib-0.8.3, desktop-file-utils-0.28, Catch2, og uncrustify

Installasjon av GNOME Systemovervåking

Fjern først en hard avhengighet av Catch2, som bare brukes hvis du kjører enhetstestene:

find . -name meson.build | xargs sed -i -e '/catch2/d' &&
sed -i '145,155d' src/meson.build

Installer GNOME Systemovervåking ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            -D systemd=false    \
            --buildtype=release \
            ..                  &&
ninja

Denne pakken kommer med en testpakke, men den er avhengigh av den eksterne Catch2. Hvis du har Catch2 installert, kan du utelate seden ovenfor og kjør deretter testene med ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D systemd=false: Denne bryteren sørger for at gnome-system-monitor IKKE bruker systemd prosessovervåkingsrammeverket. Bruk dette alternativet hvis du er på et SysV system.

Innhold

Installert Program: gnome-system-monitor
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/{libexec,share,share/help/*}/gnome-system-monitor

Korte Beskrivelser

gnome-system-monitor

brukes til å vise prosesstreet og maskinvaremålere

gnome-terminal-3.58.1

Introduksjon til GNOME Terminal

GNOME Terminal pakken inneholder terminalemulator for GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Terminal Avhengigheter

Påkrevd

DConf-0.49.0, gsettings-desktop-schemas-49.1, itstool-2.0.7, libhandy-1.8.3, og VTE-0.82.3

Anbefalt
Valgfri

appstream-glib-0.8.3 og desktop-file-utils-0.28

Installasjon av GNOME Terminal

Først må du fikse noen utdaterte skjemaoppføringer:

sed -i -r 's:"(/system):"/org/gnome\1:g' src/external.gschema.xml

Installer GNOME Terminal ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install &&
rm -v /usr/lib/systemd/user/gnome-terminal-server.service

Notat

For å kjøre GNOME Terminal, miljøvariabelen LANG må settes til en UTF-8 lokalitet før det grafiske miljøet startes.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D search_provider=false: Denne bryteren deaktiverer «search gnome-shell» leverandøren. Bruk dette alternativet hvis du ikke har gnome-shell installert.

-D nautilus_extension=false: Denne bryteren deaktiverer en avhengighet av nautilus filbehandler. Bruk dette alternativet hvis du ikke har Nautilus installert.

Innhold

Installert Program: gnome-terminal
Installerte Biblioteker: /usr/lib/nautilus/extensions-4/libterminal-nautilus.so (Nautilus Utvidelser)
Installerte Mapper: /usr/{lib,share/help/*}/gnome-terminal og /usr/share/xdg-terminals

Korte Beskrivelser

gnome-terminal

er GNOME Terminalemulator

gnome-weather-48.0

Introduksjon til GNOME Vær

GNOME Vær er en liten applikasjon som tillater deg å overvåke gjeldende værforhold for byen din, eller hvor som helst i verden, og for å få tilgang til oppdaterte prognoser levert av ulike internett tjenester.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GNOME Vær Avhengigheter

Påkrevd

GeoClue-2.8.0, Gjs-1.86.0, libadwaita-1.8.4, og libgweather-4.4.4

Valgfri

appstream-glib-0.8.3

Installasjon av GNOME Vær

Installer GNOME Vær ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: gnome-weather
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/org.gnome.Weather

Korte Beskrivelser

gnome-weather

er en liten applikasjon som lar deg overvåke nåværende værforhold hvor som helst i verden

Gucharmap-17.0.1

Introduksjon til Gucharmap

Gucharmap er et Unicode tegnkart og fontviser. Den lar deg bla gjennom all tilgjengelig Unicode tegn og kategorier for de installerte skriftene, og for å undersøke deres detaljerte egenskaper. Det er en enkel måte å finne karakteren du kanskje bare kjenner etter Unicode navnet eller kodepunktet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Gucharmap Avhengigheter

Påkrevd

desktop-file-utils-0.28, gsettings-desktop-schemas-49.1, GTK-3.24.51, itstool-2.0.7, og libarchive-3.8.5

Anbefalt
Valgfri

appstream-glib-0.8.3 og GTK-Doc-1.35.1

Installasjon av Gucharmap

Notat

Denne pakken bruker to uversjonerte nedlastinger. Det kan være lurt å gi nytt navn til disse til et versjonert navn, f.eks. UCD-16.zip for å gjøre oppgraderinger enklere.

Installer Gucharmap ved å kjøre følgende kommandoer:

mkdir build                   &&
cd    build                   &&
mkdir ucd                     &&
pushd ucd                     &&
  unzip ../../../UCD.zip      &&
  cp -v ../../../Unihan.zip . &&
popd                          &&

meson setup --prefix=/usr       \
            --strip             \
            --buildtype=release \
            -D ucd_path=./ucd   \
            -D docs=false       \
            ..                  &&
ninja

Denne pakken har ikke en testpakke.

Nå, som root bruker:

rm  -fv /usr/share/glib-2.0/schemas/org.gnome.Charmap.enums.xml &&
ninja install

Parameterforklaringer

--strip: Selv om pakken har en utgivelse som standard bygger uten feilsøkingsinformasjon, uten denne bryteren vil det være noe feilsøkingsinformasjon i binærfilene.

-D ucd_path=./ucd: Dette peker på hvor de utpakkede hoved Unicode datafiler, og det zippede Unihan arkivet kan bli funnet.

rm -fv /usr/share/glib-2.0/schemas/org.gnome.Charmap.enums.xml: Gamle versjoner av denne pakken installerte en foreldet fil som forhindrer programmet å kjøre, som om hovedskjemaet ikke er installert. Tvangsfjerning fungerer selv om den gamle filen ikke er til stede.

-D docs=false: Dette gjør at pakken kan bygge hvis gtk-doc ikke er installert. Fjern dette hvis du har installert det og ønsker å bygge dokumentasjonen.

-D gir=false: Bruk denne hvis du ikke har installert GLib-2.86.4 (med GObject Introspection).

-D vapi=false: Bruk denne hvis du ikke har installert Vala-0.56.18.

Innhold

Installert Program: gucharmap
Installert Bibliotek: libgucharmap_2_90.so
Installerte Mapper: /usr/include/gucharmap-2.90

Korte Beskrivelser

gucharmap

er et Unicode tegnkart og fontviser

libgucharmap_2_90.so

inneholder Gucharmap API funksjoner

Loupe-49.2

Introduksjon til Loupe

Loupe er et program som brukes til å vise bildefiler på GNOME Skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gnome.org/sources/loupe/49/loupe-49.2.tar.xz

  • Nedlasting MD5 sum: fbfd6f3e60b342094dd67932f3818eb0

  • Nedlastingsstørrelse: 372 KB

  • Estimert diskplass som kreves: 1.0 GB (11 MB installert, legg til 2 MB for tester)

  • Estimert byggetid: 1.4 SBU (med 4 jobber, legg til 2.6 SBU for tester)

Loupe Avhengigheter

Påkrevd

glycin-2.0.8 (kjøretid), Little CMS-2.18, libadwaita-1.8.4, libgweather-4.4.4, libseccomp-2.6.0, og rustc-1.93.1

Valgfri

AppStream-1.1.2

Installasjon av Loupe

Installer Loupe ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            ..                  &&
ninja

Å kjøre testpakken vil gjenoppbygge hele pakken med en annen konfigurasjon, og pakken vil bli bygget tre ganger hvis du installerer den etter å ha kjørt testpakken. Så det er bedre å kjøre testpakken etter installasjonen.

Nå, som root bruker:

ninja install

For å teste resultatene, utsted: ninja test

Hvis du har installert Eog (som ikke vedlikeholdes og er fjernet fra BLFS) før og du vil at filbehandlere (som Nautilus) skal åpne bildefiler med Loupe i stedet for Eog, fjern skrivebordsfilen for Eog som root bruker:

rm -fv /usr/share/applications/org.gnome.eog.desktop

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: loupe
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/help/*/loupe

Korte Beskrivelser

loupe

er en rask og funksjonell bildefremviser designet for bruk med GNOME skrivebordet.

Seahorse-47.0.1

Introduksjon til Seahorse

Seahorse er et grafisk grensesnitt for å administrere og bruke krypteringsnøkler. For øyeblikket støtter den PGP nøkler (ved hjelp av GPG/GPGME) og SSH nøkler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Seahorse Avhengigheter

Påkrevd

Gcr-3.41.2, GnuPG-2.5.17, gpgme-2.0.1, itstool-2.0.7, libhandy-1.8.3, libpwquality-1.4.5, libsecret-0.21.7, og Vala-0.56.18

Anbefalt
Valgfri

Avahi-0.8

Kjøretids Avhengigheter

gnome-keyring-48.0

Installasjon av Seahorse

Først, fiks en byggefeil som oppstår med gpgme-2.x:

sed -i "/GPGME_EVENT_NEXT_TRUSTITEM/d" pgp/seahorse-gpgme.c

Installer Seahorse ved å kjøre følgende kommandoer:

sed -i -r 's:"(/apps):"/org/gnome\1:' data/*.xml &&

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

sed ... data/*.xml: Denne kommandoen fikser noen utdaterte oppføringer i skjemamalene.

Innhold

Installert Program: seahorse
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/{libexec,share,share/help/*}/seahorse

Korte Beskrivelser

seahorse

er det grafiske grensesnittet for administrasjon og bruk av krypteringsnøkler

Showtime-49.1

Introduksjon til Showtime

Showtime er et program som brukes til å spille av lyd og videofiler på GNOME skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Showtime Avhengigheter

Påkrevd

blueprint-compiler-0.18.0, gst-plugins-base-1.28.0, libadwaita-1.8.4, og PyGObject-3.54.5

Installasjon av Showtime

Installer Showtime ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            ..                  &&
ninja

Denne pakken leveres ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: showtime
Installerte Biblioteker: Ingen
Installert Mappe: /usr/lib/python3.14/site-packages/showtime

Korte Beskrivelser

showtime

er en lettvekts lyd og videospiller designet for GNOME skrivebordet

Snapshot-49.1

Introduksjon til Snapshot

Snapshot pakken inneholder et program som tar bilder og videoer fra et webkamera.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Snapshot Avhengigheter

Påkrevd

libadwaita-1.8.4, gst-plugins-bad-1.28.0, og rustc-1.93.1

Påkrevd ved kjøretid

libgstgtk4 (fra gst-plugins-rs-1.28.0), pipewire-1.4.10, xdg-desktop-portal-gnome-49.0, og Xdg-user-dirs-0.19

Installasjon av Snapshot

Notat

Denne pakken tar lang tid å bygge fordi LTO er aktivert, og LTO passering er ikke parallellisert.

Installer Snapshot ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: snapshot
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/snapshot

Korte Beskrivelser

snapshot

er et program som brukes til å ta bilder og videoer fra et webkamera

Del IX. Xfce

Kapittel 35. Xfce Skrivebord

Xfce er et skrivebordsmiljø som har som mål å være raskt og bruke lite system ressurser, samtidig som de er visuelt tiltalende og brukervennlige.

Xfce legemliggjør den tradisjonelle UNIX filosofien om modularitet og gjenbrukbarhet. Den består av en rekke komponenter som gir den fulle funksjonaliteten man kan forvente av et moderne skrivebordsmiljø. De er pakket separat, og du kan velge blant de tilgjengelige pakkene for å opprette det optimale personlige arbeidsmiljøet.

Bygg Xfce kjernepakker i den rekkefølgen som er presentert i boken for den enkleste løsningen av avhengigheter.

libxfce4util-4.20.1

Introduksjon til libxfce4util

libxfce4util pakken er et grunnleggende verktøy bibliotek for Xfce skrivebordsmiljøet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libxfce4util Avhengigheter

Påkrevd

GLib-2.86.4 (med GObject Introspection)

Anbefalt
Valgfri

GTK-Doc-1.35.1

Installasjon av libxfce4util

Installer libxfce4util ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: xfce4-kiosk-query
Installert Bibliotek: libxfce4util.so
Installerte Mapper: /usr/include/xfce4 og /usr/share/gtk-doc/html/libxfce4util

Korte Beskrivelser

xfce4-kiosk-query

Spørrer de gitte egenskapene til <module> for nåværende bruker og rapporterer om brukeren har evnene eller ikke. Dette verktøyet er hovedsakelig ment for systemadministratorer for å teste Kiosk sitt oppsett

libxfce4util.so

inneholder grunnleggende verktøyfunksjoner for Xfce skrivebordsmiljøet

Xfconf-4.20.0

Introduksjon til Xfconf

Xfconf er konfigurasjonslagringssystemet for Xfce.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfconf Avhengigheter

Påkrevd

libxfce4util-4.20.1

Valgfri

GTK-Doc-1.35.1 og Vala-0.56.18

Installasjon av Xfconf

Installer Xfconf ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: xfconf-query
Installert Bibliotek: libxfconf-0.so
Installerte Mapper: /usr/include/xfce4/xfconf-0, /usr/lib/xfce4/xfconf, og /usr/share/gtk-doc/html/xfconf

Korte Beskrivelser

xfconf-query

er et kommandolinjeverktøy for å vise eller endre alle innstillinger som er lagret i Xfconf

libxfconf-0.so

inneholder grunnleggende funksjoner for Xfce konfigurasjon

libxfce4ui-4.20.2

Introduksjon til libxfce4ui

libxfce4ui pakken inneholder GTK+ 3 skjermelementer som brukes av andre Xfce applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libxfce4ui Avhengigheter

Påkrevd

GTK-3.24.51 og Xfconf-4.20.0

Anbefalt
Valgfri

GTK-Doc-1.35.1, libgtop-2.41.3, libgudev-238, og Glade

Installasjon av libxfce4ui

Installer libxfce4ui ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libxfce4kbd-private-{2,3}.so og libxfce4ui-{1,2}.so
Installerte Mapper: /etc/xdg/xfce4, /usr/include/xfce4/libxfce4kbd-private-2, /usr/include/xfce4/libxfce4ui-{1,2}, og /usr/share/gtk-doc/html/libxfce4ui

Korte Beskrivelser

libxfce4kbd-private-2.so

er et privat Xfce bibliotek for deling av kode mellom Xfwm4 og Xfce4 Innstillinger

libxfce4ui-1.so

inneholder skjermelementer som brukes av andre Xfce applikasjoner

Exo-4.20.0

Introduksjon til Exo

Exo er et støttebibliotek som brukes i Xfce skrivebordet. Den har også noen hjelper applikasjoner som brukes gjennomgående i Xfce.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Exo Avhengigheter

Påkrevd

GTK-3.24.51, libxfce4ui-4.20.2, og libxfce4util-4.20.1

Valgfri

GTK-Doc-1.35.1

Installasjon av Exo

Installer Exo ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: exo-desktop-item-edit og exo-open
Installerte Biblioteker: libexo-2.so
Installerte Mapper: /usr/include/exo-2 og /usr/share/gtk-doc/html/exo-2

Korte Beskrivelser

exo-desktop-item-edit

er et kommandolinjeverktøy for å lage eller redigere ikoner på skrivebordet

exo-open

er en kommandolinjegrensesnitt til Xfce Foretrukket applikasjonsrammeverk. Den kan enten brukes til å åpne en liste over nettadresser med standard URL behandler eller starte den foretrukne applikasjonen for en bestemt kategori

libexo-2.so

inneholder ekstra skjermelementer, et rammeverk for redigerbare verktøylinjer, lett-vekt økt ledelse støtte og funksjoner til å automatisk synkronisere objektegenskaper (basert på GObject Bindende egenskaper)

Garcon-4.20.0

Introduksjon til Garcon

Garcon pakken inneholder en freedesktop.org kompatibel menyimplementering basert på GLib og GIO.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Garcon Avhengigheter

Påkrevd

libxfce4ui-4.20.2 og GTK-3.24.51

Valgfri

GTK-Doc-1.35.1

Installasjon av Garcon

Installer Garcon ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgarcon-1.so og libgarcon-gtk3-1.so
Installert Mappe: /usr/include/garcon-1, /usr/include/garcon-gtk3-1, og /usr/share/gtk-doc/html/garcon

Korte Beskrivelser

libgarcon-1.so

inneholder funksjoner som gir en freedesktop.org kompatibel menyimplementering basert på GLib og GIO

libwnck-43.3

Introduksjon til libwnck

libwnck pakken inneholder Vindusnavigator konstruksjonssett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libwnck Avhengigheter

Påkrevd

GTK-3.24.51

Anbefalt
Valgfri

GTK-Doc-1.35.1

Installasjon av libwnck

Installer libwnck ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dgtk_doc=true: Bruk dette alternativet for å bygge API referansemanualen.

Innhold

Installert Program: wnckprop og wnck-urgency-monitor
Installert Bibliotek: libwnck-3.so
Installerte Mapper: /usr/include/libwnck-3.0 og /usr/share/gtk-doc/html/libwnck-3.0

Korte Beskrivelser

wnckprop

brukes til å skrive ut eller endre egenskapene til en skjerm/arbeidsområde/vindu, eller å samhandle med det

libwnck-3.so

inneholder funksjoner for å skrive pagers og oppgavelister

xfce4-dev-tools-4.20.0

Introduksjon til Xfce4 Utviklingsverktøy

Xfce4 Utviklingsverktøy er en samling verktøy og makroer for å bygge noen Xfce applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfce4 Utviklingsverktøy Avhengigheter

Påkrevd

GLib-2.86.4

Installasjon av Xfce4 Utviklingsverktøy

Installer Xfce4 Utviklingsverktøy ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installert Program: xdt-autogen og xdt-csource
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

libxfce4windowing-4.20.5

Introduksjon til libxfce4windowing

libxfce4windowing pakken inneholder en vindukonseptabstraksjonsbibliotek for X11 og Wayland.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libxfce4windowing Avhengigheter

Påkrevd

GTK-3.24.51, libdisplay-info-0.3.0, libwnck-43.3 og xfce4-dev-tools-4.20.0

Valgfri

GTK-Doc-1.35.1

Installasjon av libxfce4windowing

Installer libxfce4windowing ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --enable-x11      \
            --disable-debug   &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libxfce4windowingui-0 og libxfce4windowing-0.so
Installerte Mapper: /usr/include/xfce4/libxfce4windowing, /usr/include/xfce4/libxfce4windowingui, /usr/share/gtk-doc/html/libxfce4windowing, og /usr/share/gtk-doc/html/libxfce4windowingui

xfce4-panel-4.20.6

Introduksjon til Xfce4 Panel

Xfce4 Panel pakken inneholder Xfce4 Panel.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfce4 Panel Avhengigheter

Påkrevd

Cairo-1.18.4, Exo-4.20.0, Garcon-4.20.0, libwnck-43.3, og libxfce4windowing-4.20.5

Valgfri

GTK-Doc-1.35.1 og libdbusmenu

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-panel

Installasjon av Xfce4 Panel

Installer Xfce4 Panel ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: xfce4-panel, xfce4-popup-applicationsmenu, xfce4-popup-directorymenu, og xfce4-popup-windowmenu
Installert Bibliotek: libxfce4panel-2.0.so
Installerte Mapper: /etc/xdg/xfce4/panel, /usr/include/xfce4/libxfce4panel-1.0, /usr/lib/xfce4/panel, /usr/share/gtk-doc/html/libxfce4panel-1.0 og /usr/share/xfce4/panel

Korte Beskrivelser

xfce4-panel

er Xfce panel

xfce4-popup-applicationsmenu

er et skallskript som bruker D-Bus og Xfce Panel for å vise en sprettoppmeny av installerte applikasjoner

xfce4-popup-directorymenu

er et skallskript som bruker D-Bus og Xfce Panel for å vise en sprettoppmeny av hjemmemappen og dens undermapper

xfce4-popup-windowmenu

er et skallskript som bruker DBus til å vise Xfwm4 sprettoppmeny

libxfce4panel-2.0.so

inneholder Xfce Panel API funksjoner

thunar-4.20.7

Introduksjon til thunar

Thunar er Xfce sin filbehandler, en GTK+ 3 GUI for å organisere filene på datamaskinen din.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Thunar Avhengigheter

Påkrevd

Exo-4.20.0

Påkrevd (Kjøretid)

hicolor-icon-theme-0.18

Anbefalt
Valgfri

GTK-Doc-1.35.1 (for dokumentasjon), Gvfs-1.58.1 (for fjernsurfing og automontering), libexif-0.6.25 og tumbler-4.20.1 (kjøretid)

Installasjon av Thunar

Først forhindre installasjon av en unødvendig systemd fil:

sed -i 's/\tinstall-systemd_userDATA/\t/' Makefile.in

Installer Thunar ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/thunar-4.20.7 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Thunar (symbolkobling til thunar), thunar, og thunar-settings
Installert Bibliotek: libthunarx-3.so
Installerte Mapper: /etc/xdg/Thunar, /usr/include/thunarx-3, /usr/lib/Thunar, /usr/lib/thunarx-3, /usr/share/Thunar, /usr/share/doc/thunar-4.20.7, og /usr/share/gtk-doc/html/thunarx

Korte Beskrivelser

thunar

er Xfce sin filbehandler

thunar-settings

er et skallskript som starter en dialogboks som lar deg endre oppførselen til Thunar

libthunarx-3.so

inneholder Thunar utvidelsesbibliotek som tillater å legge til nye funksjoner til Thunar filbehandler

thunar-volman-4.20.0

Introduksjon til Thunar Volumbehandler

Thunar Volumbehandler er en utvidelse for Thunar filbehandling, som aktiverer automatisk administrasjon av flyttbare stasjoner og medier.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Thunar Volumbehandler Avhengigheter

Påkrevd

Exo-4.20.0 og libgudev-238

Anbefalt
Anbefalte Kjøretidsavhengigheter

Installasjon av Thunar Volumbehandler

Installer Thunar Volumbehandler ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: thunar-volman og thunar-volman-settings
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

thunar-volman

er Thunar Volumbehandler, et kommando linjeverktøy for automatisk å montere eller avmontere flyttbare medier

thunar-volman-settings

er en liten GTK+ 3 applikasjon for å endre Thunar Volumbehandler innstillinger

tumbler-4.20.1

Introduksjon til tumbler

Tumbler pakken inneholder en D-Bus miniatyrbildetjeneste basert på miniatyrbilderbehandling av D-Bus spesifikasjoner. Dette er nyttig for å generere miniatyrbilder av filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Tumbler Avhengigheter

Påkrevd

GLib-2.86.4

Valgfri

cURL-8.18.0, FreeType-2.14.1, gdk-pixbuf-2.44.5, gst-plugins-base-1.28.0, GTK-Doc-1.35.1, libjpeg-turbo-3.1.3, libgsf-1.14.55, libpng-1.6.55, Poppler-26.02.0, FFmpegThumbnailer, libgepub, og libopenraw

Installasjon av Tumbler

Installer Tumbler ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Til slutt, fjern en systemd enhet som er ubrukelig på et SysV system:

rm -fv /usr/lib/systemd/user/tumblerd.service

Innhold

Installerte Programmer: tumblerd
Installert Bibliotek: libtumbler-1.so og several under /usr/lib/tumbler-1/plugins/
Installerte Mapper: /etc/xdg/tumbler, /usr/include/tumbler-1, /usr/lib/tumbler-1 og /usr/share/gtk-doc/html/tumbler

Korte Beskrivelser

tumblerd

er en D-Bus tjeneste for at applikasjoner som Thunar og Ristretto kan bruke miniatyrbilder

libtumbler-1.so

inneholder funksjoner som Tumbler nissen bruker for å lage miniatyrbilder

xfce4-appfinder-4.20.0

Introduksjon til Xfce4 Appfinder

Xfce4 Appfinder er et verktøy for å finne og starte installerte applikasjoner ved å søke i .desktop filene som er installert på ditt system.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfce4 Appfinder Avhengigheter

Påkrevd

Garcon-4.20.0

Installasjon av Xfce4 Appfinder

Installer Xfce4 Appfinder ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: xfce4-appfinder og xfrun4 (symbolkobling)
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

xfce4-appfinder

Er en GTK+ 3 applikasjon som gjør deg i stand til å raskt å søke gjennom .desktop filene som er installert på ditt system for å lete etter en applikasjon

xfce4-power-manager-4.20.0

Introduksjon til Xfce4 Strømbehandler

Xfce4 Strømbehandler er strømbehandler for Xfce skrivebordet, Xfce strømbehandler administrerer strømkildene på datamaskinen og enheter som kan kontrolleres for å redusere strømforbruket deres (som f.eks LCD lysstyrkenivå eller skjermens dvale). I tillegg, Xfce4 Strømbehandler gir et sett med freedesktop kompatibel DBus grensesnitt for å informere andre applikasjoner om gjeldende effektnivå slik at de kan justere strømforbruket deres.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfce4 Strømbehandler Avhengigheter

Påkrevd

libnotify-0.8.8, UPower-1.91.1, og xfce4-panel-4.20.6

Anbefalt
Valgfri

NetworkManager-1.56.0

Installasjon av Xfce4 Strømbehandler

Installer Xfce4 Strømbehandler ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: xfce4-power-manager, xfce4-power-manager-settings, xfce4-pm-helper, og xfpm-power-backlight-helper
Installerte Biblioteker: libxfce4powermanager.so
Installerte Mapper: Ingen

Korte Beskrivelser

xfce4-pm-helper

er et hjelpeprogram for suspendering og dvalemodus for xfce4-power-manager

xfce4-power-manager

er Xfce Strømbehandler

xfce4-power-manager-settings

er et verktøy som følger med Xfce Strømbehandler for å få tilgang til/endre konfigurasjonen

xfpm-power-backlight-helper

er et kommandolinjeverktøy for å få eller stille inn lysstyrken til din skjerm

xfce4-settings-4.20.3

Introduksjon til Xfce4 Innstillinger

Xfce4 Innstillinger pakken inneholder en samling av programmer som er nyttige for å justere dine Xfce preferanser.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfce4 Innstillinger Avhengigheter

Påkrevd

Exo-4.20.0 og Garcon-4.20.0

Påkrevd (Kjøretid)

gnome-icon-theme-3.12.0 eller lxde-icon-theme-0.5.1

Anbefalt
Valgfri

colord-1.4.8, libinput-1.31.0, og UPower-1.91.1

Installasjon av Xfce4 Innstillinger

Installer Xfce4 Innstillinger ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-sound-settings: Bruk denne bryteren til å aktiver lydinnstillinger i GUI.

--enable-pluggable-dialogs: Bruk denne bryteren til å aktiver støtte for innebygde innstillingsdialoger.

Innhold

Installerte Programmer: xfce4-accessibility-settings, xfce4-appearance-settings, xfce4-color-settings, xfce4-display-settings, xfce4-find-cursor, xfce4-keyboard-settings, xfce4-mime-helper, xfce4-mime-settings, xfce4-mouse-settings, xfce4-settings-editor, xfce4-settings-manager og xfsettingsd
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

xfce4-accessibility-settings

er en GTK+ 3 GUI som lar deg endre noen av tastatur og muse preferansene dine

xfce4-appearance-settings

er en GTK+ 3 GUI som lar deg endre noen av dine tema, ikon og font preferanser

xfce4-display-settings

er en GTK+ 3 GUI som lar deg endre noen av dine skjermpreferanser

xfce4-keyboard-settings

er en GTK+ 3 GUI to som lar deg endre noen av tastaturpreferansene dine

xfce4-mime-settings

er en GTK+ 3 GUI som lar deg endre hvilke applikasjoner som brukes til å håndtere ulike mimetyper

xfce4-mouse-settings

er en GTK+ 3 GUI som lar deg endre noen av dine muspreferanser

xfce4-settings-editor

er en GTK+ 3 GUI som lar deg endre dine preferanser lagret i Xfconf

xfce4-settings-manager

er en GTK+ 3 GUI som lar deg endre mange av dine Xfce preferanser

xfsettingsd

er en Xfce innstillingsnisse

Xfdesktop-4.20.1

Introduksjon til Xfdesktop

Xfdesktop er en skrivebordsbehandler for Xfce Skrivebordsmiljøet. Xfdesktop setter bakgrunnsbildet/fargen, oppretter høyreklikkmenyen og vinduslisten og viser filikonene på skrivebordet ved hjelp av Thunar biblioteker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfdesktop Avhengigheter

Påkrevd

Exo-4.20.0, libxfce4windowing-4.20.5, og libwnck-43.3

Anbefalt

Installasjon av Xfdesktop

Installer Xfdesktop ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: xfdesktop og xfdesktop-settings
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/backgrounds/xfce og /usr/share/pixmaps/xfdesktop

Korte Beskrivelser

xfdesktop

er Xfce Skrivebordsmiljøets sin skrivebordbehandler

xfdesktop-settings

er en GTK+ 3 applikasjon som lar deg endre skrivebordsbakgrunnen, noen preferanser for høyreklikk menyen og hvilke ikoner som vises på skrivebordet

Xfwm4-4.20.0

Introduksjon til Xfwm4

Xfwm4 er vindusbehandleren for Xfce.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfwm4 Avhengigheter

Påkrevd

libwnck-43.3 og libxfce4ui-4.20.2

Anbefalt

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/xfwm4

Installasjon av Xfwm4

Installer Xfwm4 ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: xfwm4, xfwm4-settings, xfwm4-tweaks-settings og xfwm4-workspace-settings
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/xfce4/xfwm4, /usr/share/themes/{Daloa,Default{,-hdpi,-xhdpi},Kokodi,Moheli}, og /usr/share/xfwm4

Korte Beskrivelser

xfwm4

er Xfce vindusbehandler

xfwm4-settings

er en GTK+ 3 applikasjon som tillater angivelse av noen preferanser som tema, hurtigtaster og musefokusatferd

xfwm4-tweaks-settings

er en GTK+ 3 applikasjon som tillater angivelse av noen flere preferanser for Xfwm4

xfwm4-workspace-settings

er en GTK+ 3 applikasjon som tillater angivelse av arbeidsområde preferansene dine

xfce4-session-4.20.3

Introduksjon til Xfce4 Økter

Xfce4 Økter er øktbehandler for Xfce. Dens oppgave er å lagre tilstanden til ditt skrivebord (åpnede applikasjoner og deres plassering) og gjenopprett det i løpet av neste oppstart. Du kan lage flere forskjellige økter og velge en av dem ved oppstart.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfce4 Økter Avhengigheter

Påkrevd

libwnck-43.3, libxfce4windowing-4.20.5, og libxfce4ui-4.20.2

Anbefalt
Påkrevd Kjøretid

Xfdesktop-4.20.1

Installasjon av Xfce4 Økter

Installer Xfce4 Økter ved å kjøre følgende kommandoer:

./configure --prefix=/usr       \
            --sysconfdir=/etc   \
            --disable-legacy-sm &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-legacy-sm: Denne bryteren deaktiverer eldre øktbehandlinger som ikke er nødvendig på et moderne system.

Konfigurere Xfce4 Økter

Det er flere valgfrie kjøretidsavhengigheter for Xfce4: dbus-1.16.2, GnuPG-2.5.17, hicolor-icon-theme-0.18 OpenSSH-10.2p1 og xinit-1.4.4

Når du bygger en Xfce4 pakke, noen konfigurasjonsfiler er installert i /usr/share/applications, /usr/share/icons, og /usr/share/mime. For å bruke disse filene i din Xfce4 økt, må du oppdatere ulike databaser. Gjør det ved å kjøre, som root bruker (du må ha de anbefalte avhengighetene installert):

update-desktop-database &&
update-mime-database /usr/share/mime

Starte Xfce4

Du kan starte Xfce4 fra kjørenivå 3, ved bruk av xinit-1.4.4, eller fra kjørenivå 5, ved å bruke en Skjermbehandler, som for eksempel lightdm-1.32.0.

For å starte Xfce4 ved bruk av xinit-1.4.4, kjør følgende kommandoer:

cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 startxfce4
EOF

startx

X økten starter på den første ubrukte virtuelle terminalen, normalt vt7. Du kan bytte til en annen vtn ved å samtidig trykke på tastene Ctrl-Alt-Fn (n=1, 2, ...). For å bytte tilbake til X økten, vanligvis startet på vt7, bruk Ctrl-Alt-F7. Vt hvor kommandoen startx ble utført vil vise mange meldinger, inkludert X startmeldinger, applikasjoner startet automatisk med økten, og til slutt noen advarsler og feilmeldinger. Du kan foretrekke å omdirigere disse meldingene til en loggfil, som ikke bare vil beholde den innledende vt ryddig, men kan også brukes til feilsøkingsformål. Dette kan gjøres fra X med:

startx &> ~/.x-session-errors

Notat

Du kan ønske å droppe dbus-launch, for eksempel bare å bruke startxfce4 in ~/.xinitrc. Men noen funksjoner som montering eller avmontering av filsystemer fra en filbehandling vil ikke være mulig, eller omstartsalternativet vil være fraværende eller ute av drift, blant noen problemer.

Når du slår av eller starter på nytt, vises avslutningsmeldingene på vt hvor X kjørte. Hvis du ønsker å se disse meldingene, samtidig trykk på tastene Alt-F7 (forutsatt at X kjørte på vt7).

Innhold

Installerte Programmer: startxfce4, xfce4-session, xfce4-session-logout, xfce4-session-settings, og xflock4
Installert Bibliotek: Ingen
Installerte Mapper: /usr/lib/xfce4/session

Korte Beskrivelser

startxfce4

er et skript som er ansvarlig for å starte en Xfce økt.

xfce4-session

starter opp Xfce Skrivebordsmiljøet

xfce4-session-logout

logger ut avXfce

xfce4-session-settings

er en GTK+ 3 GUI som lar deg endre dine preferanser for din Xfce Økt

Kapittel 36. Xfce Applikasjoner

Dette er en liten samling av valgfrie applikasjoner som legger til ekstra kapasiteter til ditt Xfce skrivebord.

Parole-4.20.0

Introduksjon til Parole

Parole er en DVD/CD/musikk spiller for Xfce som bruker GStreamer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Notat

Selv om denne versjonen av parole fungerer med de fleste filer, kan den ikke spille av DVDer, rapporterer en feil i gstreameren sin bakside.

Pakkeinformasjon

Parole Avhengigheter

Påkrevd

dbus-glib-0.114, gst-plugins-base-1.28.0, gst-plugins-good-1.28.0, og libxfce4ui-4.20.2

Anbefalt
Valgfri

GTK-Doc-1.35.1

Installasjon av Parole

Installer Parole ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Bruke Parole

Hvis du har installert Gstreamer Plugins Ugly med støtte for libdvdnav og libdvdread og ønsker å bruke Parole til å spille av en DVD, klikk Media> Open location og skriv inn dvd:// i boksen.

På samme måte klikker du for å spille av en CD Media> Open location og skriv inn cdda:// i boksen.

Innhold

Installert Program: parole
Installerte Biblioteker: To biblioteker under /usr/lib/parole-0/
Installerte Mapper: /usr/include/parole, /usr/lib/parole-0 og /usr/share/parole

Korte Beskrivelser

parole

er en GTK+ 3 mediespiller som bruker GStreamer

xfce4-terminal-1.1.5

Introduksjon til Xfce4 Terminal

Xfce4 Terminal er en GTK+3 terminalemulator. Dette er nyttig for å kjøre kommandoer eller programmer i komforten til et Xorg vindu; du kan dra og slippe filer i Xfce4 Terminal eller kopier og lim inn tekst med musen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfce4 Terminal Avhengigheter

Påkrevd

libxfce4ui-4.20.2 og VTE-0.82.3

Installasjon av Xfce4 Terminal

Installer Xfce4 Terminal ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..      \
      --prefix=/usr \
      --buildtype=release &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installert Program: xfce4-terminal
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/xfce4/terminal

Korte Beskrivelser

xfce4-terminal

er en GTK+ 3 terminalemulator

Xfburn-0.8.0

Introduksjon til Xfburn

Xfburn er et GTK+ 3 GUI grensesnitt for Libisoburn. Dette er nyttig for å lage CDer og DVDer fra filer på datamaskinen eller ISO bilder lastet ned fra andre steder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfburn Avhengigheter

Påkrevd

libburn-1.5.6, libisofs-1.5.6, og libxfce4ui-4.20.2

Valgfri

gst-plugins-base-1.28.0 og Cdrdao-1.2.6 (kjøretid)

Installasjon av Xfburn

Installer Xfburn ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: xfburn
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/xfburn

Korte Beskrivelser

xfburn

er en GTK+ 3 applikasjon for å lage CDer og DVDer

Ristretto-0.13.4

Introduksjon til Ristretto

Ristretto er en rask og lett bildeviser for Xfce skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ristretto Avhengigheter

Påkrevd

libexif-0.6.25 og libxfce4ui-4.20.2

Valgfri

tumbler-4.20.1 (kjøretid)

Installasjon av Ristretto

Installer ristretto ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installert Program: ristretto
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

ristretto

er en rask og lett bildeviser

xfce4-notifyd-0.9.7

Introduksjon til Xfce4 Varslingsnisse

Xfce4 Varslingsnissen er en liten program som implementerer "server-side"-delen av Freedesktop skrivebords varslingsspesifikasjon. Programmer som ønsker å sprette opp en varslingsboble på en standard måte kan bruke Xfce4-Notifyd til å gjøre det ved å sende standard meldinger over D-Bus ved å bruke org.freedesktop.Notifications grensesnittet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

The Xfce4 Varslingsnisse Avhengigheter

Påkrevd

libnotify-0.8.8, libxfce4ui-4.20.2, libcanberra-0.30, xfce4-dev-tools-4.20.0, og xfce4-panel-4.20.6

Installasjon av Xfce4 Varslingsnissen

Installer Xfce4 Varslingsnissen ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-systemd &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Du kan teste varslingsnissen med kommandoen notify-send, skal kjøres i et grafisk miljø:

notify-send -i info Information "Hi ${USER}, This is a Test"

Innhold

Installert Program: xfce4-notifyd-config
Installerte Biblioteker: libnotification-plugin.so
Installerte Mapper: /usr/share/themes/Bright/xfce-notify-4.0, /usr/share/themes/Default/xfce-notify-4.0, /usr/share/themes/Retro/xfce-notify-4.0, /usr/share/themes/Smoke/xfce-notify-4.0 og /usr/share/themes/ZOMG-PONIES!/xfce-notify-4.0

Korte Beskrivelser

xfce4-notifyd-config

er en GTK+ GUI som lar deg endre noen av innstillingene dine (tema og skjermposisjon) for varslene som Xfce4 Varslingsnissen viser

xfce4-pulseaudio-plugin-0.5.1

Introduksjon til Xfce4 Pulseaudio Programtillegg

Xfce4 Pulseaudio Programtillegget er et programtillegg for Xfce panelet som gir en praktisk måte å justere lydvolumet på PulseAudio lydsystemet og til et automikserverktøy som pavucontrol. Den kan valgfritt håndtere multimedietaster for å kontrollere lydvolum.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Xfce4 Pulseaudio Programtillegg Avhengigheter

Påkrevd

libnotify-0.8.8, PulseAudio-17.0, og xfce4-panel-4.20.6

Anbefalt
Valgfri

mpris2

Installasjon av Xfce4 Pulseaudio Programtillegget

Installer Xfce4 Pulseaudio Programtillegg ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup  --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installert Program: Ingen
Installerte Biblioteker: libpulseaudio-plugin.so
Installerte Mapper: Ingen

Del X. LXQt

Kapittel 37. LXQt Skrivebord

LXQt er et ekstremt raskt og energibesparende skrivebordsmiljø.

LXQt er en Qt basert Skrivebordsmiljø. Det er fokusert på å være et klassisk skrivebord med et moderne utseende og følelse. Den kan tilpasse utseende overalt. Panelet(e) har programtillegg og innstillinger. Det er Vindusbehandler agnostisk, har flerspråksstøtte og standard hurtigtaster. LXQt bruker mindre CPU og mindre RAM enn de fleste andre miljøer. Det er spesielt nyttig for skydatamaskiner med lave maskinvarespesifikasjoner, som f.eks netbooks, mobile enheter (f.eks. MID-er) eller eldre datamaskiner, men kan brukes med moderne maskinvare.

Bygg LXQt kjernepakker i rekkefølgen presentert i boken for enkleste løsning av avhengigheter.

Instruksjoner før Installasjon av LXQt Skrivebordet

Merknader om å bygge LXQt avhengigheter

For å bygge LXQt anbefales følgende trinn:

  1. Bygg først helheten Xorg Chapter, inkludert Wayland støtte med nødvendige og anbefalte avhengigheter. Test at miljøet jobber med twm som vindusbehandler. Med erfaring kan noen av pakkene utelates, men det er ikke anbefalt for førstegangsbrukere.

  2. For det andre, bygg de nødvendige delene av Qt. Hele pakken, Qt-6.10.2 er ganske lang og har mange avhengigheter.

  3. Bygg til slutt LXQt skrivebordet ved å bruke sidene nedenfor i rekkefølge. Pakkene i applikasjonsdelen er valgfrie, men som et minimum, qterminal-2.3.0 er anbefalt.

KF6, Plasma og Diverse Avhengigheter

kwindowsystem-6.20.0 for lxqt

Introduksjon til kwindowsystem

kwindowsystem gir informasjon om, og tillater interaksjon med vindussystemet. Det gir et høyt nivå API som er vindussystemuavhengig og har plattformspesifikke implementeringer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.20.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

kwindowsystem Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0, plasma-wayland-protocols-1.19.0, Qt-6.10.2, og Xorg Biblioteker

Installasjon av kwindowsystem

Installer kwindowsystem ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_TESTING=OFF         \
      -W no-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKF5WindowSystem.so
Installerte Mapper: /usr/include/KF6, /usr/lib/cmake/KF6WindowSystem, /usr/lib/plugins/kf6, /usr/lib/qml/org/kde, og /usr/share/qlogging-categories6

Korte Beskrivelser

libKF6WindowSystem.so

inneholder KF6 Windowing API funksjoner

kconfig-6.20.0 for lxqt

Introduksjon til kconfig

kconfig pakken gir tilgang til konfigurasjonsfiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.20.0 er bygget, IKKE bygg denne pakken som er presentert her også.

Pakkeinformasjon

kconfig Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0 og Qt-6.10.2

Installasjon av kconfig

Installer kconfig ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -D CMAKE_INSTALL_LIBEXECDIR=libexec \
      -D KDE_INSTALL_USE_QT_SYS_PATHS=ON  \
      -D BUILD_TESTING=OFF                \
      -W no-dev ..                        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: kreadconfig6 og kwriteconfig6
Installert Bibliotek: libKF6ConfigCore.so, libKF6ConfigGui.so, og libKF6ConfigQml.so
Installerte Mapper: /usr/include/KF6/{KConfigCore,KConfig,KConfigQml,KConfigGui}, /usr/lib/cmake/KF6Config, /usr/libexec/kf6, og $QT6DIR/qml/org/kde/config

Korte Beskrivelser

kreadconfig6

leser fra en konfigurasjonsfil ved å bruke KConfig grensesnittet

kwriteconfig6

skriver til en konfigurasjonsfil ved å bruke KConfig grensesnittet

libKF6ConfigCore.so

inneholder kjernekonfigurasjonsbiblioteket for KF6

libKF6ConfigGui.so

inneholder funksjoner for et GUI grensesnitt med KConfig

libKF6ConfigQml.so

inneholder et QML grensesnitt til KConfig

solid-6.20.0 for lxqt

Introduksjon til solid

Solid er et enhetsintegrasjonsrammeverk. Den gir en måte å spørre og samhandle med maskinvare uavhengig av det underliggende operativsystemet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.20.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

solid Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0 og Qt-6.10.2

Valgfri (kjøretid)

UDisks-2.11.0, UPower-1.91.1, libimobiledevice, og media-player-info

Installasjon av solid

Installer solid ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -D CMAKE_INSTALL_LIBEXECDIR=libexec \
      -D KDE_INSTALL_USE_QT_SYS_PATHS=ON  \
      -D BUILD_TESTING=OFF                \
      -W no-dev ..                        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: solid-hardware6
Installert Bibliotek: libKF6Solid.so
Installerte Mapper: /usr/include/KF6/Solid and /usr/lib/cmake/KF6Solid

Korte Beskrivelser

solid-hardware6

spør etter maskinvareinformasjon fra systemet

libKF6Solid.so

gir en måte å spørre og samhandle med maskinvare uavhengig av det underliggende operativsystemet

kidletime-6.20.0 for lxqt

Introduksjon til kidletime

KIdleTime brukes til å rapportere inaktiv tid for brukere og systemet. Det er nyttig ikke bare for å bestemme gjeldende hviletid for PC-en, men også for å bli varslet om uvirksomme hendelser, for eksempel tilpasset tidsavbrudd eller brukeraktivitet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.20.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

kidletime Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0, plasma-wayland-protocols-1.19.0, og Qt-6.10.2

Installasjon av kidletime

Installer kidletime ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -D CMAKE_INSTALL_LIBEXECDIR=libexec \
      -D KDE_INSTALL_USE_QT_SYS_PATHS=ON  \
      -D BUILD_TESTING=OFF                \
      -W no-dev ..                        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKF6IdleTime.so
Installerte Mapper: /usr/include/KF6/KIdleTime, /usr/lib/cmake/KF6IdleTime, og $QT6DIR/lib/plugins/kf6/org.kde.kidletime.platforms

Korte Beskrivelser

libKF6IdleTime.so

inneholder KDE API for inaktive tidsrapporter

kwayland-6.5.2 for lxqt

Introduksjon til kwayland

kwayland er en Qt stil API å samhandle med wayland-client og wayland-server API.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.20.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

kwayland Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0, Mesa-25.3.5 (bygget med Wayland-1.24.0 støtte), plasma-wayland-protocols-1.19.0, og Qt-6.10.2

Installasjon av kwayland

Installer kwayland ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -D CMAKE_INSTALL_LIBEXECDIR=libexec \
      -D KDE_INSTALL_USE_QT_SYS_PATHS=ON  \
      -D BUILD_TESTING=OFF                \
      -W no-dev ..                        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKWaylandClient.so
Installerte Mapper: /usr/include/KWayland og /usr/lib/cmake/KWayland

Korte Beskrivelser

libKWaylandClient.so

inneholder wayland-client Qt stil innpakningsbibliotek

libkscreen-6.5.2 for lxqt

Introduksjon til libkscreen

libkscreen pakken inneholder KDE Skjermbehandlingsbiblioteket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken er trukket ut fra plasma settet med pakker. Hvis Plasma-6.5.2 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

libkscreen Avhengigheter

Påkrevd

kwayland-6.5.2 for lxqt, plasma-wayland-protocols-1.19.0, og Qt-6.10.2

Installasjon av libkscreen

Installer libkscreen ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -D CMAKE_INSTALL_LIBEXECDIR=libexec \
      -D KDE_INSTALL_USE_QT_SYS_PATHS=ON  \
      -D BUILD_TESTING=OFF                \
      -W no-dev ..                        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Deretter fjerner du en systemd enhet som ikke tjener noen hensikt på et SysV system, som root bruker:

rm -v /usr/lib/systemd/user/plasma-kscreen.service

Innhold

Installerte Programmer: kscreen-doctor
Installert Bibliotek: libKF6Screen.so og libKF6ScreenDpms.so
Installerte Mapper: /usr/lib/cmake/KF6Screen, /usr/include/KF6/KScreen, og $QT6DIR/lib/plugins/kf6/kscreen

Korte Beskrivelser

kscreen-doctor

lar deg endre skjermoppsettet fra kommandolinjen

libKF6Screen.so

inneholder KDE Skjermbehandlingsbiblioteket

libKF6ScreenDpms.so

inneholder API funksjoner for håndtering av DPMS

layer-shell-qt-6.5.2 for lxqt

Introduksjon til layer-shell-qt

Denne komponenten er ment for at applikasjoner skal kunne enkelt bruke klienter basert på en "wlr-layer-shell" protokollen. Klienter kan bruke dette grensesnittet for å tildele rollen surface_layer til wl_surfaces. Slike overflater er tilordnet et "lag" av utdataen og gjengitt med en definert z-dybde i forhold til hverandre.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken er hentet fra plasmasettet med pakker. Hvis Plasma-6.5.2 er bygget, IKKE bygg også denne pakken som presentert her.

Pakkeinformasjon

layer-shell-qt Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0 og Qt-6.10.2

Installasjon av layer-shell

Installer layer-shell-qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -W no-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libLayerShellQtInterface.so
Installerte Mapper: /usr/lib/qml/org/kde/layershell og /usr/include/LayerShellQt

muparser-2.3.5

Introduksjon til muparser

muparser pakken er en rask matematisk analysebibliotek for C og C++.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

muparser Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av muparser

Installer muparser ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libmuparser.so
Installerte Mapper: /usr/lib/cmake/muparser

Korte Beskrivelser

muparser.so

gir et raskt matematisk analysebibliotek for C og C++

LXQt Skrivebordskomponenter

lxqt-build-tools-2.3.0

Introduksjon til lxqt-build-tools

lxqt-build-tools pakken gir flere verktøy som trengs for å bygge LXQt, så vel som andre komponenter vedlikeholdt av LXQt prosjektet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-build-tools Avhengigheter

Påkrevd

CMake-4.2.3 og Qt-6.10.2

Installasjon av lxqt-build-tools

Installer lxqt-build-tools ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      .. &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
rm -f /usr/share/cmake/lxqt2-build-tools/find-modules/FindXCB.cmake

Parameterforklaringer

rm -f /usr/share/cmake/lxqt2-build-tools/find-modules/FindXCB.cmake: Fjern en gammel cmake fil fra en tidligere versjon av denne pakken som ikke lenger brukes. Uten denne kommandoen vil andre pakker i dette kapittelet ikke kunne bygges.

Innhold

Installert Program: lxqt2-transupdate
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/cmake/lxqt2-build-tools

Korte Beskrivelser

lxqt2-transupdate

oppdaterer oversettelser for LXQt komponenter

libdbusmenu-lxqt-0.3.0

Introduksjon til libdbusmenu-lxqt

libdbusmenu-lxqt pakken gir en Qt implementering av DBusMenu protokollen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libdbusmenu-lxqt Avhengigheter

Påkrevd

CMake-4.2.3

Valgfri

Doxygen-1.16.1 og qjson

Installasjon av libdbusmenu-lxqt

Installer libdbusmenu-lxqt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -W no-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-D WITH_DOC=ON: Bruk denne bryteren hvis du har installert Doxygen-1.16.1 og vil bygge den valgfrie dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libdbusmenu-lxqt.so
Installert Mappe: /usr/include/dbusmenu-lxqt og /usr/lib/cmake/dbusmenu-lxqt

Korte Beskrivelser

libdbusmen-lxqt.so

inneholder en Qt implementering av DBusMenu protokollen, tilpasset for LXQt

libqtxdg-4.3.0

Introduksjon til libqtxdg

libqtxdg pakken inneholder en Qt implementering av freedesktop.org XDG spesifikasjonene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libqtxdg Avhengigheter

Påkrevd

CMake-4.2.3, lxqt-build-tools-2.3.0, og Qt-6.10.2

Valgfri (kjøretid)

GTK-3.24.51 (for gtk-update-icon-cache) og xterm-406

Installasjon av libqtxdg

Installer libqtxdg ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..       &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libQt6Xdg.so, libQt6XdgIconLoader.so, og libQt6XdgIconPlugin.so (i $QT6DIR/lib)
Installerte Mapper: /usr/include/{qt6xdg,qt6xdgiconloader} and /usr/share/cmake/{qt6xdg,qt6xdgiconloader}

Korte Beskrivelser

libQt6Xdg.so

inneholder en implementering av XDG spesifikasjonen for Qt

libQt6XdgIconLoader.so

inneholder XDG Icon Loader for Qt

libQt6XdgIconPlugin

inneholder et programtillegg for å laste ikoner ved hjelp av Qt

lxqt-menu-data-2.3.0

Introduksjon til lxqt-menu-data

lxqt-menu-data pakken inneholder kompatible menyfiler for LXQt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-menu-data Avhengigheter

Påkrevd

lxqt-build-tools-2.3.0

Installasjon av lxqt-menu-data

Installer lxqt-menu-data ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..  &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: Ingen
Installert Bibliotek: Ingen
Installerte Mapper: /etc/xdg/menus, /usr/share/desktop-directories, og /usr/share/cmake/lxqt-menu-data

liblxqt-2.3.0

Introduksjon til liblxqt

liblxqt er kjerneverktøysbiblioteket for alle LXQt komponenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

liblxqt Avhengigheter

Påkrevd

libqtxdg-4.3.0, kwindowsystem-6.20.0 for lxqt, og polkit-qt-0.200.0

Installasjon av liblxqt

Installer liblxqt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxqt-backlight_backend
Installert Bibliotek: liblxqt.so
Installerte Mapper: /usr/include/lxqt, /usr/share/cmake/lxqt, og /usr/share/lxqt/liblxqt

Korte Beskrivelser

lxqt-backlight_backend

stiller inn bakgrunnsbelysningsnivået for en skjerm

liblxqt.so

inneholder en rekke verktøyfunksjoner for LXQt

libsysstat-1.1.0

Introduksjon til libsysstat

libsysstat pakken inneholder et bibliotek som brukes for å søke etter systeminformasjon og statistikk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libsysstat Avhengigheter

Påkrevd

lxqt-build-tools-2.3.0

Installasjon av libsysstat

Installer libsysstat ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: Ingen
Installert Bibliotek: libsysstat-qt6.so
Installerte Mapper: /usr/include/sysstat-qt6 and /usr/share/cmake/sysstat-qt6

Korte Beskrivelser

libsysstat-qt6.so

inneholder funksjoner for å søke etter systeminformasjon og statistikk

qtxdg-tools-4.3.0

Introduksjon til qtxdg-tools

qtxdg-tools inneholder et CLI MIME verktøy for håndtering av filtilknytninger og åpning av filer med deres standardapplikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

qtxdg-tools Avhengigheter

Påkrevd

libqtxdg-4.3.0

Installasjon av qtxdg-tools

Installer qtxdg-tools ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: qtxdg-mat
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/cmake/qtxdg-tools

Korte Beskrivelser

qtxdg-mat

spør og endrer standarder for programmer, for eksempel standard terminal, nettleser, e-postklient og filbehandler

libfm-extra-1.3.2

Introduksjon til libfm-extra

libfm-extra pakken inneholder et bibliotek og andre filer som kreves av menu-cache-gen programmet i /usr/bin/libexec installert av menu-cache-1.1.1.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libfm-extra Avhengigheter

Påkrevd

GLib-2.86.4

Installasjon av libfm-extra

Installer libfm-extra ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --with-extra-only \
            --with-gtk=no     \
            --disable-static  &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--with-extra-only: Denne bryteren deaktiverer alle komponenter bortsett fra libfm-extra biblioteket.

--with-gtk=no: Denne bryteren deaktiverer støtte for GTK+ fordi det ikke er nødvendig for denne pakken.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libfm-extra.so
Installerte Mapper: /usr/include/libfm (symbolkobling) og /usr/include/libfm-1.0

Korte Beskrivelser

libfm-extra.so

inneholder libfm-extra API funksjoner

menu-cache-1.1.1

Introduksjon til Meny Cache

Meny Cache pakken inneholder et bibliotek for å lage og bruke cacher for å øke hastigheten på manipulasjon for freedesktop.org definerte applikasjonsmenyer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Meny Cache Avhengigheter

Påkrevd

libfm-extra-1.3.2

Valgfri

GTK-Doc-1.35.1 og xdg-utils-1.2.1

Installasjon av Meny Cache

sh autogen.sh                              &&
./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk dette alternativet hvis GTK-Doc er installert og du ønsker å bygge og installere API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libmenu-cache.so
Installerte Mapper: /usr/{include,libexec,share/gtk-doc/html}/menu-cache

Korte Beskrivelser

libmenu-cache.so

inneholder menu-cache API funksjoner

libfm-qt-2.3.1

Introduksjon til libfm-qt

libfm-qt er en Qt overføring til libfm, et bibliotek som leverer komponenter for å bygge skrivebordsfilbehandlere. I LXQt, libfm-qt håndterer også skrivebordsikoner og bakgrunner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libfm-qt Avhengigheter

Påkrevd

CMake-4.2.3, libexif-0.6.25, menu-cache-1.1.1, og Qt-6.10.2

Installasjon av libfm-qt

Installer libfm-qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libfm-qt6.so
Installerte Mapper: /usr/include/libfm-qt6, /usr/share/cmake/fm-qt6, og /usr/share/libfm-qt6

Korte Beskrivelser

libfm-qt6.so

inneholder funksjoner for å implementere en grafisk filbehandler i tillegg angi skrivebordsikoner og bakgrunner

lxqt-globalkeys-2.3.0

Introduksjon til lxqt-globalkeys

lxqt-globalkeys pakken inneholder en nisse som brukes til å registrere globale hurtigtaster samt et redigeringsprogram for tastatursnarveier.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-globalkeys Avhengigheter

Påkrevd

liblxqt-2.3.0

Installasjon av lxqt-globalkeys

Installer lxqt-globalkeys ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxqt-config-globalkeyshortcuts og lxqt-globalkeysd
Installerte Biblioteker: liblxqt-globalkeys.so og liblxqt-globalkeys-ui.so
Installerte Mapper: /usr/include/lxqt-globalkeys{,-ui} og /usr/share/cmake/lxqt-globalkeys{,-ui}

Korte Beskrivelser

lxqt-config-globalkeyshortcuts

er et redigeringsprogram for hurtigtaster

lxqt-globalkeysd

er den globale hurtigtastnissen

lxqt-globalkeys.so

inneholder funksjoner for å registrere hurtigtaster

liblxqt-globalkeys-ui.so

inneholder funksjoner som lar et brukergrensesnitt angi hurtigtaster

lxqt-qtplugin-2.3.0

Introduksjon til lxqt-qtplugin

lxqt-qtplugin pakken gir en LXQt Qt plattform integrerings programtillegg.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-qtplugin Avhengigheter

Påkrevd

libfm-qt-2.3.1, liblxqt-2.3.0, og libdbusmenu-lxqt-0.3.0

Installasjon av lxqt-qtplugin

Installer lxqt-qtplugin ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libqtlxqt.so (in $QT6DIR/plugins/platformthemes)
Installert Mappe: $QT6DIR/plugins/platformthemes

Korte Beskrivelser

libqtlxqt.so

inneholder LXQt QT programtillegg lasteren

lxqt-panel-2.3.2

Introduksjon til lxqt-panel

lxqt-panel pakken inneholder en lettvekts X11 skrivebordspanel.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-panel Avhengigheter

Påkrevd

layer-shell-qt-6.5.2 for lxqt, libdbusmenu-lxqt-0.3.0, liblxqt-2.3.0, lxqt-globalkeys-2.3.0, lxqt-menu-data-2.3.0, solid-6.20.0 for lxqt, og menu-cache-1.1.1

Anbefalt

Installasjon av lxqt-panel

Installer lxqt-panel ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: lxqt-panel
Installerte Biblioteker: flere programtillegg under /usr/lib/lxqt-panel
Installerte Mapper: /usr/lib/lxqt-panel og /usr/share/lxqt/panel

Korte Beskrivelser

lxqt-panel

er et lettvekts Qt6 basert panel for LXQt Skrivebordet

pcmanfm-qt-2.3.0

Introduksjon til pcmanfm-qt

pcmanfm-qt er en filbehandler og skrivebord ikonbehandler (en Qt overføring av pcmanfm og libfm).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

pcmanfm-qt Avhengigheter

Påkrevd

layer-shell-qt-6.5.2 for lxqt, liblxqt-2.3.0, libfm-qt-2.3.1, og lxqt-menu-data-2.3.0

Anbefalt

Installasjon av pcmanfm-qt

Hvis libLayerShellQtInterface.so er installert i /opt, hjelp denne pakken å finne den. Som root bruker:

if [   -e /opt/kf6/lib/libLayerShellQtInterface.so -a \
     ! -e /usr/lib/libLayerShellQtInterface.so ]; then

    ln -sv /opt/kf6/lib/libLayerShellQtInterface.so \
           /usr/lib/libLayerShellQtInterface.so
fi

Installer pcmanfm-qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

For å gjøre pcmanfm-qt lettere å finne i menyer, justerer du .desktop filen. Igjen, som root bruker:

sed -e '/Categories=/s/=/=System;FileTools;/' \
    -e '/Name=/s/=.*/=File Manager PCManFM-Qt'/ \
    -i /usr/share/applications/pcmanfm-qt.desktop

Innhold

Installert Program: pcmanfm-qt
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/pcmanfm-qt

Korte Beskrivelser

pcmanfm-qt

er en filbehandler og skrivebordsikonbehandler

lxqt-powermanagement-2.3.0

Introduksjon til lxqt-powermanagement

lxqt-powermanagement pakken gir strømstyringsmodul for LXQt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-powermanagement Avhengigheter

Påkrevd

liblxqt-2.3.0, kidletime-6.20.0 for lxqt, solid-6.20.0 for lxqt, og UPower-1.91.1

Installasjon av lxqt-powermanagement

Installer lxqt-powermanagement ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxqt-config-powermanagement og lxqt-powermanagement
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

lxqt-config-powermanagement

er lxqt-powermanagement GUI konfigurasjonsverktøy

lxqt-powermanagement

er LXQt strømstyringsmodul

lxqt-runner-2.3.0

Introduksjon til lxqt-runner

lxqt-runner pakken gir et verktøy som brukes for å starte programmer raskt ved å skrive inn navnene deres.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-runner Avhengigheter

Påkrevd

lxqt-globalkeys-2.3.0, kwindowsystem-6.20.0 for lxqt, og muparser-2.3.5

Installasjon av lxqt-runner

Installer lxqt-runner ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Bruke lxqt-runner

For å bruke lxqt-runner, trykk samtidig på Alt-F2 tastene. Et dialogvindu vises øverst i midten av skjermen. Når du begynner å skrive en kommando, vises en liste over mulige treff som endres mens du fortsetter å skrive.

Innhold

Installert Program: lxqt-runner
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

lxqt-runner

starter en grafisk dialogboks for raskt å kjøre et program

lxqt-themes-2.3.0

Introduksjon til lxqt-themes

lxqt-themes pakken gir en rekke grafikkfiler og temaer for LXQt skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-themes Avhengigheter

Påkrevd

lxqt-build-tools-2.3.0

Installasjon av lxqt-themes

Installer lxqt-themes ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/lxqt/{graphics,themes,palettes,wallpapers}

lxqt-admin-2.3.0

Introduksjon til lxqt-admin

lxqt-admin pakken inneholder to GUI verktøy for å justere innstillingene for operativsystemet LXQt kjører på.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-admin Avhengigheter

Påkrevd

liblxqt-2.3.0 og Polkit-127

Installasjon av lxqt-admin

Installer lxqt-admin ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: lxqt-admin-time, lxqt-admin-user, og lxqt-admin-user-helper
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

lxqt-admin-time

er en GUI for å justere gjeldende tid og dato

lxqt-admin-user

er et GUI for å administrere brukere og grupper

lxqt-about-2.3.0

Introduksjon til lxqt-about

lxqt-about pakken gir den frittstående LXQt «Om» dialogen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-about Avhengigheter

Påkrevd

liblxqt-2.3.0

Installasjon av lxqt-about

Installer lxqt-about ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: lxqt-about
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

lxqt-about

er LXQt «Om» dialogen

lxqt-config-2.3.1

Introduksjon til lxqt-config

lxqt-config pakken gir LXQt Konfigurasjonssenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-config Avhengigheter

Påkrevd

liblxqt-2.3.0, kconfig-6.20.0 for lxqt, libkscreen-6.5.2 for lxqt, og Xorg Libinput-1.4.0

Installasjon av lxqt-config

Installer lxqt-config ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxqt-config, lxqt-config-appearance, lxqt-config-brightness, lxqt-config-file-associations, lxqt-config-input, lxqt-config-locale, og lxqt-config-monitor
Installert Bibliotek: liblxqt-config-cursor.so
Installerte Mapper: /usr/lib/lxqt-config

Korte Beskrivelser

lxqt-config

er LXQt Konfigurasjonssenter

lxqt-config-appearance

brukes til å endre systemtemaer, ikontemaer og fonter som brukes av applikasjoner i en LXQt økt

lxqt-config-brightness

konfigurerer lysstyrkeinnstillingen til en skjerm

lxqt-config-file-associations

brukes til å knytte filtyper til programmer

lxqt-config-input

brukes til å konfigurere inngangsenheter, innstillingsalternativer som musehastighet, markøren, tastaturhastigheten og tastaturoppsettet

lxqt-config-locale

konfigurerer lokaliteten som brukes i LXQt økter

lxqt-config-monitor

er en grafisk grenseflate til xrandr som konfigurerer skjermer på et system

liblxqt-config-cursor.so

inneholder liblxqt-config-cursor API funksjoner

lxqt-policykit-2.3.0

Introduksjon til lxqt-policykit

lxqt-policykit pakken er LXQt sin Regelsettagent.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-policykit Avhengigheter

Påkrevd

liblxqt-2.3.0 og polkit-qt-0.200.0

Installasjon av lxqt-policykit

Installer lxqt-policykit ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: lxqt-policykit-agent
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/lxqt/translations/lxqt-policykit-agent

Korte Beskrivelser

lxqt-policykit-agent

er LXQt sin Regelpakkeagent

lxqt-sudo-2.3.0

Introduksjon til lxqt-sudo

lxqt-sudo pakken er et grafisk grensesnitt for sudo og su henholdsvis.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-sudo Avhengigheter

Påkrevd

liblxqt-2.3.0

Installasjon av lxqt-sudo

Installer lxqt-sudo ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxdoas (symbolkobling til lxqt-sudo), lxqt-sudo, lxsu (symbolkobling til lxqt-sudo), og lxsudo (symbolkobling til lxqt-sudo)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/lxqt/translations/lxqt-sudo

Korte Beskrivelser

lxdoas

er et grafisk grensesnitt for doas

lxqt-sudo

er et grafisk grensesnitt for sudo

lxsudo

er et grafisk grensesnitt for sudo

lxsu

er et grafisk grensesnitt for su

lxqt-openssh-askpass-2.3.0

Introduksjon til lxqt-openssh-askpass

lxqt-openssh-askpass pakken er en GUI for å spørre om legitimasjon på vegne av andre programmer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-openssh-askpass Avhengigheter

Påkrevd

liblxqt-2.3.0

Installasjon av lxqt-openssh-askpass

Installer lxqt-openssh-askpass ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxqt-openssh-askpass
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/lxqt/translations/lxqt-openssh-askpass

Korte Beskrivelser

lxqt-config-openssh-askpass

spør en bruker om legitimasjon på vegne av et annet program

lxqt-session-2.3.0

Introduksjon til lxqt-session

lxqt-session pakken inneholder standard øktbehandler for LXQt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-session Avhengigheter

Påkrevd

liblxqt-2.3.0, qtxdg-tools-4.3.0, og Xdg-user-dirs-0.19

Installasjon av lxqt-session

Installer lxqt-session ved å kjøre følgende kommandoer:

sed -e '/TryExec/s|=|=/usr/bin/|' \
    -i xsession/lxqt.desktop.in &&

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sed -e '/TryExec/s|=|='/usr'/bin/|' -i xsessions/lxqt.desktop.in: Hvis du bruker en skjermbehandler, må hele banen til «TryExec» direktivet gis slik at LXQt skrivebordet vises i øktlisten.

Konfigurere lxqt-session

Andre vindusbehandlere enn openbox-3.6.1 kan brukes, f.eks. Xfwm4-4.20.0. Vær oppmerksom på at IceWM-4.0.0 er ikke en god erstatning. Fluxbox fungerer, skjønt i denne sammenhengen (med lxqt-config-2.3.1), openbox-3.6.1 er bedre. Konfigurasjonsfilen /usr/share/lxqt/windowmanagers.conf kommer med mange eksempler på vindusbehandlere og de som er installert vil vises i en nedtrekksliste til lxqt-config-session. For de som ikke er inkludert i /usr/share/lxqt/windowmanagers.conf, kan du bruke lxqt-config-sessions "søk" knappen, for eksempel for Fluxbox-1.3.7, navigere gjennom filsystemet til du kan velge fluxbox.

Innhold

Installerte Programmer: lxqt-config-session, lxqt-leave, lxqt-session, og startlxqt
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/lxqt/translations/lxqt-{leave,config-session,session}

Korte Beskrivelser

lxqt-config-session

er et GUI konfigurasjonsverktøy for lxqt-session

lxqt-leave

er en grafisk dialogboks for å avslutte økten

lxqt-session

er en lettvekts X øktbehandler

startlxqt

brukes til å starte skrivebordsøkten for LXQt

lxqt-wayland-session-0.3.1

Introduksjon til lxqt-wayland-session

lxqt-wayland-session pakken inneholder den Wayland baserte sesjonsbehandleren for LXQt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-wayland-session Avhengigheter

Påkrevd

lxqt-session-2.3.0, layer-shell-qt-6.5.2 for lxqt, og qtxdg-tools-4.3.0

Installasjon av lxqt-wayland-session

Installer lxqt-wayland-session ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken leveres ikke med en testpakke.

Nå, som root bruker:

make install

Konfigurere lxqt-wayland-session

Andre vindusbehandlere enn openbox-3.6.1 kan brukes, f.eks. Xfwm4-4.20.0. Vær oppmerksom på at IceWM-4.0.0 er ikke en god erstatning. Fluxbox fungerer, selv om i denne sammenhengen (med lxqt-config-2.3.1), openbox-3.6.1 er bedre. Konfigurasjonsfilen /usr/share/lxqt/windowmanagers.conf kommer med mange eksempler på vindusbehandlere, og de som er installert vil vises i en rullegardinliste med lxqt-config-session. For de som ikke er inkludert i /usr/share/lxqt/windowmanagers.conf, kan du bruke lxqt-config-session sin "søk" knapp, f.eks. for Fluxbox-1.3.7, navigere gjennom filsystemet til du kan velge fluxbox.

Innhold

Installerte Programmer: lxqt-qdbus og startlxqtwayland
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/lxqt/wayland, og /usr/share/themes/Vent{,dark},

Korte Beskrivelser

lxqt-qdbus

er en dbus innpakning for tastebindinger på Wayland kompositorer.

startlxqtwayland

brukes til å starte skrivebords Wayland økten for LXQt

xdg-desktop-portal-lxqt-1.3.0

Introduksjon til xdg-desktop-portal-lxqt

xdg-desktop-portal-lxqt er et bakstykke for xdg-desktop-portal, som bruker Qt biblioteket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xdg-desktop-portal-lxqt Avhengigheter

Påkrevd

libfm-qt-2.3.1, kwindowsystem-6.20.0 for lxqt, og xdg-desktop-portal-1.20.3 (ved kjøretid)

Installasjon av xdg-desktop-portal-lxqt

Installer xdg-desktop-portal-lxqt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: xdg-desktop-portal-lxqt (i /usr/libexec)
Installert Bibliotek: Ingen
Installert Mappe: /usr/share/xdg-desktop-portal (om ikke annen xdg-desktop-portal bakstykke er installert)

obconf-qt-0.16.5

Introduksjon til obconf-qt

obconf-qt pakken er et Qt basert konfigurasjonsverktøy for Openbox.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

obconf-qt Avhengigheter

Påkrevd

hicolor-icon-theme-0.18, lxqt-build-tools-2.3.0, openbox-3.6.1, og Qt-6.10.2

Installasjon av obconf-qt

Installer obconf-qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: obconf-qt
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

obconf-qt

er et Qt basert konfigurasjonsverktøy for Openbox

Endelig Instruksjoner for LXQt Skrivebordet

Instruksjoner etter Installasjon

Vennligst følg disse instruksjonene før du starter LXQt for første gang.

Avhengigheter for å Starte LXQt

Påkrevd

openbox-3.6.1, eller en annen vindusbehandler, for eksempel Xfwm4-4.20.0, eller kwin fra Plasma-6.5.2. Merk at IceWM-4.0.0 er ikke egnet for LXQt.

Anbefalt
Valgfri

lightdm-1.32.0 eller en annen Skjermbehandler, f.eks. sddm-0.21.0, eller XScreenSaver-6.14

Endelig konfigurasjon

LXQt Endelige databaseoppdateringer

Skrivebordsdatabasene må opprettes eller oppdateres på dette tidspunktet. Kjør følgende kommandoer som root bruker:

ldconfig                             &&
update-mime-database /usr/share/mime &&
xdg-icon-resource forceupdate        &&
update-desktop-database -q

Starte LXQt

Starte LXQt Xorg

Du kan starte LXQt fra kjørenivå 3, ved hjelp av xinit-1.4.4, eller fra kjørenivå 5, ved å bruke en skjermbehandler, som for eksempel lightdm-1.32.0.

For å starte LXQt ved hjelp av xinit-1.4.4, kjør følgende kommandoer:

cat > ~/.xinitrc << "EOF"
exec startlxqt
EOF

startx

X økten starter på den første ubrukte virtuelle terminalen, normalt vt1. Du kan bytte til en annen vtn ved å samtidig trykke på tastene Ctrl-Alt-Fn (n=2, 3, ...). For å bytte tilbake til X økten, vanligvis startet på vt1, bruk Ctrl-Alt-F1. Vt hvor kommandoen startx ble utført vil vise mange meldinger, inkludert X startmeldinger, applikasjoner startet automatisk med økten, og til slutt noen advarsler og feilmeldinger, men disse er skjult av det grafiske grensesnittet. Du foretrekker kanskje å omdirigere disse meldinger til en loggfil, som kan brukes til feilsøkingsformål. Dette kan gjøres fra X med:

startx &> ~/.x-session-errors

Starte LXQt Wayland

For å starte Wayland versjonen av LXQt, kjør:

startlxqtwayland

Innledende konfigurasjon

Når LXQt starter for første gang, vil den be deg om vindusbehandleren å bruke. For å starte anbefaler BLFS redaktørene å bruke openbox. På dette tidspunktet vil både bakgrunnen og panelet være svart. Høyreklikke på bakgrunnen vil du få opp en meny og velge "Desktop Preferences" lar deg endre bakgrunnsfargen eller angi et bakgrunnsbilde.

Panelet vil være nederst på skjermen. Høyreklikke på panelet vil få opp en meny som lar deg tilpasse panelet inkludert å legge til skjermelementer og angi bakgrunnsfargen. BLFS redaktører anbefaler å installere, som et minimum, Applikasjonsbehandling og Oppgavebehandling skjermelementene.

Etter at LXQt har startet for første gang, anbefaler BLFS redaktørene å gå gjennom innstillingene presentert i LXQt Konfigurasjonssenter, som finnes under LXQt innstillinger i Preferansemenyen til programstarter.

Notat

Brukerkonfigurasjonsfilene vil bli opprettet i mappen $HOME/.config/lxqt/. For å få skjermelementikoner til å vises riktig, filen lxqt.conf må kanskje redigeres manuelt for å inkludere linjen "icon_theme=oxygen".

Kapittel 38. LXQt Applikasjoner

Dette er en liten samling av valgfrie applikasjoner som legger til ekstra kapasiteter til LXQt skrivebordet.

lximage-qt-2.3.0

Introduksjon til lximage-qt

lximage-qt pakken inneholder en lettvekts bildeviser og skjermbildeprogram.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lximage-qt Avhengigheter

Påkrevd

libfm-qt-2.3.1

Installasjon av lximage-qt

Installer lximage-qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har xdg-utils-1.2.1 installert, som root bruker, kjør xdg-icon-resource forceupdate --theme hicolor.

Innhold

Installert Program: lximage-qt
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/lximage-qt

Korte Beskrivelser

lximage-qt

er et lettvekts bildeviser og skjermbilde program. Det er en menyoppføring i Utilities for skjermbildeprogrammet. Fra kommandolinje, kan du få en fullskjerm eller vindubilde ved å kjøre lximage-qt --screenshot

lxqt-archiver-1.3.0

Introduksjon til lxqt-archiver

lxqt-archiver pakken er en enkel og lettvekts skrivebordagnostisk Qt filarkiver.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-archiver Avhengigheter

Påkrevd

libfm-qt-2.3.1, liblxqt-2.3.0, og JSON-GLib-1.10.8

Installasjon av lxqt-archiver

Installer lxqt-archiver ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxqt-archiver
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/lxqt-archiver

Korte Beskrivelser

lxqt-archiver

er en Qt basert filarkiver

lxqt-notificationd-2.3.1

Introduksjon til lxqt-notificationd

lxqt-notificationd pakken er LXQt varslingsnisse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

lxqt-notificationd Avhengigheter

Påkrevd

liblxqt-2.3.0

Installasjon av lxqt-notificationd

Installer lxqt-notificationd ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxqt-config-notificationd og lxqt-notificationd
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/lxqt/translations/lxqt-config-notificationd og /usr/share/lxqt/translations/lxqt-notificationd

Korte Beskrivelser

lxqt-config-notificationd

er lxqt-notificationd GUI konfigurasjonsverktøy

lxqt-notificationd

er LXQt varslingsnisse

pavucontrol-qt-2.3.0

Introduksjon til pavucontrol-qt

pavucontrol-qt er Qt porten til volumkontrollverktøyet pavucontrol, som brukes til å justere lydnivåer i Pulsaudio. Det er skrivebordsmiljøagnostisk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

pavucontrol-qt Avhengigheter

Påkrevd

liblxqt-2.3.0 og PulseAudio-17.0 (bygget med GLib-2.86.4 støtte)

Installasjon av pavucontrol-qt

Installer pavucontrol-qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, some root bruker:

make install

Innhold

Installert Program: pavucontrol-qt
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/pavucontrol-qt

Korte Beskrivelser

pavucontrol-qt

er et Qt basert GUI konfigurasjonsverktøy for lydinnstillinger ved hjelp av pulseaudio

qps-2.12.0

Introduksjon til qps

qps pakken inneholder en Qt prosessbehandler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

qps Avhengigheter

Påkrevd

liblxqt-2.3.0

Installasjon av qps

Installer qps ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      ..                           &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har xdg-utils-1.2.1 installert, som root bruker, kjør xdg-icon-resource forceupdate --theme hicolor.

Innhold

Installert Program: qps
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/qps

Korte Beskrivelser

qps

er en Qt basert prosessbehandler

qtermwidget-2.3.0

Introduksjon til qtermwidget

Som navnet tilsier, qtermwidget pakke er et terminalskjermelement for Qt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

qtermwidget Avhengigheter

Påkrevd

Qt-6.10.2

Installasjon av qtermwidget

Installer qtermwidget ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: Ingen
Installerte Biblioteker: libqtermwidget6.so
Installerte Mapper: /usr/include/qtermwidget6, /usr/lib/cmake/qtermwidget6, og /usr/share/qtermwidget6

Korte Beskrivelser

libqtermwidget6.so

gir en terminalskjermelement for Qt6

qterminal-2.3.0

Introduksjon til qterminal

qterminal pakken inneholder et Qt skjermelement basert terminalemulator for Qt med støtte for flere faner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

qterminal Avhengigheter

Påkrevd

qtermwidget-2.3.0

Installasjon av qterminal

Installer qterminal ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: qterminal
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/qterminal

Korte Beskrivelser

qterminal

er en Qt basert lettvekts terminalemulator

screengrab-3.1.0

Introduksjon til screengrab

screengrab pakken er et kryssplattformverktøy for å lage skjermbilder raskt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

screengrab Avhengigheter

Påkrevd

lxqt-build-tools-2.3.0, kwindowsystem-6.20.0 for lxqt, og libqtxdg-4.3.0

Installasjon av screengrab

Installer screengrab ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      ..                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har xdg-utils-1.2.1 installert, som root bruker, kjør xdg-icon-resource forceupdate --theme hicolor.

Innhold

Installert Program: screengrab
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/screengrab og /usr/share/doc/screengrab

Korte Beskrivelser

screengrab

er et kryssplattformverktøy for å lage skjermbilder raskt

Del XI. X Programvare

Kapittel 39. Kontorprogrammer

Dette kapittelet er en samling programmer som er nyttige for visning av eller redigere kontordokumenter. Noen spesialiserer seg på å gjøre én ting (som f.eks tekstbehandling eller manipulering av et regneark). LibreOffice er en pakke med programmer som kan manipulere mange forskjellige formater, inkludert powerpoint presentasjoner.

Gnumeric-1.12.60

Introduksjon til Gnumeric

Gnumeric pakken inneholder et regnearkprogram som er nyttig for matematisk analyse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gnumeric Avhengigheter

Påkrevd

GOffice-0.10.60 og itstool-2.0.7

Anbefalt Kjøretid
Valgfri

DConf-0.49.0 (for å forhindre noen testfeil), GLib-2.86.4 (med GObject Introspection), PyGObject-3.54.5, Valgrind-3.26.0 (for noen tester), dblatex (for PDF dokumenter), libgda, Mono, pxlib, og Psiconv

Installasjon av Gnumeric

Installer Gnumeric ved å kjøre følgende kommandoer:

./configure --prefix=/usr  &&
make

Denne pakken må installeres før testpakken kjøres.

Nå, som root bruker:

make install

For å kjøre testene, utsted make check. Tester bør bli kjørt fra en aktiv X økt, og DConf-0.49.0 bør være installert for å forhindre noen feil. Fire tester er kjent for å mislykkes. Ytterligere feil kan oppstå hvis valgrind er installert.

Parameterforklaringer

--enable-pdfdocs: Bruk denne bryteren hvis du har installert dblatex og ønsker å lage PDF dokumenter.

Innhold

Installerte Programmer: gnumeric (symbolkobling), gnumeric-1.12.60, ssconvert, ssdiff, ssgrep, og ssindex
Installerte Biblioteker: libspreadsheet.so
Installerte Mapper: /usr/include/libspreadsheet-1.12, /usr/lib/gnumeric, /usr/lib/goffice/0.10/plugins/gnumeric, /usr/share/gnumeric, og /usr/share/help/{C,cs,de,es}/gnumeric

Korte Beskrivelser

gnumeric

er en symbolkobling til gnumeric-1.12.60

gnumeric-1.12.60

er GNOME sin regnearkapplikasjon

ssconvert

er et kommandolinjeverktøy for å konvertere regnearkfiler mellom ulike regnearkfilformater

ssdiff

er et kommandolinjeverktøy for å sammenligne to regneark

ssgrep

er et kommandolinjeverktøy for å søke etter strenger i regneark

ssindex

er et kommandolinjeverktøy for å generere indeksdata for regnearkfiler

libspreadsheet.so

inneholder gnumeric API funksjoner

LibreOffice-25.8.4

Introduksjon til LibreOffice

LibreOffice er en fullverdig kontorpakke. Den er stort sett kompatibel med Microsoft Office og nedstammer fra OpenOffice.org.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Kjernenedlasting: https://download.documentfoundation.org/libreoffice/src/25.8.4/libreoffice-25.8.4.2.tar.xz

  • Kjernenedlasting MD5 sum: 4207b73da25f6c21b941136f75ee1e25

  • Kjerne Nedlastingsstørrelse: 274 MB

  • Estimert diskplass som kreves: 7.6 GB inkludert tilleggsfilene hvis de blir lastet ned under byggingen (740 MB installert). Å installere hele settet med språk krever mer enn 25 GB (rundt 3 GB installert)

  • Estimert byggetid: 22 SBU med parallellitet=8 (vil variere på grunn av nedlastingstid)

Ytterligere Nedlastinger

Notat

Rundt 80 små tarballer og zip filer vil bli lastet ned i løpet av bygget. Nedlastingstiden vil variere med den lokale internetthastigheten og serverbelastning. Nedlastingstiden er ca. 3 minutter på en fiberforbindelse, og sannsynligvis ikke mye mer enn 10 minutter på en ADSL tilkobling. Hvis du ikke har installert en eller flere av følgende avhengigheter, vil de også bli lastet ned under byggingen.

LibreOffice Avhengigheter

Påkrevd

Archive-Zip-1.68, libarchive-3.8.5, Wget-1.25.0, Which-2.23, og Zip-3.0

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Anbefalt

Notat

De fleste av disse pakkene anbefales fordi hvis de ikke er installert, byggeprosessen vil kompilere og installere sin egen (ofte eldre) versjon, med bieffekten av å øke både bygget og installert diskplass sammen med økende byggetid.

Valgfri

Abseil-cpp-20260107.1, Avahi-0.8, BlueZ-5.86, DConf-0.49.0, desktop-file-utils-0.28, Doxygen-1.16.1 (ikke relevant ved bruk av --disable-odk), evolution-data-server-3.58.3, GDB-17.1, GnuTLS-3.8.12, GTK-4.20.3, KDE Frameworks-6.20.0, libpaper-2.2.7, MariaDB-11.8.6 eller MySQL, MIT Kerberos V5-1.22.2, NASM-3.01, Qt-6.10.2, SANE-1.4.0, Valgrind-3.26.0, VLC-3.0.23, zxing-cpp-2.3.0, BeanShell, box2d, CoinMP, Cppunit, Dragonbox, Firebird, frozen, hamcrest, Hunspell, Hyphen, Java-WebSocket, jfreereport, jq, junit4, libabw, libcdr, libcmis, libebook, libeot, libepubgen, libetonyek, libexttextcat, libfixmath, libfreehand, liblangtag, libmspub, libmwaw, libnumbertext, libodfgen, libpagemaker, libqxp, librevenge (WordPerfect Document importer), libstaroffice, libvisio, libwpd, libwpg, libwps, libzmf, lp_solve, mdds, MyThes, odfvalidator, officeotron, Orcus, rhino, og suitesparse (colamd)

Det er mange valgfrie avhengigheter som ikke er oppført her. De kan bli funnet i download.lst filen i kildemappen.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/libreoffice

Installasjon av LibreOffice

Først, fiks byggefeil introdusert av den nyeste versjonen av poppler:

sed -e 's/>reset/>rewind/' \
    -i sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx \
       sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx

Først, fiks et problem med å oppdage Boost::System, som ble endret fra et bibliotek til en serie med deklarasjoner i Boost-1.89.0:

export boost_cv_lib_system=yes

Deretter fikser du en feil med kobling til zlib, fikse en feil som ville forårsake en installasjonsfeil, og forhindre komprimering av manualsider:

sed -i '/icuuc \\/a zlib\\'           writerperfect/Library_wpftdraw.mk &&
sed -i "/distro-install-file-lists/d" Makefile.in                       &&
sed -e "/gzip -f/d"   \
    -e "s|.1.gz|.1|g" \
    -i bin/distro-install-desktop-integration

Hvis du har lastet ned ordbøkene, hjelp og oversettelser tarballene, opprett symbolkoblinger til dem fra kildemappen slik at de ikke blir lastet ned igjen:

install -dm755 external/tarballs &&
ln -sv ../../../libreoffice-dictionaries-25.8.4.2.tar.xz external/tarballs/ &&
ln -sv ../../../libreoffice-help-25.8.4.2.tar.xz         external/tarballs/ &&
ln -sv ../../../libreoffice-translations-25.8.4.2.tar.xz external/tarballs/

Instruksjonene i pakken pakker ut noen tarballer på et sted den ikke kan finne senere. Lag noen symbolkoblinger for å hjelpe byggesystemet:

ln -sv src/libreoffice-help-25.8.4.2/helpcontent2/ &&
ln -sv src/libreoffice-dictionaries-25.8.4.2/dictionaries/ &&
ln -sv src/libreoffice-translations-25.8.4.2/translations/

Notat

Under byggeprosessen vil noen pakker bli lastet ned (inkludert de som er oppført som anbefalte og valgfrie avhengigheter) hvis de ikke er til stede på systemet. På grunn av dette kan byggetiden variere fra publisert tid mer enn vanlig.

På grunn av den store størrelsen på pakken, kan det hende du foretrekker å installere den i /opt, i stedet for /usr. Avhengig av ditt valg, erstatt <PREFIX> med /usr eller med /opt/libreoffice-25.8.4.2:

export LO_PREFIX=<PREFIX>

Lokalitetene "fr" og "en-GB", du finner nedenfor, er bare eksempler; du bør endre dem for å passe dine behov - det kan være lurt å lese "Parameterforklaringer", lenger nede, før du fortsetter.

Notat

Hvis du satte miljøvariabelen ACLOCAL til å støtte installasjon av Xorg i /opt, må du deaktivere den for denne pakken.

Hvis du bygger på en 32-bits maskin, CFLAGS er satt til -Os, som bryter bygget. Forhindre dette ved å utstede:

case $(uname -m) in
   i?86) sed /-Os/d -i solenv/gbuild/platform/LINUX_INTEL_GCC.mk ;;
esac

Forbered LibreOffice for kompilering ved å kjøre følgende kommandoer:

./autogen.sh --prefix=$LO_PREFIX         \
             --sysconfdir=/etc           \
             --with-vendor=BLFS          \
             --with-lang='fr en-GB'      \
             --with-help=html            \
             --with-myspell-dicts        \
             --without-junit             \
             --without-system-dicts      \
             --disable-dconf             \
             --disable-odk               \
             --disable-mariadb-sdbc      \
             --enable-release-build=yes  \
             --enable-python=system      \
             --with-jdk-home=/opt/jdk    \
             --with-system-boost         \
             --with-system-clucene       \
             --with-system-curl          \
             --with-system-epoxy         \
             --with-system-expat         \
             --with-system-glm           \
             --with-system-gpgmepp       \
             --with-system-graphite      \
             --with-system-harfbuzz      \
             --with-system-icu           \
             --with-system-jpeg          \
             --with-system-lcms2         \
             --with-system-libatomic_ops \
             --with-system-libtiff       \
             --with-system-libpng        \
             --with-system-libxml        \
             --with-system-libwebp       \
             --with-system-nss           \
             --with-system-odbc          \
             --with-system-openldap      \
             --with-system-openssl       \
             --with-system-poppler       \
             --with-system-postgresql    \
             --with-system-redland       \
             --with-system-zlib          \
             --with-system-zstd

Bygg pakken:

make build

Nå, som root bruker:

make distro-pack-install

Hvis installert i /opt/libreoffice-25.8.4.2 noen ekstra trinn er nødvendige. Utfør følgende kommandoer som root bruker:

if [ "$LO_PREFIX" != "/usr" ]; then

  # This symlink is necessary for the desktop menu entries
  ln -svf $LO_PREFIX/lib/libreoffice/program/soffice /usr/bin/libreoffice &&

  # Set up a generic location independent of version number
  ln -sfv $LO_PREFIX /opt/libreoffice

  # Icons
  mkdir -vp /usr/share/pixmaps
  for i in $LO_PREFIX/share/icons/hicolor/32x32/apps/*; do
    ln -svf $i /usr/share/pixmaps
  done &&

  # Desktop menu entries
  for i in $LO_PREFIX/lib/libreoffice/share/xdg/*; do
    ln -svf $i /usr/share/applications/libreoffice-$(basename $i)
  done &&

  # Man pages
  for i in $LO_PREFIX/share/man/man1/*; do
    ln -svf $i /usr/share/man/man1/
  done

  unset i
fi

Hvis du har installert desktop-file-utils-0.28, og du ønsker å oppdatere MIME databasen, kjør, som root bruker:

update-desktop-database

Pakken og hovedmodulene kan startes fra menyen. Fra en terminal, kan pakken startes med libreoffice kommandoen og modulene med libreoffice --<module> kommandoen, henholdsvis hvor <module> er en av base, calc, draw, impress, math, web, eller writer. Moduler kan ikke startes ved å bruke skall startskriptnavnene deres (se "Installerte programmer" nedenfor), hvis LO_PREFIX er annet enn /usr, med mindre $LO_PREFIX/bin mappen er lagt til i PATH.

Parameterforklaringer

--with-vendor=BLFS: Denne bryteren setter BLFS som leverandøren som er nevnt når du klikker "Om" fra Hjelpemenyen på verktøylinjen.

--with-lang='fr en-GB': Denne bryteren setter hvilke språk som skal støttes. For å liste opp flere språk, skill dem med et mellomrom. For alle språk, bruk --with-lang=ALL. Merk at oversettelsesfilen ikke er nødvendig og vil ikke bli lastet ned hvis du bare bruker en-US som språk.

Notat

For en liste over tilgjengelige språk, se i solenv/inc/langlist.mk.

--with-help=html: Uten denne bryteren, blir ikke hjelpefilene bygget.

--with-jdk-home=/opt/jdk: Denne parameteren vil stilne en advarsel om at konfigureringsskriptet forsøkte å finne JAVA_HOME automatisk (selv om det sendes i miljøet). Utelat dette hvis du har deaktiverte java.

--with-myspell-dicts: Denne bryteren legger til myspell ordbøker til LibreOffice installasjon sett.

--with-system-boost: Denne bryteren gjør det mulig å bruke systemets boost. Fra tid til annen bryter nyere versjoner av boost byggingen av libreoffice. I dette tilfellet er det mulig å bruke medfølgende kopi av boost ved å fjerne dette flagget.

--disable-dconf: Denne bryteren deaktiverer kompilering av LibreOffice med GNOME DConf støtte for konfigurasjonssystem.

--without-junit: Denne bryteren deaktiverer testene for den utdaterte HSQLDB driveren som er skrevet i Java.

--without-system-dicts: Denne bryteren deaktiverer bruk av ordbøker fra systembaner slik at de som er installert av dette pakken brukes.

--disable-odk: Denne bryteren deaktiverer installasjon av office utviklingssett. Fjern hvis du ønsker å utvikle en LibreOffice basert applikasjon.

- -disable-mariadb-sdbc: Denne bryteren deaktiverer MariaDB SDBC forbinder for Libreoffice Base. Å la det være aktivert resultater i en byggefeil på grunn av et problem med å koble til MIT Kerberos V5-1.22.2.

--enable-release-build=yes: Denne bryteren aktiverer et Slipp Bygg. LibreOffice kan bygges som et Slipp Bygg eller som en Utviklings Bygg, fordi deres standardinstallasjon stier og brukerprofilstier er forskjellige. Utviklings Bygg viser ord "Dev" og "Beta" på flere steder (f.eks. meny og splash-skjerm).

--enable-python=system: Denne bryteren forteller LibreOffice å bruke systeminstallerte Python 3 i stedet for den medfølgende.

--with-system-icu: Denne bryteren forteller byggesystemet å bruke den systeminstallerte versjonen av ICU.

--with-system-*: Disse bryterne forhindrer LibreOffice fra å prøve å kompilere sine egne versjoner av disse avhengighetene. Hvis du ikke har installert noen av avhengighetene, fjern de tilsvarende bryterne.

make distro-pack-install: Dette gjør en normal installasjon, men hvis du legger til en DESTDIR miljøvariabel vil den også installere mange (tekst) gid_Module_*-filer i DESTDIR, for å hjelpe distribusjoner som ønsker å dele opp pakken i deler.

--with-parallelism=<count>: Denne bryteren forteller LibreOffice å bruke <count> CPU kjerner som skal kompileres parallelt. (Ikke ta med vinkelparenteser.) Standard er å bruke alle tilgjengelige kjerner på systemet.

--disable-cups: Bruk denne bryteren hvis du ikke trenger utskriftsstøtte.

--disable-dbus: Bruk denne bryteren hvis du ikke har installert D-Bus-1.8.0 eller nyere. Den deaktiverer også Bluetooth støtte og fontinstallasjon via PackageKit.

--disable-firebird-sdbc: Som standard er muligheten til å koble til en firebird database er aktivert. Legg til denne bryteren hvis du ikke trenger den funksjonen.

--disable-gstreamer-1-0: Bruk denne bryteren hvis du ikke har installert gst-plugins-base-1.28.0.

--disable-postgresql-sdbc: Denne bryteren deaktiverer å kompilere LibreOffice med muligheten til å koble til en PostgreSQL database. Bruk den hvis du ikke har installert PostgreSQL og du vil ikke at LibreOffice kompilerer den medfølgende kopien.

--disable-skia: Bruk Cairo-1.18.4 for gjengivelse i stedet for skia.

--enable-lto: Denne bryteren vil aktivere Link Time Optimalisering, noe som resulterer i litt mindre biblioteker (ca. 40 MB). Dette sies å gjøre at LibreOffice programmer laster raskere (og kjører muligens raskere, f.eks. når du regner om et regneark). På en 8-kjerners maskin med 16 GB minne er forskjellen på kompileringstidene minimal, men 2 GB ekstra ble brukt til arbeidsfiler. På maskiner med færre prosessorer eller mangel på minne, kompileringen kan være mye tregere.

--without-java: Denne bryteren deaktiverer Java støtte i LibreOffice. Java er nødvendig for den utdaterte HSQLDB driveren, som tillater lesing av databaser opprettet av andre programmer eller i tidligere versjoner av libreoffice base. Det er også nødvendig for noen valgfrie brukergrensesnittkomponenter.

--without-fonts: LibreOffice inkluderer en rekke tredjeparts TrueType fonter. Hvis du allerede har installert noen eller alle av de samme skriftene, kan det hende du foretrekker å bruke systemversjoner.

--enable-evolution2: Aktiverer støtte for Evolution adressebøker gjennom Evolution Data Server. Merk at Evolution Data Serveren må være installert for at denne funksjonen skal fungere.

--enable-qt6: Denne bryteren aktiverer støtte for integrasjon med Qt6 og Qt6 temamotoren. Hvis Qt-6.10.2 ikke er installert i /usr, include og bibliotekmapper må spesifiseres i QT6INC og QT6LIB miljøvariabler.

--enable-kf6: Denne bryteren aktiverer KDE/Plasma integrering. Hvis Qt-6.10.2 og/eller KDE Frameworks-6.20.0 ikke er installert i /usr, inkluderinger og bibliotekmapper må spesifiseres i QT6INC, QT6LIB, KF6INC, og KF6LIB, hhv. Dette inkluderer en stil programtilleg og KIO integrasjon.

--with-system-abseil: Denne bryteren aktiverer bruk av systemversjonenav Abseil C++ bibliotekene i stedet for den medfølgende kopien. Legg til denne bryteren hvis Abseil-cpp-20260107.1 er installert og du vil å brukeden i stedet for den medfølgende kopien.

--with-system-zxing: Denne bryteren muliggjør bruk av en systemversjon av zxing-cpp i stedet for den medfølgende kopien. Legg til denne bryteren hvis zxing-cpp-2.3.0 er installert og du vil bruke den i stedet for den medfølgende kopien.

--enable-gtk4: Denne bryteren muliggjør integrasjon med GTK-4, inkludert bruk av en GTK-4 filleserdialog og temaer.

Innhold

Installerte Programmer: libreoffice, lobase, localc, lodraw, loffice, lofromtemplate, loimpress, lomath, loweb, lowriter, soffice og unopkg; flere programmer under $LO_PREFIX/lib/libreoffice/program
Installerte Biblioteker: flere biblioteker under $LO_PREFIX/lib/libreoffice/program
Installert Mappe: $LO_PREFIX/lib/libreoffice

Korte Beskrivelser

libreoffice (eller soffice)

er den viktigste libreofficepakken (symbolkobling til $LO_PREFIX/lib/libreoffice/program/soffice)

lobase

er startskriptet for databasebehandlingsmodulen

localc

er startskriptet for regnearkmodulen

lodraw

er vektorgrafikkeditoren og diagramverktøymodulen startskript

loimpress

er (PowerPoint) presentasjonsredigerer og visningsmodul startskript

lomath

er det matematiske formelredigeringsmodulen startskript

loweb

er startskriptet for HTML redigeringsmodulen

lowriter

er tekstbehandlermodulens startskript

unopkg

er et verktøy for å administrere LibreOffice utvidelser fra kommandolinjen

Kapittel 40. Grafiske Nettlesere

Dette kapittelet inneholder et fantastisk utvalg av nettlesere. Vi håper du kan finne en du liker å bruke eller gi dem en prøvekjøring.

Epiphany-49.2

Introduksjon til Epiphany

Epiphany er en enkel, men kraftig GNOME nettleser rettet mot ikke-tekniske brukere. Prinsippene er enkelhet og overholdelse av standarder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Epiphany Avhengigheter

Påkrevd

blueprint-compiler-0.18.0, Gcr-4.4.0.1, gnome-desktop-44.5, ISO Codes-4.20.1, JSON-GLib-1.10.8, libadwaita-1.8.4, libportal-0.9.1, Nettle-3.10.2, og WebKitGTK-2.50.5 (bygget med GTK-4)

Valgfri

AppStream-1.1.2 og Granite

Kjøretids Avhengigheter

gnome-keyring-48.0 (for lagring av passord) og Seahorse-47.0.1 (for administrere lagrede passord)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/epiphany

Installasjon av Epiphany

Notat

Hvis du oppgraderer fra en epiphany-46 eller tidligere, fjern noen filer som vil forårsake et krasj under kjøring hvis de er tilstede, som root bruker:

rm -rf /usr/lib/epiphany

Installer Epiphany ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Nå, som root bruker:

ninja install

Notat

Hvis du installerte pakken på systemet ditt ved hjelp av en «DESTDIR» metode, /usr/share/glib-2.0/schemas/gschemas.compiled ble ikke oppdatert/opprettet. Opprett (eller oppdater) filen ved å bruke følgende kommando som root bruker:

glib-compile-schemas /usr/share/glib-2.0/schemas

En test ville mislykkes hvis denne pakken ikke er installert, så det er bedre å kjøre testpakken etter installasjonen. For å teste resultatene, utsted ninja test. Testene må kjøres fra en grafisk økt.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installert Program: epiphany
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/{lib,libexec,share,share/help/*}/epiphany

Korte Beskrivelser

epiphany

er en GNOME nettleser basert på WebKit2 gjengivelsesmotor

falkon-25.08.3

Introduksjon til falkon

Falkon er en KDE nettleser som bruker QtWebEngine gjengivelsesmotor. Det var tidligere kjent som QupZilla. Den har som mål å være en lett nettleser tilgjengelig gjennom alle større plattformer.

Selv om falkon er nå en del av KDE, det kan bli installert uten KDE (med tap av kwallet funksjonalitet).

Falkon er avhengig av QtWebEngine. Vennligst les advarselen på den siden.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

falkon Avhengigheter

Påkrevd

Extra-CMake-Modules-6.20.0, KDE Frameworks-6.20.0 (for karchive), og qtwebengine-6.10.2

Notat

Strengt tatt er det bare karchive og ki18n som kreves for å bygge falkon, men flere andre pakker i KDE Frameworks-6.20.0 kan brukes hvis de er tilstede. For å bygge kun karchive og ki18n, last ned disse pakkene fra mappen spesifisert i KDE Frameworks-6.20.0 og bruk byggeinstruksjonene på den side, endre $KF6_PREFIX til /usr.

Valgfri

gnome-keyring-48.0, PySide2, og Shiboken2

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/falkon

Installasjon av falkon

Installer falkon ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      .. &&

make

Tester bør kjøres etter installasjon.

Nå, som root bruker:

make install &&
ldconfig

For å teste resultatene, utsted: make test. Alle tester skal bestå. Hvis noen mislykkes, vil de fullstendige resultatene være tilgjengelige i Testing/Temporary/LastTest.log.

Notat

Når du oppgraderer denne pakken, er det mulig at innholdet av applikasjonen vil forbli tom selv om alt annet ser ut til å fungere skikkelig. Prøv i dette tilfellet å fjerne ~/.cache/falkon og starte programmet på nytt.

Hvis du har installert Pyside2 vil du undersøke hellopython.py som er i scripts/ mappen, og kanskje kopiere det til hjemmemappen din.

Notat

Hvis du er på en ikke-x86_64 arkitektur og får problemer med manglende tekst, kan det være lurt å eksportere QTWEBENGINE_CHROMIUM_FLAGS="--no-sandbox" før du kjører Falkon.

Parameterforklaringer

-D BUILD_TESTING=OFF: Dette vil spare litt tid og plass ved å ikke bygge testprogrammene, bruk denne hvis du ikke ønsker å kjøre testen.

Innhold

Installerte Programmer: falkon
Installert Bibliotek: libFalkonPrivate.so.3
Installert Mappe: /usr/share/falkon

Korte Beskrivelser

falkon

er en nettleser som bruker qtwebengine

libFalkonPrivate.so.3

inneholder funksjoner som brukes av falkon

Firefox-140.7.0esr

Introduksjon til Firefox

Firefox er en frittstående nettleser basert på Mozilla kodebasen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken har historisk sett hatt hyppige oppdateringer som adresserer sikkerhetssårbarheter. For å finne den siste status sjekk BLFS Security Advisories.

Pakkeinformasjon

Ytterligere Nedlastinger

Notat

Mappenavnet er firefox-140.7.0

Å pakke ut tarballen vil tilbakestille tillatelsene til gjeldende mappe til 0755 hvis du har tillatelse til det. Hvis du gjør dette i en mappe hvor den klebrige biten er satt, slik som /tmp vil det ende med feilmeldinger:

tar: .: Cannot utime: Operation not permitted
tar: .: Cannot change mode to rwxr-xr-t: Operation not permitted
tar: Exiting with failure status due to previous errors

Dette avsluttes med ikke-null status, men det betyr IKKE at det er et reelt problem. Ikke untar som root bruker i en mappe der klebrig-biten er satt - det vil deaktivere den.

Som med andre store pakker som bruker C++ (eller rust), er SBU tiden for å bygge dette varierer mer enn du kanskje forventer. Byggetidene vil øke betydelig hvis maskinen din må bruke vekselminnet.

Selv om oppstrøms foretrekker å bruke PulseAudio, for øyeblikket Alsa kan fortsatt brukes. Begge kan trenge kjøretidskonfigurasjon for å få lyden til å fungere.

Firefox Avhengigheter

Påkrevd

Cbindgen-0.29.2, GTK-3.24.51, libnotify-0.8.8, libarchive-3.8.5, LLVM-21.1.8 (med clang, brukes til bindgen selv om man bruker gcc), nodejs-22.22.0, PulseAudio-17.0 (eller alsa-lib-1.2.15.3 hvis du redigerer mozconfig; nå avviklet av mozilla), i begge tilfeller vennligst les Konfigurasjonsinformasjon, startup-notification-0.12

Anbefalt

Notat

Hvis du ikke installerer anbefalte avhengigheter, blir interne kopier av disse pakkene brukt. De kan ha blitt testet for å fungere, men de kan være utdatert eller inneholde sikkerhetshull.

Valgfri

cURL-8.18.0, Doxygen-1.16.1, FFmpeg-8.0.1 (kjøretid, for å spille mov, mp3 eller mp4 files), GeoClue-2.8.0 (kjøretid), liboauth-1.0.3, libproxy-0.5.12, pciutils-3.14.0 (kjøretid), Valgrind-3.26.0, Wget-1.25.0, Wireless Tools-29, og yasm-1.3.0,

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/firefox

Installasjon av Firefox

Først, installer en oppdatering for å fikse videofunksjonaliteten med FFmpeg-8.0.1:

patch -Np1 -i ../firefox-140.7.0esr-ffmpeg-8.0.patch

Deretter, fiks byggingen av denne pakken med Python 3.14:

patch -Np1 -i ../firefox-140.7.0esr-python_3.14_fixes-1.patch

Konfigurasjonen av Firefox er oppnådd ved å lage en mozconfig fil som inneholder ønsket konfigurasjonsalternativer. En standard mozconfig er opprettet nedenfor. For å se hele listen over tilgjengelige konfigurasjonsalternativer (og en forkortet beskrivelse av noen av dem), utsted ./mach configure -- --help | less. Du kan også se gjennom hele filen og fjerne kommentarer til andre ønskede alternativer. Opprett filen ved å gi følgende kommando:

cat > mozconfig << "EOF"
# If you have a multicore machine, all cores will be used by default.

# If you have installed (or will install) wireless-tools, and you wish
# to use geolocation web services, comment out this line
ac_add_options --disable-necko-wifi

# Comment out the following line if you wish not to use Google's Location
# Service (GLS).  Note that if Geoclue is installed and configured to use
# GLS (as the BLFS instruction does), Firefox can access GLS via Geoclue
# anyway.  On the other hand if Geoclue is not installed (or not properly
# configured) and this line is commented out, the website requiring a
# location service will not function properly.
ac_add_options --with-google-location-service-api-keyfile=$PWD/google-key

# If you wish to use libproxy to determine proxy server information, you will
# need to install the libproxy package and then uncomment the option below:
#ac_add_options --enable-libproxy

# Uncomment the following option if you have not installed PulseAudio and
# want to use alsa instead
#ac_add_options --enable-audio-backends=alsa

# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --with-system-av1
ac_add_options --with-system-icu
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-webp

# Firefox provides a copy of dav1d if it has not been installed. If you have
# not installed nasm and ffmpeg, uncomment the following line:
#ac_add_options --disable-av1

# You cannot distribute the binary if you do this.
ac_add_options --enable-official-branding

# Stripping is now enabled by default.
# Uncomment these lines if you need to run a debugger:
#ac_add_options --disable-strip
#ac_add_options --disable-install-strip

# Disabling debug symbols makes the build much smaller and a little
# faster. Comment this if you need to run a debugger.
ac_add_options --disable-debug-symbols

# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=browser
ac_add_options --disable-crashreporter
ac_add_options --disable-updater

# Enabling the tests will use a lot more space and significantly
# increase the build time, for no obvious benefit.
ac_add_options --disable-tests

# This enables SIMD optimization in the shipped encoding_rs crate.
ac_add_options --enable-rust-simd

ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman

ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib

# Sandboxing works well on x86_64 but might cause issues on other
# platforms, e.g. i686.
[ $(uname -m) != x86_64 ] && ac_add_options --disable-sandbox

# Using sandboxed wasm libraries has been moved to all builds instead
# of only mozilla automation builds. It requires extra llvm packages
# and was reported to seriously slow the build. Disable it.
ac_add_options --without-wasm-sandboxed-libraries

# The following option unsets Telemetry Reporting. With the Addons Fiasco,
# Mozilla was found to be collecting user's data, including saved passwords and
# web form data, without users consent. Mozilla was also found shipping updates
# to systems without the user's knowledge or permission.
# As a result of this, use the following command to permanently disable
# telemetry reporting in Firefox.
unset MOZ_TELEMETRY_REPORTING

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir

# By default firefox will attempt to use the window class firefox-default on
# launch. This makes the icon not work properly because wayland does not
# support the X11 property  class header. Change the remoting name to fix this.
# This is also reflected in the .desktop file where StartupWMClass is set to
# firefox.
MOZ_APP_REMOTINGNAME=firefox
EOF

Hvis du bygger med system ICU-78.1 eller nyere, oppdater én fil:

sed -i '/VIRAMA = 47/a CLASS_CHARACTER,' intl/lwbrk/LineBreaker.cpp

Hvis geolokaliserings APIene er nødvendige:

Notat

Google API nøkler nedenfor er spesifikke for LFS. Hvis du bruker disse instruksjonene for en annen distro, eller hvis du har tenkt å distribuere binære kopier av programvaren ved å bruke disse instruksjonene, hent dine egne nøkler ved å følge instruksjonene på https://www.chromium.org/developers/how-tos/api-keys.

echo "AIzaSyDxKL42zsPjbke5O8_rPVpVrLrJ8aeE9rQ" > google-key

Notat

Hvis du kompilerer denne pakken i chroot, må du Først som root bruker, sørge for at /dev/shm er montert. Hvis du ikke gjør dette, Python konfigurasjonen vil mislykkes med en tilbakesporingsrapport som viser til /usr/lib/pythonN.N/multiprocessing/synchronize.py. Som root bruker, kjør:

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm

Kompiler Firefox ved å utstede følgende kommandoer:

export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none &&
export MOZBUILD_STATE_PATH=${PWD}/mozbuild          &&
./mach build

mozconfig ovenfor deaktiverer testene fordi de bruker mye mer tid og diskplass uten noen åpenbar fordel. Hvis du likevel har aktivert dem, kan du kjøre testene ved å kjøre ./mach gtest. Dette vil kreve en nettverkstilkobling, og å bli kjørt fra en Xorg økt - det er en sprettopp-dialog når den ikke klarer å koble til ALSA (det skaper ikke en mislykket test). En eller to tester vil mislykkes. For å se detaljene om feilen(e) må du logge utdataene fra den kommandoen slik at du kan se gjennom den.

Nå, som root bruker:

export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none &&
./mach install

Tøm miljøvariablene som ble angitt ovenfor:

unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE
unset MOZBUILD_STATE_PATH

Parameterforklaringer

export MOZBUILD_STATE_PATH=${PWD}/mozbuild: Bygget forteller deg at den har til hensikt å opprette ~/.mozbuild, og tilby deg et alternativ å trykke <ENTER> for å godta dette, eller Ctrl-C for å avbryte og starte på nytt å bygge etter å ha spesifisert mappen. I praksis kan det hende at meldingen ikke vises til etter <ENTER> er presset, dvs. bygget stopper.

Den mappen brukes for en (sannsynligvis tilfeldig) telemetriidentifikator. Opprette denne mappen i byggemappen og slette den etter installasjonen hindrer den i brukes.

MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none: Bruk system python for å lage et virtuelt miljø for mach uten å laste ned noen python wheels og uten å bruke systemets python moduler. Dette forhindrer versjonsfeil mellom systemmoduler og medfølgende moduler.

./mach build --verbose: Bruk dette alternativet hvis du trenger detaljer om hvilke filer som kompileres, sammen med eventuelle C eller C++ flagg som brukes. Men ikke legg til '--verbose' til installeringskommandoen siden det ikke er akseptert der.

./mach build -jN: Byggingen skal som standard bruke alle tilgjengelige CPU kjerner. Hvis bruk av alle kjernene får bygget til å bruke vekselminne fordi du har utilstrekkelig minne, kan det gå raskere å bruke færre kjerner.

CC=gcc CXX=g++: BLFS pleide å foretrekke å bruke gcc og g++ i stedet for oppstrøms standardinnstillinger for clang programmer. Med utgivelsen av gcc-12 bygget tar lengre tid med gcc og g++, først og fremst fordi ekstra advarsler, og er større. Angi disse miljøvariablene før du kjører configure skriptet hvis du ønsker å fortsette å bruke gcc, g++. Bygging med GCC på i?86 er for øyeblikket ødelagt.

Konfigurere Firefox

Hvis du bruker et skrivebordsmiljø som Gnome eller KDE kan det være lurt å opprette en firefox.desktop fil sånn at Firefox vises i panelets menyer. Som root bruker:

mkdir -pv /usr/share/applications &&
mkdir -pv /usr/share/pixmaps      &&

MIMETYPE="text/xml;text/mml;text/html;"                            &&
MIMETYPE+="application/xhtml+xml;application/vnd.mozilla.xul+xml;" &&
MIMETYPE+="x-scheme-handler/http;x-scheme-handler/https"           &&

cat > /usr/share/applications/firefox.desktop << EOF &&
[Desktop Entry]
Encoding=UTF-8
Name=Firefox Web Browser
Comment=Browse the World Wide Web
GenericName=Web Browser
Exec=firefox %u
Terminal=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=$MIMETYPE
StartupNotify=true
StartupWMClass=firefox
EOF

unset MIMETYPE &&

ln -sfv /usr/lib/firefox/browser/chrome/icons/default/default128.png \
        /usr/share/pixmaps/firefox.png

Konfigurasjonsinformasjon

Applikasjonsinnstillingene for firefox er tilgjengelige ved å skrive about:config i adressefeltet.

Av og til, å få fungerende lyd i firefox kan være et problem. Skjønt oppstrøms foretrekker pulsaudio, bruk av Alsa kan være lettere.

Hvis du har aktivert Alsa for lyd, kan det hende du trenger å endre en variabel for å få fungerende lyd. Hvis du kjører firefox fra en terminal og prøv å spille noe med lyd kan du støte på feilmeldinger som:

Sandbox: seccomp sandbox violation: pid 3941, tid 4030, syscall 16, args 48 2147767296 139909894784796 0 0 0.

Det var på x86_64, på i686 er syscall nummeret 54. For å tillate denne syscall, i about:config forandre security.sandbox.content.syscall_whitelist til 16 (eller 54 hvis du bruker i686).

Hvis du bruker pulseaudio i et skrivebordsmiljø, kan det allerede være startet av den DE. Men hvis det ikke er det, skjønt firefox-57 klarte å starte den, firefox-58 gjorde det ikke. Hvis du kjører firefox fra en terminal og dette problemet er tilstede, å prøve å spille av lyd vil støte på feilmeldinger advarsel Can't get cubeb context!

Løsningen for dette er å lukke firefox, starte pulsaudio for å sjekke om det starter (hvis ikke, les informasjonen om konfigurering i PulseAudio-17.0) og start firefox på nytt for å sjekke at det fungerer. Hvis det nå fungerer, legg til følgende i din ~/.xinitrc: pulseaudio --verbose --log-target=syslog& (dessverre, på noen systemer fungerer ikke dette).

Det kan være lurt å bruke flere profiler i firefox. For å gjøre det, påkall firefox som firefox --ProfileManager. Du kan også sjekke hvilken profil som er i bruk fra about:profiles.

Selv om WebRender (bruker GPU for komposisjon) ikke brukes av standard, ser det nå ut til å fungere bra på støttet maskinvare (ATI, NVIDIA og Intel GPUer med Mesa-18 eller nyere). For en forklaring, se hacks.mozilla.org. Den eneste ulempen ser ut til å være at på en maskin med begrenset RAM kan det hende det bruker mer RAM.

For å sjekke om WebRender brukes, se i about:support. I grafikk seksjonen, vil Compositing enten vise 'Basic' (dvs. ikke i bruk) eller 'WebRender'. For å aktivere det, gå til about:config og endre gfx.webrender.all til True. Du må starte firefox på nytt.

Det kan være nyttig å nevne prosessene fra firefox som kan dukke opp i top - så vel som firefox selv, kan det være flere Nettinnhold prosesser, og nå en RDD prosess (Remote Data Decoder) som vises når du spiller av nettvideoer kodet med av1 (libdav1d). Hvis WebRender har blitt aktivert, vil en GPU prosess også vises når firefox må oppdatere på nytt (f.eks. bla, åpne en ny fane eller spille av en video).

Innhold

Installerte Programmer: firefox
Installerte Biblioteker: Tallrike biblioteker, nettleserkomponenter, programtillegg, utvidelser og hjelpemoduler installert i /usr/lib/firefox
Installert Mappe: /usr/lib/firefox

Korte Beskrivelser

firefox

er en GTK+-3 nettleser som bruker Mozilla Gecko gjengivelsesmotoren

Seamonkey-2.53.23

Introduksjon til Seamonkey

Seamonkey er en nettleserpakke, en etterkommer av Netscape. Den inkluderer nettleseren, composer, post og nyhetsklienter, og en IRC klient.

Det er den fellesskapsdrevne oppfølgingen av Mozilla Programpakke, opprettet etter at Mozilla bestemte seg for å fokusere på separate applikasjoner for surfing og e-post. De applikasjonene er Firefox-140.7.0 og Thunderbird-140.7.1esr.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken har historisk sett hatt hyppige oppdateringer som adresserer sikkerhetssårbarheter. For å finne den siste status sjekk BLFS Security Advisories.

Pakkeinformasjon

Ytterligere Nedlastinger

Notat

Tarballen seamonkey-2.53.23.source.tar.xz vil pakke ut i seamonkey-2.53.23 mappen.

Seamonkey Avhengigheter

Påkrevd

Cbindgen-0.29.2, GTK-3.24.51, libarchive-3.8.5, Python-3.11.1, NASM-3.01, og Zip-3.0

Anbefalt

Notat

Hvis du ikke installerer anbefalte avhengigheter, vil interne kopier av disse pakkene bli brukt. De kan bli testet for å fungere, men de kan være utdatert eller inneholde sikkerhetshull.

Valgfri

alsa-lib-1.2.15.3, dbus-glib-0.114, libproxy-0.5.12, nodejs-22.22.0, Valgrind-3.26.0, Wget-1.25.0, Wireless Tools-29, Hunspell og Watchman

Installasjon av Seamonkey

Konfigurasjonen av Seamonkey er oppnådd ved å lage en mozconfig fil som inneholder de ønskede konfigurasjonsalternativer. Standard mozconfig fil er opprettet nedenfor. For å se hele listen over tilgjengelige konfigurasjonsalternativer (og en forkortet beskrivelse av hver enkelt), kjør python3 configure.py --help. Det kan også være lurt å se gjennom hele filen og fjern kommentarer til andre ønskede alternativer. Lag filen ved å utsted følgende kommando:

cat > mozconfig << "EOF"
# If you have a multicore machine, all cores will be used

# If you have installed DBus-Glib comment out this line:
ac_add_options --disable-dbus

# If you have installed dbus-glib, and you have installed (or will install)
# wireless-tools, and you wish to use geolocation web services, comment out
# this line
ac_add_options --disable-necko-wifi


# If you wish to use libproxy to determine proxy server information, you will
# need to install the libproxy package and then uncomment the option below:
#ac_add_options --enable-libproxy

# Uncomment these lines if you have installed optional dependencies:
#ac_add_options --enable-system-hunspell

# Uncomment the following option if you have not installed PulseAudio
#ac_add_options --disable-pulseaudio
# and uncomment this if you installed alsa-lib instead of PulseAudio
#ac_add_options --enable-alsa

# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --with-system-icu
ac_add_options --with-system-libevent
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-webp

# Disabling debug symbols makes the build much smaller and a little
# faster. Comment this if you need to run a debugger.
ac_add_options --disable-debug-symbols

# The elf-hack is reported to cause failed installs (after successful builds)
# on some machines. It is supposed to improve startup time and it shrinks
# libxul.so by a few MB.  With recent Binutils releases the linker already
# supports a much safer and generic way for this.
ac_add_options --disable-elf-hack
ac_add_options --enable-linker=bfd
export LDFLAGS="$LDFLAGS -Wl,-z,pack-relative-relocs"

# Seamonkey has some additional features that are not turned on by default,
# such as an IRC client, calendar, and DOM Inspector. The DOM Inspector
# aids with designing web pages. Comment these options if you do not
# desire these features.
ac_add_options --enable-calendar
ac_add_options --enable-dominspector
ac_add_options --enable-irc

# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=comm/suite

ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-tests

# The SIMD code relies on the unmaintained packed_simd crate which
# fails to build with Rustc >= 1.78.0.  We may re-enable it once
# Mozilla ports the code to use std::simd and std::simd is stabilized.
ac_add_options --disable-rust-simd

ac_add_options --enable-strip
ac_add_options --enable-install-strip

# You cannot distribute the binary if you do this.
ac_add_options --enable-official-branding

ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib

export CC=clang CXX=clang++
EOF

Notat

Hvis du kompilerer denne pakken i chroot, må du Først som root bruker, sørge for at /dev/shm er montert. Hvis du ikke gjør dette, Python konfigurasjonen vil mislykkes med en tilbakesporingsrapport som viser til /usr/lib/pythonN.N/multiprocessing/synchronize.py. Som root bruker, kjør:

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm

Først, hvis du bygger med system ICU, tilpasser du linjeskiftkartleggingen for ICU-74 og senere, bruk en oppdatering for å bygge denne pakken med C++17-standard fordi deklarasjoner til ICU-75 eller nyere krever noe C++17 funksjoner, og tilpasse byggesystemet for å bruke riktig bibliotek med ICU-76 eller senere:

(for i in {43..48}; do
   sed '/ZWJ/s/$/,CLASS_CHARACTER/' -i intl/lwbrk/LineBreaker.cpp || exit $?
done) &&

patch -Np1 -i ../seamonkey-2.53.23-cxx17-1.patch &&

sed -i 's/icu-i18n/icu-uc &/' js/moz.configure

Deretter fjerner du en mengde ubrukt kode som bryter C++-standarden. Clang har begynt å avvise den selv om den har vært ubrukt siden 19.1.0 utgivelse:

sed -e '/ExclusiveData(ExclusiveData&&/,/^ *}/d' \
    -i js/src/threading/ExclusiveData.h

Løs et problem med den medfølgende 'distro' pythonmodulen:

sed -e '1012 s/stderr=devnull/stderr=subprocess.DEVNULL/' \
    -e '1013 s/OSError/(OSError, subprocess.CalledProcessError)/' \
    -i third_party/python/distro/distro.py

Kompilere Seamonkey ved å kjøre følgende kommandoer:

export PATH_PY311=/opt/python3.11/bin:$PATH &&
export MOZBUILD_STATE_PATH=${PWD}/mozbuild  &&
PATH=$PATH_PY311 AUTOCONF=true MACH_USE_SYSTEM_PYTHON=1 ./mach build

Denne pakken kommer ikke med en testpakke.

Installer Seamonkey ved å utstede følgende kommandoer som root bruker:

Notat

Hvis sudo eller su er påberopt for å åpne et skall som kjører som root bruker, forsikre deg om at PATH_PY311 er korrekt sendt ellers vil følgende kommando mislykkes. For sudo, bruk --preserve-env=PATH_PY311 alternativet. For su, ikke bruk - eller --login alternativer.

PATH=$PATH_PY311 MACH_USE_SYSTEM_PYTHON=1 ./mach install &&
chown -R 0:0 /usr/lib/seamonkey                          &&

cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1

Til slutt, fjern midlertidige variabler som ble angitt ovenfor:

unset PATH_PY311 MOZBUILD_STATE_PATH

Parameterforklaringer

export MOZBUILD_STATE_PATH=${PWD}/mozbuild: Byggingen forteller deg at den har til hensikt å opprette ~/.mozbuild, og tilbyr deg et alternativ til å trykke <ENTER> for å godta dette, eller Ctrl-C for å avbryte og starte byggingen på nytt etter at du har spesifisert mappen. I praksis kan det hende at meldingen ikke vises før etter at <ENTER> er trykket, dvs. byggingen stopper.

Den mappen brukes som en (sannsynligvis tilfeldig) telemetri identifikator. Hvis du oppretter denne mappen i byggemappen og sletter den etter installasjonen, forhindres det at den brukes.

export CC=clang CXX=clang++: Med introduksjonen av gcc-12, mange flere advarsler genereres når du kompilerer mozilla applikasjoner og det resulterer i en mye langsommere og større konstruksjon. Dessuten, bygging med GCC på i?86 er for øyeblikket ødelagt. Selv om oppstrøms mozilla kode bruker som standard llvm med mindre overstyrt, konfigurerer den eldre koden inn i Seamonkey standard til gcc.

./mach build --verbose: Bruk dette alternativet hvis du trenger detaljer om hvilke filer som kompileres, sammen med eventuelle C eller C++ flagg brukes. Men ikke legg til '--verbose' til installeringskommandoen, det er ikke akseptert der.

./mach build -jN: Byggingen bør som standard bruke alle tilgjengelige CPU kjerner. Hvis bruk av alle kjernene får bygget til å bruke vekselminne fordi du har utilstrekkelig minne, kan det gå raskere å bruke færre kjerner.

Konfigurere Seamonkey

For installering av diverse Seamonkey tillegg, se på Add-ons for Seamonkey.

Sammen med å bruke «Preferences» menyen for å konfigurere Seamonkey sine alternativer og preferanser som passer individuelle smaker, finere kontroll av mange alternativer er kun tilgjengelig ved å bruke et verktøy som ikke er tilgjengelig fra det generelle menysystemet. For å få tilgang til dette verktøyet, må du åpne et nettleservindu og skrive about:config i adressefeltet. Dette vil vise en liste over konfigurasjonspreferanser og informasjon relatert til hver enkelt. Du kan bruke «Search:» feltet for skrive søkekriterier og begrense de oppførte elementene. Endre en preferanse kan gjøres ved hjelp av to metoder. En, hvis preferansen har en boolsk verdi (True/False), dobbeltklikk ganske enkelt på preferansen for å bytte verdien og to, for andre preferanser bare høyreklikk på ønsket linje, velg «Modify» fra menyen og endre verdien. Opprette nye preferanseelementer oppnås på samme måte, bortsett fra velg «New» fra menyen og oppgi de ønskede dataene i feltene når du blir bedt om det.

Hvis du bruker et skrivebordsmiljø som Gnome eller KDE ønsker du kanskje å lage en seamonkey.desktop fil sånn at Seamonkey vises i panelets menyer. Hvis du ikke har aktivert Startup-Notification i din mozconfig endre StartupNotify linjen til false. Som root bruker:

mkdir -pv /usr/share/{applications,pixmaps}              &&

cat > /usr/share/applications/seamonkey.desktop << "EOF"
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Seamonkey
Comment=The Mozilla Suite
Icon=seamonkey
Exec=seamonkey
Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
StartupNotify=true
Terminal=false
EOF

ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
        /usr/share/pixmaps/seamonkey.png

Innhold

Installerte Programmer: seamonkey
Installerte Biblioteker: Tallrike biblioteker, nettleser- og e-post-/nyhetsgruppekomponenter, programtillegg, utvidelser og hjelpemoduler installert i /usr/lib/seamonkey
Installert Mappe: /usr/lib/seamonkey

Korte Beskrivelser

seamonkey

er Mozilla nettleser/e-post/nyhetsgruppe/chat klientpakke

Kapittel 41. Andre X-baserte Programmer

Disse programmene bruker X Vindussystemet og passer ikke lett inn i noen av de andre kapitlene.

Balsa-2.6.5

Introduksjon til Balsa

Balsa pakken inneholder en lettvekst GTK+ basert e-postklient.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Balsa Avhengigheter

Påkrevd

enchant-2.8.14, GMime-3.2.15, gpgme-2.0.1, GTK-3.24.51, libical-3.0.20, libnotify-0.8.8, og libsecret-0.21.7

Påkrevd (Kjøretid)

MTA (som gir en sendmail kommando)

Valgfri

Compface-1.5.2, gspell-1.14.2, gtksourceview-3.24.11, libcanberra-0.30, MIT Kerberos V5-1.22.2, OpenLDAP-2.6.12, Procmail-3.24, WebKitGTK-2.50.5, html2text, libxapp, osmo, og yelp-tools

Installasjon av Balsa

Installer Balsa ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup .. --prefix=/usr       \
               --buildtype=release \
               -D html-widget=no   &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D html-widget=no: Dette alternativet deaktiverer bygging av HTML gjengiveren. Hvis du vil at HTML gjengiveren skal bygges, bekreft at du har WebKitGTK-2.50.5 installert, og fjern så dette alternativet.

-D canberra=true: Denne bryteren aktiverer støtte for hendelseslyder via libcanberra-0.30.

-D compface=true: Denne bryteren aktiverer støtte for Compface-1.5.2 for å komprimere miniatyrbilder for kontakter.

-D gcr=true: Denne bryteren aktiverer støtte for bruk av libgcr for håndtering av TLS sertifikater. Dette krever at Gcr-3.41.2 pakken er installert, som er en del av en kjøretidsavhengighet for libsecret.

-D gss=true: Denne bryteren aktiverer støtte for Kerberos autentisering. Dette krever at MIT Kerberos V5-1.22.2 pakken er installert.

-D ldap=true:Denne bryteren aktiverer støtte for LDAP adresseboken. Dette krever at OpenLDAP-2.6.12 pakken er installert.

Innhold

Installerte Programmer: balsa og balsa-ab
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/sounds/events, /usr/share/balsa, og /usr/share/sounds/balsa

Korte Beskrivelser

balsa

er en GTK+ basert e-postklient

balsa-ab

er adressebokapplikasjonen som brukes av balsa

feh-3.11.2

Introduksjon til feh

feh er en rask, lett bildeviser som bruker Imlib2. Den er kommandolinjedrevet og støtter flere bilder gjennom lysbildefremvisninger, miniatyrbilder-surfing eller flere vinduer og montasjer eller indeksutskrifter (ved å bruke TrueType fonter for å vise filinformasjon). Avanserte funksjoner inkluderer rask dynamisk zooming, progressiv lasting, lasting via HTTP (med reload-støtte for å se på webkameraer), rekursiv filåpning (lysbildefremvisning av et kataloghierarki), og musehjul/tastaturkontroll.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://feh.finalrewind.org/feh-3.11.2.tar.bz2

  • Nedlasting MD5 sum: f40ae1685173e1f9a4376953bb8b8180

  • Nedlastingsstørrelse: 2.0 MB

  • Estimert diskplass som kreves: 5.2 MB (med tester)

  • Estimert byggetid: mindre enn 0.1 SBU (med tester)

feh Avhengigheter

Påkrevd

libpng-1.6.55 og imlib2-1.12.6 (bygget med giflib-5.2.2 støtte, for tester)

Anbefalt
Valgfri

libexif-0.6.25

Valgfri (kjøretid)

libjpeg-turbo-3.1.3 (for tapsfri bilderotasjon) og ImageMagick-7.1.2-13 (for å laste formater som ikke støttes)

Valgfri (testpakken)

Test-Command-0.11 (påkrevd) og mandoc (valgfri)

Installasjon av feh

Installer feh ved å kjøre følgende kommandoer:

sed -i "s:doc/feh:&-3.11.2:" config.mk &&
make PREFIX=/usr

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make PREFIX=/usr install

Parameterforklaringer

sed -i "s:doc/feh:&-3.11.2:" config.mk: Denne sed fikser doc mappen til en versjonert, som brukt i BLFS.

curl=0: Bruk dette make flagget hvis du ikke har cURL pakken installert.

exif=1: Dette make flagget aktiverer innebygd Exif taggvisning støtte.

Innhold

Installert Program: feh
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/feh-3.11.2 og /usr/share/feh

Korte Beskrivelser

feh

er en bildeviser og katalogiser

FontForge-20251009

Introduksjon til FontForge

FontForge pakken inneholder en skisse fontredigerer som lar deg lage ditt eget postscript, truetype, opentype, cid-keyed, multi-master, cff, svg og bitmap fonter (bdf, FON, NFNT), eller rediger eksisterende.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

FontForge Avhengigheter

Påkrevd

Gtkmm-3.24.10, libspiro-20220722, og libxml2-2.15.1

Valgfri

giflib-5.2.2, git-2.53.0, libjpeg-turbo-3.1.3, libtiff-4.7.1, sphinx-9.1.0 (for å bygge html dokumentasjon), og WOFF2-1.0.2

Installasjon av FontForge

Installer FontForge ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -W no-dev .. &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Hvis du har installert sphinx-build, HTML dokumentasjon ble bygget og montert i /usr/share/doc/fontforge. For å få tilgang til den som en versjonert mappe, opprett en symbolkobling som root bruker:

ln -sv fontforge /usr/share/doc/fontforge-20251009

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å opprette en optimalisert utgivelse uten feilsøkingsinformasjon.

-W no-dev: Denne bryteren brukes til å undertrykke advarsler beregnet på pakkens utviklere.

Innhold

Installerte Programmer: fontforge, fontimage, fontlint og sfddiff
Installert Bibliotek: libfontforge.so og /usr/lib/python3.14.3/site-packages/{fontforge,psMat}.so
Installerte Mapper: /usr/share/fontforge og valgfri /usr/share/doc/fontforge{,-20251009}

Korte Beskrivelser

fontforge

er et program som lar deg lage og endre fontfiler

fontimage

er et program som produserer et bilde som viser representative glyffer for fonten

fontlint

er et program som sjekker fonten for noen vanlige feil

sfddiff

er et program som sammenligner to fontfiler

FreeRDP-3.22.0

Introduksjon til FreeRDP

FreeRDP pakken inneholder biblioteker og verktøy for å bruke Remote Desktop Protocol. Dette inkluderer verktøy for å kjøre en RDP server samt koble til en datamaskin ved hjelp av RDP. Dette brukes først og fremst for å koble til Microsoft Windows datamaskiner, men kan også brukes på Linux og macOS.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

FreeRDP Avhengigheter

Påkrevd

FFmpeg-8.0.1, ICU-78.2, og Xorg Biblioteker

Anbefalt
Valgfri

Cups-2.4.16, faac-1.31.1, FAAD2-2.11.2, fdk-aac-2.0.3, LAME-3.100, Linux-PAM-1.7.2, PulseAudio-17.0, SDL3-3.4.0 og SDL_ttf, cJSON, GSM, ocl-icd, mbedTLS, openh264, pcsclite, soxr, og uriparser

Installasjon av FreeRDP

Installer FreeRDP ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr   \
      -D CMAKE_SKIP_INSTALL_RPATH=ON \
      -D CMAKE_BUILD_TYPE=Release    \
      -D WITH_CAIRO=ON               \
      -D WITH_CLIENT_SDL=OFF         \
      -D WITH_DSP_FFMPEG=ON          \
      -D WITH_FFMPEG=ON              \
      -D WITH_PCSC=OFF               \
      -D WITH_SERVER=ON              \
      -D WITH_SERVER_CHANNELS=ON     \
      -D DOCBOOKXSL_DIR=/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2 \
      -W no-dev                      \
      -G Ninja ..                    &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D DOCBOOKXSL_DIR=/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2: Denne parameteren peker CMake til plasseringen av Docbook XSL stilark, og er nødvendig fordi BLFS ikke bruker namespaced versjoner av stilarkene. Dette er nødvendig for å lage manualsider. Hvis du ikke ønsker manualsider, send -D WITH_MANPAGES=OFF til CMake i stedet.

-D WITH_CAIRO=ON: Denne parameteren bruker Cairo for å støtte høy DPI og vindustørrelse.

-D WITH_CLIENT_SDL=OFF: Denne parameteren deaktiverer bruk av SDL for å tegne vinduet når du bruker FreeRDP klienten. Dette er deaktivert fordi det avhenger av SDL_ttf. Fjern denne bryteren hvis du har SDL_ttf pakken installert.

-D WITH_FFMPEG=ON: Denne parameteren aktiverer støtte for bruk av ffmpeg for H.264 grafikkgjengivelsesmodus, som er nødvendig ved tilkobling via RDP til Windows Server 2012 (eller Windows 8) eller nyere verter.

-D WITH_DSP_FFMPEG=ON: Denne parameteren aktiverer støtte for bruk av ffmpeg for av lyd og mikrofon omdirigering.

-D WITH_PCSC=OFF: Denne parameteren deaktiverer støtte for SmartCards siden BLFS ikke har den nødvendige avhengigheten for det.

-D WITH_SERVER=ON: Denne parameteren gjør det mulig å bygge FreeRDP serverkomponentene. Fjern denne parameteren hvis du ikke vil bruke FreeRDP serveren.

-D WITH_SERVER_CHANNELS=ON: Denne parameteren bygger ekstra programtillegg for FreeRDP serveren.

-D WITH_LAME=ON: Bruk dette alternativet hvis du ønsker å aktivere støtte for bruk av LAME for å gi MP3 Audio Codec støtte.

-D WITH_FAAC=ON: Bruk dette alternativet hvis du ønsker å aktivere støtte for bruk av FAAC for å gi AAC Audio Codec støtte.

-D WITH_FAAD2=ON: Bruk dette alternativet hvis du ønsker å aktivere støtte for bruk av FAAD2 for å gi AAC Audio Codec støtte.

-D WITH_FDK_AAC=ON: Bruk dette alternativet hvis du ønsker å aktiver støtte for bruk av fdk-aac for å gi AAC Audio Codec støtte.

-D WITH_MBEDTLS=ON: Bruk dette alternativet hvis du har den valgfrie avhengigheten mbedTLS installert og ønsker å bruke det som et alternativ til OpenSSL for kryptografistøtte.

-D WITH_OPENCL=ON: Bruk dette alternativet hvis du har den valgfrie avhengigheten ocl-icd installert og ønsker å bruke OpenCL støtte.

-D WITH_OPENH264=ON: Bruk dette alternativet hvis du har den valgfrie avhengigheten openh264 installert og ønsker å bruke den for H.264 støtte i stedet for ffmpeg.

-D WITH_GSM=ON: Bruk dette alternativet hvis du har den valgfrie avhengigheten GSM installert og ønsker å bruke GSM som en lydkodek.

-D WITH_SOXR=ON: Bruk dette alternativet hvis du har den valgfrie avhengigheten soxr installert og ønsker å bruke den i stedet for ffmpeg for multimedia omdirigering.

Innhold

Installerte Programmer: freerdp-proxy, freerdp-shadow-cli, sfreerdp, sfreerdp-server, winpr-hash, winpr-makecert, wlfreerdp, xfreerdp
Installerte Biblioteker: libfreerdp3.so, libfreerdp-client3.so, libfreerdp-server3.so, libfreerdp-server-proxy3.so, libfreerdp-shadow3.so, libfreerdp-shadow-subsystem3.so, librtdk0.so, libuwac0.so, libwinpr3.so, og libwinpr-tools3.so
Installerte Mapper: /usr/include/{freerdp3,rdtk0,uwac0,winpr3}, /usr/lib/cmake/{FreeRDP3,FreeRDP-Client3,FreeRDP-Proxy3,FreeRDP-Server3,rdtk0,uwac0,WinPR3,WinPR-tools3}, /usr/lib/freerdp3, /usr/share/FreeRDP

Korte Beskrivelser

freerdp-proxy

konfigurerer FreeRDP til å bruke en proxy server

freerdp-shadow-cli

grensesnitt med skyggefunksjonaliteten i FreeRDP

sfreerdp

er et verktøy for å dele en X-skjerm over RDP

sfreerdp-server

er et verktøy for å dele en X-skjerm over RDP

winpr-hash

oppretter en NTLM hash fra et brukernavn og passordpar

winpr-makecert

oppretter X.509-sertifikater for bruk med FreeRDP

wlfreerdp

er en RDP klient for Wayland

xfreerdp

er en RDP klient for for X11

libfreerdp3.so

inneholder funksjoner som gir RDP klient og server funksjonalitet

Gimp-3.0.6

Introduksjon til Gimp

Gimp pakken inneholder GNU Image Manipulation Program som er nyttig for fotoretusjering, bildekomposisjon og bildeforfatting.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Notat

Engelsk versjon av hjelpefilene er fullført, men noen deler av teksten for mange andre språk kan ennå ikke være oversatt.

Gimp Avhengigheter

Påkrevd

AppStream-1.1.2, appstream-glib-0.8.3, gegl-0.4.66, gexiv2-0.14.6, glib-networking-2.80.1, GTK-3.24.51, harfBuzz-12.3.2, libmypaint-1.6.1, librsvg-2.61.4, libtiff-4.7.1, libxml2-2.15.1 (for å bygge de oversatte hjelpefilene), Little CMS-2.18, mypaint-brushes-1.3.1, og Poppler-26.02.0 (inkludert poppler-data)

Anbefalt
Valgfri

AAlib-1.4rc5, alsa-lib-1.2.15.3, Gi-DocGen-2026.1, Gjs-1.86.0, libheif-1.21.2, libjxl-0.11.2, libmng-2.0.3, libunwind-1.8.3, libwebp-1.6.0, Lua-5.4.8, OpenJPEG-2.5.4, cfitsio, libbacktrace, libiff, libilbm, libwmf, OpenEXR, og qoi

Valgfritt, for å bygge hjelpesystemet

dblatex (for PDF dokumenter), pngnq og pngcrush for å optimalisere png filene, men se merknaden om hjelpenedlastingen ovenfor

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/gimp

Installasjon av Gimp

Hvis du oppgraderer fra en tidligere Gimp-3 installasjon, som root bruker, fjern noen filer og mapper fra den gamle installasjonen ellers kan byggesystemet feilaktig plukke dem opp, og forårsake byggefeil:

rm -rf /usr/{lib,share}/gimp/3.0 &&
rm -f  /usr/share/gir-1.0/Gimp-3.0.gir &&
rm -f  /usr/lib/girepository-1.0/Gimp-3.0.typelib &&
rm -f  /usr/lib/libgimp*-3.0.so*

Installer Gimp ved å kjøre følgende kommandoer:

mkdir gimp-build &&
cd    gimp-build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D headless-tests=disabled &&
ninja

For å teste resultatene (krever en terminal i et grafisk miljø) utsted: ninja test. Tre tester, gimp:app / save-and-export, gimp:app / single-window-mode, og gimp:app / ui, er kjent for å feile.

Nå, som root bruker:

ninja install

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler inn i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK-3.24.51 installert (for ikon hurtiglageret) og desktop-file-utils-0.28 (for skrivebords hurtiglageret) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Installasjon av Gimp-Help

gimp-help tarballen inneholder bilder og engelsk teksthjelp for hjelpefiler, sammen med oversettelser. Hvis du ønsker å installere lokale kopier av hjelpefilene for å lese offline, pakk ut gimp-help tarballen og bytt til roten til den nye opprettet kildetre.

tar -xf ../../gimp-help-3.0.2.tar.bz2 &&
cd gimp-help-3.0.2

sed -i 's/import libxml2//' configure &&

ALL_LINGUAS="en" \
./configure --prefix=/usr

Det er bare mulig å bygge ikke-engelske språk med libxml2 Python 3 modulen, som er utdatert og ikke lenger aktivert i BLFS libxml2 bygget.

Bygg nå hjelpefilene:

make

Utfør følgende kommandoer som root bruker for å installere hjelpefilene:

make install &&
chown -R root:root /usr/share/gimp/3.0/help

Parameterforklaringer

-D headless-tests=disabled: Denne bryteren deaktiverer bruk av xvfb-run for å kjøre testene. Uten denne bryteren mislykkes mange tester hvis xvfb-run har blitt installert.

Konfigurere Gimp

Konfigurasjonsfiler

/etc/gimp/3.0/*

Innhold

Installerte Programmer: gimp-3.0, gimp-console-3.0, gimptool-3.0, gimp-test-clipboard-3.0, gimp-script-fu-interpreter-3.0, og gimp{,-console,tool,-test-clipboard,script-fu-interpreter}{,-3} (symbolkoblinger)
Installerte Biblioteker: libgimp-3.0.so, libgimp-scriptfu-3.0, libgimpbase-3.0.so, libgimpcolor-3.0.so, libgimpconfig-3.0.so, libgimpmath-3.0.so, libgimpmodule-3.0.so, libgimpthumb-3.0.so, libgimpui-3.0.so, and libgimpwidgets-3.0.so
Installerte Mapper: /etc/gimp, /usr/include/gimp-3.0, /usr/lib/gimp-3.0, /usr/lib/gimp/3.0, /usr/share/gimp/3.0, and /usr/share/doc/gimp-3.0

Korte Beskrivelser

gimp-3.0

er Gnu Image Manipulation Program. Det fungerer med en rekke av bildeformater og gir et stort utvalg av verktøy

gimp-console-3.0

er et konsollprogram som oppfører seg som om Gimp ble startet med --no-interface kommandolinjealternativet

gimptool-3.0

er et verktøy som kan bygge programtilleggeller skript og installere dem hvis de er distribuert i én kildefil. gimptool-3.0 kan også brukes av programmer som trenger å vite hvilke biblioteker og inkluder-stier Gimp ble kompilert med

libgimp-3.0.so

gir C bindinger for Gimp sin Procedural Database (PDB), som tilbyr et grensesnitt til kjernefunksjoner og til funksjonalitet levert av programtillegg

libgimpbase-3.0.so

gir C funksjonene for grunnleggende Gimp funksjonalitet som å bestemme oppregningsdatatyper, gettext oversettelse, bestemme Gimp sin versjonsnummer og muligheter, håndtering av datafiler og tilgang til miljøet

libgimpcolor-3.0.so

gir C funksjonene knyttet til RGB, HSV og CMYK farger samt konvertere farger mellom ulike fargemodeller og utføre adaptiv supersampling på et område

libgimpconfig-3.0.so

inneholder C funksjoner for lesing og skriving av konfigurasjonsinformasjon

libgimpmath-3.0.so

inneholder C funksjoner som gir matematiske definisjoner og makroer, manipulere 3x3 transformasjonsmatriser, sette opp og manipulere vektorer og MD5 message-digest algoritmen

libgimpmodule-3.0.so

gir C funksjonene som implementerer modullasting ved hjelp av GModule og støtter å holde en liste over GimpModules funnet i en gitt søkesti

libgimpthumb-3.0.so

gir C funksjonene for håndtering av Gimp sin miniatyrbildeobjekter

libgimpui-3.0.so

inneholder Gimp sin vanlig bruker grensesnittfunksjoner

libgimpwidgets-3.0.so

inneholder Gimp og GTK sin skjermelement oppretting og manipulasjonsfunksjoner

Gparted-1.8.0

Introduksjon til Gparted

Gparted er Gnome Partisjonsredigering, en Gtk 3 GUI for andre kommandolinje verktøy som kan opprette, omorganisere eller slette diskpartisjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gparted Avhengigheter

Påkrevd

Gtkmm-3.24.10 og parted-3.6

Valgfri

btrfs-progs-6.17.1 (hvis du bruker et btrfs filsystem), exfatprogs, og udftools

Installasjon av Gparted

Installer Gparted ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-doc    \
            --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-doc: Denne bryteren deaktiverer bygging av den valgfrie dokumentasjonen. Fjern den hvis du har installert GNOME Doc Utils.

--enable-xhost-root: Denne bryteren gir en midlertidig løsning for å la GParted kjøre under Wayland ved å bruke xhost for å gi og tilbakekalle root tilgang til X11 skjermen.

Bruke Gparted

For å manipulere filsystemer har Gparted en kjøretidsavhengighet av forskjellige filsystemverktøy (du trenger bare å installere verktøyene for filsystemer du faktisk bruker): Hdparm-9.65 (nødvendig for valgfri visning av enhetsinformasjon om serienummer), btrfs-progs-6.17.1, dosfstools-4.2, e2fsprogs (installert som del av LFS), jfsutils-1.1.15, xfsprogs-6.18.0, mtools (nødvendig for å lese og skrive FAT16/32 volumetiketter og UUIDer), hfsutils, hfsprogs, nilfs-utils, Reiser4progs og reiserfsprogs.

Root privilegier kreves for å kjøre Gparted. Hvis du ønsker å kjøre applikasjonen fra menyen, flere applikasjoner og konfigurasjoner er nødvendig. Eksempler på applikasjoner som kan brukes: gksu, kdesudo, eller xdg-su. En annen enkel løsning er ssh-askpass-10.2p1.

ssh-askpass

Til valgfritt å bruke ssh-askpass-10.2p1 hvis den er installert i systemet ditt, kjør følgende kommandoer som root bruker:

cp -v /usr/share/applications/gparted.desktop /usr/share/applications/gparted.desktop.back &&
sed -i 's/Exec=/Exec=sudo -A /'               /usr/share/applications/gparted.desktop

Nå, ved å klikke på menyelementet for Gparted, vises en dialogboks på skjermen, og ber om administratorpassordet.

Innhold

Installerte Programmer: gparted og gparted_polkit (valgfritt)
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

gparted

er et skallskript som setter opp miljøet før du det kaller gpartedbin

gparted_polkit

er et valgfritt skript som kan brukes til å kjøre gparted med polkit, fra en meny

Inkscape-1.4.3

Introduksjon til Inkscape

Inkscape er en det du ser er det du får Skalerbar vektorgrafikkredigerer. Det er nyttig for å lage, se og endre SVG bilder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

Tarballen inkscape-1.4.3.tar.xz vil pakke ut til mappen inkscape-1.4.3_2025-12-25_0d15f75042/.

Inkscape Avhengigheter

Påkrevd

Boost-1.90.0, double-conversion-3.4.0, GC-8.2.12, gsl-2.8, Gtkmm-3.24.10, libxslt-1.1.45, Poppler-26.02.0, og popt-1.19

Anbefalt
Valgfri

Aspell-0.60.8.2, dbus-1.16.2 (for å kjøre inkscape fra skript), Doxygen-1.16.1, gspell-1.14.2, GraphicsMagick, libcdr, libvisio, libwpg (eller libwpd)

Installasjon av Inkscape

Først, fiks byggefeil med versjoner av poppler-26.01.0 og nyere:

sed -i 's/gfree/g_free/' src/extension/internal/pdfinput/pdf-input.cpp &&

sed -e '/Stream.h/a#include <poppler/goo/gmem.h>' \
    -e 's/reset/rewind/'                          \
    -i src/extension/internal/pdfinput/svg-builder.cpp

Installer Inkscape ved å kjøre følgende kommandoer:

mkdir build                       &&
cd    build                       &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D CMAKE_BUILD_TYPE=Release         \
      -W no-dev                           \
      ..                                  &&
make

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make install

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler inn i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK-3.24.51 installert (for ikon hurtiglageret) og desktop-file-utils-0.28 (for skrivebords hurtiglageret) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

-D CMAKE_BUILD_TYPE=Release: Denne bryteren er brukt til å bygge utgivelsesbiblioteket uten noen feilsøkings 'assert' i koden.

-W no-dev: Denne parameteren deaktiverer flere advarsler kun beregnet på prosjektutviklere.

-D WITH_DBUS=ON: bruk denne hvis du ønsker å bruke inkscape i interaktive skript som manipulerer bilder.

Innhold

Installerte Programmer: inkscape og inkview
Installert Bibliotek: libinkscape_base.so (i /usr/lib/inkscape)
Installerte Mapper: /usr/lib/inkscape, og /usr/share/inkscape

Korte Beskrivelser

inkscape

er et SVG (Scalable Vector Graphics) redigeringsprogram

inkview

er et enkelt program for å vise SVG filer

libinkscape_base.so

gir rutinene som brukes av inkscape og inkview

rxvt-unicode-9.31

Introduksjon til rxvt-unicode

rxvt-unicode er en klone av terminalemulatoren rxvt, en X Vindussystem terminalemulator som inkluderer støtte for XFT og Unicode.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Notat

Vær oppmerksom på at rxvt-unicode er berørt av et problem i perl hvor SIGFPE behandleren er satt til SIG_IGN (dvs. signalet ignoreres). Hvis du bygger et LFS system innenfra urxvt og kjører testpakkene, tester i bash hvor tester bruker dette signalet vil mislykkes.

Pakkeinformasjon

rxvt-unicode Avhengigheter

Påkrevd

libptytty-2.0 og et grafiske miljø

Valgfri

gdk-pixbuf-2.44.5 (for bakgrunnsbilder) og startup-notification-0.12

Installasjon av rxvt-unicode

Installer rxvt-unicode ved å kjøre følgende kommandoer:

./configure --prefix=/usr --enable-everything &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-everything: Legg til støtte for alle ikke-flervalgs alternativer. Detaljer om de forskjellige alternativene kan bli funnet i filen README.configure.

--disable-xft: Fjern støtte for Xft fonter.

--disable-perl: Deaktiver den innebygde Perl tolken.

--disable-afterimage: Fjern støtte for libAfterImage.

Konfigurere rxvt-unicode

rxvt-unicode terminalemulatoren bruker ressursklassen URxvt og ressursnavnet urxvt. Du kan legge til X ressursdefinisjoner til en bruker sin ~/.Xresources eller ~/.Xdefaults filer eller til systembrede /etc/X11/app-defaults/URxvt filen. Følgende eksempel vil laste inn matcher Perl utvidelse (forutsatt at Perl støtte ikke ble deaktivert), som aktiverer et venstreklikk for å åpne en understreket URL i den angitte nettleseren, setter en bakgrunns og forgrunns farge og laster inn en Xft font (som root bruker):

cat >> /etc/X11/app-defaults/URxvt << "EOF"
! Use the specified colour as the windows background colour [default white]
URxvt*background: black

! Use the specified colour as the windows foreground colour [default black]
URxvt*foreground: yellow

! Select the fonts to be used. This is a comma separated list of font names
URxvt*font: xft:Monospace:pixelsize=18

! Comma-separated list(s) of perl extension scripts (default: "default")
URxvt*perl-ext: matcher

! Specifies the program to be started with a URL argument. Used by
URxvt*url-launcher: firefox

! When clicked with the mouse button specified in the "matcher.button" resource
! (default 2, or middle), the program specified in the "matcher.launcher"
! resource (default, the "url-launcher" resource, "sensible-browser") will be
! started with the matched text as first argument.
! Below, default modified to mouse left button.
URxvt*matcher.button:     1
EOF

For å se de definerte X ressursene, utsted:

xrdb -query

For å legge til endringene i den nye brukerkonfigurasjonsfilen, beholde tidligere X konfigurasjoner (selvfølgelig, med mindre du endrer noen på tidligere definert), utsted:

xrdb -merge ~/.Xresources

rxvt-unicode applikasjonen kan også kjøres i en nissemodus, som gjør det mulig å åpne flere terminalvinduer i samme prosess. urxvtc klienten kobles deretter til urxvtd nissen og ber om et nytt terminalvindu. Bruk dette alternativet med forsiktighet. Hvis nissen krasjer, blir alle de kjørende prosessene i terminalvinduene avsluttet.

Du kan starte urxvtd nissen i systemet eller personlig starte opp X øktskript (f.eks., ~/.xinitrc) ved å legge til følgende linjer i nærheten av toppen av skriptet:

# Start the urxvtd daemon
urxvtd -q -f -o &

For mer informasjon, undersøk urxvt, urxvtd, urxvtc, og urxvtperl sine manualsider.

Hvis du bruker et skrivebordsmiljø, kan en menyoppføring inkluderes, utsted, som root bruker:

cat > /usr/share/applications/urxvt.desktop << "EOF" &&
[Desktop Entry]
Encoding=UTF-8
Name=Rxvt-Unicode Terminal
Comment=Use the command line
GenericName=Terminal
Exec=urxvt
Terminal=false
Type=Application
Icon=utilities-terminal
Categories=GTK;Utility;TerminalEmulator;
#StartupNotify=true
Keywords=console;command line;execute;
EOF

update-desktop-database -q

For det trenger du desktop-file-utils-0.28 og minst en av gnome-icon-theme-3.12.0, oxygen-icons-6.0.0 og lxde-icon-theme-0.5.1. Avkommenter linjen med «StartupNotify=true» hvis startup-notification-0.12 er installert.

Innhold

Installerte Programmer: urxvt, urxvtd, og urxvtc
Installerte Biblioteker: Mange Perl utvidelser plassert under /usr/lib/urxvt/perl
Installert Mappe: /usr/lib/urxvt

Korte Beskrivelser

urxvt

er en terminalemulator for X Vindussystemet

urxvtd

er urxvt terminal nissen

urxvtc

kontrollerer urxvtd nissen

Thunderbird-140.7.1esr

Introduksjon til Thunderbird

Thunderbird er en frittstående post-/nyhetsklient basert på Mozilla kodebase. Den bruker Gecko gjengivelsesmotor for å gjøre det mulig for den å vise og skrive HTML e-poster.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Viktig

Denne pakken har historisk sett hatt hyppige oppdateringer som adresserer sikkerhetssårbarheter. For å finne den siste status sjekk BLFS Security Advisories.

Pakkeinformasjon

Ytterligere Nedlastinger

Thunderbird Avhengigheter

Påkrevd

Cbindgen-0.29.2, GTK-3.24.51, libarchive-3.8.5, LLVM-21.1.8 inkludert clang, nodejs-22.22.0, PulseAudio-17.0 (eller alsa-lib-1.2.15.3 hvis du redigerer mozconfig; selv om det nå er avviklet av mozilla), og startup-notification-0.12

Anbefalt

Notat

Hvis du ikke installerer anbefalte avhengigheter, så vil interne kopier av disse pakkene bli brukt. De kan bli testet for å fungere, men de kan være utdaterte eller inneholde sikkerhetshull.

Valgfri

libproxy-0.5.12, pciutils-3.14.0 (kjøretid), Wget-1.25.0, Wireless Tools-29, og watchman

Installasjon av Thunderbird

Notat

Byggeprosessen for Thunderbird kan bruke 8 GB RAM ved kobling. Sørg for at du har tilstrekkelig vekselminne eller RAM før du fortsetter.

Konfigurasjonen av Thunderbird oppnås ved å lage en mozconfig fil som inneholder de ønskede konfigurasjonsalternativene. En standard mozconfig er opprettet nedenfor. For å se hele listen av tilgjengelige konfigurasjonsalternativer (og en kort beskrivelse av hver), kjør ./mach configure -- --help | less. Opprett filen med følgende kommando:

cat > mozconfig << "EOF"
# If you have a multicore machine, all cores will be used.

# If you have installed wireless-tools comment out this line:
ac_add_options --disable-necko-wifi

# If you wish to use libproxy to determine proxy server information, you will
# need to install the libproxy package and then uncomment the option below:
#ac_add_options --enable-libproxy

# Uncomment the following option if you have not installed PulseAudio
#ac_add_options --enable-audio-backends=alsa

# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --with-system-av1
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-webp

# Thunderbird provides a copy of dav1d if it has not been installed. If you
# have not installed nasm and ffmpeg, uncomment the following line:
#ac_add_options --disable-av1

# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=comm/mail

ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests

# This enables SIMD optimization in the shipped encoding_rs crate.
ac_add_options --enable-rust-simd

ac_add_options --enable-strip
ac_add_options --enable-install-strip

# You cannot distribute the binary if you do this.
ac_add_options --enable-official-branding

ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman

ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib

# Using sandboxed wasm libraries has been moved to all builds instead
# of only mozilla automation builds. It requires extra llvm packages
# and was reported to seriously slow the build. Disable it.
ac_add_options --without-wasm-sandboxed-libraries
EOF

Deretter, fiks byggingen av denne pakken med Python 3.14:

patch -Np1 -i ../thunderbird-140.7.1esr-python_3.14_fixes-1.patch

Påkall nå Python mach skriptet for å kompilere Thunderbird:

Notat

Hvis du kompilerer denne pakken i chroot, må du Først som root bruker, sørge for at /dev/shm er montert. Hvis du ikke gjør dette, Python konfigurasjonen vil mislykkes med en tilbakesporingsrapport som viser til /usr/lib/pythonN.N/multiprocessing/synchronize.py. Som root bruker, kjør:

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none &&
export MOZBUILD_STATE_PATH=$(pwd)/mozbuild          &&
./mach build

Denne pakken kommer ikke med en testpakke.

Installer Thunderbird ved å kjøre følgende kommandoer som root bruker:

MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install

Tøm miljøvariablene som ble angitt ovenfor:

unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE &&
unset MOZBUILD_STATE_PATH

Parameterforklaringer

MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none: Bruk systemets python for å lage et virtuelt miljø for mach uten å laste ned noen python wheels og heller ikke bruke systemets python modulene. Dette forhindrer versjonsfeil mellom systemmoduler og medfølgende.

./mach build --verbose: Bruk dette alternativet hvis du trenger detaljer om hvilke filer som kompileres, sammen med eventuelle C eller C++ flagg som brukes.

./mach build -jN: Byggingen skal som standard bruke alle tilgjengelige CPU-kjerner. Hvis bruk av alle kjernene får bygget til å bruke vekselminne fordi du har utilstrekkelig minne, kan det gå raskere å bruke færre kjerner.

CC=gcc CXX=g++: BLFS pleide å foretrekke å bruke gcc og g++ i stedet for oppstrøms standardinnstillinger for clang programmer. Med utgivelsen av gcc-12 tar bygget lengre tid med gcc og g++, først og fremst fordi ekstra advarsler, og er større. Angi disse miljøvariablene før du kjører configure skriptet hvis du ønsker å fortsette å bruke gcc, g++. Bygging med GCC på i?86 er for øyeblikket ødelagt.

Konfigurere Thunderbird

Konfigurasjonsinformasjon

Hvis Vindusbehandleren eller skrivebordsmiljøet ikke tillater å konfigurere en standard nettleser, kan du legge til en konfigurasjonsparameter til Thunderbird slik at en nettleser starter når du klikker på en Internett/intranett/lokal URL. Prosedyren for å sjekke eller endre noen av konfigurasjonsparametrene er ganske enkelt og instruksjonene her kan brukes til å vise eller endre noen av parameterne.

Først åpner du konfigurasjonsdialogen ved å åpne «Edit» nedtrekksmenyen. Velg «Settings» og bla nedover til bunnen av siden. Klikk deretter på «Config Editor» knappen. Klikk på «I accept the risk!» knappen. Dette vil vise en liste over konfigurasjonspreferansene og informasjon knyttet til hver enkelt. Du kan bruke «Filter:» bar for å angi søkekriterier og begrense de oppførte elementene. Endre en preferanse kan gjøres ved hjelp av to metoder. En, hvis preferansen har en boolsk verdi (True/False), dobbeltklikk ganske enkelt på preferansen for å veksle mellom verdien og to, for andre preferanser er det bare å høyreklikke på ønsket linje, velg «Modify» fra menyen og endre verdien. Oppretting av nye preferanseelementer utføres på samme måte måte, bortsett fra velg «New» fra menyen og gi ønskede data i feltene når du blir bedt om det.

Hvis du bruker et skrivebordsmiljø som f.eks GNOME eller KDE, en skrivebordsfil thunderbird.desktop kan opprettes for å inkludere en «Thunderbird» inntreden i menyen. Kjør følgende kommandoer som root bruker:

mkdir -pv /usr/share/{applications,pixmaps} &&

cat > /usr/share/applications/thunderbird.desktop << "EOF" &&
[Desktop Entry]
Name=Thunderbird Mail
Comment=Send and receive mail with Thunderbird
GenericName=Mail Client
Exec=thunderbird %u
Terminal=false
Type=Application
Icon=thunderbird
Categories=Network;Email;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
StartupNotify=true
EOF

ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
        /usr/share/pixmaps/thunderbird.png

Innhold

Installert Program: thunderbird
Installerte Biblioteker: Tallrike biblioteker og moduler i the /usr/lib/thunderbird mappen
Installert Mappe: /usr/lib/thunderbird

Korte Beskrivelser

thunderbird

er Mozilla sin e-post og nyhetsgruppe klient

Tigervnc-1.16.0

Introduksjon til Tigervnc

Tigervnc er en avansert VNC (Virtual Network Computing) implementering. Den tillater opprettelse av en Xorg server som ikke knyttes til en fysisk konsoll og gir også en klient for visning av det eksterne grafiske skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Notat

Versjonen av Xorg kan til slutt bli noen få versjoner utdatert, men er nødvendig for de nødvendige tilpasningene for denne pakken.

Tigervnc Avhengigheter

Påkrevd

CMake-4.2.3, FLTK-1.4.4, GnuTLS-3.8.12, libgcrypt-1.12.0, libjpeg-turbo-3.1.3, Linux-PAM-1.7.2, Pixman-0.46.4, Xorg Applikasjoner, xinit-1.4.4, og Xorg Legacy Fonts

Anbefalt
Valgfri

FFmpeg-8.0.1

Installasjon av Tigervnc

Først må du justere konfigurasjonsfilene for å gjøre dem kompatibel med LFS systemer:

patch -Np1 -i ../tigervnc-1.16.0-configuration_fixes-1.patch

Nå, gjør pakken i samsvar med fltk-1.4.1 og senere:

sed -i "/FL_MINOR_VERSION/s/3/4/" CMakeLists.txt

Installer tigervnc ved å kjøre følgende kommandoer:

# Put code in place
mkdir -p unix/xserver &&
tar -xf ../xorg-server-21.1.21.tar.xz \
    --strip-components=1              \
    -C unix/xserver                   &&
( cd unix/xserver &&
  patch -Np1 -i ../xserver21.patch ) &&

# Build viewer
cmake -G "Unix Makefiles"          \
      -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D INSTALL_SYSTEMD_UNITS=OFF \
      -W no-dev .                  &&
make &&

# Build server
pushd unix/xserver &&
  autoreconf -fiv  &&

  CPPFLAGS="-I/usr/include/drm"       \
  ./configure $XORG_CONFIG            \
      --disable-xwayland    --disable-dri        --disable-dmx         \
      --disable-xorg        --disable-xnest      --disable-xvfb        \
      --disable-xwin        --disable-xephyr     --disable-kdrive      \
      --disable-devel-docs  --disable-config-hal --disable-config-udev \
      --disable-unit-tests  --disable-selective-werror                 \
      --disable-static      --enable-dri3                              \
      --without-dtrace      --enable-dri2        --enable-glx          \
      --with-pic &&
  make  &&
popd

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

#Install viewer
make install &&
mv  /usr/share/doc/tigervnc /usr/share/doc/tigervnc-1.16.0

#Install server
( cd unix/xserver/hw/vnc && make install ) &&

[ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc

Til slutt, modifiser PAM filen til å være kompatibel med elogind:

sed -i 's/pam_systemd.so/pam_elogind.so/' /etc/pam.d/tigervnc

Parameterforklaringer

tar -xf .. xorg-server...: Denne kommandoen pakker ut standard Xorg pakken inn i treet på et sted som trengs for modifikasjon.

--disable ...: De fleste alternativene som vanligvis er nødvendig for standard Xorg serveren er ikke nødvendig for Xvnc forekomsten som bygges.

[ -e /usr/bin/Xvnc ] || ln ... Xvnc: Hvis Xvnc serveren ikke er installert i /usr/bin mappen, deretter opprette en lenke slik at vncserver skriptet kan finne den.

Konfigurere Tigervnc

Standardinstallasjonen av denne pakken gjør noen endringer i måten den benyttes. vncserver perl skriptet er plassert i /usr/bin/libexec og serveren er designet for å kjøres via en systemd stil .service-fil eller vncession skript som root bruker. Manualsiden for vncserver er plassert i avsnitt 8 på manualsidene. De nye prosedyrene krever at en skjermbehandler blir installerert.

For å gjenopprette den forrige oppførselen, installer de ekstra nedlastede filene som root bruker:

install -m755 --owner=root ../vncserver /usr/bin &&
cp ../vncserver.1 /usr/share/man/man1

Ved å bruke de tidligere prosedyrene, de brukerspesifikke konfigurasjonsfilene til vncserver er i .vnc mappen i brukerens hjemmemappe. xstartup filen i den mappen er et skript som spesifisere hvilke kommandoer som skal kjøres når et VNC skrivebord startes. Hvis ingen xstartup fil eksisterer, vncserver vil prøve å starte en xterm i en twm økt. En eksempel xstartup vil være:

#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
startlxqt &

xstartup filen må være kjørbar for at kommandoer i den som skal utføres, så kjør chmod a+x ~/.vnc/xstartup.

Sett opp vnc passwd med vncpasswd. Serveren kan da startes med vncserver kommandoen. Se manualsidene i seksjon 1 for vnc-serveren for server systemet og vncviewer for det eksterne systemet.

Parameterforklaringer

-D ENABLE_H264=ON: Legg denne bryteren til cmake kommandoen for å aktivere H264 dekoding støtte for visningsprogrammet. Det krever FFmpeg-8.0.1. Merk at selv med dette, Xvnc serveren fra denne pakken støtter fortsatt ikke H264 koding.

Innhold

Installerte Programmer: Xvnc, vncconfig, vncpasswd, vncserver, vncviewer, og x0vncserver
Installerte Biblioteker: libvnc.so
Installerte Mapper: /usr/share/doc/tigervnc-1.16.0

Korte Beskrivelser

Xvnc

er en X VNC server (Virtual Network Computing). Den er basert på en standard X server, men den har en «virtuell» skjerm i stedet for en fysisk

vncconfig

er et program for å konfigurere og kontrollere en VNC server

vncpasswd

lar deg angi passordet som brukes for å få tilgang til VNC skrivebord

vncserver

er et perl skript som brukes til å starte eller stoppe en VNC server

vncviewer

er en klient som brukes til å koble til VNC skrivebord

x0vncserver

er et program for å lage en X visning på en fysisk terminal tilgjengelig via TigerVNC eller kompatible seere

Transmission-4.1.0

Introduksjon til Transmission

Transmission er en åpen kildekode BitTorrent klient på tvers av plattformer. Dette er nyttig for å laste ned store filer (som f.eks Linux ISO-er) og reduserer behovet for distributører å levere server båndbredde.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Transmission Avhengigheter

Påkrevd

cURL-8.18.0

Anbefalt
Anbefalt (for å bygge en GUI)
Valgfri

nodejs-22.22.0 (for å bygge nettklienten, ikke nødvendig under kjøring), appindicator, dht, libb64, libdeflate, libnatpmp, libutp, og miniupnp

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/transmission

Installasjon av Transmission

Installer Transmission ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/transmission-4.1.0 \
      .. &&

make

Nå, som root bruker:

make install

Neste, hvis Gtkmm-4.20.0 avhengigheten ble installert, opprette transmission.png fra SVG filen. Som root bruker:

rsvg-convert                                               \
   /usr/share/icons/hicolor/scalable/apps/transmission.svg \
   -o /usr/share/pixmaps/transmission.png

Parameterforklaringer

-D ENABLE_QT=OFF: Denne bryteren deaktiverer bygging av Qt grensesnittet. Standard er å bygge den hvis Qt-6.10.2 er installert.

-D ENABLE_GTK=OFF: Denne bryteren deaktiverer bygging av GTK-4 grensesnittet. Standard er å bygge den hvis Gtkmm-4.20.0 er installert.

-D ENABLE_WEB=OFF: Denne bryteren deaktiverer bygging av nettklienten. Standard er å bygge den hvis nodejs-22.22.0 er installert.

-D REBUILD_WEB=ON: Denne bryteren tvinger ombygging av nettklienten. Dette alternativet trenger nodejs-22.22.0 å være installert samt en internettforbindelse. Standard er å ikke bygge opp klienten på nytt.

Innhold

Installerte Programmer: transmission-create, transmission-daemon, transmission-edit, transmission-gtk, transmission-qt, transmission-remote, and transmission-show
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/transmission (inneholder nettklienten) og /usr/share/doc/transmission-4.1.0

Korte Beskrivelser

transmission-create

er et kommandolinjeverktøy som brukes til å lage .torrent filer

transmission-daemon

er en nissebasert overføringsøkt som kan kontrolleres via RPC kommandoer fra Transmission sitt nettgrensesnitt eller transmission-remote

transmission-edit

er et kommandolinjeverktøy for å endre .torrent filene sine kunngjørings URLer

transmission-gtk

er en GTK+ bittorrent klient

transmission-qt

er en Qt basert bittorrent klient

transmission-remote

er et fjernkontrollverktøy for transmission-daemon og transmission

transmission-show

er et kommandolinjeverktøy å vise bittorrent .torrent filene sine metadata

xarchiver-0.5.4.26

Introduksjon til xarchiver

XArchiver er en GTK+ arkivbehandler med støtte for tar, xz, bzip2, gzip, zip, 7z, rar, lzo og mange andre arkivformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Notat

xarchiver er bare en kommandolinje eller grafikk grensesnitt til arkiveringsverktøy som f.eks tar og zip.

Pakkeinformasjon

xarchiver Avhengigheter

Påkrevd

GTK-3.24.51

Valgfri (Kjøretid)

7zip-26.00, cpio-2.15, LZO-2.10, UnRar-7.2.4, Zip-3.0, og unzip

Installasjon av xarchiver

BLFS gir unzip som en symbolkobling til bsdunzip fra libarchive-3.8.5, men det fungerer ikke for xarchiver. Tilpass xarchiver til å bruke 7zip-26.00 for behandling av .zip filer som standard i stedet:

sed '/TOGGLE.*prefer_unzip/s/TRUE/FALSE/' -i src/pref_dialog.c

Notat

Hvis du allerede har installert og kjørt denne pakken før (kanskje i en annen distro hvis ditt /home er en delt partisjon med den distroen), er den sannsynligvis allerede konfigurert til å foretrekke unzip. Deaktiver «Prefer unzip for zip files» avmerkingsboksen i «Action => Preferences» dialogen for å endre konfigurasjon.

Installer xarchiver ved å kjøre følgende kommandoer:

./configure  --prefix=/usr               \
             --libexecdir=/usr/lib/xfce4 \
             --docdir=/usr/share/doc/xarchiver-0.5.4.26 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler inn i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK-3.24.51 installert (for ikon hurtiglageret) og desktop-file-utils-0.28 (for skrivebords hurtiglageret) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

--libexecdir=/usr/lib/xfce4: Denne bryteren fikser plassering for thunar-archive-plugin, så den vil fungere hvis thunar-4.20.7 er installert.

Innhold

Installert Program: xarchiver
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/xfce4/thunar-archive-plugin, /usr/share/doc/xarchiver-0.5.4.26, og /usr/share/pixmaps/xarchiver

Korte Beskrivelser

xarchiver

er en GTK+ arkivbehandler

xdg-utils-1.2.1

Introduksjon til xdg-utils

xdg-utils er et sett med kommandolinjeverktøy som hjelper applikasjoner med en rekke skrivebordsintegreringsoppgaver. Det kreves for å være i samsvar med Linux Standards Base (LSB).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xdg-utils Avhengigheter

Påkrevd

xmlto-0.0.29 med en av Lynx-2.9.2, Links-2.30, eller W3m

Påkrevd (kjøretid)

Xorg Applikasjoner

Valgfri (kjøretid)

dbus-1.16.2

Installasjon av xdg-utils

Kompiler xdg-utils med følgende kommandoer:

./configure --prefix=/usr &&
make

Obs

Testene for skriptene må gjøres fra en X Vindu basert økt. Det er flere kjøretidskrav for å kjøre testene inkludert en nettleser og en MTA. Å kjøre testene som root bruker anbefales ikke.

For å teste resultatene, kjør: make -k test.

Installer den nå som root bruker:

make install

Innhold

Installerte Programmer: xdg-desktop-menu, xdg-desktop-icon, xdg-mime, xdg-icon-resource, xdg-open, xdg-email, xdg-screensaver, xdg-settings
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

xdg-desktop-menu

er et kommandolinjeverktøy for å (av)installere skrivebordsmenyelementer

xdg-desktop-icon

er et kommandolinjeverktøy for å (av)installere ikoner på skrivebordet

xdg-mime

er et kommandolinjeverktøy for å spørre etter informasjon om filtypehåndtering og legge til beskrivelser for nye filtyper

xdg-icon-resource

er et kommandolinjeverktøy for å (av)installere ikonressurser

xdg-open

åpner en fil eller URL i brukerens foretrukne program

xdg-email

åpner brukerens foretrukne e-postskriver for å sende en e-post beskjed

xdg-screensaver

er et kommandolinjeverktøy for å kontrollere skjermspareren

xdg-settings

er et kommandolinjeverktøy for å administrere ulike innstillinger fra skrivebordsmiljøet

XScreenSaver-6.14

Introduksjon til XSkjermsparer

XSkjermsparer pakken er en modulær skjermsparer og skjermlåser for X Vindussystemet. Den er svært tilpassbar og tillater bruk av ethvert program som kan tegne på rootvinduet som en visningsmodus. Meningen med XScreenSaver er å vise pene bilder på skjermen når den ikke er i bruk, i tråd med filosofien om at ubetjente skjermer alltid skal gjøre noe interessant, akkurat som de gjør i filmene. Men, XScreenSaver kan også brukes som skjermlåser, for å hindre andre fra å bruke terminalen din mens du er borte.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

XSkjermsparer Avhengigheter

Påkrevd

GTK-3.24.51 og Xorg Applikasjoner

Anbefalt
Valgfri

GDM-49.2, FFmpeg-8.0.1, Linux-PAM-1.7.2, MIT Kerberos V5-1.22.2, og GLE

Installasjon av XSkjermsparer

Installer XSkjermsparer ved å kjøre følgende kommandoer:

./configure --prefix=/usr --with-elogind &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--with-setuid-hacks: Denne bryteren tillater noen demoer å bli installert med setuid root som er nødvendig for å pinge andre verter.

Konfigurere XScreenSaver

Konfigurasjonsfiler

/etc/X11/app-defaults/XScreenSaver og ~/.xscreensaver

Linux PAM Konfigurasjon

Hvis XSkjermsparer er bygget med Linux PAM støtte, må du opprette en PAM konfigurasjonsfil for å få den til å fungere riktig med BLFS.

Utfør følgende kommandoer som root bruker for å opprette konfigurasjonfilen for Linux PAM:

cat > /etc/pam.d/xscreensaver << "EOF"
# Begin /etc/pam.d/xscreensaver

auth    include system-auth
account include system-account

# End /etc/pam.d/xscreensaver
EOF

Innhold

Installerte Programmer: xscreensaver, xscreensaver-command, xscreensaver-demo, og xscreensaver-settings
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/libexec/xscreensaver og /usr/share/xscreensaver

Korte Beskrivelser

xscreensaver

er en skjermsparer og skjermlåser nisse

xscreensaver-command

styrer en kjørende xscreensaver prosess ved å sende den klientmeldinger

xscreensaver-demo

er en symbolkobling til xscreensaver-settings

xscreensaver-settings

er et grafisk grensesnitt for å stille inn parameterne som brukes av xscreensaver bakgrunn nissen

Del XII. Multimedia

Kapittel 42. Multimedia Biblioteker og Drivere

Mange multimedieprogrammer krever biblioteker og/eller drivere for å fungere skikkelig. Pakkene i denne delen faller inn under denne kategorien. Vanligvis trenger du bare å installere disse hvis du installerer et program som har biblioteket oppført som enten et krav, eller som et alternativ for å gjøre det mulig å støtte visse funksjoner.

ALSA

Linux kjernen gir nå ALSA støtte som standard. Imidlertid må applikasjoner ha grensesnitt til denne egenskapen. De følgende seks deler av boken omhandler de separate komponentene av ALSA: bibliotekene, programtilleggene, nytteprogammene, verktøyene, fastvaren.

alsa-lib-1.2.15.3

Introduksjon til ALSA Biblioteket

ALSA Bibliotek pakken inneholder ALSA biblioteket som brukes av programmer (inkludert ALSA Verktøy) som krever tilgang til ALSA lyden sitt grensesnitt.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

ALSA Bibliotekets Avhengigheter

Anbefalt (Kjøretid)

elogind-255.22

Notat

Hvis den anbefalte kjøretidsavhengigheten ikke er installert, kan du trenge å kjøre et hvilket som helst program som krever ALSA bibliotek som root bruker eller en bruker i audio gruppen.

Valgfri

Doxygen-1.16.1 og Python2

Kjernekonfigurasjon

Aktiver om nødvendig følgende alternativer i kjerne konfigureringen og rekompilere kjernen:

Device Drivers --->
  <*/M> Sound card support --->                                          [SOUND]
    # Select settings and drivers appropriate for your hardware
    # in the submenu:
    <*/M> Advanced Linux Sound Architecture --->                           [SND]

I Device Drivers ⇒ Sound card support ⇒ Advanced Linux Sound Architecture delen av kjernekonfigurasjonen, velg innstillinger og drivere som passer for maskinvaren din. Hvis nødvendig, kompiler på nytt og installer den nye kjernen.

Installasjon av ALSA Biblioteket

Installer ALSA Library ved å kjøre følgende kommandoer:

./configure &&
make

Hvis du har Doxygen installert og du ønsker å bygge bibliotekets API dokumentasjon, kjør følgende kommandoer fra toppnivåmappen i kildetreet:

make doc

For å teste resultatene, utsted: make check.

Nå, som root bruker, installer pakken og anbefalte konfigurasjonsfiler:

make install &&
tar -C /usr/share/alsa --strip-components=1 -xf ../alsa-ucm-conf-1.2.15.3.tar.bz2

For å installere API dokumentasjonen, kjør følgende kommando som root bruker:

install -v -d -m755 /usr/share/doc/alsa-lib-1.2.15.3/html/search &&
install -v -m644 doc/doxygen/html/*.* \
                /usr/share/doc/alsa-lib-1.2.15.3/html &&
install -v -m644 doc/doxygen/html/search/* \
                /usr/share/doc/alsa-lib-1.2.15.3/html/search

Konfigurere ALSA Biblioteket

Konfigurasjonsfiler

~/.asoundrc og /etc/asound.conf

Konfigurasjonsinformasjon

Standard alsa.conf er tilstrekkelig for de fleste installasjoner. For ekstra funksjonalitet og/eller avansert kontroll av din lydenhet, må du kanskje opprette flere konfigurasjonsfiler. For informasjon om tilgjengelige konfigurasjonsparametere, besøk https://www.alsa-project.org/main/index.php/Asoundrc.

Innhold

Installert Program: aserver
Installert Bibliotek: libasound.so og libatopology.so
Installerte Mapper: /usr/include/alsa, /usr/share/alsa og /usr/share/doc/alsa-lib-1.2.15.3

Korte Beskrivelser

aserver

er ALSA serveren

libasound.so

inneholder ALSA API funksjoner

libatopology.so

inneholder API funksjoner for ALSA topologier

alsa-plugins-1.2.12

Introduksjon til ALSA Plugins

ALSA Plugins pakken inneholder programtillegg for ulike lydbiblioteker og lydservere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ALSA Plugins Avhengigheter

Påkrevd

alsa-lib-1.2.15.3

Valgfri

FFmpeg-8.0.1, libsamplerate-0.2.2, PulseAudio-17.0, Speex-1.2.1, JACK, libavtp, og maemo

Installasjon av ALSA Plugins

Installer ALSA Plugins ved å kjøre følgende kommandoer:

./configure --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: En rekke libasound_module_<module>.so moduler inkludert conf_pulse, ctl_arcam_av, ctl_oss, ctl_pulse, pcm_a52, pcm_jack, pcm_oss, pcm_pulse, pcm_speex, pcm_upmix, pcm_usb_stream, pcm_vdownmix, rate_lavrate*, rate_samplerate*, og rate_speexrate*
Installerte Mapper: /usr/lib/alsa-lib

Korte Beskrivelser

libasound_module_pcm_oss.so

Tillater opprinnelige ALSA applikasjoner til å kjøre på OSS

libasound_module_pcm_upmix.so

Tillater oppmiksing av lyd til 4 eller 6 kanaler

libasound_module_pcm_vdownmix.so

Tillater nedmiksing av lyd fra 4-6 kanaler til 2 kanal stereo utgang

libasound_module_pcm_jack.so

Tillater opprinnelige ALSA applikasjoner til å virke med jackd

libasound_module_pcm_pulse.so

Tillater opprinnelige ALSA applikasjoner å få tilgang til en PulseAudio lyd nisse

libasound_module_pcm_a52.so

Konverterer S16 lineært lydformat til A52 komprimert format og sender den til en SPDIF utgang

libasound_module_rate_samplerate.so

Gir en ekstern rate omformer gjennom libsamplerate

alsa-utils-1.2.15.2

Introduksjon til ALSA Verktøy

ALSA Verktøy pakken inneholder ulike verktøy som er nyttige for å kontrollere lydkort.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ALSA Verktøy Avhengigheter

Påkrevd

alsa-lib-1.2.15.3

Valgfri

docutils-0.22.4, fftw-3.3.10, libsamplerate-0.2.2, xmlto-0.0.29, og Dialog

Installasjon av ALSA Verktøy

Installer ALSA Verktøy ved å kjøre følgende kommandoer:

./configure --disable-alsaconf \
            --disable-bat      \
            --disable-xmlto    \
            --with-curses=ncursesw &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-alsaconf: Denne bryteren deaktiverer bygging av alsaconf konfigurasjonsverktøy som er inkompatibelt med Udev.

--disable-xmlto: Utelat denne bryteren hvis du har installert xmlto-0.0.29 og ønsker å gjenskape mansidene.

--disable-bat: Utelat denne bryteren hvis du har installert fftw-3.3.10 og ønsker å installer Basic Audio Tester (BAT).

--with-curses=ncursesw: Denne bryteren tvinger bruk av ncurses-biblioteker med wide-character.

Konfigurere ALSA Verktøy

Konfigurasjonsfiler

/var/lib/alsa/asound.state

Konfigurasjonsinformasjon

Som root bruker, bruk standardinnstillingen for lydkortet. Merk at denne kommandoen kan returnere en utgangskode på 99 selv om kortet er korrekt initialisert:

alsactl init

Merk at alle kanalene på lydkortet ditt er dempet som standard. Du kan bruke alsamixer programmet for å endre dette. Bruk speaker-test for å sjekke at dine innstillinger er brukt riktig. Du burde høre «rosa støy» på høyttalerne dine.

alsactl programmet kjøres vanligvis fra en standard udev regel. Første gang det kjøres, vil det klage på at det ikke er noen erklæringer i /var/lib/alsa/asound.state. Du kan forebygge dette ved å kjøre følgende kommando som root bruker:

alsactl -L store

Voluminnstillingene skal gjenopprettes fra lagret tilstand av Udev når enheten oppdages (under oppstart eller når den blir koblet til USB enheter).

På systemer som har flere lydkort, må du kanskje justere standard lydenhet slik at du kan få utdata fra høyttalerne. For å angi standardenhet, sjekk først /proc/asound/cards filen for å finne ut hvilket nummer du må stille inn. Når du kjenner til denne informasjonen, angir du standardkortet med følgende kommando som root bruker:

cat > /etc/asound.conf << "EOF"
# Begin /etc/asound.conf

defaults.pcm.card 1
defaults.ctl.card 1

# End /etc/asound.conf
EOF

Oppstartsskript

For å automatisk lagre og gjenopprette voluminnstillinger (hvis udev-regelen ikke fungerer for deg) når systemet startes på nytt, installer /etc/rc.d/init.d/alsa oppstartsskriptet fra blfs-bootscripts-20251220 pakken.

make install-alsa

Innhold

Installerte Programmer: aconnect, alsactl, alsaloop, alsamixer, alsatplg, alsaucm, alsa-info.sh, amidi, amixer, aplay, aplaymidi, aplaymidi2, arecord (symlink), arecordmidi, arecordmidi2, aseqdump, aseqnet, aseqsend, axfer, iecset, nhlt-dmic-info, og speaker-test
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/alsa-topology, /usr/share/sounds/alsa, og /var/lib/alsa

Korte Beskrivelser

aconnect

er et verktøy for å koble til og fra to eksisterende porter i ALSA sequencer systemet

alsactl

brukes til å kontrollere avanserte innstillinger for ALSA lydkortdrivere. Bruk denne hvis alsamixer ikke kan bruke alle lydkortene dine sine egenskaper

alsaloop

tillater opprettelse av en PCM loopback mellom en PCM opptaksenhet og en PCM avspillingsenhet

alsamixer

er et Ncurses basert mikserprogram for bruk med ALSA lydkortdrivere

alsatplg

er et verktøy som brukes til å kompilere topologikonfigurasjonsfiler til binære filer for kjernedrivere

alsaucm

lar applikasjoner få tilgang til maskinvaren på en abstrakt måte

amidi

brukes til å lese fra og skrive til ALSA RawMIDI porter

amixer

tillater kommandolinjekontroll av mikserne for ALSA lydkortdrivere

aplay

er en kommandolinje lydfilspiller for ALSA lydkortdrivere

aplaymidi

er et kommandolinjeverktøy som spiller det spesifiserte MIDI-fil(er) til en eller flere ALSA sequencer-porter

aplaymidi2

er et kommandolinjeverktøy som spiller av det angitte MIDI klippet fil(er) til én eller flere ALSA sequencer porter

arecord

er en kommandolinje lydfilopptaker for ALSA lydkortdrivere

arecordmidi

er et kommandolinjeverktøy som registrerer en standard MIDI-fil fra en eller flere ALSA sequencer porter

arecordmidi2

er et kommandolinjeverktøy som tar opp en MIDI Clip fil fra en eller flere ALSA sequencer-porter

aseqdump

er et kommandolinjeverktøy som skriver ut sequencer hendelsene det mottar som tekst

aseqnet

er en ALSA sequencer klient som sender og mottar hendelsespakker over et nettverk

aseqsend

er et kommandolinjeverktøy for å sende vilkårlige meldinger til ALSA MIDI sequencer porter

axfer

er en kommandolinjeopptaker og spiller som brukes til å overføre lydrammer mellom lydenheter og filer

iecset

er et lite verktøy for å sette eller dumpe IEC958 (eller såkalt «S/PDIF») statusbiter for det angitte lydkortet via ALSA kontroll API

nhlt-dmic-info

er et kommandolinjeverktøy som dumper mikrofonarrayinformasjon fra ACPI NHLT tabellen

speaker-test

er en kommandolinje høyttalertest tonegenerator for ALSA

alsa-tools-1.2.15

Introduksjon til ALSA Verktøy

ALSA Verktøy pakken inneholder avanserte verktøy for enkelte lydkort.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ALSA Verktøy Avhengigheter

Påkrevd

alsa-lib-1.2.15.3

Valgfri

GTK-3.24.51 (for å bygge hdajackretask), GTK-4.20.3 (for å bygge envy24control), FLTK-1.4.4 (for å bygge hdspconf og hdspmixer), og GTK+-2 (for å bygge echomixer og rmedigicontrol)

Installasjon av ALSA Verktøy

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.17p2 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Start først et underskall som avsluttes ved feil:

bash -e

Fjern nå noen verktøy som trenger Qt2 eller 3 eller GTK+-2 og også to unødvendige filer (for BLFS instruksjonene nedenfor):

rm -rf qlo10k1 echomixer rmedigicontrol Makefile gitcompile

ALSA Verktøy pakken er bare nødvendig av dem med avanserte krav til lydkortet deres. Verktøyene kan bygges alt sammen på en gang, men hvis bare et delsett er nødvendig, må du cd inn i mappen til hvert verktøy du ønsker å kompilere og kjøre kommandoene. Her presenterer vi instruksjoner for å bygge alle verktøyene.

Installer alle ALSA Verktøyene ved å kjøre følgende kommandoer:

for tool in *
do
  case $tool in
    seq )
      tool_dir=seq/sbiload
    ;;
    * )
      tool_dir=$tool
    ;;
  esac

  pushd $tool_dir
    ./configure --prefix=/usr
    make
    as_root make install
    as_root /sbin/ldconfig
  popd

done
unset tool tool_dir

Til slutt går du ut av skallet som ble startet tidligere:

exit

Innhold

Installerte Programmer: as10k1, cspctl, dl10k1, envy24control, hda-verb, hdajackretask, hdajacksensetest, hdspconf, hdsploader, hdspmixer, hwmixvolume, init_audigy, init_audigy_eq10, init_live, lo10k1, ld10k1, ld10k1d, mixartloader, pcxhrloader, sbiload, sscape_ctl, us428control, usx2yloader, og vxloader
Installert Bibliotek: liblo10k1.so
Installerte Mapper: /etc/hotplug, /usr/include/lo10k1, /usr/share/ld10k1, og /usr/share/sounds

Korte Beskrivelser

as10k1

er en assembler for emu10k1 DSP brikken som finnes i Creative SB Live, PCI 512 og emu APS lydkort. Det er brukt for å lage lydeffekter som flanger, refreng eller romklang

cspctl

er et SB16/AWE32 Creative Signal Processor (ASP/CSP) kontroll program

envy24control

er et kontrollverktøy for Envy24 (ice1712) baserte lydkort

hdajackretask

er en GUI for å gjøre det enkelt å prøve kontaktene dine på nytt - for eksempel snu mikrofonen plugg inn i en ekstra hodetelefon, eller gjør dem begge line outs og koble dem til surround mottakeren

hda-verb

er et lite program for å sende HD-lydkommandoer til gitte ALSA hwdep enheter på hd-audio grensesnittet

hdspconf

er en GUI for å kontrollere Hammerfall HDSP Alsa innstillinger. Opptil fire hdsp kort støttes

hdsploader

brukes til å laste fastvaren som kreves av Hammerfall HDSP lydkort

hdspmixer

er Linux ekvivalenten til Totalmix applikasjonen fra RME. Det er et verktøy for å kontrollere de avanserte rutefunksjonene til RME Hammerfall DSP lydkortserie

hwmixvolume

lar deg kontrollere volumet til individuelle strømmer på lydkort som bruker maskinvaremiksing

init_audigy*

er verktøy som brukes til å initialisere Creative Sound Blaster Audigy serien kort

init_live

er et verktøy som brukes til å initialisere Creative Sound Blaster Live kort

ld10k1

er serveren til en EMU10K{1,2} oppdaterings laster for ALSA

lo10k1

er klienten til en EMU10K{1,2} oppdaterings laster for ALSA

dl10k1

laster inn konfigurasjonsdumper generert av lo10k1 og ld10k1

ld10k1d

er et init skript for ld10k1 oppdaterings laster

mixartloader

er et hjelpeprogram for å laste fastvarebinærfilene til Digigrams miXart-kortlyddrivere. snd-mixart-modulen krever dette programmet. Disse driverne fungerer ikke som de skal før de nødvendige fastvarefilene er lastet inn, dvs. ingen PCM eller mikser enheter vises

pcxhrloader

er et hjelpeprogram for å laste fastvarebinærfilene inn på Digigrams pcxhr-kompatible brettlyddrivere. snd-pcxhr modulen krever dette programmet. Disse driverne fungerer ikke riktig til visse fastvarefiler er lastet inn, dvs. ingen PCM heller ingen mikserenheter vises

sbiload

er en OPL2/3 FM instrumentlaster for ALSA sekvenseren

sscape_ctl

er et ALSA SoundScape kontrollverktøy

us428control

er et Tascam US-428 kontrollprogram

usx2yloader

er et hjelpeprogram for å laste 2nd Phase fastvarebinærfilene på Tascam USX2Y USB lydkort. Det har vist seg å fungere så langt for US122, US224 og US428. snd-usb-usx2y modulen krever dette programmet

vxloader

er et hjelpeprogram for å laste fastvarebinærfilene til Digigrams VX-board lyddrivere. snd-vx222, snd-vxpocket og snd-vxp440-moduler krever dette programmet. Disse driverne fungerer ikke riktig til visse fastvarefiler er lastet inn, dvs. ingen PCM eller mikserenheter vises

alsa-firmware-1.2.4

Introduksjon til ALSA Firmware

ALSA Firmware pakke inneholder fastvare for visse lydkort.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ALSA Firmware Avhengigheter

Påkrevd

alsa-tools-1.2.15

Valgfri

AS31 (for å gjenoppbygge fastvaren fra kilden)

Installasjon av ALSA Firmware

ALSA Firmware pakken trengs kun av de med avanserte krav til lydkortet deres. Se README for konfigureringsalternativer.

Installer ALSA Firmware ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: Flere mapper i /lib/firmware og /usr/share/alsa/firmware

AudioFile-0.3.6

Introduksjon til AudioFile

AudioFile pakken inneholder lydfilbiblioteker og to lydfilstøtteprogrammer nyttige for å støtte grunnleggende lydfilformater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

AudioFile Avhengigheter

Påkrevd

alsa-lib-1.2.15.3

Anbefalt
Valgfri

asciidoc-10.2.1 og Valgrind-3.26.0

Installasjon av AudioFile

Installer AudioFile ved å kjøre følgende kommandoer:

patch -Np1 -i ../audiofile-0.3.6-consolidated_patches-1.patch &&
autoreconf -fiv                             &&

./configure --prefix=/usr --disable-static  &&

make

Nå, som root bruker:

make install

For å teste resultatene, kjør: make check. Merk at testene vil mislykkes hvis --disable-static alternativet brukes og tester utføres før make install. Du har tre alternativer:

(a) konfigurer uten --disable-static, kjør testene, men ikke installer, og start deretter et nytt bygg ved bruk av --disable-static bare for å installere pakken.

(b) konfigurer med --disable-static, men bare kjør testene etter at pakken er installert.

(c) konfigurer med --disable-static, men bare kjør testene etter en DESTDIR installering.

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: sfconvert og sfinfo
Installerte Biblioteker: libaudiofile.so
Installerte Mapper: Ingen

Korte Beskrivelser

sfinfo

viser lydfilformat, lydkoding, samplingshastighet og varighet for lydformater som støttes av dette biblioteket

sfconvert

konverterer lydfilformater der originalformatet og destinasjonsformatet støttes av dette biblioteket

libaudiofile.so

inneholder funksjoner som brukes av programmer for å støtte AIFF, AIFF-komprimert, Sun/NeXT, WAV og BIC lydformater

dav1d-1.5.3

Introduksjon til dav1d

dav1d pakken inneholder en AV1 dekoder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

dav1d Avhengigheter

Anbefalt
Valgfri

xxhash

Installasjon av dav1d

Installer dav1d ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, kjør ninja test.

Nå, som root bruker:

ninja install

Innhold

Installert Program: dav1d
Installert Bibliotek: libdav1d.so
Installert Mappe: /usr/include/dav1d

Korte Beskrivelser

dav1d

er dav1d dekoderverktøyet

libdav1d.so

inneholder funksjoner som muliggjør dekoding av AV1

faac-1.31.1

Introduksjon til faac

faac applikasjonen er en koder for en taps lydkomprimeringsskjema spesifisert i MPEG-2 Part 7 og MPEG-4 Part 3 standarder og kjent som Advanced Audio Coding (AAC). Denne koderen er nyttig for å produsere filer som kan spilles av på iPod. Dessuten, iPod forstår ikke andre lydkomprimeringsskjemaer brukt i videofiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

På GitHub har vi splittet oppstrømsdepotet til vårt eget lfs-book navneområde og gjenskapte en tagg for utgivelsen. Dette gjøres for å sikre at den nedlastede tarball filnavnet er korrekt og konsistent (dvs. det skal ikke endres når du bruker nettleseren i stedet for et verktøy som wget). Taggen vår og oppstrømsutgivelseskoden er på samme commit, så vi har ikke introdusert noen endring i tarball innholdet bortsett fra navnet på toppnivåmappen (som Git ikke sporer).

Installasjon av faac

Installer faac ved å kjøre følgende kommandoer:

./bootstrap                                &&
./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke. Imidlertid grunnleggende funksjonalitet kan testes ved å kode en eksempel WAV-fil (eksempelfilen er installert av alsa-utils-1.2.15.2 pakken:

./frontend/faac -o Front_Left.mp4 /usr/share/sounds/alsa/Front_Left.wav

Dekode deretter resultatet ved hjelp av faad programnet fra FAAD2-2.11.2 pakken og spill av den dekodede filen (krever aplay programmet fra alsa-utils-1.2.15.2 pakken:

faad Front_Left.mp4
aplay Front_Left.wav

aplay skal identifisere filen som Signed 16 bit Little Endian, Rate 48000 Hz, Stereo, og du bør høre ordene «front left.»

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Andre AAC kodere

Kvaliteten til faac er ikke oppe på nivå med de beste AAC-koderne som er tilgjengelige for øyeblikket. Dessuten støtter det bare AAC og ikke High Efficiency AAC (også kjent som aacPlus), som gir bedre kvalitet ved lave bithastigheter ved hjelp av «spectral band replication» teknologi. Ett eksempel på et alternativt program for å produsere AAC og HE-AAC strømmer er:

  • 3GPP Enhanced aacPlus general audio codec: tilgjengelig i kildeformen, kan kode bare HE-AAC opptil 48 kbps ut av boksen, men den maksimale bithastigheten kan endres ved å redigere tuning bordet i FloatFR_sbrenclib/src/sbr_main.c filen.

Vær imidlertid oppmerksom på at iPoden kun støtter AAC profilen med lav kompleksitet, som er standard i faac, men er helt utilgjengelig i 3GPP koder.

Innhold

Installert Program: faac
Installerte Biblioteker: libfaac.so og libmp4v2.so
Installerte Mapper: Ingen

Korte Beskrivelser

faac

er en kommandolinje AAC koder

libfaac.so

inneholder funksjoner for koding av AAC strømmer

libmp4v2.so

inneholder funksjoner for å lage og manipulere MP4 filer

FAAD2-2.11.2

Introduksjon til FAAD2

FAAD2 er en dekoder for en taps lydkomprimeringsskjema spesifisert i MPEG-2 del 7 og MPEG-4 del 3 standarder og kjent som Advanced Audio Coding (AAC).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

FAAD2 Avhengigheter

Påkrevd

CMake-4.2.3

Installasjon av FAAD2

Installer FAAD2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_SHARED_LIBS=ON      \
      .. &&
make

Denne pakken kommer ikke med en testpakke. Imidlertid grunnleggende funksjonalitet kan testes ved å dekode AAC eksempelfilen:

./faad -o sample.wav ../../sample.aac

Dette skal vise en opphavsrettsmelding og følgende informasjon om eksempelfilen:

sample.aac file info:
ADTS, 4.608 sec, 13 kbps, 16000 Hz

  ---------------------
 | Config:  2 Ch       |
  ---------------------
 | Ch |    Position    |
  ---------------------
 | 00 | Left front     |
 | 01 | Right front    |
  ---------------------

Spill nå resultatet (krever aplay programmet fra alsa-utils-1.2.15.2 pakken):

aplay sample.wav

aplay skal identifisere filen som Signed 16 bit Little Endian, Rate 16000 Hz, Stereo, og du bør høre noen pianotoner.

Nå, som root bruker:

make install

Innhold

Installert Program: faad
Installert Bibliotek: libfaad.so og libfaad_drm.so
Installerte Mapper: Ingen

Korte Beskrivelser

faad

er et kommandolinjeverktøy for dekoding av AAC og MP4 filer

libfaad.so

inneholder funksjoner for dekoding av AAC strømmer

fdk-aac-2.0.3

Introduksjon til fdk-aac

fdk-aac pakken gir Fraunhofer FDK AAC biblioteket, som påstås å være en avansert lydkoding av høy kvalitet gjennomføring.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av fdk-aac

Installer fdk-aac ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libfdk-aac.so
Installert Mappe: /usr/include/fdk-aac

Korte Beskrivelser

libfdk-aac.so

gir funksjonene som brukes til å kode lyd i AAC formatet

FLAC-1.5.0

Introduksjon til FLAC

FLAC er en lydkodek som ligner på MP3, men tapsfri, noe som betyr at lyden komprimeres uten å miste noe informasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

FLAC Avhengigheter

Valgfri

libogg-1.3.6, DocBook-utils-0.6.14, Doxygen-1.16.1, og Valgrind-3.26.0

Installasjon av FLAC

Installer FLAC ved å kjøre følgende kommandoer:

./configure --prefix=/usr            \
            --disable-thorough-tests \
            --docdir=/usr/share/doc/flac-1.5.0 &&
make

For å teste resultatene, kjør: make check. Merk at hvis du har sendt --enable-exhaustive-tests og --enable-valgrind-testing parametere til configure og deretter kjøre testpakken, vil det ta veldig lang tid (opptil 300 SBUer) og bruker ca. 375 MB av diskplassen.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-thorough-tests: Denne parameteren brukes slik at testpakken vil fullføres innen rimelig tid. Fjern den hvis du ønsker mer omfattende tester.

Innhold

Installerte Programmer: flac og metaflac
Installerte Biblioteker: libFLAC.so og libFLAC++.so
Installerte Mapper: /usr/include/FLAC, /usr/include/FLAC++ og /usr/share/doc/flac-1.5.0

Korte Beskrivelser

flac

er et kommandolinjeverktøy for koding, dekoding og konvertere FLAC filer

metaflac

er et program for å liste opp, legge til, fjerne eller redigere metadata i en eller flere FLAC filer

libFLAC{,++}.so

disse bibliotekene gir opprinnelige FLAC og Ogg FLAC C/C++ APIer for programmer som bruker FLAC

frei0r-2.5.1

Introduksjon til Frei0r

Frei0r er en minimalistisk programtillegg API for videoeffekter. Merk at 0-en i navnet er en null, ikke en stor bokstav o.

Notat

Denne pakken pakkes ut til mappen frei0r-2.5.1 (uten 'v').

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Frei0r Avhengigheter

Anbefalt

gavl-1.4.0

Valgfri

Doxygen-1.16.1 og opencv-4.13.0

Installasjon av Frei0r

Installer Frei0r ved å kjøre følgende kommandoer:

mkdir -vp build &&
cd        build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -W no-dev ..                 &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-D WITHOUT_OPENCV=TRUE: Dette alternativet instruerer make prosedyren å deaktivere bygging av programtillegg avhengig av opencv.

-D WITHOUT_GAVL=TRUE: Dette alternativet instruerer make prosedyren å deaktivere bygging av programtillegg avhengig av gavl.

Innhold

Installert Program: Ingen
Installerte Biblioteker: Over 150 programtillegg for videoeffekter
Installerte Mapper: /usr/lib/frei0r-1

gavl-1.4.0

Introduksjon til Gavl

Gavl er forkortelse for Gmerlin Audio Video Library. Det er et bibliotek på lavt nivå som håndterer detaljene i lyd og videoformater som fargerom, samplerates, flerkanalskonfigurasjoner osv. Den gir standardiserte definisjoner for disse formatene også beholderstrukturer for å bære lydprøver eller videobilder inne i en applikasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gavl Avhengigheter

Påkrevd

libpng-1.6.55

Valgfri

Doxygen-1.16.1

Installasjon av Gavl

Først, fiks et problem med gcc-14 og nyere:

sed -i "/stdio/a #include <string.h>" src/fill_test.c

Nå, installer Gavl ved å kjøre følgende kommandoer:

LIBS=-lm                         \
./configure --prefix=/usr        \
            --without-doxygen    \
            --with-cpuflags=none \
            --docdir=/usr/share/doc/gavl-1.4.0 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

LIBS=-lm: Denne variabelen sikrer at matematikkbiblioteket søkes ved lenking.

--without-doxygen: Denne bryteren deaktiverer bruk av Doxygen. Utelat hvis Doxygen er installert og du ønsker å bygge API dokumentasjonen.

--with-cpuflags=none: Denne bryteren løser et problem med å identifisere egenskapene til systemarkitekturen.

Innhold

Installert Program: Ingen
Installerte Biblioteker: libgavl.so
Installerte Mapper: /usr/include/gavl og /usr/share/doc/gavl-1.4.0

Korte Beskrivelser

libgavl.so

er Gmerlin Audio Video Biblioteket

gstreamer-1.28.0

Introduksjon til gstreamer

gstreamer er et strømmemedierammeverk som gjør det mulig for applikasjoner å dele et felles sett med programtillegg for oppgaver som f.eks videokoding og -dekoding, lydkoding og -dekoding, lyd og video filtre, audiovisualisering, nettstrømming og alt annet som strømmer i sanntid eller på annen måte. Denne pakken gir kun basisk funksjonalitet og biblioteker. Du trenger i det minste gst-plugins-base-1.28.0 og en av God, Dårlig, Stygg eller Libav programtillegg.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gstreamer Avhengigheter

Påkrevd

GLib-2.86.4 (GObject Introspection påkrevd for GNOME)

Valgfri

GTK-3.24.51 (for eksempler), gsl-2.8 (brukes av en test hvis installert), libnsl-2.0.1, libunwind-1.8.3, rustc-1.93.1 (for IEEE 1588:2008 PTP klokke støtte), Valgrind-3.26.0, bash-completion, hotdoc, og libdw

Installasjon av gstreamer

Installer gstreamer ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D gst_debug=false  &&
ninja

For å teste resultatene, kjør: ninja test.

Obs

Hvis du installerer på nytt gstreamer fra en tidligere versjon, er det best hvis du fjerner den tidligere versjonen, inkludert programtillegg, før du installerer den nye versjonen. Hvis det er en blanding av versjoner som er installert, kan bruk av prosesser henge eller ikke fungere ordentlig. Som root bruker:

rm -rf /usr/bin/gst-* /usr/{lib,libexec}/gstreamer-1.0

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: gst-inspect-1.0, gst-launch-1.0, gst-stats-1.0, gst-tester-1.0, og gst-typefind-1.0
Installerte Biblioteker: libgstbase-1.0.so, libgstcheck-1.0.so, libgstcontroller-1.0.so, libgstnet-1.0.so, og libgstreamer-1.0.so
Installerte Mapper: /usr/{include,lib,libexec,share}/gstreamer-1.0

Korte Beskrivelser

gst-inspect-1.0

er et verktøy som skriver ut informasjon om tilgjengelige gstreamer programtillegg, informasjon om et bestemt programtillegg, eller informasjon om et bestemt element

gst-launch-1.0

er et verktøy som bygger og kjører grunnleggende gstreamer kanaler

gst-stats-1.0

er et verktøy som brukes til å samle statistikk om gstreamer operasjoner

gst-tester-1.0

kjører en testplan i TAP kompatibelt format mens den integreres med meson testselen

gst-typefind-1.0

bruker gstreamer system for å finne type å bestemme det relevante gstreamer programtillegg for å analysere eller dekode filer, og den tilsvarende MIME typen

libgstbase-1.0.so

gir noen basisklasser som kan utvides med elementer og nytteklasser som er mest nyttige for programtilleggs utviklere

libgstcheck-1.0.so

gir funksjonalitet for å skrive enhetstester som bruker check rammeverket

libgstcontroller-1.0.so

gir funksjonalitet for å animere elementegenskaper over tid

libgstnet-1.0.so

gir nettverkselementer og objekter

libgstreamer-1.0.so

gir hele gstreamer kjerne tjenester, inkludert initialisering, programtilleggs administrasjon og typer, så vel som objekthierarkiet som definerer elementer og binære, sammen med noen mer spesialiserte elementer

gst-plugins-base-1.28.0

Introduksjon til GStreamer Grunnleggende Programtillegg

GStreamer Grunnleggende Programtillegg er en velstelt og velholdt samling av GStreamer programtillegg og elementer, som spenner over spekteret av mulige typer elementer man ønsker å skrive for GStreamer. Du trenger minst en av God, Dårlig, Stygg eller Libav programtillegg for at GStreamer applikasjoner skal fungere skikkelig.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GStreamer Grunnleggende Programtillegg Avhengigheter

Påkrevd

gstreamer-1.28.0

Anbefalt
Valgfri

graphene-1.10.8, GTK-3.24.51 (for eksempler), Opus-1.6.1, sdl2-compat-2.32.64, Valgrind-3.26.0, hotdoc, libtheora, libvisual, Orc, og Tremor

Installasjon av GStreamer Grunnleggende Programtillegg

Notat

Hvis du trenger et programtillegg for en gitt avhengighet, den avhengigheten må installeres før denne pakken.

Installer GStreamer Base Plug-ins ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..               \
      --prefix=/usr          \
      --buildtype=release    \
      --wrap-mode=nodownload &&
ninja

For å teste resultatene, kjør: ninja test. Testene krever en X terminal som kjører, ellers vil alle GL testene mislykkes.

Notat

Når du installerer, gjør byggeprosessen noen ekstra koblinger. Hvis du ikke har Xorg i /usr, må LIBRARY_PATH variabelen defineres for root brukeren. Hvis du bruker sudo for å anta root, bruk -E alternativet for å overføre dine nåværende miljøvariabler for installasjonsprosessen.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

--wrap-mode=nodownload: Denne bryteren forhindrer meson fra å nedlaste valgfrie avhengigheter som ikke er installert på systemet.

Innhold

Installerte Programmer: gst-device-monitor-1.0, gst-discoverer-1.0, og gst-play-1.0
Installerte Biblioteker: libgstallocators-1.0.so, libgstapp-1.0.so, libgstaudio-1.0.so, libgstfft-1.0.so, libgstgl-1.0.so, libgstpbutils-1.0.so, libgstriff-1.0.so, libgstrtp-1.0.so, libgstrtsp-1.0.so, libgstsdp-1.0.so, libgsttag-1.0.so, libgstvideo-1.0.so, og flere programtillegg under /usr/lib/gstreamer-1.0
Installerte Mapper: /usr/include/gstreamer-1.0/gst/{allocators,app,audio,fft,gl,pbutils}, /usr/include/gstreamer-1.0/gst/{riff,rtp,rtsp,sdp,tag,video}, og /usr/share/gst-plugins-base

Korte Beskrivelser

gst-device-monitor-1.0

er et kommandolinjeverktøy som kan brukes til å teste GStreamer sin enhetsovervåkings funksjonalitet

gst-discoverer-1.0

er et verktøy som kan brukes til å skrive ut grunnleggende metadata og strømme informasjon om en mediefil

gst-play-1.0

er et kommandolinjeverktøy som kan brukes til å teste basic avspilling ved hjelp av playbin elementet

gst-plugins-good-1.28.0

Introduksjon til GStreamer Gode Programtillegg

GStreamer Gode Programtillegg er et sett med programtillegg vurdert av GStreamer utviklere å ha god kvalitetskode, riktig funksjonalitet og den foretrukne lisensen (LGPL for programtilleggskoden, LGPL eller LGPL kompatibel for de støttende biblioteker). Et bredt utvalg av video- og lyddekodere, kodere og filtre er inkludert.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GStreamer Gode Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.28.0

Anbefalt
Valgfri

AAlib-1.4rc5, GTK-3.24.51 (for eksempler), libdv-1.0.0, Qt-6.10.2, Speex-1.2.1, taglib-2.1.1, Valgrind-3.26.0, v4l-utils-1.32.0, Wayland-1.24.0, alsa-oss, hotdoc, JACK, libcaca, libavc1394, libiec61883, libraw1394, libshout, libsoup2, Orc, TwoLame, og WavPack

Installasjon av GStreamer Gode Programtillegg

Notat

Hvis du trenger et programtillegg for en gitt avhengighet, den avhengigheten må installeres før denne pakken.

Installer GStreamer Good Plug-ins ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release &&
ninja

For å teste resultatene, kjør: ninja test. En test, elements_flvmux, er kjent for å mislykkes på enkelte systemer.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Flere programtillegg under /usr/lib/gstreamer-1.0
Installerte Mapper: /usr/share/gstreamer-1.0/presets

gst-plugins-bad-1.28.0

Introduksjon til GStreamer Dårlige Programtillegg

GStreamer Dårlige Programtillegg pakken inneholder et sett med programstilleggsmoduler som ikke er på nivå sammenlignet med resten. De kan være i nærheten av å være god kvalitet, men de mangler noe - som at det er en god kodegjennomgang, litt dokumentasjon, et sett med tester, en ekte live vedlikeholder, eller noen faktisk bred bruk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GStreamer Dårlige Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.28.0

Anbefalt
Valgfri

BlueZ-5.86, cURL-8.18.0, faac-1.31.1, FAAD2-2.11.2, fdk-aac-2.0.3, GTK-3.24.51 (for eksempler), gst-plugins-good-1.28.0 (for en test), JSON-GLib-1.10.8, Little CMS-2.18, libass-0.17.4, libde265-1.0.16, libexif-0.6.25 (for en test), librsvg-2.61.4, libsndfile-1.2.2, libssh2-1.11.1, libusb-1.0.29, libwebp-1.6.0, libxkbcommon-1.13.1, libxml2-2.15.1, neon-0.36.0, Nettle-3.10.2 eller libgcrypt-1.12.0 (for SSL støtte i hls programtillegget, hvis begge ikke er installert vil OpenSSL brukes i stedet), opencv-4.13.0 (med tilleggsmoduler), OpenJPEG-2.5.4, Opus-1.6.1, Pango-1.57.0, libqrencode-4.1.1, SBC-2.2, Valgrind-3.26.0, både Vulkan-Loader-1.4.341.0 og glslc from shaderc-2026.1 (for Vulkan programtillegg), Wayland-1.24.0 (GTK-3.24.51 må bli kompilert med wayland støtte), x265-4.1, zxing-cpp-2.3.0, bs2b, Chromaprint, dssim, Flite, FluidSynth, Game Music Emu, GSM (for øyeblikket ødelagt), hotdoc, LADSPA, ldacBT, libajantv2, libavtp, libdc1394-2, libdca, libkate, libmfx, libmms, libmodplug, libnice, libofa, libopenmpt, libopenni, libsoup2, libsrtp, lilv, LRDF, ltc-tools, microdns, MJPEG Tools, mplex2, musepack, onnxruntime, OpenAL, OpenEXR, OpenH264, Orc, rtmpdump, spandsp, Srt, svthevcenc, VO AAC, VO AMRWB, WildMidi, WPE-WebKit, WPEBackend-fdo, ZBAR, og ZVBI

Installasjon av GStreamer Dårlige Programtillegg

Notat

Hvis du trenger et programtillegg for en gitt avhengighet, den avhengigheten må installeres før denne pakken.

Installer GStreamer Bad Plug-ins ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D gpl=enabled      &&
ninja

For å teste resultatene, kjør: ninja test. Flere tester trenger en terminalemulator i en grafisk sesjon. Hvis gst-plugins-good-1.28.0 ikke er installert, to tester elements_rtpsrc og elements_rtpsink, vil mislykkes.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gpl=enabled: Uten denne bryteren, programtillegg med avhengigheter av (A)GPL-lisensierte biblioteker vil ikke bygges.

Innhold

Installerte Programmer: gst-transcoder-1.0 og playout
Installerte Biblioteker: libgstadaptivedemux-1.0.so, libgstanalytics-1.0.so, libgstbadaudio-1.0.so, libgstbasecamerabinsrc-1.0.so, libgstcuda-1.0.so, libgstcodecparsers-1.0.so, libgstcodecs-1.0.so, libgstdxva-1.0.so, libgstinsertbin-1.0.so, libgstisoff-1.0.so, libgstmpegts-1.0.so, libgstmse-1.0.so, libgstphotography-1.0.so, libgstplay-1.0.so, libgstplayer-1.0.so, libgstsctp-1.0.so, libgsttranscoder-1.0.so, libgsturidownloader-1.0.so, libgstva-1.0.so, libgstwayland-1.0.so, libgstwebrtc-1.0.so, og flere programtillegg under /usr/lib/gstreamer-1.0
Installerte Mapper: /usr/include/gstreamer-1.0/gst/{audio,basecamerabinsrc,cuda}, /usr/include/gstreamer-1.0/gst/{codecparsers,insertbin,interfaces}, /usr/include/gstreamer-1.0/gst/{isoff,mpegts,play,player,sctp} /usr/include/gstreamer-1.0/gst/{transcoder,uridownloader,va}, and /usr/include/gstreamer-1.0/gst/{wayland,webrtc}

Korte Beskrivelser

gst-transcoder-1.0

brukes til å omkode en strøm til et annet format

playout

er et eksempelprogram som brukes til å sekvensielt spille av en liste med lyd-video filer

gst-plugins-ugly-1.28.0

Introduksjon til GStreamer Stygge Programtillegg

GStreamer Ugly Plug-ins er et sett med programtilleggs moduler vurdert av GStreamer utviklere til å ha god kvalitet og riktig funksjonalitet, men distribusjon av dem kan by på problemer. Lisensen på enten programtilleggs modulene eller de støttende bibliotekene er kanskje ikke hvordan GStreamer utviklere ønsker. Koden kan være allment kjent for å presentere patentproblemer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GStreamer Stygge Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.28.0

Anbefalt
Valgfri

libmpeg2-0.5.1, libcdio-2.1.0 (for CD-ROM tilgang til stasjonen), Valgrind-3.26.0, hotdoc, libsidplay, og Orc

Installasjon av GStreamer Stygge Programtillegg

Notat

Hvis du trenger et programtillegg for en gitt avhengighet, den avhengigheten må installeres før denne pakken.

Installer GStreamer Stygge Programtillegg ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D gpl=enabled      &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D gpl=enabled: Uten denne bryteren, programtillegg med avhengigheter av (A)GPL lisensierte biblioteker bygges ikke.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Flere programtillegg under /usr/lib/gstreamer-1.0
Installerte Mapper: Ingen

gst-plugins-rs-1.28.0

Introduksjon til gst-plugins-rs

gst-plugins-rs pakken gir flere Rust programtillegg for samhandling med gstreamer multimedia rammeverket. Denne siden har instruksjoner for libgstdav1d og libgstgtk4.

libgstdav1d programtillegget tilbyr AV1 dekoding via dav1d gjennom gstreamer.

libgstgtk4 programtillegget binder gstreamer til GTK-4.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

gst-plugins-rs Avhengigheter

Påkrevd

git-2.53.0, gst-plugins-base-1.28.0, og rustc-1.93.1

Påkrevd for libgstdav1d

dav1d-1.5.3

Påkrevd for libgstgtk4

GTK-4.20.3

Notat

En Internett tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

Installasjon av gst-plugins-rs

Installasjon av libgstdav1d

Installer libgstdav1d ved å kjøre følgende kommandoer:

cargo build --package gst-plugin-dav1d --release

Denne pakken leveres ikke med en testpakke.

Nå, som root bruker:

install -vm755 target/release/libgstdav1d.so /usr/lib/gstreamer-1.0

Installasjon av libgstgtk4

Installer libgstgtk4 ved å kjøre følgende kommandoer:

cargo build --package gst-plugin-gtk4 --release

Denne pakken leveres ikke med en testpakke, men den grunnleggende funksjonaliteten kan testes etter installasjon.

Nå, som root bruker:

install -vm755 target/release/libgstgtk4.so /usr/lib/gstreamer-1.0

For å teste pakkens grunnleggende funksjonalitet, utsted: gst-launch-1.0 videotestsrc num-buffers=60 ! gtk4paintablesink i en grafisk terminalemulator. Den skal spille av en testvideo i et GTK-4 vindu i 2 sekunder.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgstdav1d.so og libgstgtk4.so
Installerte Mapper: Ingen

Korte Beskrivelser

libgstdav1d.so

gir en binding mellom dav1d og gstreamer multimedia rammeverket

libgstgtk4.so

gir en binding mellom GTK-4 og gstreamer multimedia rammeverket

gst-libav-1.28.0

Introduksjon til GStreamer Libav

GStreamer Libav pakken inneholder GStreamer programtillegg for Libav (en forgrening av FFmpeg).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GStreamer Libav Avhengigheter

Påkrevd

FFmpeg-8.0.1 og gst-plugins-base-1.28.0

Anbefalt
Valgfri

hotdoc

Installasjon av GStreamer Libav

Installer GStreamer Libav ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgstlibav.so in /usr/lib/gstreamer-1.0
Installert Mappe: Ingen

id3lib-3.8.3

Introduksjon til id3lib

id3lib er et bibliotek for å lese, skrive og manipulere id3v1 og id3v2 multimediedatabeholdere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av Id3lib

Installer id3lib ved å kjøre følgende kommandoer:

patch -Np1 -i ../id3lib-3.8.3-consolidated_patches-1.patch &&

libtoolize -fc                &&
aclocal                       &&
autoconf                      &&
automake --add-missing --copy &&

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make install  &&
cp doc/man/* /usr/share/man/man1 &&

install -v -m755 -d /usr/share/doc/id3lib-3.8.3 &&
install -v -m644 doc/*.{gif,jpg,png,ico,css,txt,php,html} \
                    /usr/share/doc/id3lib-3.8.3

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: id3convert, id3cp, id3info, og id3tag
Installert Bibliotek: libid3.so
Installerte Mapper: /usr/include/id3 og /usr/share/doc/id3lib-3.8.3

Korte Beskrivelser

id3convert

konverterer mellom id3v1/v2 tagging formater

id3cp

trekker ut id3v1/v2 tagger fra digitale lydfiler

id3info

skriver ut id3v1/v2 tagg innhold

id3tag

er et verktøy for å redigere id3v1/v2 tagger

libid3.so

gir funksjoner for id3v1/v2 tagg redigeringsprogrammer samt andre eksterne programmer og biblioteker

intel-media-driver-25.3.4

Introduksjon til intel-media-driver

intel-media-driver pakken gir en VA API driver for Intel GPUer som er utstyrt med Broadwell CPUer og høyere så vel som Intel Arc familien av GPU-er, som B serien. Dette inkluderer støtte for en rekke kodeker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

På GitHub har vi splittet oppstrømsdepotet til vårt eget lfs-book navneområde og gjenskapte en tagg for utgivelsen. Dette gjøres for å sikre at den nedlastede tarball filnavnet er korrekt og konsistent (dvs. det skal ikke endres når du bruker nettleseren i stedet for et verktøy som wget). Taggen vår og oppstrømsutgivelseskoden er på samme commit, så vi har ikke introdusert noen endring i tarball innholdet bortsett fra navnet på toppnivåmappen (som Git ikke sporer).

intel-media-driver Avhengigheter

Påkrevd

CMake-4.2.3, gmmlib-22.8.2, libva-2.23.0, og Xorg build environment

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen. Om nødvendig kompiler kjernen på nytt:

Device Drivers --->
  Graphics support --->
    <*/M>   Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                      ...  [DRM]
    < /*/M> Intel 8xx/9xx/G3x/G4x/HD Graphics                         [DRM_I915]
    < /*/M> Intel Xe2 Graphics                                          [DRM_XE]
    (*)       Force probe xe for selected Intel hardware IDs
                                                       ...  [DRM_XE_FORCE_PROBE]

Se Mesa Kernel Configuration for mer informasjon om i915 driveren og Xe driveren.

Installasjon av intel-media-driver

Notat

Denne pakken tar lang tid å bygge fordi den kompilerer kode spesifikk for hver enkelt generasjon av Intel GPUer og for en rekke mediekodeker.

Hvis du kjenner modellen til din Intel GPU, kan du sende -D{GEN{8,9,11,12},MTL,ARL,LNL,BMG,PTL}=OFF alternativet til cmake kommandoen, men utelat alternativet for din GPU. Merk at «GEN» nummeret her er generasjonen for GPU, ikke CPU. For eksempel med en Intel Core i7-1065G7 CPU som leverer en 11. generasjons Intel GPU, -D{GEN{8,9,12},MTL,ARL,LNL,BMG,PTL}=OFF alternativet kan brukes så koden som er spesifikk for de andre generasjonene av Intel GPUer ikke vil bygges.

For å finne modellen til Intel GPU, installer pciutils-3.14.0 og kjør lspci -nn | grep -Ei 'VGA|DISPLAY' først. Det vil gi ut noe informasjon om GPU, inkludert PCI leverandør-ID (8086 for Intel) og PCI enhets-ID. For eksempel, med en Intel Core i5-11300H CPU, utdataen er 8086:9a49. Søk nå etter registreringen av denne enhets ID-en i intel-media-driver kildetreet:

grep -ri 'RegisterDevice(0x9a49'

Og bestem GPU modellen fra filnavnet som inneholder registreringen. For eksempelet ovenfor er filnavnet media_sysinfo_g12.cpp, som angir at modellen er GEN12.

Installer intel-media-driver ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$XORG_PREFIX \
      -D CMAKE_POLICY_VERSION_MINIMUM=3.5  \
      -D INSTALL_DRIVER_SYSCONF=OFF        \
      -D BUILD_TYPE=Release                \
      -D MEDIA_BUILD_FATAL_WARNINGS=OFF    \
      -G Ninja                             \
      -W no-dev ..                         &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libigfxcmrt.so
Installerte Drivere: iHD_drv_video.so
Installerte Mapper: /usr/include/igfxcmrt

Korte Beskrivelser

libigfxcmrt.so

gir API funksjoner som tillater å kjøre GPU kjerner på gjengivelse motoren

intel-vaapi-driver-2.4.1

Introduksjon til intel-vaapi-driver

intel-vaapi-driver pakken inneholder en VA API driver for Intel GPUer som leveres med Haswell CPUer og tidligere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

intel-vaapi-driver Avhengigheter

Påkrevd

libva-2.23.0 og Xorg build environment

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen. Om nødvendig kompiler kjernen på nytt:

Device Drivers --->
  Graphics support --->
    <*/M>   Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                      ...  [DRM]
    < /*/M> Intel 8xx/9xx/G3x/G4x/HD Graphics                         [DRM_I915]
    < /*/M> Intel Xe2 Graphics                                          [DRM_XE]
    (*)       Force probe xe for selected Intel hardware IDs
                                                       ...  [DRM_XE_FORCE_PROBE]

Installasjon av intel-vaapi-driver

Installer driveren ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Driver: i965_drv_video.so

Liba52-0.8.0

Introduksjon til Liba52

liba52 er et gratis bibliotek for dekoding av ATSC A/52 (også kjent som AC-3) strømmer. A/52-standarden brukes i en rekke applikasjoner, inkludert digital-TV og DVD.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Valgfri

djbfft

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/liba52

Installasjon av Liba52

Installer liba52 ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --mandir=/usr/share/man \
            --enable-shared         \
            --disable-static        \
            CFLAGS="${CFLAGS:--g -O3} -fPIC" &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
cp liba52/a52_internal.h /usr/include/a52dec &&
install -v -m644 -D doc/liba52.txt \
    /usr/share/doc/liba52-0.8.0/liba52.txt

Parameterforklaringer

CFLAGS="${CFLAGS:--g -O3} -fPIC": Dette legger til -fPIC til CFLAGS men bruk -g -O3 (standarden for denne pakken) i stedet for en tom streng når CFLAGS ikke er satt. Dette er nødvendig for å kompilere liba52 uten flytting av kjøretidstekst. Kjøretidstekstflytting er forbudt på x86_64 så -fPIC er strengt nødvendig. På 32-bit x86 kjøring av tekstflytting er tillatt, men det er usikkert, og det kan være bortkastet fysisk RAM, altså -fPIC er fortsatt bedre.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

cp liba52/a52_internal.h ...: Kopierer denne deklarasjonens filen til /usr/include/a52dec tillater noen andre programmer (som f.eks xine-lib) å kompilere og lenke mot et system installert liba52.

Innhold

Installerte Programmer: a52dec og extract_a52
Installert Bibliotek: liba52.so
Installerte Mapper: /usr/include/a52dec og /usr/share/doc/liba52-0.8.0

Korte Beskrivelser

a52dec

spiller av ATSC A/52 lydstrømmer

extract_a52

trekker ut ATSC A/52 lyd fra en MPEG strøm

liba52.so

gir funksjoner for programmene som håndterer ATSC A/52 strømmer

Libao-1.2.0

Introduksjon til Libao

libao pakken inneholder et lydbibliotek på tvers av plattformer. Dette er nyttig for å sende ut lyd bredt på en rekke plattformer. Den støtter for øyeblikket WAV-filer, OSS (Open Sound System), ESD (Enlighten Sound Daemon), ALSA (Advanced Linux Sound Arkitektur), NAS (Nettverkslydsystem), aRTS (analog sanntid Synthesizer) og PulseAudio (neste generasjon GNOME lydarkitektur).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Libao Avhengigheter

Valgfri

et grafiske miljø, alsa-lib-1.2.15.3, og PulseAudio-17.0

Installasjon av Libao

Først, fiks et gcc-14 problem:

sed -i '/limits.h/a #include <time.h>' src/plugins/pulse/ao_pulse.c

Installer libao ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -m644 README /usr/share/doc/libao-1.2.0

Konfigurere Libao

Konfigurasjonsfiler

/etc/libao.conf og ~/.libao

Konfigurasjonsinformasjon

For øyeblikket er det eneste tilgjengelige konfigurasjonsalternativet å angi standard utgangsenhet. Kjør man libao.conf for detaljer.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libao.so og programtillegg under /usr/lib/ao/plugins-4
Installerte Mapper: /usr/include/ao, /usr/lib/ao og /usr/share/doc/libao-1.2.0

Korte Beskrivelser

libao.so

gir funksjoner for programmer som ønsker å sende ut lyd over støttede plattformer

libaom-3.13.1

Introduksjon til libaom

libaom pakken inneholder en referanse versjon av Alliance for Open Media videokodeken. Denne kodeken er et patentfritt alternativ til H.265, og begynner å bli brukt rundt hele internett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

libaom Avhengigheter

Anbefalt
Valgfri

Doxygen-1.16.1

Installasjon av libaom

NASM-3 har gjort en endring der hjelpeskjermen nå viser ulik tekst basert på forskjellige parametere, i stedet for å vise all informasjonen på forhånd. Denne pakken er avhengig av at all informasjonen er der. Fiks hvordan denne pakken får tak i denne informasjonen for å forhindre konfigurasjonsfeil med bare NASM-3 installert:

patch -Np1 -i ../libaom-3.13.1-nasm3-1.patch

Forhindre installasjon av statiske versjoner av bibliotekene:

sed -i 's/aom aom_static/aom/' build/cmake/aom_install.cmake

Installer libaom ved å kjøre følgende kommandoer:

mkdir aom-build &&
cd    aom-build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_SHARED_LIBS=1       \
      -D ENABLE_DOCS=no            \
      -G Ninja .. &&
ninja

Denne pakken leveres ikke med en fungerende testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D BUILD_SHARED_LIBS=1: Denne bryteren bygger delte versjoner av bibliotekene.

-D ENABLE_DOCS=no: Denne bryteren deaktiverer bygging av dokumentasjonen fordi den mislykkes på grunn av en inkompatibilitet med siste versjon av Doxygen-1.16.1.

-D ENABLE_NASM=yes: Bruk denne bryteren hvis du har både yasm-1.3.0 og NASM-3.01 installert og ønsker å bruke nasm i stedet for yasm.

Innhold

Installerte Programmer: aomdec og aomenc
Installerte Biblioteker: libaom.so
Installerte Mapper: /usr/include/aom

Korte Beskrivelser

aomdec

tilbyr ulike dekodere som støttes av denne pakken, inkludert en for AV1

aomenc

tilbyr ulike kodere som støttes av denne pakken, inkludert en for AV1

libaom.so

inneholder funksjoner som gir en referanseimplementering av AV1 kodeken

libass-0.17.4

Introduksjon til libass

libass er en flyttbar undertekstgjengivelse for ASS/SSA (Advanced Substation Alpha/Substation Alpha) undertekstformat som gir mulighet for mer avanserte undertekster enn den konvensjonelle SRT og lignende formater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libass Avhengigheter

Påkrevd

FreeType-2.14.1 og FriBidi-1.0.16

Anbefalt
Valgfri

harfBuzz-12.3.2 og libunibreak

Installasjon av libass

Installer libass ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-fontconfig: Bruk denne bryteren hvis du ikke installerte Fontconfig.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libass.so
Installert Mappe: /usr/include/ass

Korte Beskrivelser

libass.so

gir funksjonene som brukes til å gjengi ASS/SSA undertekstformat

libcanberra-0.30

Introduksjon til libcanberra

libcanberra er en implementering av XDG Sound Tema og navnespesifikasjoner, for generering av hendelseslyder på gratis skrivebord, som for eksempel GNOME.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

libcanberra Avhengigheter

Påkrevd

libvorbis-1.3.7

Anbefalt
Valgfri

PulseAudio-17.0, GTK+-2 og tdb

Anbefalt Lydtema (Kjøretid)

Installasjon av libcanberra

Først, bruk en oppdatering for å fikse et problem som forårsaker at enkelte applikasjoner krasjer i Wayland-basert skrivebordsmiljø:

patch -Np1 -i ../libcanberra-0.30-wayland-1.patch

Installer libcanberra ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-oss &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make docdir=/usr/share/doc/libcanberra-0.30 install

Parameterforklaringer

--disable-oss: deaktiver valgfritt utdatert OSS støtte

--disable-gtk3: deaktiver valgfritt GTK+ 2 støtte

Innhold

Installerte Programmer: canberra-boot og canberra-gtk-play
Installerte Biblioteker: libcanberra-gtk3.so og libcanberra.so
Installerte Mapper: /usr/lib/libcanberra-0.30, /usr/share/doc/libcanberra-0.30 og /usr/share/gtk-doc/html/libcanberra

Korte Beskrivelser

canberra-gtk-play

er et program som brukes til å spille av lydhendelser

libcanberra-gtk3.so

inneholder libcanberra bindinger for GTK+ 3

libcanberra.so

inneholder libcanberra API funksjoner

libcddb-1.3.2

Introduksjon til libcddb

libcddb er et bibliotek som implementerer de forskjellige protokollene (CDDBP, HTTP, SMTP) for å få tilgang til data på en CDDB server.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av libcddb

Som standard kobler denne pakken til freedb.org, som allerede er stengt. Endre standarden som skal brukes til gnudb.gnudb.org i stedet, og fiks to foreldede testdatafiler:

sed -e '/DEFAULT_SERVER/s/freedb.org/gnudb.gnudb.org/' \
    -e '/DEFAULT_PORT/s/888/&0/'                       \
    -i include/cddb/cddb_ni.h                          &&
sed '/^Genre:/s/Trip-Hop/Electronic/' -i tests/testdata/920ef00b.txt &&
sed '/DISCID/i# Revision: 42'         -i tests/testcache/misc/12340000

Løs et problem med å bygge med gcc-14 og senere:

sed -i 's/size_t l;/socklen_t l;/' lib/cddb_net.c

Installer libcddb ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check -k. Testpakken trenger Internetttilkobling. En test mislykkes pga manglende testserver.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: cddb_query
Installert Bibliotek: libcddb.so
Installerte Mapper: /usr/include/cddb

Korte Beskrivelser

cddb_query

gir et brukergrensesnitt til en CDDB server

libcdio-2.1.0

Introduksjon til libcdio

libcdio er et bibliotek for CD-ROM og CD bildetilgang. Den tilknyttede libcdio-cdparanoia biblioteket leser lyd fra CD-ROM-en direkte som data, uten analogt trinn mellom, og skriver dataene til en fil eller kanal som .wav, .aifc eller som rå 16 bit lineær PCM.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftpmirror.gnu.org/libcdio/libcdio-2.1.0.tar.bz2

  • Nedlasting MD5 sum: aa7629e8f73662a762f64c444b901055

  • Nedlastingsstørrelse: 1.7 MB

  • Estimert diskplass som kreves: 53 MB (begge pakkene, inkludert sjekker)

  • Estimert byggetid: 0.2 SBU (bruker parallellisme=4; begge pakkene, inkludert sjekker)

Ytterligere Nedlastinger

libcdio Avhengigheter

Valgfri

libcddb-1.3.2

Installasjon av libcdio

Hvis du bygger på et i686 system, fiks et byggeproblem forårsaket av støtte for store filer:

case $(uname -m) in
   i?86)
      sed '/CDIO_LSEEK/s/lseek64/lseek/'  -i lib/driver/_cdio_generic.c &&
      sed '/CDIO_FSEEK/s/fseeko64/fseek/' -i lib/driver/_cdio_stdio.c   ;;
esac

Installer libcdio ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check -k. En test navngitt realpath er kjent for å mislykkes.

Nå, som root bruker:

make install

Nå installer libcdio-paranoia:

tar -xf ../libcdio-paranoia-10.2+2.0.2.tar.bz2 &&
cd libcdio-paranoia-10.2+2.0.2 &&

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: cdda-player, cd-drive, cd-info, cd-paranoia, cd-read, iso-info, iso-read, og mmc-tool
Installert Bibliotek: libcdio.so, libcdio++.so, libcdio_cdda, libcdio_paranoia, libiso9660, libiso9660++, og libudf.so
Installerte Mapper: /usr/include/cdio og /usr/include/cdio++

Korte Beskrivelser

cd-drive

viser CD-ROM stasjonens egenskaper

cd-info

viser informasjon om en CD eller CD-bilde

cd-paranoia

er et lyd CD leseverktøy som inkluderer ekstra funksjoner for dataverifisering

cd-read

leser informasjon fra en CD eller CD-bilde

cdda-player

er en enkel cd-spiller

iso-info

viser informasjon om et ISO 9660 bilde

iso-read

leser deler av et ISO 9660 bilde

mmc-tool

utsteder libcdio multimediekommandoer

libcdio.so

inneholder de primære cdio API funksjonene

libde265-1.0.16

Introduksjon til libde265

libde265 pakken inneholder en åpen kildekode H.265 videokodek implementering.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libde265 Avhengigheter

Valgfri

sdl2-compat-2.32.64 (for YUV støtte for overleggsutdata dec265), både Qt 5 og FFmpeg-8.0.1 (for bygging av sherlock265)

Installasjon av libde265

Først, forhindre installasjon av noen programmer som bare er nyttige for hacking av libde265:

sed '/tools/d' -i Makefile.am &&
./autogen.sh

Installer libde265 ved å kjøre følgende kommandoer:

./configure --prefix=/usr         \
            --disable-sherlock265 \
            --disable-static      &&
make

Denne pakken leveres ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-sherlock265: Denne bryteren deaktiverer sherlock265 programmet fordi det krever Qt5, som ikke lenger finnes i BLFS. Sherlock265 programmet er mest nyttig for brukere som redigerer H.265 videoer.

--enable-encoder: Dette alternativet aktiverer H.265 koderen, i tillegg til dekoderen. Koderen er fortsatt eksperimentell, så instruksjonen ovenfor inneholder ikke dette alternativet.

Innhold

Installert Programm: dec265
Installert Bibliotek: libde265.so
Installert Mappe: /usr/include/libde265

Korte Beskrivelser

dec265

en dekoder H.265-data (rå bitstrøm av en strøm med NAL enheter)

libde265.so

inneholder en H.265 videodekoder

libdvdcss-1.5.0

Introduksjon til libdvdcss

libdvdcss er et enkelt bibliotek designet for å få tilgang til DVDer som en blokkenhet uten å måtte bry deg om dekrypteringen.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libdvdcss Avhengigheter

Valgfri (for å lage dokumentasjon)

Doxygen-1.16.1

Installasjon av libdvdcss

Installer libdvdcss ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
rm -fv /usr/lib/libdvdcss.a

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libdvdcss.so
Installerte Mapper: /usr/include/dvdcss

Korte Beskrivelser

libdvdcss.so

gir funksjonaliteten som kreves for transparent DVD-tilgang med CSS-dekryptering

libdvdread-7.0.1

Introduksjon til Libdvdread

libdvdread er et bibliotek som gir et enkelt grunnlag for lesing av DVDer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Libdvdread

Først installerer du dokumentasjonen i en versjonsbasert mappe:

sed -i "/get_option/s/libdvdread/&-7.0.1/" meson.build

Installer libdvdread ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
rm -fv /usr/lib/libdvdread.a

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libdvdread.so
Installerte Mapper: /usr/include/dvdread og /usr/share/doc/libdvdread-7.0.1

Korte Beskrivelser

libdvdread.so

gir funksjonalitet som kreves for å få tilgang til DVDer

libdvdnav-7.0.0

Introduksjon til Libdvdnav

libdvdnav er et bibliotek som tillater enkel bruk av sofistikerte DVD navigasjonsfunksjoner inkludert DVD menyer, multiangle avspilling, og til og med interaktive DVD-spill.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Libdvdnav Avhengigheter

Påkrevd

libdvdread-7.0.1

Installasjon av libdvdnav

Først installerer du dokumentasjonen i en versjonsbasert mappe:

sed -i "/get_option/s/libdvdnav/&-7.0.0/" meson.build

Installer libdvdnav ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
rm -fv /usr/lib/libdvdnav.a

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libdvdnav.so
Installerte Mapper: /usr/include/dvdnav og /usr/share/doc/libdvdnav-7.0.0

Korte Beskrivelser

libdvdnav.so

er DVD navigasjonsbiblioteket

Libdv-1.0.0

Introduksjon til Libdv

Quasar DV Codec (libdv) er en programvare CODEC for DV-video, kodingsformatet som brukes av de fleste digitale videokameraer. Den kan brukes til å kopiere videoer fra videokameraer ved hjelp av en firewire tilkobling (IEEE 1394).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Libdv Avhengigheter

Valgfri

popt-1.19, et grafiske miljø, og SDL1

Installasjon av Libdv

Installer libdv ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-xv     \
            --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -m755 -d      /usr/share/doc/libdv-1.0.0 &&
install -v -m644 README* /usr/share/doc/libdv-1.0.0

Parameterforklaringer

--disable-xv: Denne parameteren er nødvendig hvis et X Window System ikke er installert. Det forhindrer også configure å teste for libXv som kun brukes til et foreldet program playdv som ikke vil bygges med nåværende linux deklarasjoner og vil også trenge andre foreldede avhengigheter.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: dubdv, dvconnect, og encodedv
Installert Bibliotek: libdv.so
Installerte Mapper: /usr/include/libdv og /usr/share/doc/libdv-1.0.0

Korte Beskrivelser

dubdv

setter inn lyd i en digital videostrøm

dvconnect

er et lite verktøy for å sende eller fange opp rådata fra og til videokamera

encodedv

koder en serie bilder til en digital videostrøm

libdv.so

gir funksjoner for programmer som samhandler med Quasar DV CODEC

libmad-0.15.1b

Introduksjon til libmad

libmad er en høy kvalitet MPEG lyddekoder med 24-bits utdata.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av libmad

Installer libmad ved å kjøre følgende kommandoer:

patch -Np1 -i ../libmad-0.15.1b-fixes-1.patch                &&
sed "s@AM_CONFIG_HEADER@AC_CONFIG_HEADERS@g" -i configure.ac &&
touch NEWS AUTHORS ChangeLog                                 &&
autoreconf -fi                                               &&

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Noen pakker sjekker pkg-config filen for libmad. Denne filen er spesielt nødvendig så Cdrdao kan gjenkjenne den installerte libmad.

Som root bruker:

cat > /usr/lib/pkgconfig/mad.pc << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: mad
Description: MPEG audio decoder
Requires:
Version: 0.15.1b
Libs: -L${libdir} -lmad
Cflags: -I${includedir}
EOF

Parameterforklaringer

touch NEWS AUTHORS ChangeLog: Hindrer autoreconf fra å returnere en feil.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libmad.so
Installerte Mapper: Ingen

Korte Beskrivelser

libmad.so

er et MPEG lyddekoder bibliotek

libmpeg2-0.5.1

Introduksjon til libmpeg2

libmpeg2 pakken inneholder et bibliotek for dekoding av MPEG-2 og MPEG-1 videostrømmer. Biblioteket er i stand til å dekode alle MPEG strømmer som samsvarer med visse begrensninger: «begrenset parametere» for MPEG-1, og «hovedprofil» for MPEG-2. Dette er nyttig for programmer og applikasjoner som trenger å dekode MPEG-2 og MPEG-1 videostrømmer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libmpeg2 Avhengigheter

Valgfri

et grafiske miljø og SDL1

Installasjon av libmpeg2

Installer libmpeg2 ved å kjøre følgende kommandoer:

sed -i 's/static const/static/' libmpeg2/idct_mmx.c &&

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static &&
make

For å teste resultatene, kjør: make check. For å utføre en mer omfattende regresjonstest, se filen test/README i kildetreet.

Nå, som root bruker:

make install &&

install -v -m755 -d /usr/share/doc/libmpeg2-0.5.1 &&
install -v -m644 README doc/libmpeg2.txt \
                    /usr/share/doc/libmpeg2-0.5.1

Parameterforklaringer

sed -i ...: This sed fikser problemer med nyere GCC kompilatorer.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: corrupt_mpeg2, extract_mpeg2 og mpeg2dec
Installerte Biblioteker: libmpeg2.so og libmpeg2convert.so
Installerte Mapper: /usr/include/mpeg2dec og /usr/share/doc/libmpeg2-0.5.1

Korte Beskrivelser

extract_mpeg2

trekker ut MPEG videostrømmer fra en multiplekset strøm

mpeg2dec

dekoder MPEG1 og MPEG2 videostrømmer

libmpeg2.so

inneholder API funksjoner som brukes til å dekode MPEG videostrømmer

libmpeg2convert.so

inneholder API funksjoner som brukes for fargekonverteringer av MPEG videostrømmer

libmusicbrainz-5.1.0

Introduksjon til libmusicbrainz

libmusicbrainz pakken inneholder et bibliotek som lar deg få tilgang til dataene på MusicBrainz serveren.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

libmusicbrainz Avhengigheter

Påkrevd

CMake-4.2.3, libxml2-2.15.1 og neon-0.36.0

Valgfri

Doxygen-1.16.1

Installasjon av libmusicbrainz

Først, fiks et problem forårsaket av CMake-3.18.0 og senere:

patch -Np1 -i ../libmusicbrainz-5.1.0-cmake_fixes-1.patch

Løs også et problem forårsaket av libxml-2.12.x:

sed -e 's/xmlErrorPtr /const xmlError */'     \
    -i src/xmlParser.cc

Installer libmusicbrainz ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_POLICY_VERSION_MINIMUM=3.5 .. &&
make

Hvis du har installert Doxygen-1.16.1, valgfritt bygg API dokumentasjonen:

doxygen ../Doxyfile

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har bygget API dokumentasjonen, installer, som root bruker:

rm -rf /usr/share/doc/libmusicbrainz-5.1.0 &&
cp -vr docs/ /usr/share/doc/libmusicbrainz-5.1.0

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libmusicbrainz5.so
Installert Mappe: /usr/include/libmusicbrainz5 og /usr/share/doc/libmusicbrainz-5.1.0

Korte Beskrivelser

libmusicbrainz5.so

inneholder API funksjoner for tilgang til MusicBrainz databasen

libogg-1.3.6

Introduksjon til libogg

libogg pakken inneholder Ogg fil struktur. Dette er nyttig for å lage (koding) eller spille (dekoding) en enkelt fysisk bitstrøm.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av libogg

Installer libogg ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libogg-1.3.6 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libogg.so
Installerte Mapper: /usr/include/ogg og /usr/share/doc/libogg-1.3.6

Korte Beskrivelser

libogg.so

gir funksjonene som kreves for at programmer skal lese eller skrive Ogg formaterte bitstrømmer

libplacebo-7.360.0

Introduksjon til libplacebo

libplacebo pakken inneholder et bibliotek for å behandle bilde og video primitiver og shaders. Det inkluderer også en høykvalitets gjengivelsespipeline som støtter OpenGL og Vulkan.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libplacebo Avhengigheter

Påkrevd

Glad-2.0.8

Anbefalt
Valgfri

Little CMS-2.18 libunwind-1.8.3, dovi_tool, Nuklear, og xxHash

Installasjon av libplacebo

Først, fiks en inkompatibilitet med Python-3.13.6 og nyere:

sed -e '204a\    tree = ET.parse(xmlfile)'                 \
    -e 's/VkXML(ET.parse(xmlfile))/VkXML(tree.getroot())/' \
    -i src/vulkan/utils_gen.py

Installer libplacebo ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D tests=true       \
      -D demos=false      &&
ninja

For å teste resultatene, utsted: ninja test. En test, opengl_surfaceless.c, er kjent for å mislykkes.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D demos=false: Denne bryteren deaktiverer bygging av demoprogrammene fordi byggingen av plplay er for øyeblikket ødelagt.

-D tests=true: Denne bryteren gjør det mulig å bygge kode som er nødvendig for å kjøre testene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libplacebo.so
Installerte Mapper: /usr/include/libplacebo

Korte Beskrivelser

libplacebo.so

behandler bilde og video primitiver og shaders og gir en høykvalitets gjengivelsespipeline for OpenGL og Vulkan

libsamplerate-0.2.2

Introduksjon til libsamplerate

libsamplerate er en samplingsfrekvensomformer for lyd.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libsamplerate Avhengigheter

Valgfri

alsa-lib-1.2.15.3, libsndfile-1.2.2, og fftw-3.3.10 (for tester)

Installasjon av libsamplerate

Installer libsamplerate ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libsamplerate-0.2.2 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: Ingen
Installert Bibliotek: libsamplerate.so
Installert Mappe: /usr/share/doc/libsamplerate-0.2.2

libsndfile-1.2.2

Introduksjon til libsndfile

Libsndfile er et bibliotek med C rutiner for å lese og skrive filer som inneholder samplede lyddata.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libsndfile Avhengigheter

Anbefalt
Valgfri

alsa-lib-1.2.15.3, LAME-3.100, mpg123-1.33.4, og Speex-1.2.1

Installasjon av libsndfile

Fiks bygging med GCC-15:

sed '/typedef enum/,/bool ;/d' -i \
  src/ALAC/alac_{en,de}coder.c

Installer libsndfile ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --docdir=/usr/share/doc/libsndfile-1.2.2 &&
make

Hvis du kjører testpakken, deaktiver Opus testene, da disse ville mislykkes med den nyeste Opus utgivelsen og føre til at testpakken slutter å virke tidlig:

sed '/ogg_opus/,+1s/HAVE_[A-Z_]*/0/' -i tests/lossy_comp_test.c

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: sndfile-cmp, sndfile-concat, sndfile-convert, sndfile-deinterleave, sndfile-info, sndfile-interleave, sndfile-metadata-get, sndfile-metadata-set, sndfile-play, og sndfile-salvage
Installert Bibliotek: libsndfile.so
Installert Mappe: /usr/share/doc/libsndfile-1.2.2

Korte Beskrivelser

sndfile-cmp

sammenligner to lydfiler

sndfile-concat

kobler sammen to eller flere lydfiler

sndfile-convert

konverterer en lydfil fra ett format til et annet

sndfile-deinterleave

deler en multikanal i flere enkeltkanalfiler

sndfile-info

viser informasjon om en lydfil

sndfile-interleave

konverterer flere enkeltkanalsfiler til en flerkanalsfil

sndfile-metadata-get

henter metadata fra en lydfil

sndfile-metadata-set

setter metadata i en lydfil

sndfile-play

spiller av en lydfil

sndfile-salvage

redder lyddataene fra WAV filer som er mer enn 4 GB i størrelse

libsndfile.so

inneholder libsndfile API funksjoner

libva-2.23.0

Introduksjon til libva

libva pakken inneholder et bibliotek som gir tilgang til maskinvareakselerert videobehandling ved hjelp av maskinvare for å akselerere videobehandling for å avlaste den sentrale prosesseringsenhet (CPU) for å dekode og kode komprimert digital video. VA API videodekodings/kode grensesnitt er plattform og vindus system uavhengig rettet mot Direct Rendering Infrastructure (DRI) i X vindussystemet men det kan potensielt også brukes med direkte rammebuffer og grafikkundersystemer for videoutgang. Akselerert behandling inkluderer støtte for videodekoding, videokoding, underbildeblanding og gjengivelse.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libva Avhengigheter

Påkrevd

Xorg build environment og libdrm-2.4.131

Anbefalt
Anbefalt (Kjøretid)

VA API driver som passer for maskinvaren i systemet ditt: intel-vaapi-driver-2.4.1 (for Intel GPUer som følger med Haswell CPUer eller tidligere), intel-media-driver-25.3.4 (for Intel GPUer som følger med Broadwell CPUer eller senere og Intel Arc GPUer), og Mesa-25.3.5 (gir r600, radeonsi, og nouveau VA API driverre, for ATI/AMD Radeon HD 2xxx GPUs og senere, og støttede NVIDIA GPUer; det er en sirkulær avhengighet, les Mesa siden for informasjon om hvordan du bryter den)

Valgfri

Doxygen-1.16.1, Wayland-1.24.0, og intel-gpu-tools

Installasjon av libva

Installer libva ved å kjøre følgende kommandoer:

cd build &&

meson setup --prefix=$XORG_PREFIX --buildtype=release &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libva-drm.so, libva-glx.so, libva.so, libva-wayland.so, og libva-x11.so
Installert Mappe: $XORG_PREFIX/include/va

Korte Beskrivelser

libva.so

inneholder API funksjoner som gir tilgang til maskinvareakselerert videobehandling

libvorbis-1.3.7

Introduksjon til libvorbis

libvorbis pakken inneholder en generell formålsformat for lyd- og musikkkoding. Dette er nyttig for å lage (koding) og spille (dekoding) lyd i en åpen (patentfri) format.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libvorbis Avhengigheter

Påkrevd

libogg-1.3.6

Valgfri

Doxygen-1.16.1 og texlive-20250308 (eller install-tl-unx (spesifikt pdflatex og htlatex) for å bygge PDF dokumentasjonen)

Installasjon av libvorbis

Installer libvorbis ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make -j1 check.

Nå, som root bruker:

make install &&
install -v -m644 doc/Vorbis* /usr/share/doc/libvorbis-1.3.7

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-docs: Denne bryteren aktiverer bygging av dokumentasjonen i andre formater enn medfølgende html.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libvorbis.so, libvorbisenc.so og libvorbisfile.so
Installerte Mapper: /usr/include/vorbis og /usr/share/doc/libvorbis-1.3.7

Short Descriptions

libvorbis.so

gir funksjonene som brukes til å lese og skrive lydfiler

libvpx-1.16.0

Introduksjon til libvpx

Denne pakken, fra WebM prosjektet, gir referanse implementeringer av VP8 kodek (brukt i de fleste aktuelle html5 videoer) og neste generasjons VP9 kodek.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libvpx Avhengigheter

Anbefalt
Valgfri

cURL-8.18.0 (for å laste ned testfiler) og Doxygen-1.16.1 (for å bygge dokumentasjon)

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av libvpx

Hvis du oppgraderer fra en tidligere versjon av libvpx, oppdater tidsstemplene av alle filene for å forhindre at byggesystemet beholder filene fra den gamle installasjonen:

find -type f | xargs touch

Installer libvpx ved å kjøre følgende kommandoer:

sed -i 's/cp -p/cp/' build/make/Makefile &&

mkdir libvpx-build            &&
cd    libvpx-build            &&

../configure --prefix=/usr    \
             --enable-shared  \
             --disable-static &&
make

For å teste resultatene, kjør: LD_LIBRARY_PATH=. make test. Testpakken laster ned mange filer som en del av testprosessen. Noen få deler av den vil bruke alle tilgjengelige kjerner.

Nå, som root bruker:

make install

Parameterforklaringer

sed ... : Denne kommandoen korrigerer eierskap og tillatelser for installerte filer.

mkdir libvpx-build && cd libvpx-build: libvpx utviklere anbefaler å bygge i en dedikert byggemappe.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--disable-vp8: Denne bryteren hindrer byggestøtte for VP8 kodeken.

--disable-vp9: Denne bryteren hindrer byggestøtte for VP9 kodeken.

--target=generic-gnu: Denne bryteren deaktiverer optimaliseringer spesifikke til x86 og x86-64, som gjør det mulig å bygge denne pakken uten nasm og yasm installert.

LD_LIBRARY_PATH=.: Dette er nødvendig for testpakken for å bruke biblioteket som nettopp ble bygget.

Innhold

Installerte Programmer: vpxdec og vpxenc
Installerte Biblioteker: libvpx.so
Installerte Mapper: /usr/include/vpx

Korte Beskrivelser

vpxdec

er WebM Prosjektet VP8 og VP9 dekoderen

vpxenc

er WebM Prosjektet VP8 og VP9 koder

libvpx.so

gir funksjoner for å bruke VP8 og VP9 videokodeker

MLT-7.36.1

Introduksjon til MLT

MLT pakken er Media Lovin Toolkit. Det er et multimediarammeverk med åpen kildekode, designet og utviklet for TV-kringkasting. Det gir et verktøysett for kringkastere, video redaktører, mediespillere, transkodere, webstreamere og mange flere typer applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

MLT Avhengigheter

Anbefalt
Valgfri

Doxygen-1.16.1, fftw-3.3.10, libexif-0.6.25, opencv-4.13.0, sdl2-compat-2.32.64, SWIG-4.4.1, eigen, JACK, LADSPA-SDK, libebur128, movit, rtaudio, rubberband, SoX, og vid.stab

Installasjon av MLT

Installer MLT ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D MOD_SOX=OFF               \
      -D MOD_MOVIT=OFF             \
      -D MOD_VIDSTAB=OFF           \
      -D MOD_JACKRACK=OFF          \
      -D MOD_RUBBERBAND=OFF        \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke. Men en test .mp4 fil kan spilles av i et lokalt grafisk miljø med ./out/bin/melt <filename>.mp4.

Notat

Denne applikasjonen bruker avanserte grafiske funksjoner. I noen tilfeller kan det være nødvendig med fastvare for din spesifikke grafikkadapter. Se «Firmware for Skjermkort» for mer informasjon.

Nå, som root bruker:

make install

Parameterforklaringer

-D MOD_*=OFF: Disse bryterne lar pakken bygges uten noen av de valgfrie eksterne pakkene.

-D MOD_AVFORMAT=OFF: Dette alternativet tillater bygging uten FFmpeg-8.0.1.

-D MOD_FREI0R=OFF: Dette alternativet tillater bygging uten frei0r-2.5.1.

-D MOD_RESAMPLE=OFF: Dette alternativet tillater bygging uten libsamplerate-0.2.2.

-D MOD_QT6=OFF: Dette alternativet tillater bygging uten Qt-6.10.2.

-D MOD_OPENCV=ON: Dette alternativet tillater bygging av noen tilleggsmoduler som bruker opencv-4.13.0.

Innhold

Installert Program: melt-7 and melt (symbolkobling til melt-7)
Installerte Biblioteker: libmlt-7.so, libmlt++-7.so, og over tjue programtillegg
Installerte Mapper: /usr/include/mlt-7, /usr/lib/mlt-7, /usr/lib/cmake/Mlt7, og /usr/share/mlt-7

Korte Beskrivelser

melt

er et testverktøy for MLT

Opus-1.6.1

Introduksjon til Opus

Opus er et lydkomprimeringsformat med tap utviklet av Internet Engineering Task Force (IETF), dvs spesielt egnet for interaktiv tale og lydoverføring over internettet. Denne pakken gir Opus utviklingsbibliotek og deklarasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Valgfri

Doxygen-1.16.1 og texlive-20250308 (eller install-tl-unx)

Installasjon av Opus

Installer Opus ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr        \
            --buildtype=release  \
            -D docdir=/usr/share/doc/opus-1.6.1 &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libopus.so
Installert Mappe: /usr/include/opus og /usr/share/doc/opus-1.6.1

Korte Beskrivelser

libopus.so

gir funksjonene som brukes til å lese og skrive Opus formatet

Pipewire-1.4.10

Introduksjon til Pipewire

pipewire pakken inneholder en server og brukerrom API for å håndtere multimedia kanaler. Dette inkluderer en universell API for å koble til multimedieenheter, samt deling av multimediafiler mellom applikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Pipewire Avhengigheter

Anbefalt
Valgfri

alsa-lib-1.2.15.3, Avahi-0.8, fdk-aac-2.0.3, FFmpeg-8.0.1, libcanberra-0.30, libdrm-2.4.131 (for ett eksempel og libcamera støtte), libxcb-1.17.0, libsndfile-1.2.2, libusb-1.0.29, Opus-1.6.1, sdl2-compat-2.32.64 (for noen eksempler), Valgrind-3.26.0, Vulkan-Loader-1.4.341.0, Xorg Biblioteker, Doxygen-1.16.1 og Graphviz-14.1.2 (for dokumentasjon), ffado, JACK, LC3plus, ldacBT, libcamera, libmysofa, lilv, og xmltoman

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/pipewire

Installasjon av Pipewire

Installer pipewire ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                 \
      --prefix=/usr            \
      --buildtype=release      \
      -D session-managers="[]" &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D session-managers="[]": Denne bryteren gjør det mulig å spesifisere øktbehandlere som skal bygges som underprosjekter. Vi angir en tom liste for å forhindre meson fra å laste ned en ekstern kopi av øktadministratorene. En Pipewire øktbehandle anbefalt av PipeWire utviklerne for generell bruk, Wireplumber-0.5.13, er tilgjengelig som en egen BLFS pakke. Bygg den etter installasjon av Pipewire hvis du trenger å kjøre Pipewire nissen (for eksempel for å støtte Snapshot-49.1).

-D docs=true: Denne bryteren aktiverer generering av HTML dokumentasjon. De valgfrie avhengighetene for dokumentasjon må være installert for at dette skal fungere.

-D man=true: Denne bryteren aktiverer generering av manualsider. De valgfrie avhengighetene for dokumentasjon må installeres for at dette skal fungere.

-D ffmpeg=enabled: Denne bryteren aktiverer bruk av ffmpeg for lydkonvertering som et SPA bakstykke.

-D vulkan=enabled: Denne bryteren gjør det mulig å bruke Vulkan for videogjengivelse som et SPA bakstykke.

Innhold

Installerte Programmer: pipewire, pw-cat, pw-cli, pw-config, pw-dot, pw-dump, pw-jack, pw-link, pw-loopback, pw-metadata, pw-mididump, pw-mon, pw-profiler, pw-reserve, pw-top, pw-v4l2, spa-acp-tool, spa-inspect, spa-json-dump, spa-monitor, spa-resample, og pipewire-aes67, pipewire-avb, pipewire-pulse (symbolkobling til pipewire), pw-dsdplay, pw-encplay, pw-midiplay, pw-midirecord, pw-play, pw-record (symbolkobling til pw-cat)
Installerte Biblioteker: libpipewire-0.3.so og 60 moduler under /usr/lib/pipewire-0.3 og /usr/lib/spa-0.2
Installerte Mapper: /usr/include/pipewire-0.3, /usr/include/spa-0.2, /usr/lib/alsa-lib, /usr/lib/pipewire-0.3, /usr/lib/spa-0.2, /usr/share/alsa-card-profile, /usr/share/pipewire, og /usr/share/spa-0.2

Korte Beskrivelser

pipewire

er en tjeneste som gir tilgang til multimedieenheter og tillater deling av multimediefiler mellom applikasjoner

pipewire-pulse

starter en Pulsaudio kompatibel versjon av pipewire tjenesten

pw-cat

lar deg spille av eller ta opp media ved hjelp av en pipewire økt

pw-cli

lar deg samhandle med en pipewire økt

pw-config

lar deg samhandle med pipewires konfigurasjonssystem for feilsøkingsformål eller syntakskontroll

pw-dot

viser alle nisser og objekter som er i bruk av pipewire

pw-dump

dumper feilsøkingsmeldinger fra en lokal eller ekstern pipewire økt til konsollen

pw-jack

kjører JACK applikasjoner på en pipewire økt

pw-link

kobler pipewire porter sammen

pw-loopback

initialiserer en tilbakekobling mellom to forskjellige pipewire porter. Dette er nyttig for testing og feilsøking

pw-metadata

inspiserer, legger til og fjerner metadata for objekter

pw-mididump

dumper MIDI meldinger fra en fil til skjermen

pw-mon

lar deg overvåke pipewire økter

pw-profiler

sporer minnebruk og API anrop brukt av pipewire

pw-reserve

reserverer eller overvåker en enhet via D-Bus

pw-top

viser sanntids ytelsesinformasjon fra pipewire

pw-v4l2

kjører v4l2 applikasjoner på en pipewire økt

spa-acp-tool

inspiserer kortprofilen til et gitt lydkort

spa-inspect

lar deg inspisere pipewire programtillegg

spa-json-dump

dumper gjeldende pipewire konfigurasjon i JSON format

spa-monitor

lar deg overvåke pipewire programtillegg

spa-resample

omsampler en gitt fil

libpipewire-0.3.so

inneholder API funksjoner for håndtering av multimedia kanaler

PulseAudio-17.0

Introduksjon til PulseAudio

PulseAudio er et lydsystem for POSIX OS, som betyr at det er en mellomtjener for lydapplikasjoner. Det lar deg gjøre avanserte operasjoner på lyddataene dine når de går mellom dine applikasjonen og maskinvaren din. Operasjoner som overføring av lyden til en annen maskin, endre prøveformatet eller antall kanaler, og å blande flere lyder til én oppnås enkelt ved å bruke en lydserver.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

PulseAudio Avhengigheter

Påkrevd

libsndfile-1.2.2

Anbefalt
Valgfri

Avahi-0.8, BlueZ-5.86, Doxygen-1.16.1 (for dokumentasjon), fftw-3.3.10, gst-plugins-base-1.28.0, GTK-3.24.51, libsamplerate-0.2.2, SBC-2.2 (Bluetooth støtte), Valgrind-3.26.0, check (for testing), JACK, libasyncns, LIRC, ORC, soxr, TDB, og WebRTC AudioProcessing

Installasjon av PulseAudio

Installer PulseAudio ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D database=gdbm    \
            -D doxygen=false    \
            -D bluez5=disabled  \
            -D tests=false      \
            ..                  &&
ninja

For å teste resultatene, kjør: ninja test. Bare de sendte XML filene blir validert fordi andre tester trenger Check som er fjernet fra LFS.

Nå, som root bruker:

ninja install

Å kjøre PulseAudio som en systemomfattende nisse er mulig, men ikke anbefalt. Se https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/ for mer informasjon. Mens fortsatt som root bruker, fjern D-Bus konfigurasjonsfil for systemomfattende nisse for å unngå å lage unødvendige system brukere og grupper:

rm /usr/share/dbus-1/system.d/pulseaudio-system.conf

Notat

Hvis du har installert Wireplumber-0.5.13, sørg for å følg kommandoene for å deaktivere Pulsaudio serveren for å forhindre konflikter med Pipewire.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D bluez5=disabled: Denne bryteren forhindrer en kjøretidsfeil hvis dbus-1.16.2 og SBC-2.2 er begge installert men BlueZ-5.86 ikke er installert. Fjern dette hvis du har installert alle tre pakkene.

-D doxygen=false: Dette gjør at pakken kan kompilere hvis Doxygen-1.16.1 ikke er installert. Fjern dette hvis du har installert dette og ønsker å bygge dokumentasjonen.

-D tests=false: Dette gjør at pakken kan kompilere hvis Check ikke er installert. Check er fjernet fra LFS.

Konfigurere PulseAudio

Konfigurasjonsfiler

Det er systemomfattende konfigurasjonsfiler: /etc/pulse/daemon.conf, /etc/pulse/client.conf, /etc/pulse/default.pa, og brukers konfigurasjonsfiler med samme navn i ~/.config/pulse. Brukers konfigurasjonsfiler har forrang over systemomfattende filer.

Konfigurasjonsinformasjon

Du må kanskje konfigurere lydsystemet. Du kan starte pulseaudio i kommandolinjemodus ved hjelp av pulseaudio -C og deretter liste ulik informasjon og endre innstillinger. Se man pulse-cli-syntax.

Hvis pulseaudio fungerte, men du ikke lenger har lyd etter å ha sjekket for maskinvareproblemer (høyttalere eller hodetelefoner ikke tilkoblet, ekstern forsterker ikke tilkoblet) kan det hende du må fikse det.

Et forslag er å stenge applikasjoner, som f.eks firefox hvor lyden har sluttet å virke, da kjør: pactl list short sinks fulgt av: pacmd set-default-sink <sink #> og så start applikasjonen på nytt.

Hvis det ikke fungerer, fungerer ofte en mer drastisk tilnærming. Etter stenging av applikasjonenen, lukk pulsaudio, enten ved hjelp av pulseaudio --kill eller, hvis det mislykkes, killall -KILL pulseaudio og deretter rm -rf ~/.config/pulse/* (og kanskje også rm -rf ~/.pulse/* hvis du har brukt en veldig gammel versjon av pulseaudio på denne maskinen), og kjør deretter pulseaudio --verbose for å starte den på nytt. Hvis nissen starter, start på nytt applikasjonen. Se man pulseaudio for flere alternativer.

Innhold

Installerte Programmer: pacat, pacmd, pactl, padsp, pamon (symbolkobling til pacat), paplay (symbolkobling til pacat), parec (symbolkobling til pacat), parecord (symbolkobling til pacat), qpaeq, pasuspender, pax11publish, pulseaudio, og start-pulseaudio-x11
Installerte Biblioteker: libpulse.so, libpulse-mainloop-glib.so, libpulse-simple.so, libpulsecommon-17.0.so, libpulsecore-17.0.so, og libpulsedsp.so
Installerte Mapper: /etc/pulse, /usr/include/pulse, /usr/lib/cmake/PulseAudio, /usr/lib/{pulseaudio,pulse-17.0}, /usr/libexec/pulse, og /usr/share/pulseaudio

Korte Beskrivelser

pacat

spiller av eller tar opp rå eller kodede lydstrømmer på en PulseAudio lydserver

pacmd

er et verktøy som brukes til å rekonfigurere en PulseAudio lydserver under kjøring

pactl

brukes til å kontrollere en kjørende PulseAudio lydserver

padsp

er PulseAudio OSS Wrapper

pamon

er en symbolsk kobling til pacat

paplay

brukes til å spille av lydfiler på en PulseAudio lydserver

parec

er en symbolsk kobling til pacat

parecord

er en symbolsk kobling til pacat

pasuspender

er et verktøy som kan brukes til å fortelle en lokal PulseAudio lydserver til å midlertidig suspendere tilgangen til lydenhetene, som tillater andre applikasjoner å få direkte tilgang til dem

pax11publish

er PulseAudio X11 Credential Utility

pa-info

er et skallskript som skriver ut forskjellig informasjon knyttet til Pulseaudio serveren som er i bruk

pulseaudio

er en nettverkstilkoblet lydserver med lav latens for Linux

qpaeq

er et equalizer grensesnitt for PulseAudio equalizer sinks (Krever fftw-3.3.10 ved byggetid)

start-pulseaudio-x11

starter PulseAudio og registrerer det til X11 øktbehandler

SBC-2.2

Introduksjon til SBC

SBC pakken er en digital lydkoder og dekoder som brukes til å overføre data til Bluetooth lydutgangsenheter som hodetelefoner eller høyttalere

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

SBC Avhengigheter

Valgfri

libsndfile-1.2.2

Installasjon av SBC

Installer SBC ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static --disable-tester &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-tester: Dette deaktiverer SBC testeren. Fjern den hvis du har installert libsndfile-1.2.2.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: sbcdec, sbcenc, og sbcinfo
Installert Bibliotek: libsbc.so
Installert Mappe: /usr/include/sbc

Korte Beskrivelser

sbcdec

er et SBC dekoderverktøy

sbcenc

er et SBC koderverktøy

sbcinfo

er en subband kodek (SBC) analysator

libsbc.so

inneholder SBC API funksjoner

sdl2-compat-2.32.64

Introduksjon til sdl2-compat

Pakken sdl2-compat tilbyr et kompatibilitetslag for pakker som krever SDL2, og bruker SDL3 som bakstykke.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.libsdl.org/release/sdl2-compat-2.32.64.tar.gz

  • Nedlasting MD5 sum: 67f7e69cfacc25c51496f2702ce32654

  • Nedlastingsstørrelse: 2.7 MB

  • Estimert diskplass som kreves: 60 MB (legg til 29 MB for tester)

  • Estimert byggetid: mindre enn 0.1 SBU (legg til 0.1 SBU for tester)

sdl2-compat Avhengigheter

Påkrevd

CMake-4.2.3 og SDL3-3.4.0

Installasjon av sdl2-compat

Installer SDL2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr   \
      -D CMAKE_BUILD_TYPE=Release    \
      -D CMAKE_SKIP_INSTALL_RPATH=ON \
      -D SDL2COMPAT_STATIC=OFF       \
      -D SDL2COMPAT_TESTS=OFF        \
      -W no-dev -G Ninja ..         &&

ninja

Nå, som root bruker:

ninja install &&
rm -vf /usr/lib/libSDL2_test.a

Teste sdl2-compat

Hvis du vil bygge testene, utsted følgende kommandoer:

mkdir ../build-tests &&
cd    ../build-tests &&

cmake -D CMAKE_INSTALL_PREFIX=/usr   \
      -D CMAKE_BUILD_TYPE=Release    \
      -D CMAKE_SKIP_INSTALL_RPATH=ON \
      -D SDL2COMPAT_INSTALL_TESTS=ON \
      -D SDL2COMPAT_STATIC=OFF       \
      -D SDL2COMPAT_TESTS=ON         \
      -W no-dev -G Ninja ..         &&

ninja &&
DESTDIR=$PWD/TESTS ninja install

Nå vil du kunne kjøre testene i TESTS/usr/libexec/installed-tests/SDL2_compat. Du må kjøre testene individuelt. Noen av dem må kanskje deaktiveres manuelt, og lyden må fungere slik at du kan høre fra standard lydutgang.

Parameterforklaringer

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D SDL2COMPAT_STATIC=OFF: Denne parameteren deaktiverer bygging av statiske biblioteker.

-D SDL2COMPAT_TESTS=OFF: Denne parameteren deaktiverer bygging av testene.

rm -vf /usr/lib/libSDL2_test.a: Denne kommandoen fjerner et ubrukelig statisk bibliotek.

Innhold

Installert Program: sdl2-config
Installerte Biblioteker: libSDL2.so
Installerte Mapper: /usr/include/SDL2 og /usr/lib/cmake/SDL2

Korte Beskrivelser

sdl2-config

bestemmer kompilerings- og linkerflaggene som skal brukes til å kompilere og koble programmer som bruker libSDL2

libSDL2.so

tilbyr kompatibilitetsfunksjoner for SDL2 applikasjoner som bruker SDL3

SDL3-3.4.0

Introduksjon til SDL3

The Simple DirectMedia Layer Version 3 (SDL3 (forkortet) er et bibliotek på tvers av plattformer designet for å gjøre det enkelt å skrive multimedieprogramvare, for eksempel spill og emulatorer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.libsdl.org/release/SDL3-3.4.0.tar.gz

  • Nedlasting MD5 sum: 25cc9aade08c60e883b7accd87eb4600

  • Nedlastingsstørrelse: 15 MB

  • Estimert diskplass som kreves: 110 MB (legg til 103 MB for tester)

  • Estimert byggetid: 0.8 SBU (legg til 0.3 SBU for tester)

SDL3 Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt
Valgfri

ibus-1.5.33, jack, og sndio

Installasjon av SDL3

Installer SDL3 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D SDL_TEST_LIBRARY=OFF      \
      -D SDL_STATIC=OFF            \
      -D SDL_RPATH=OFF             \
      -W no-dev -G Ninja ..       &&

ninja

Nå, som root bruker:

ninja install

Teste SDL3

Hvis du vil bygge testene, kjør følgende kommandoer:

mkdir ../build-tests &&
cd    ../build-tests &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D SDL_STATIC=OFF            \
      -D SDL_RPATH=OFF             \
      -D SDL_TESTS=ON              \
      -D SDL_INSTALL_TESTS=ON      \
      -W no-dev -G Ninja ..       &&

ninja &&
DESTDIR=$PWD/TESTS ninja install

Nå vil du kunne kjøre testene i TESTS/usr/libexec/installed-tests/SDL3. Du må kjøre testene individuelt. Noen av dem må kanskje deaktiveres manuelt, og lyden må fungere slik at du kan høre fra standard lydutgang.

Parameterforklaringer

-D SDL_TEST_LIBRARY=OFF: Denne parameteren deaktiverer bygging av et unødvendig statisk bibliotek beregnet for testene. Det bygges i testdelen.

-D SDL_STATIC=OFF: Denne parameteren deaktiverer bygging av statiske biblioteker.

-D SDL_RPATH=OFF: Denne parameteren deaktiverer installasjon med rpath. Ellers kan det forårsake sikkerhetsproblemer.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libSDL3.so
Installerte Mapper: /usr/include/SDL3 og /usr/lib/cmake/SDL3

Korte Beskrivelser

libSDL3.so

inneholder funksjoner som gir lavnivåtilgang til lyd, tastatur, mus, joystick, 3D-maskinvare via OpenGL og 2D rammebufferen på tvers av flere plattformer

sound-theme-freedesktop-0.8

Introduksjon til Sound Theme Freedesktop

Sound Theme Freedesktop pakken inneholder lydtemaer for skrivebordet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av Sound Theme Freedesktop

Installer Sound Theme Freedesktop ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/sounds/freedesktop

SoundTouch-2.4.0

Introduksjon til SoundTouch

SoundTouch pakken inneholder åpen kildekode lyd prosesseringsbibliotek som gjør det mulig å endre lydtempo, tonehøyde og avspille rateparametere uavhengig av hverandre.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av SoundTouch

Notat

Tarballen utvider seg til 'soundtouch' i stedet for det forventede 'soundtouch-2.4.0'

Installer SoundTouch ved å kjøre følgende kommandoer:

Obs

bootstrap kommandoen nedenfor mislykkes hvis ACLOCAL miljøvariabelen er satt som spesifisert i Xorg-7. Hvis den brukes, må ACLOCAL deaktiveres for denne pakken og deretter tilbakestilles for andre pakker.

./bootstrap &&
./configure --prefix=/usr \
            --docdir=/usr/share/doc/soundtouch-2.4.0 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install 

Parameterforklaringer

--enable-openmp: Denne bryteren legger til støtte for å kjøre algoritmene parallelt på tvers av flere prosessorkjerner ved hjelp av OpenMP implementering levert av GCC.

Innhold

Installert Program: soundstretch
Installert Bibliotek: libSoundTouch.so
Installerte Mapper: /usr/include/soundtouch og /usr/share/doc/soundtouch-2.4.0

Korte Beskrivelser

soundstretch

er et program for å behandle WAV lydfiler ved å endre egenskaper for lydtempo, tonehøyde og avspillingshastighet uavhengig fra hverandre

libSoundTouch.so

inneholder SoundTouch API funksjoner

Speex-1.2.1

Introduksjon til Speex

Speex er et lydkomprimeringsformat designet spesielt for tale. Den er godt tilpasset internett applikasjoner og gir nyttige funksjoner som ikke finnes i de fleste andre CODEC-er.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Speex Avhengigheter

Påkrevd

libogg-1.3.6

Valgfri

Valgrind-3.26.0

Installasjon av Speex

Denne pakken består av to separate tarballer. De må trekkes ut og bygges uavhengig.

Installer Speex ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/speex-1.2.1 &&
make

Denne pakken kommer ikke med en testpakke.

Som root bruker:

make install

Pakk ut og installer nå speexdsp pakken:

cd ..                          &&
tar -xf speexdsp-1.2.1.tar.gz &&
cd speexdsp-1.2.1             &&

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/speexdsp-1.2.1 &&
make

Igjen, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: speexenc og speexdec
Installerte Biblioteker: libspeex.so og libspeexdsp.so
Installerte Mapper: /usr/include/speex og /usr/share/doc/speex-1.2.1

Korte Beskrivelser

speexdec

dekoder en Speex fil og produserer en WAV eller raw fil

speexenc

koder en WAV eller raw fil ved hjelp av Speex

libspeex.so

gir funksjoner for lydkodings-/dekodingsprogrammene

libspeexdsp.so

er et talebehandlingsbibliotek som kan brukes med Speex kodek

SVT-AV1-4.0.1

Introduksjon til SVT-AV1

SVT-AV1 pakken inneholder en AV1 koder.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

SVT-AV1 Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt
Valgfri

Valgrind-3.26.0

Notat

En Internett tilkobling er nødvendig for noen tester av denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.16.1 før du tester denne pakken.

Installasjon av SVT-AV1

Installer SVT-AV1 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr   \
      -D CMAKE_BUILD_TYPE=Release    \
      -D CMAKE_SKIP_INSTALL_RPATH=ON \
      -D BUILD_SHARED_LIBS=ON        \
      -W no-dev -G Ninja .. &&

ninja

Testpakken er veldig lang og gir ikke meningsfulle resultater. Hvis du likevel vil teste resultatene, utsted:

cmake .. -D BUILD_TESTING=ON &&
ninja                        &&
ninja TestVectors            &&
SVT_AV1_TEST_VECTOR_PATH=$PWD/../test/vectors \
ctest -V -O testlog.txt --timeout 10800

På et relativt tregt system er det nødvendig å øke tidsavbruddet (se SBU verdien for tester øverst på siden). I SvtAv1ApiTests testen, 12 run_paramter_check deltester er kjent for å mislykkes. Testpakken vil laste ned en kopi av libaom (selv om libaom-3.13.1 (allerede er installert, testpakken er fortsatt ute av stand til å bruke systeminstallasjonen) og noen videoer som test innganger.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D BUILD_SHARED_LIBS=ON: Denne parameteren tvinger frem bygging av delte versjoner av bibliotekene.

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjerner hardkodede biblioteksøkebaner (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den først er installert i standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-D BUILD_TESTING=ON: Dette alternativet muliggjør bygging av enhetstester.

Innhold

Installert Program: SvtAv1EncApp
Installert Bibliotek: libSvtAv1Enc.so
Installert Mappe: /usr/include/svt-av1

Korte Beskrivelser

SvtAv1EncApp

er SVT-AV1 koderverktøyet

libSvtAv1Enc.so

inneholder funksjoner som muliggjør koding av AV1

Taglib-2.1.1

Introduksjon til Taglib

Taglib er et bibliotek som brukes til å lese, skrive og manipulere lydfil tagger og brukes av applikasjoner som for eksempel VLC.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://taglib.org/releases/taglib-2.1.1.tar.gz

  • Nedlasting MD5 sum: 9feffe76b4643eb724185310879c3123

  • Nedlastingsstørrelse: 1.5 MB

  • Estimert diskplass som kreves: 16 MB

  • Estimert byggetid: 0.1 SBU (Bruker parallellisme=4)

Taglib Avhengigheter

Påkrevd

CMake-4.2.3 og utfcpp-4.0.9

Vakgfri (for tester)

Cppunit

Installasjon av Taglib

Installer Taglib ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D BUILD_SHARED_LIBS=ON \
      .. &&
make

Testpakken krever Cppunit men den er ikke en BLFS pakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: taglib-config
Installerte Biblioteker: libtag.so og libtag_c.so
Installerte Mapper: /usr/include/taglib

Korte Beskrivelser

taglib-config

er et verktøy som brukes til å skrive ut informasjon om taglib installasjonen

v4l-utils-1.32.0

Introduksjon til v4l-utils

v4l-utils gir en rekke verktøy for medieenheter, som tillater muligheten til å håndtere proprietære formater tilgjengelig fra de fleste webkameraer (libv4l), og gir verktøy for å teste V4L enheter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

v4l-utils Avhengigheter

Anbefalt
Valgfri

Doxygen-1.16.1, Qt-6.10.2 (for qv4l2 og qvidcap), sdl2-compat-2.32.64, både LLVM-21.1.8 (med Clang og target BPF) og libbpf (for infrarøde fjernkontrolldekodere basert på BPF), og SDL_image

Installasjon av v4l-utils

Notat

Hvis du har installert både LLVM og libbpf (ikke i BLFS), enten aktiver BPF målet (via -D LLVM_TARGETS_TO_BUILD=) ved bygging av LLVM, eller deaktiver de infrarøde fjernkontrolldekoderne basert på BPF:

sed -i '/^ir_bpf_enabled/s/=.*/= false/' utils/keytable/meson.build

Installer v4l-utils ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D gconv=disabled   \
      -D doxygen-doc=disabled &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Hvis du også ønsker å installere bidragsprogrammene, legg til:

for prog in v4l2gl v4l2grab
do
   cp -v contrib/test/$prog /usr/bin
done

Parameterforklaringer

-D gconv=disabled: Denne bryteren deaktiverer den feilaktige installasjonen av gconv moduler som ville bryte glibc.

Innhold

Installerte Programmer: cec-compliance, cec-ctl, cec-follower, cx18-ctl, decode_tm6000, dvb-fe-tool, dvb-format-convert, dvbv5-daemon, dvbv5-scan, dvbv5-zap, ir-ctl, ir-keytable, ivtv-ctl, media-ctl, qv4l2, qvidcap, rds-ctl, v4l2-compliance, v4l2-ctl, v4l2-dbg, v4l2gl, v4l2grab, og v4l2-sysfs-path
Installert Bibliotek: libdvbv5.so, libv4l1.so, libv4l2.so, libv4l2rds.so, libv4lconvert.so, v4l1compat.so, og v4l2convert.so
Installerte Mapper: /etc/rc_keymaps, /lib/udev/rc_keymaps, /usr/include/libdvbv5, og /usr/lib/libv4l

Korte Beskrivelser

cx18-ctl

er et verktøy for å håndtere cx18 baserte enheter

decode_tm6000

dekoder multipleksede formater fra TM5600/TM6000 USB enheter

dvb-fe-tool

er et kommandolinjeverktøy for digitale TV-tjenester

dvb-format-convert

er et verktøy ment å konvertere mellom forskjellige filformater. Det er i samsvar med versjon 5 av DVB API

dvbv5-scan

er et kommandolinjeverktøy for frekvensskanning for digitale TV-tjenester som er kompatible med versjon 5 av DVB API

dvbv5-zap

er et kommandolinjeinnstillingsverktøy for digitale TV-tjenester som er i samsvar med versjon 5 av DVB API

ir-keytable

er et verktøy som viser fjernkontrollenhetene, tillater en å få/sette IR-nøkkelkode/skannekodetabeller, testhendelser generert av IR, og for å justere andre fjernkontrollalternativer

ivtv-ctl

er et verktøy som kan kontrollere mange kortinnstillinger, som å endre inngangene fra tuner til svideo eller kompositt, innstillingsvideo oppløsning eller endring av videomodus (PAL, SECAM, NTSC)

media-ctl

er et verktøy som brukes til å konfigurere V4L2 enheter

qv4l2

brukes til å teste video4linux opptaksenheter

qvidcap

brukes til å ta opp video fra en V4L2 enhet

rds-ctl

er et verktøy for å dekode rå RDS data fra V4L2 radioenheter og tilbyr enkle måter å få tilgang til den mottatte RDS informasjonen på

v4l2-compliance

er et samsvarstestverktøy

v4l2-ctl

er et verktøy for å kontrollere v4l2 kontroller fra kommandolinjen

v4l2-dbg

er et verktøy for å direkte hente og sette registre for v4l2 enheter

v4l2gl

tar bilder ved hjelp av libv4l og lagrer dem som PPM filer

v4l2grab

tar bilder ved hjelp av libv4l og lagrer dem som PPM filer, men gir også mulighet for flere alternativer som å angi mengden av rammer tatt opp og lagrer filen som en RAW fil

v4l2-sysfs-path

sjekker medieenhetene som er installert på en maskin og tilsvarende enhetsnoder

Wireplumber-0.5.13

Introduksjon til Wireplumber

Wireplumber pakken inneholder en økt og regel behandler for Pipewire.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Wireplumber Avhengigheter

Påkrevd

elogind-255.22, GLib-2.86.4, og pipewire-1.4.10

Anbefalt
Valgfri

Doxygen-1.16.1, lxml-6.0.2, sphinx-9.1.0, sphinx_rtd_theme-3.1.0, og Breathe

Installasjon av Wireplumber

Installer Wireplumber ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D system-lua=true .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Til slutt, gi nytt navn til dokumentasjonsmappen til en versjonert katalog som root bruker:

mv -v /usr/share/doc/wireplumber{,-0.5.13}

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D system-lua=true: Denne bryteren aktiverer bruk av systemversjonen av Lua. Utelat denne bryteren hvis du ikke har installert Lua, men merk det meson vil laste ned og installere sin egen versjon.

Konfigurere Wireplumber

Konfigurasjonsinformasjon

For at Wireplumber skal brukes av Pipewire, Wireplumber og Pipewire må konfigureres til å starte når et skrivebordsmiljø blir startet.

Pipewire tilbyr nå sin egen Pulseaudio serverimplementering, som forårsaker kjøretidskonflikter med serveren levert av Pulseaudio selv. Dette viser seg vanligvis ved at applikasjoner henger eller ikke fungerer når du prøver å spille av eller ta opp lyd og video. For det første, forebygge Pulsaudio fra å starte sin egen serverimplementering ved å kjøre følgende kommandoer som root bruker:

rm -vf /etc/xdg/autostart/pulseaudio.desktop         &&
rm -vf /etc/xdg/Xwayland-session.d/00-pulseaudio-x11 &&
sed -e '$a autospawn = no' -i /etc/pulse/client.conf

Neste lag et skallskript som vil starte Wireplumber og Pipewire i riktig rekkefølge som root bruker:

cat > /usr/bin/pipewire-launcher.sh << "EOF"
#!/bin/sh
# Begin /usr/bin/pipewire-launcher.sh

# First, kill any previous instances of pipewire, wireplumber, or pipewire-pulse
# that are running. Multiple instances of the daemon can not be run at the same
# time, and this helps prevent possible errors if a user logs out or logs in
# too fast, and restores audio if Pipewire hangs and needs to be reset.

pkill -u ${USER} -fx /usr/bin/pipewire-pulse
pkill -u ${USER} -fx /usr/bin/wireplumber
pkill -u ${USER} -fx /usr/bin/pipewire

# Start Pipewire first.
exec /usr/bin/pipewire &

# Next, we need to wait until pipewire is up before starting wireplumber.
# This prevents a possible race condition where pipewire takes too long
# to start, as some users have run into.
while [ $(pgrep -f /usr/bin/pipewire) = "" ]; do
   sleep 1
done

# Start Wireplumber now that Pipewire has been started.
exec /usr/bin/wireplumber &

# Start the Pulseaudio server included with Pipewire.
exec /usr/bin/pipewire-pulse &

# End /usr/bin/pipewire-launcher.sh
EOF

Deretter gjør du dette skallskriptet kjørbart som root bruker:

chmod +x /usr/bin/pipewire-launcher.sh

Til slutt oppretter du en XDG Autostart fil som vil kjøre /usr/bin/pipewire-launcher.sh når et skrivebordsmiljø blir startet, som root bruker:

cat > /etc/xdg/autostart/pipewire.desktop << "EOF"
[Desktop Entry]
Version=1.0
Name=Pipewire
Comment=Starts the Pipewire and Wireplumber daemons
Exec=/usr/bin/pipewire-launcher.sh
Terminal=false
Type=Application
EOF

Nå som Wireplumber er konfigurert til å starte når et skrivebordsmiljø blir startet, anbefales det at du logger ut av økten og logger tilbake inn igjen.

Innhold

Installerte Programmer: wireplumber, wpctl, og wpexec
Installerte Biblioteker: libwireplumber-0.5.so
Installerte Mapper: /usr/include/wireplumber-0.5, /usr/lib/wireplumber-0.5, /usr/share/wireplumber, og /usr/share/doc/wireplumber-0.5.13

Korte Beskrivelser

wireplumber

er økt og regel behandler for Pipewire

wpctl

kontroller og spør etter informasjon fra Wireplumber

wpexec

utfører Wireplumber skript, som ofte er skrevet i Lua

libwireplumber-0.5.so

inneholder funksjoner som lar andre programmer styre Wireplumber

x264-20250815

Introduksjon til x264

x264 pakken gir et bibliotek for koding av videostrømmer til H.264/MPEG-4 AVC formatet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

x264 Avhengigheter

Anbefalt
Valgfri

ffms2, gpac eller liblsmash

Installasjon av x264

Installer x264 ved å kjøre følgende kommandoer:

./configure --prefix=/usr   \
            --enable-shared \
            --disable-cli   &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-cli: Denne bryteren deaktiverer bygging av kommandolinjekoder som er overflødig siden det krever FFmpeg for de fleste inndataformatene.

--disable-asm: Bruk denne bryteren hvis du ikke installerte NASM.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libx264.so
Installert Mappe: Ingen

Korte Beskrivelser

libx264.so

gir funksjonene som brukes til å kode videostrømmer til H.264/MPEG-4 AVC formatet

x265-4.1

Introduksjon til x265

x265 pakken gir et bibliotek for koding av video strømmer til H.265/HEVC formatet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

x265 Avhengigheter

Påkrevd

CMake-4.2.3

Anbefalt
Valgfri

numactl

Installasjon av x265

Fjern først noen CMake retningsinnstillinger som ikke lenger er kompatible med CMake-4.0 og nyere:

sed -r '/cmake_policy.*(0025|0054)/d' -i source/CMakeLists.txt

Installer x265 ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

cmake -D CMAKE_INSTALL_PREFIX=/usr        \
      -D GIT_ARCHETYPE=1                  \
      -D CMAKE_POLICY_VERSION_MINIMUM=3.5 \
      -W no-dev                           \
      ../source                           &&
make

Denne pakken kommer ikke med en testpakke.

For å installere pakken må du først fjerne eventuelle gamle bibliotekversjoner. Etter installasjonen fjerner du et statisk bibliotek. Som root bruker:

make install &&
rm -vf /usr/lib/libx265.a

Parameterforklaringer

-D GIT_ARCHETYPE=1: Denne bryteren er nødvendig fordi byggesystemet ikke vil generere en pkg-config fil eller installere et delt bibliotek med mindre git-2.53.0 er installert. Git kreves ikke for noe annet i denne pakken, så denne bryteren er brukes for å omgå det for brukere som ikke ønsker å installere Git som en byggeavhengighet.

-D CMAKE_POLICY_VERSION_MINIMUM=3.5: Denne bryteren gjør at denne pakken kan bygges med cmake-4.0 eller nyere.

-W no-dev: Denne bryteren brukes til å undertrykke advarsler beregnet på pakkens utviklere.

rm -vf /usr/lib/libx265.a: BLFS anbefaler ikke bruk av statiske biblioteker.

Innhold

Installert Program: x265
Installert Bibliotek: libx265.so
Installerte Mapper: Ingen

Korte Beskrivelser

libx265.so

gir funksjonene som brukes til å kode videostrømmer til H.265/HEVC formatet

xine-lib-1.2.13

Introduksjon til Xine Biblioteker

Xine Bibliotek pakken inneholder xine biblioteker. Disse er nyttige for grensesnitt med eksterne programtillegg som tillater flyt av informasjon fra kilden til lyd og video maskinvare.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Xine Biblioteker Avhengigheter

Påkrevd

et grafiske miljø, FFmpeg-8.0.1, og minst en av: alsa-lib-1.2.15.3, PulseAudio-17.0, eller JACK

Anbefalt
Valgfri

AAlib-1.4rc5, FAAD2-2.11.2, FLAC-1.5.0, gdk-pixbuf-2.44.5, GLU-9.0.3, ImageMagick-7.1.2-13, liba52-0.8.0, libdvdcss-1.5.0, libmad-0.15.1b, libmng-2.0.3, libnsl-2.0.1, libva-2.23.0 (krever GLU-9.0.3), libvorbis-1.3.7, libvpx-1.16.0, Mesa-25.3.5, Samba-4.23.5, Speex-1.2.1, Doxygen-1.16.1 (for å lage API dokumentasjonen), v4l-utils-1.32.0 DirectFB, libbluray, libcaca, libdca, libFAME, libmodplug, libtheora, musepack, SDL1, VCDImager, og WavPack

Installasjon av Xine Biblioteker

Først, fiks å bygge denne pakken med ffmpeg-7.0 og senere:

patch -Np1 -i ../xine-lib-1.2.13-upstream_fixes-1.patch

Neste, fiks bygging av denne pakken med gcc-15.x:

patch -Np1 -i ../xine-lib-1.2.13-gcc15_fixes-1.patch

Deretter, fiks byggingen av denne pakken med ffmpeg-8:

patch -Np1 -i ../xine-lib-1.2.13-ffmpeg8.patch

Installer Xine Libraries ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --disable-vcd          \
            --disable-w32dll       \
            --with-external-dvdnav \
            --docdir=/usr/share/doc/xine-lib-1.2.13 &&
make

For å lage API dokumentasjonen, Doxygen må være installert og utsted følgende kommando:

doxygen doc/Doxyfile

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Notat

Når du installerer, gjør Makefile noen ekstra koblinger. Hvis du ikke har Xorg i /usr, må LIBRARY_PATH variabelen defineres for root brukeren. Hvis du bruker sudo for å angi root, bruk -E-alternativet for å sende dine nåværende miljøvariabler for installasjonsprosessen.

Hvis du har laget API dokumentasjonen, utfør følgende kommandoer som root bruker for å installere det:

install -v -m755 -d /usr/share/doc/xine-lib-1.2.13/api &&
install -v -m644    doc/api/* \
                    /usr/share/doc/xine-lib-1.2.13/api

Parameterforklaringer

--disable-vcd: Denne bryteren er nødvendig for å kompilere Xine Lib uten VCDImager installert. Fjern dette alternativet hvis du har installert VCDImager.

--with-external-dvdnav: Denne bryteren er nødvendig, fordi interne biblioteker ikke kan dekryptere DVD.

--disable-win32dll: Denne bryteren deaktiverer bygging av Win32 støtte i bibliotekene, og fikser en kompileringsfeil på 32-biters systemer.

--docdir=/usr/share/doc/xine-lib-1.2.13: Denne bryteren fører til at dokumentasjonen installeres i en versjonert mappe i stedet for standard /usr/share/doc/xine-lib.

--disable-vaapi: bruk denne bryteren hvis libva-2.23.0 er installert og GLU-9.0.3 ikke er det, for å forhindre byggefeil.

Innhold

Installerte Programmer: xine-config og xine-list-1.2
Installerte Biblioteker: libxine.so og mange programtilleggsmoduler og videoutvidelser under /usr/lib/xine/plugins/2.8
Installerte Fonter: Utdata skjermmotor fonter plassert i /usr/share/xine-lib/fonts
Installerte Mapper: /usr/include/xine, /usr/lib/xine, /usr/share/xine-lib, og /usr/share/doc/xine-lib-1.2.13

Korte Beskrivelser

xine-config

gir informasjon til programmer som prøver å koble til xine bibliotekene

xine-list-1.2

brukes til å hente støttet filtypeinformasjon fra xine-lib

libxine.so

gir API for behandling av lyd-/videofiler

XviD-1.3.7

Introduksjon til XviD

XviD er en MPEG-4 kompatibel video CODEC.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

XviD Avhengigheter

Valgfri

yasm-1.3.0 eller NASM-3.01

Installasjon av XviD

Notat

Denne pakken sin tarball utvides til xvidcore, ikke det forventede xvidcore-1.3.7.

Først, fiks et problem når du bygger med gcc-15:

sed -i '/typedef int bool;/d' src/encoder.h

Installer XviD ved å kjøre følgende kommandoer:

cd build/generic &&
sed -i 's/^LN_S=@LN_S@/& -f -v/' platform.inc.in &&

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

sed -i '/libdir.*STATIC_LIB/ s/^/#/' Makefile &&
make install &&

chmod -v 755 /usr/lib/libxvidcore.so.4.3 &&
install -v -m755 -d /usr/share/doc/xvidcore-1.3.7/examples &&
install -v -m644 ../../doc/* /usr/share/doc/xvidcore-1.3.7 &&
install -v -m644 ../../examples/* \
    /usr/share/doc/xvidcore-1.3.7/examples

Parameterforklaringer

sed -i 's/^LN_S=@LN_S@/& -f -v/' platform.inc.in: Fikser feil under make install hvis du installerer på nytt eller oppgraderer.

sed -i '/libdir.*STATIC_LIB/ s/^/#/' Makefile: Denne kommandoen deaktiverer installasjonen av det statiske biblioteket.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libxvidcore.so
Installert Mappe: /usr/share/doc/xvidcore-1.3.7

Korte Beskrivelser

libxvidcore.so

gir funksjoner for å kode og dekode det meste av MPEG-4 videodataen

Kapittel 43. Lydverktøy

Dette kapittelet inneholder programmer som er involvert i lydfil manipulasjon; det vil si å spille, ta opp, rippe og andre vanlige ting som folk ønsker å gjøre. Det inkluderer også en pakke for å gjengi tekst til tale ved å bruke systemets lydmaskinvare. For å bruke mye av denne programvaren, må du ha kjernelyddriverne installert.

Audacious-4.5.1

Introduksjon til Audacious

Audacious er en lydspiller.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Nødvendige programtillegg

Audacious Avhengigheter

Påkrevd

GTK-3.24.51 og Qt-6.10.2

Anbefalt

libarchive-3.8.5

Valgfri

Valgrind-3.26.0

Anbefalt (for programtillegg)
Valgfri (for programtillegg)

alsa-lib-1.2.15.3, cURL-8.18.0, FAAD2-2.11.2, FLAC-1.5.0, LAME-3.100, libxml2-2.15.1, libcdio-2.1.0 (for å identifisere og spille av CDer), libnotify-0.8.8, libsndfile-1.2.2, libvorbis-1.3.7, Opus-1.6.1, pipewire-1.4.10, PulseAudio-17.0, SDL3-3.4.0, ampache-browser, adplug, The Bauer stereophonic-to-binaural DSP (bs2b) bibliotek, FluidSynth, JACK (krever libsamplerate-0.2.2), libcue, libmodplug, libmms, libopenmpt, libsidplayfp, LIRC, sndio, SoX, og WavPack

Installasjon av Audacious

Installasjon av hovedprogrammet Audacious

Installer Audacious ved å kjøre følgende kommandoer (du ønsker kanskje å endre å buildstamp til en annen streng):

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D gtk=true         \
      -D qt=true          \
      -D buildstamp=BLFS  \
      -D libarchive=true  &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Installasjon av Audacious Programtillegg

Installer de nødvendige programtilleggspakkene ved å utstede følgende kommandoer:

tar -xf ../../audacious-plugins-4.5.1.tar.bz2 &&
cd audacious-plugins-4.5.1                    &&

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D gtk=true         \
      -D qt=true          \
      -D opus=false       \
      -D wavpack=false    &&
ninja

Nå, som root bruker:

ninja install

Parameterforklaringer

-D buildstamp=BLFS: Denne bryteren legger til den gitte teksten til versjonsstrengen.

-D gtk=true: Dette alternativet aktiverer GTK støtte for grafisk brukergrensesnitt.

-D qt=true: Dette alternativet aktiverer Qt støtte for grafisk brukergrensesnitt.

-D libarchive=true: Dette legger til libarchive støtte, for lesing av komprimerte modulsett eller skins.

-D valgrind=true: Alternativet aktiverer Valgrind analysestøtte.

Innhold

Installerte Programmer: audacious og audtool
Installerte Biblioteker: libaudcore.so, libaudgui.so, libaudqt.so, libaudtag.so, og flere programtilleggsbiblioteker under /usr/lib/audacious/ undermapper
Installerte Mapper: /usr/include/{audacious,libaudcore,libaudgui,libaudqt}, /usr/lib/audacious, og /usr/share/audacious

Korte Beskrivelser

audacious

er en lydspiller og er en etterkommer etter XMMS

audtool

er et lite verktøy for å endre oppførselen til en kjørende audacious økt

CDParanoia-III-10.2

Introduksjon til CDParanoia

CDParanoia pakken inneholder en CD-lyd ekstraksjonsverktøy. Dette er nyttig for å trekke ut .wav filer fra lyd-CDer. En CDDA kompatibel CDROM stasjon er nødvendig. Praktisk talt alle stasjoner som støttes av Linux kan brukes.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/cdparanoia

Installasjon av CDParanoia

Notat

Denne pakken støtter ikke parallellbygging.

Installer CDParanoia ved å kjøre følgende kommandoer:

patch -Np1 -i ../cdparanoia-III-10.2-gcc_fixes-1.patch &&
./configure --prefix=/usr --mandir=/usr/share/man &&
make -j1

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
chmod -v 755 /usr/lib/libcdda_*.so.0.10.2 &&
rm -fv /usr/lib/libcdda_*.a

Innhold

Installert Program: cdparanoia
Installerte Biblioteker: libcdda_interface.so og libcdda_paranoia.so
Installerte Mapper: Ingen

Korte Beskrivelser

cdparanoia

brukes til å "rippe" en lyd-cd. Ripping er prosessen med å digitalt trekke ut musikk fra en lyd-CD

libcdda_interface

inneholder funksjoner som brukes av cdparanoia, samt andre pakker, som automatisk kan identifisere om en CD-enhet er CDDA kompatibel

libcdda_paranoia

inneholder funksjoner som brukes av cdparanoia, samt andre pakker, som gir dataverifisering, synkronisering, feilhåndtering og riperekonstruksjonsevne

kwave-25.08.3

Introduksjon til KWave

KWave pakken inneholder en KDE Rammeverk basert lyd redigeringsapplikasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

KWave Avhengigheter

Påkrevd

AudioFile-0.3.6, fftw-3.3.10, id3lib-3.8.3, og KDE Frameworks-6.20.0

Anbefalt
Valgfri

Doxygen-1.16.1

Installasjon av KWave

Installer KWave ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \
      -D CMAKE_BUILD_TYPE=Release         \
      -D BUILD_TESTING=OFF                \
      -W no-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: kwave
Installerte Biblioteker: libkwave.so, libkwavegui.so, og 30 programtillegg
Installerte Mapper: $KF6_PREFIX/lib/plugins/kwave, $KF6_PREFIX/share/kwave, $KF6_PREFIX/share/doc/HTML/*/kwave

Korte Beskrivelser

kwave

er et lydredigeringsprogram bygget på KDE Rammeverk

LAME-3.100

Introduksjon til LAME

LAME pakken inneholder en MP3 koder og eventuelt en MP3 rammeanalysator. Dette er nyttig for å lage og analysere komprimerte lydfiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

LAME Avhengigheter

Valgfri

Dmalloc, Electric Fence, libsndfile-1.2.2 og NASM-3.01

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/lame

Installasjon av LAME

Forhindre kildekodemappen fra å bli feilaktig hardkodet som en delt biblioteksøkesti i de installerte programmene:

sed -i -e 's/^\(\s*hardcode_libdir_flag_spec\s*=\).*/\1/' configure

Installer LAME ved å kjøre følgende kommandoer:

./configure --prefix=/usr --enable-mp3rtp --disable-static &&
make

For å teste resultatene, kjør: LD_LIBRARY_PATH=libmp3lame/.libs make test.

Nå, som root bruker:

make pkghtmldir=/usr/share/doc/lame-3.100 install

Parameterforklaringer

--enable-mp3rtp: Denne bryteren aktiverer bygging av encode-to-RTP programmet.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-nasm: Dette alternativet aktiverer bruk av NASM-3.01 å kompilere optimaliserte monteringsrutiner for 32-bit x86. Merk at dette har ingen effekt på x86_64.

Innhold

Installerte Programmer: lame og mp3rtp
Installert Bibliotek: libmp3lame.so
Installerte Mapper: /usr/include/lame og /usr/share/doc/lame-3.100

Korte Beskrivelser

lame

lager MP3 lydfiler fra rå PCM eller .wav data

mp3rtp

brukes til å kode MP3 med RTP streaming av utdataen

libmp3lame.so

gir de nødvendige funksjonene for å konvertere rå PCM og WAV filer til MP3 filer

mpg123-1.33.4

Introduksjon til mpg123

mpg123 pakken inneholder en konsollbasert MP3 spiller. Den hevder å være den raskeste MP3 dekoderen for Unix.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

mpg123 Avhengigheter

Anbefalt
Valgfri

PulseAudio-17.0, sdl2-compat-2.32.64, JACK, OpenAL og PortAudio

Installasjon av mpg123

Installer mpg123 ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: mpg123, mpg123-id3dump, mpg123-strip, og out123
Installerte Biblioteker: libmpg123.so, libout123.so, og libsyn123.so
Installert Mappe: /usr/lib/mpg123

Korte Beskrivelser

mpg123

brukes til å spille av MP3 filer via konsollen

mpg123-id3dump

er et verktøy for å dumpe ID3 metadata fra MPEG lydfiler ved bruk av libmpg123

mpg123-strip

trekker bare ut MPEG rammer fra en strøm ved å bruke libmpg123 (stdin til stdout)

out123

spiller rå PCM lyd til en utgangsenhet

libmpg123.so

inneholder mpg123 API funksjoner

libout123.so

inneholder out123 API funksjoner

libsyn123.so

inneholder litt lydsignalsyntese og formatkonverterings funksjoner

pavucontrol-6.2

Introduksjon til pavucontrol

PulseAudio Volumkontroll (pavucontrol) er et enkelt GTK basert volum kontrollverktøy ("mikser") for PulseAudio lydserveren. I motsetning til klassiske mikserverktøy, denne lar deg kontrollere både volumet på maskinvareenheter og hver avspillingsstrøm separat.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

pavucontrol Avhengigheter

Påkrevd

Gtkmm-4.20.0, JSON-GLib-1.10.8, libsigc++-3.6.0, og PulseAudio-17.0

Valgfri

libcanberra-0.30 og Lynx-2.9.2

Installasjon av pavucontrol

Installer pavucontrol ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -D lynx=disabled .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
mv /usr/share/doc/pavucontrol /usr/share/doc/pavucontrol-6.2

Parameterforklaringer

-D lynx=disabled: Denne bryteren deaktiverer generering av README filen i tekstformat. Fjern denne bryteren hvis du vil ha README filen i tekstformat og har Lynx-2.9.2 installert.

Innhold

Installert Program: pavucontrol
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/pavucontrol and /usr/share/doc/pavucontrol-6.2

Korte Beskrivelser

pavucontrol

er et GUI konfigurasjonsverktøy for lydinnstillinger ved hjelp av pulsaudio

pnmixer-0.7.2

Introduksjon til Pnmixer

Pnmixer pakken gir en lettvekts volumkontroll med et meldingsområde ikon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Pnmixer Avhengigheter

Påkrevd

alsa-utils-1.2.15.2, GTK-3.24.51, og libnotify-0.8.8

Installasjon av Pnmixer

Installer Pnmixer ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr ..  &&
make

Denne pakken har ikke en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: pnmixer
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/pnmixer

Korte Beskrivelser

pnmixer

er en lett volumkontroll som sitter i et meldingsområde

vorbis-tools-1.4.3

Introduksjon til Vorbis Tools

Vorbis Tools pakken inneholder kommandolinjeverktøy som er nyttige for koding, avspilling eller redigering av filer ved hjelp av Ogg codec.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Vorbis Tools Avhengigheter

Påkrevd

libvorbis-1.3.7

Valgfri (påkrevd for å bygge ogg123 programmet)

libao-1.2.0

Valgfri

cURL-8.18.0, FLAC-1.5.0, Speex-1.2.1, og libkate

Installasjon av Vorbis Tools

Installer Vorbis Tools ved å kjøre følgende kommandoer:

./configure --prefix=/usr --enable-vcut &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-vcut: Denne parameteren brukes slik at vcut programmet er bygget siden det ikke er standard.

Konfigurere Vorbis Tools

Konfigurasjonsfiler

/etc/libao.conf, ~/.libao og ~/.ogg123rc

Konfigurasjonsinformasjon

Utsted man libao.conf for informasjon om å angi standard utenhet. Se også /usr/share/doc/vorbis-tools-1.4.3/ogg123rc-example.

Innhold

Installerte Programmer: ogg123, oggdec, oggenc, ogginfo, vcut, og vorbiscomment
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/vorbis-tools-1.4.3

Korte Beskrivelser

ogg123

er en kommandolinje lydspiller for Ogg Vorbis strømmer

oggdec

er en enkel dekoder som konverterer Ogg Vorbis filer til PCM lydfiler (WAV eller raw)

oggenc

er en koder som gjør raw, WAV eller AIFF filer til en Ogg Vorbis strøm

ogginfo

skriver ut informasjon som er lagret i en lydfil

vcut

deler en fil i to filer ved et angitt kuttepunkt

vorbiscomment

er et redigeringsverktøy som endrer informasjon i lydfilens metadata tagger

Kapittel 44. Videoverktøy

Dette kapittelet ser alltid ut til å være favorittkapittelet. Det er sannsynligvis fordi det er mye tilfredsstillelse i å spille din første video når du har brukt så mye tid på å komme til det punktet. Alle de biblioteker, alle konfigurasjoner og belønningen din er at du endelig kommer til se en film. Men ikke bekymre deg, det er alltid en til KODEK å installere.

FFmpeg-8.0.1

Introduksjon til FFmpeg

FFmpeg er en løsning for å ta opp, konvertere og strømme lyd og video. Det er en veldig rask video og lyd konverterer og den kan også hentes fra en live lyd-/videokilde. Designet for å være intuitivt, kommandolinjegrensesnittet (ffmpeg) prøver å finne ut av alle parametere, når det er mulig. FFmpeg kan også konvertere fra hvilken som helst samplingsfrekvens til en hvilken som helst annen, og endre størrelse på video i farten med et høykvalitets flerfasefilter. FFmpeg kan bruke en Video4Linux kompatibel videokilde og en hvilken som helst Open Sound System lydkilde.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ffmpeg.org/releases/ffmpeg-8.0.1.tar.xz

  • Nedlasting MD5 sum: b4e86cef7b3333034977ae9df391896d

  • Nedlastingsstørrelse: 11 MB

  • Estimert diskplass som kreves: 226 MB (legg til 1.7 GB for FATE pakken/tester, legg til 869 MB for dokumentasjon)

  • Estimert byggetid: 1.6 SBU (bruker parallellisme=4; legg til 3.2 SBU (med THREADS=4) for å kjøre FATE pakken etter at eksempelfilene er lastet ned; legg til 0.2 SBU for doxygen dokumentasjon)

Ytterligere Nedlastinger

FFmpeg Avhengigheter

Anbefalt
Anbefalt for skrivebordsbruk
Valgfri

Doxygen-1.16.1, Fontconfig-2.17.1, FriBidi-1.0.16, frei0r-2.5.1, libcdio-2.1.0 (å identifisere og spille av CDer), libdrm-2.4.131 (for «kmsgrab» inndata), libjxl-0.11.2, libplacebo-7.360.0 (for maskinvareakselererte fargerom og HDR tonemapping), libwebp-1.6.0, OpenJPEG-2.5.4, GnuTLS-3.8.12, PulseAudio-17.0, Samba-4.23.5, Speex-1.2.1, texlive-20250308 (eller install-tl-unx) for PDF og PS dokumentasjon, v4l-utils-1.32.0, Vulkan-Loader-1.4.341.0, XviD-1.3.7, et grafiske miljø, Flite, GSM, libaacplus, libbluray, libcaca, libcelt, libdc1394, libdca, libiec61883, libilbc, libmodplug, libnut (Git checkout), librtmp, libssh, libtheora, libvpl (for non-vaapi QuickSync) med en av Intel-MediaSDK (Haswell/4000 serie eller lavere) eller intel-onevpl (Broadwell/5000+), OpenAL, OpenCore AMR, rubberband, Srt, Schroedinger, TwoLAME, vo-aaenc, vo-amrwbenc, og ZVBI

Installasjon av FFmpeg

Først bruker du en oppdatering som legger til et API som er nødvendig for at noen pakker skal bygge:

patch -Np1 -i ../ffmpeg-8.0.1-chromium_method-1.patch

Legg nå til en rettelse fra oppstrøms for å gjøre den kompatibel med SVT-AV1-4.0.0 og nyere:

sed -e '/adaptive/c\ param->aq_mode = 0;' \
    -i libavcodec/libsvtav1.c

Installer FFmpeg ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --enable-gpl         \
            --enable-version3    \
            --enable-nonfree     \
            --disable-static     \
            --enable-shared      \
            --disable-debug      \
            --enable-libaom      \
            --enable-libass      \
            --enable-libfdk-aac  \
            --enable-libfreetype \
            --enable-libmp3lame  \
            --enable-libopus     \
            --enable-libvorbis   \
            --enable-libvpx      \
            --enable-libx264     \
            --enable-libx265     \
            --enable-openssl     \
            --enable-libdav1d    \
            --enable-libsvtav1   \
            --ignore-tests=enhanced-flv-av1,enhanced-flv-multitrack \
            --docdir=/usr/share/doc/ffmpeg-8.0.1 &&

make &&

gcc tools/qt-faststart.c -o tools/qt-faststart

HTML dokumentasjon ble bygget i forrige trinn. Hvis du har texlive-20250308 installert og ønsker å bygge PDF og Postscript versjoner av dokumentasjonen, utsted følgende kommandoer:

pushd doc &&
for DOCNAME in `basename -s .html *.html`
do
    texi2pdf -b $DOCNAME.texi &&
    texi2dvi -b $DOCNAME.texi &&

    dvips    -o $DOCNAME.ps   \
                $DOCNAME.dvi
done &&
popd &&
unset DOCNAME

Hvis du har Doxygen-1.16.1 installert og du ønsker å bygge (hvis --disable-doc var brukt) eller gjenoppbygge html dokumentasjonen, kjør:

doxygen doc/Doxyfile

Fate-suite testene inkluderer sammenligninger med installerte filer, og bør ikke kjøres før pakken er installert. Derfor, hvis du ønsker å kjøre dem, instruksjoner er gitt nedenfor.

Nå, som root bruker:

make install &&

install -v -m755    tools/qt-faststart /usr/bin &&
install -v -m755 -d           /usr/share/doc/ffmpeg-8.0.1 &&
install -v -m644    doc/*.txt /usr/share/doc/ffmpeg-8.0.1

Hvis PDF og Postscript dokumentasjonen ble bygget, utsted følgende kommandoer, som root bruker, for å installere dem:

install -v -m644 doc/*.pdf /usr/share/doc/ffmpeg-8.0.1 &&
install -v -m644 doc/*.ps  /usr/share/doc/ffmpeg-8.0.1

Hvis du brukte doxygen for å manuelt opprette API dokumentasjonen, installer den ved å utstede følgende kommandoer som root bruker:

install -v -m755 -d /usr/share/doc/ffmpeg-8.0.1/api                     &&
cp -vr doc/doxy/html/* /usr/share/doc/ffmpeg-8.0.1/api                  &&
find /usr/share/doc/ffmpeg-8.0.1/api -type f -exec chmod -c 0644 \{} \; &&
find /usr/share/doc/ffmpeg-8.0.1/api -type d -exec chmod -c 0755 \{} \;

For å teste installasjonen riktig må du ha rsync-3.4.1 installert og følg instruksjonene for FFmpeg Automated Testing Environment (FATE). Først ca 1 GB med eksempelfiler brukt for å kjøre FATE lastes ned med kommandoen:

make fate-rsync SAMPLES=fate-suite/

fate-suite mappen er opprettet og filene lastes ned der. Den kommandoen kjører faktisk en rsync kommando for å hente eksempelfilene. Det kan være lurt å komprimere og beholde denne mappen for testing på nytt, for testing i et annet system, eller for når en ny versjon av ffmpeg er utgitt. Pakk deretter ut prøvefiler i kildemappen, og kjør make fate-rsync ... kommandoen ovenfor for å synkronisere med oppstrømsdepotet. Nedlastingsstørrelse og tid reduseres drastisk ved å gjøre dette. Antatte verdier i "Pakkeinformasjon" inkluderer ikke nedlastings SBU. Noen tester kan ha blitt fjernet i nyere versjoner, så for å være sikker lokale og server fate prøver er identiske når du bruker tidligere lagrede eksempler, kjør følgende kommando:

rsync -vrltLW  --delete --timeout=60 --contimeout=60 \
      rsync://fate-suite.ffmpeg.org/fate-suite/ fate-suite/

Deretter utfører du FATE med følgende kommandoer (det er mer enn 5200 tester i pakken):

make fate THREADS=N SAMPLES=fate-suite/ | tee ../fate.log &&
grep ^TEST ../fate.log | wc -l

hvor N er et heltall, N ≤ antall kjerner i systemet.

En vellykket kjøring skal ikke returnere noen feil eller advarsler, bare en liste over tester.

Parameterforklaringer

find ... ;: Retter tillatelser for dokumentasjonsfiler og mapper.

--enable-gpl: Aktiverer bruk av GPL kode og tillater støtte for etterbehandling, swscale og mange andre funksjoner.

--enable-version3: Aktiverer bruken av (L)GPL versjon 3 kode.

--enable-nonfree: Aktiverer bruk av ikke-gratis kode. Vær oppmerksom på at de resulterende bibliotekene og binærfilene ikke kan distribueres.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-shared: Aktiverer bygging av delte biblioteker, ellers bygges og installeres kun statiske biblioteker.

--disable-debug: Deaktiverer bygging av feilsøkingssymboler inn i programmene og bibliotekene.

--enable-libaom: Aktiverer AV1 koding og dekoding via libaom.

--enable-libass: Aktiverer ASS/SSA undertekstformatgjengivelse via libass.

--enable-libdav1d: Aktiverer AV1 dekoding via libdav1d.

--enable-libdrm: Bruk denne bryteren hvis libdrm-2.4.131 er installert for å bygge «kmsgrab» inndatamodul som er nyttig for skjermopptak eller strømming.

--enable-libfdk-aac: Aktiverer AAC lydkoding via libfdk-aac.

--enable-libfreetype: Aktiverer Freetype støtte.

--enable-libmp3lame: Aktiverer MP3 lydkoding via libmp3lame.

--enable-libsvtav1: Aktiverer AV1 koding via libSvtAv1Enc. Den støtter imidlertid bare chroma undersampling av YUV420.

--enable-libvorbis --enable-libvpx: Aktiverer WebM koding via libvorbis og libvpx.

--enable-libx264: Aktiverer høykvalitets H.264/MPEG-4 AVC koding via libx264.

--enable-libx265: Aktiverer høykvalitets H.265/HEVC koding via libx265.

--enable-openssl: Aktiverer HTTPS protokollen for nettverksstrømmer.

--ignore-tests=...: Deaktiverer tester som mislykkes å kjøre på BLFS uten valgfrie pakker. For øyeblikket er AV1 testen deaktivert ettersom den trenger dav1d for å gjøre AV1 dekoding på CPUen. Testen kan fungere hvis du har en GPU som kan dekode AV1, men denne ble ikke testet.

--enable-gnutls: Bruk dette alternativet i stedet for --enable-openssl, hvis du vil bruke GnuTLS i stedet for OpenSSL for HTTPS protokollen.

--disable-doc: Deaktiverer bygging av HTML dokumentasjonen. Dette er kun nødvendig hvis Doxygen-1.16.1 er installert og du ikke ønsker å bygge html dokumentasjonen.

--enable-libpulse: Aktiverer støtte for Pulseaudio for lydutdata.

--enable-libplacebo: Aktiverer støtte for libpulse for maskinvareakselererte fargerom.

gcc tools/qt-faststart.c -o tools/qt-faststart: Dette bygger qt-faststart programmet som kan endre QuickTime formaterte filmer (.mov eller .mp4) slik at deklarasjon informasjonen er plassert i begynnelsen av filen i stedet for slutten. Dette gjør at filmfilen kan begynne å spille før hele filen har blitt lastet ned.

Notat

Støtte for de fleste av avhengighetspakkene krever bruk av alternativer gitt til configure skriptet. Se utdataen fra ./configure --help for fullstendig informasjon om å aktivere avhengighetspakker.

Innhold

Installerte Programmer: ffmpeg, ffplay, ffprobe, og qt-faststart
Installerte Biblioteker: libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavutil.so, libpostproc.so, libswresample.so, og libswscale.so
Installerte Mapper: /usr/include/libav{codec,device,filter,format,util}, /usr/include/libpostproc, /usr/include/libsw{resample,scale}, /usr/share/doc/ffmpeg-8.0.1, og /usr/share/ffmpeg

Korte Beskrivelser

ffmpeg

er et kommandolinjeverktøy for å konvertere videofiler, nettverksstrømmer og inndata fra et TV-kort til flere videoformater

ffplay

er en veldig enkel og flyttbar mediespiller som bruker ffmpeg biblioteker og SDL biblioteket

ffprobe

samler informasjon fra multimediestrømmer og skriver den ut i et menneske og maskinlesbar måte

qt-faststart

flytter indeksfilen til forsiden av quicktime (mov/mp4) videoer

libavcodec.so

er et bibliotek som inneholder FFmpeg kodeker (både koding og dekoding)

libavdevice.so

er FFmpeg enhetshåndterings biblioteket

libavfilter.so

er et bibliotek med filtre som kan endre video eller lyd mellom dekoder og koder (eller utdata)

libavformat.so

er et bibliotek som inneholder filformatene som håndterer (mux og demux kode for flere formater) brukt av ffplay som også tillater generering av lyd eller video strømmer

libavresample.so

er et bibliotek som inneholder funksjoner for omsampling av lyd og video.

libavutil.so

er FFmpeg verktøybibliotek

libpostproc.so

er FFmpeg etterbehandlingsbibliotek

libswresample.so

er FFmpeg lydskaleringsbibliotek, den inneholder funksjoner for konvertering av lydeksempelformater

libswscale.so

er FFmpeg bildeskaleringsbibliotek

mpv-0.41.0

Introduksjon til mpv

mpv er en gratis mediespiller for kommandolinjen. Den støtter et bredt utvalg av mediefilformater, lyd og video kodeker og underteksttyper.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

mpv Avhengigheter

Påkrevd

alsa-lib-1.2.15.3, FFmpeg-8.0.1, libass-0.17.4, libplacebo-7.360.0, Mesa-25.3.5, og PulseAudio-17.0

Anbefalt
Valgfrie Inndata Drivere og Biblioteker

libdvdcss-1.5.0, libdvdread-7.0.1, libdvdnav-7.0.0, og libbluray

Valgfrie Lydutdata Drivere og Biblioteker

pipewire-1.4.10, sdl2-compat-2.32.64, JACK, og OpenAL

Valgfrie Videoutdata Drivere og Biblioteker

libcaca og SVGAlib

Valgfri (for dokumentasjon)

docutils-0.22.4

Installasjon av mpv

Installer mpv ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D x11=enabled      \
            ..                  &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler inn i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK-3.24.51 installert (for ikon hurtiglageret) og desktop-file-utils-0.28 (for skrivebords hurtiglageret) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

-D x11=enabled: tillater kobling til X11 bibliotekene.

-D dvdnav=enabled: aktiverer støtte for DVD avspilling.

-D cdda=enabled: aktiverer støtte for CD lyd.

-D sdl2=enabled: aktiverer bruk av SDL2 for lyd og vide utdata.

Konfigurere mpv

Konfigurasjonsfiler

/etc/mpv/* og ~/.config/mpv/*

Innhold

Installerte Programmer: mpv
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/mpv og /usr/share/doc/mpv

Korte Beskrivelser

mpv

er mpv videospilleren

VLC-3.0.23

Introduksjon til VLC

VLC er en mediespiller, streamer og enkoder. Den kan spille fra mange innganger, for eksempel filer, nettverksstrømmer, fangst enheter, skrivebord eller DVD, SVCD, VCD og lyd-CD. Den kan bruke det meste av lyd og videokodeker (MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC, etc.), og den kan også konvertere til forskjellige formater og/eller sende strømmer gjennom nettverket.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

VLC Avhengigheter

Anbefalt
Valgfrie funksjoner og pakker

dbus-1.16.2, libidn-1.43, og libssh2-1.11.1

Valgfrie inndata programtillegg

libarchive-3.8.5, libcddb-1.3.2, libdv-1.0.0, libdvdcss-1.5.0, libdvdread-7.0.1, libdvdnav-7.0.0, libproxy-0.5.12, Samba-4.23.5, v4l-utils-1.32.0, libbluray, libdc1394, libnfs, libraw1394, Live555, og VCDImager (krever libcdio-2.1.0)

Valgfrie mux/demux programtillegg

libogg-1.3.6, Game Music Emu, libdvbpsi, libshout, libmatroska (krever libebml), libmodplug, Musepack, og sidplay-libs

Valgfrie kodek programtillegg

dav1d-1.5.3, FAAD2-2.11.2, FLAC-1.5.0, libaom-3.13.1, libass-0.17.4, libmpeg2-0.5.1, libpng-1.6.55, libva-2.23.0, libvorbis-1.3.7, Opus-1.6.1, Speex-1.2.1, libvpx-1.16.0, x264-20250815, aribb24, Dirac, FluidLite, FluidSynth, libdca, libkate, libtheora, OpenMAX, Schroedinger, Shine, SoX, Tremor, Twolame, og Zapping VBI

Valgfrie video programtillegg

AAlib-1.4rc5, Fontconfig-2.17.1, FreeType-2.14.1, FriBidi-1.0.16, gst-plugins-base-1.28.0, libplacebo-7.360.0 (for øyeblikket ødelagt), librsvg-2.61.4, libcaca, libmfx, og SDL1

Valgfrie lyd programtillegg

PulseAudio-17.0, libsamplerate-0.2.2, spatialaudio, og JACK

Valgfrie grensesnitt programtillegg

FreeRDP-3.22.0, libtar, libvncclient, og LIRC

Valgfrie visualiseringer og video filter programtillegg

Goom, libvsxu, og projectM

Valgfrie tjenesteoppdagelse programtillegg

Avahi-0.8, libmtp og libupnp

Diverse alternativer

GnuTLS-3.8.12, libnotify-0.8.8, libxml2-2.15.1, Protobuf-33.5, taglib-2.1.1, xdg-utils-1.2.1 (kjøretid), AtmoLight, libmicrodns, og Srt

Installasjon av VLC

Først, fiks en byggefeil introdusert av den nyeste versjonen av gst-plugins-base:

sed -i 's/gstvideopool.h/video.h/' modules/codec/gstreamer/gstvlcvideopool.h

Installer VLC ved å kjøre følgende kommandoer:

BUILDCC=gcc ./configure --prefix=/usr --disable-libplacebo &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make docdir=/usr/share/doc/vlc-3.0.23 install

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler inn i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK-3.24.51 installert (for ikon hurtiglageret) og desktop-file-utils-0.28 (for skrivebords hurtiglageret) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Bruke VLC

En stund, Qt-5 var den eneste måten å få et grafisk grensesnitt som denne pakken er kjent for. Den støtter nå Qt-6, men kommer med mange ulemper ettersom det er en ny portering av det forrige grensesnittet. Ting er i en ødelagt tilstand. For eksempel er pausefunksjoner og andre navigasjonsfunksjoner ødelagte, video plasseringen er feil, blant andre problemer.

Et annet problem er at videoavspilling, til tross for at lydavspilling med bildemetadata fungerer fint, er det ødelagt på Wayland uten bruk av QT_QPA_PLATFORM variabelen. Hvis du er på Wayland, bør du kjøre QT_QPA_PLATFORM=xcb vlc -I "qt" for å kjøre Qt grensesnittet. Dette tvinger xcb vindusgrensesnitt til å brukes i stedet for wayland, siden videoavspillingen vil prøve å bruke xcb uansett og mislykkes. På X11, burde ikke dette være et problem.

Mange problemer vil imidlertid fortsatt vedvare. Det anbefales å fortsatt bruke VLC på andre måter inntil disse problemene er løst.

Parameterforklaringer

--disable-libplacebo: Denne bryteren er nødvendig for å deaktive støtte for bruk av libplacebo som en gjengivelsespipeline fordi VLC er inkompatibel med den nyeste versjonen av libplacebo.

--disable-vpx: Bruk denne bryteren for å deaktivere libvpx.

--disable-mad: Bruk denne bryteren hvis du ikke har libmad installert.

--disable-avcodec --disable-swscale: Bruk denne bryteren hvis du ikke har FFmpeg installert.

--disable-a52: Bruk denne bryteren hvis du ikke har liba52 installert.

--disable-xcb: Bruk denne bryteren hvis du ikke har X Window System installert.

--disable-alsa: Bruk denne bryteren hvis du ikke har ALSA installert.

--disable-libgcrypt: Bruk denne bryteren hvis du ikke har libgcrypt installert.

--disable-sftp: Standard er å bygge sftp modulen hvis libssh2-1.11.1 er installert. Bruk denne bryteren hvis du ikke ønsker å bygge denne modulen.

Notat

Det er mange alternativer til VLC sin configure kommando. Undersøk configure --help utdata for en fullstendig liste.

Innhold

Installerte Programmer: cvlc, nvlc, qvlc, rvlc, vlc og vlc-wrapper
Installerte Biblioteker: libvlccore.so, libvlc.so, og mange programtillegg i /usr/lib/vlc/plugins
Installerte Mapper: /usr/{include,lib,share}/vlc, /usr/share/kde4, og /usr/share/doc/vlc-3.0.23

Korte Beskrivelser

cvlc

er et skript for å kjøre VLC med dummy grensesnittet

nvlc

er et skript for å kjøre VLC med ncurses grensesnittet

qvlc

er et skript for å kjøre VLC med Qt grensesnittet

rvlc

er et skript for å kjøre VLC med en kommandolinje grensesnitt

vlc

er VLC mediaspiller

vlc-wrapper

er en innpakning for å gi slipp på privilegier med VLC

xine-ui-0.99.14

Introduksjon til Xine Brukergrensesnitt

xine Brukergrensesnitt pakken inneholder en multimediespiller. Den spiller av CDer, DVDer og VCDer. Den dekoder også multimediefiler som AVI, MOV, WMV, MPEG og MP3 fra lokale diskstasjoner, og viser multimedia streamet over Internett.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Notat

Selv om denne versjonen av xine-ui fungerer med de fleste filer, er den ikke i stand til å åpne krypterte (innholdskrypterte) DVDer med gjeldende versjon av libdvdcss.

Pakkeinformasjon

Xine Brukergrensesnitt Avhengigheter

Påkrevd

xine-lib-1.2.13 og shared-mime-info-2.4

Valgfri

cURL-8.18.0, AAlib-1.4rc5, LIRC, og libcaca

Installasjon av Xine Brukergrensesnitt

Installer xine Brukergrensesnitt ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make CC="gcc -std=gnu17"

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make docsdir=/usr/share/doc/xine-ui-0.99.14 install

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler inn i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK-3.24.51 installert (for ikon hurtiglageret) og desktop-file-utils-0.28 (for skrivebords hurtiglageret) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

docsdir=/usr/share/doc/xine-ui-0.99.14: Denne parameteren gjør at Xine UI dokumentasjonen blir installert i den versjonerte mappen /usr/share/doc/xine-ui-0.99.14, i stedet for standard /usr/share/doc/xine-ui.

Konfigurere Xine Brukergrensesnitt

Konfigurasjonsfiler

~/.xine/config

Konfigurasjonsinformasjon

Ovennevnte fil opprettes og vedlikeholdes gjennom xine oppsett dialogboksen. Dokumentasjonen for konfigurasjonsinnstillinger er plassert på /usr/share/doc/xine-ui-0.99.14/README.config_en.

Hvis du har et DVB TV-kort, kan du se på TV med kommandoen xine dvb:// og bytte kanal med rullehjulet på musen din.

Innhold

Installerte Programmer: aaxine, cacaxine, fbxine, xine, xine-bugreport, xine-check, og xine-remote
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/xine og /usr/share/doc/xine-ui-0.99.14

Korte Beskrivelser

aaxine

er en ASCII art videospiller som bruker AAlib som grensesnitt for xine Libraries

cacaxine

er en farge ASCII kunst videospiller som bruker CACA som grensesnitt for xine Libraries

fbxine

er et rammebuffergrensesnitt til xine Libraries

xine

er en multimediaspiller designet for å spille av MPEG-strømmer (lyd og video), MPEG elementære strømmer (MP3), MPEG transportstrømmer, Ogg filer, AVI-filer, ASF-filer, noen Quicktime-filer, VCD-er og DVD-er

xine-bugreport

produserer en kortfattet systembeskrivelse og veileder deg gjennom prosessen med å rapportere en feil

xine-check

tester xine videospiller installasjonen for vanlige problemer. Den tester operativsysteminnstillingene, installasjon av plugins, CD/DVD-stasjonsinnstillinger og videostøtte parametere

xine-remote

er et verktøy for å koble til en xine fjernkontroll server

Kapittel 45. CD/DVD skriveverktøy

Dette kapittelet inneholder informasjon om CD/DVD skriveverktøy i Linux.

Ytterligere informasjonskilder inkluderer:

Cdrdao-1.2.6

Introduksjon til Cdrdao

Cdrdao pakken inneholder CD opptaksverktøy. Disse er nyttige for å brenne en CD i disk-at-once modus.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Cdrdao Avhengigheter

Anbefalt

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/cdrdao

Installasjon av Cdrdao

Installer Cdrdao ved å kjøre følgende kommandoer:

./configure --prefix=/usr --mandir=/usr/share/man &&
make CC="gcc -std=gnu17"

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -m755 -d /usr/share/doc/cdrdao-1.2.6 &&
install -v -m644 README /usr/share/doc/cdrdao-1.2.6

Parameterforklaringer

--mandir=/usr/share/man: Installer manualsider i /usr/share/man instead of /usr/man.

Innhold

Installerte Programmer: cdrdao, cue2toc, gcdmaster, toc2cddb, toc2cue, and optionally toc2mp3
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/cdrdao, /usr/share/doc/cdrdao-1.2.6

Korte Beskrivelser

cdrdao

tar opp lyd eller data CD-Rer i disk-at-once modus (DAO). basert på en tekstlig beskrivelse av CD innholdet

cue2toc

konverterer CUE til TOC format for lyd CDer

gcdmaster

er et grafisk grensesnitt til cdrdao som komprimerer og brenner lyd CDer

toc2cddb

konverterer en Cdrdao TOC fil til en cddb fil og skriver den ut til stdout

toc2cue

konverterer TOC til CUE format for lyd CDer

toc2mp3

konverterer et lyd-CD diskbilde (.toc fil) til MP3 filer

Cdrtools-3.02a09

Introduksjon til Cdrtools

Cdrtools pakken inneholder CD opptaksverktøy. Disse er nyttige for å lese, lage eller skrive (brenne) CDer, DVDer og Blu-ray plater.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Cdrtools Avhengigheter

Påkrevd

alsa-lib-1.2.15.3

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Cdrtools

Installasjon av Cdrtools

Notat

Denne pakken støtter ikke parallellbygging.

Installer Cdrtools ved å kjøre følgende kommandoer:

sed -i 's|/opt/schily|/usr|g'           DEFAULTS/Defaults.linux &&
sed -i 's|DEFINSGRP=.*|DEFINSGRP=root|' DEFAULTS/Defaults.linux &&
sed -i 's|INSDIR=\s*sbin|INSDIR=bin|'   rscsi/Makefile          &&

export GMAKE_NOWARN=true &&
export CFLAGS="$CFLAGS -std=gnu89 -fno-strict-aliasing" &&

make -j1 INS_BASE=/usr  \
         DEFINSUSR=root \
         DEFINSGRP=root \
         VERSION_OS="LinuxFromScratch"

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

GMAKE_NOWARN=true &&

make INS_BASE=/usr    \
     DEFINSUSR=root   \
     DEFINSGRP=root   \
     MANSUFF_LIB=3cdr \
     install          &&

install -v -m755 -d /usr/share/doc/cdrtools-3.02a09 &&
install -v -m644 README.* READMEs/* ABOUT doc/*.ps \
                    /usr/share/doc/cdrtools-3.02a09

Parameterforklaringer

export GMAKE_NOWARN=true: Denne variabelen unngår en advarsel når du bruker GNU make.

INS_BASE=/usr: Denne parameteren flytter installasjonsmappen fra /opt/schily til /usr.

DEFINSUSR=root DEFINSGRP=root: Disse parameterne installer alle programmer med root:root eierskap i stedet for standard bin:bin.

MANSUFF_LIB=3cdr: Denne parameteren forhindrer Cdrtools fra å overskrive viktige sider som allerede er installert av LFS. De installerte mansidene i seksjon 3 vil ha et suffiks 3cdr og kan vises ved hjelp av man 3cdr <manpage>.

Innhold

Installerte Programmer: btcflash, cdda2mp3, cdda2ogg, cdda2wav, cdrecord, devdump, isodebug, isodump, isoinfo, isovfy, mkhybrid, mkisofs, readcd, rscsi, scgcheck, scgskeleton
Installerte Biblioteker: libcdrdeflt.a, libdeflt.a, libedc_ecc.a, libedc_ecc_dec.a, libfile.a, libfind.a, libhfs.a, libmdigest.a, libparanoia.a, librscg.a, libscg.a, libscgcmd.a, libschily.a, libsiconv.a
Installerte Mapper: /usr/lib/{profiled,siconv}, /usr/include/{scg,schily}, /usr/share/doc/cdda2wav,cdrecord,libparanoia,mkisofs,rscsi}

Korte Beskrivelser

btcflash

oppdaterer fastvaren på en BTC DRW1008 DVD+/-RW opptakere. Vær forsiktig med dette programmet

cdda2wav

konverterer Compact Disc lyd til WAV lydfiler

cdrecord

tar opp lyd eller data på CDer

devdump

er et diagnoseprogram som brukes til å dumpe en ISO-9660 enhet eller fil i hex

isodebug

brukes til å vise kommandolinjeparametrene som brukes til å lage et ISO-9660 bilde

isodump

er et diagnoseprogram som brukes til å dumpe en enhet eller fil basert på ISO-9660

isoinfo

brukes til å analysere eller liste et ISO-9660 bilde

isovfy

brukes til å bekrefte et ISO-9660 bilde

mkhybrid

er en symbolsk kobling til mkisofs brukt til å lage ISO-9660/HFS hybrid filsystembilder

mkisofs

brukes til å lage ISO-9660/JOLIET/HFS filsystembilder, eventuelt med Rock Ridge attributter

readcd

leser eller skriver CDer

rscsi

er en ekstern SCSI behandler

scgcheck

brukes til å sjekke og verifisere det binære applikasjonsgrensesnittet til libscg

libscg.a

er et svært flyttbart SCSI transportbibliotek

dvd+rw-tools-7.1

Introduksjon til dvd+rw-tools

dvd+rw-toolspakken inneholder flere verktøy for å mestre DVD mediet, både +RW/+R og -R[W]. hovedverktøyet er growisofs som gir en vei til både å legge ned og utvikle et ISO9660 filsystem på (i tillegg til å brenne et vilkårlig forhåndsmastret bilde til) alle støttede DVD medier. Dette er nyttig for å lage en ny DVD eller legge til en eksisterende bilde på en delvis brent DVD.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

dvd+rw-tools Avhengigheter

Påkrevd

Cdrtools-3.02a09 (kjøretid)

Installasjon av dvd+rw-tools

Først, installer en oppdatering som fikser flere feil og retter kompilering med nyere versjoner av glibc og kjernedeklarasjonene:

patch -Np1 -i ../dvd+rw-tools-7.1-consolidated_fixes-2.patch

Installer dvd+rw-tools ved å kjøre følgende kommandoer:

make all rpl8 btcflash

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make prefix=/usr install &&
install -v -m644 -D index.html \
    /usr/share/doc/dvd+rw-tools-7.1/index.html

Parameterforklaringer

make all rpl8 btcflash: Denne kommandoen bruker tilleggsmål slik at alle verktøyene bygges.

Innhold

Installerte Programmer: btcflash, dvd+rw-booktype, dvd+rw-format, dvd+rw-mediainfo, dvd-ram-control, growisofs, og rpl8
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/dvd+rw-tools-7.1

Korte Beskrivelser

growisofs

er en kombinert mkisofs grenseflate/DVD opptaksprogram

libburn-1.5.6

Introduksjon til libburn

libburn er et bibliotek for å skrive forhåndsformatert data på optiske medier: CD, DVD og BD (Blu-Ray).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libburn Avhengigheter

Valgfri

Doxygen-1.16.1 (for å generere HTML dokumentasjon)

Installasjon av libburn

Først, fiks et problem når du bygger med gcc-15:

sed -i 's/catch_int ()/catch_int (int signum)/' test/poll.c

Installer libburn ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du har installert Doxygen og ønsker å generere HTML dokumentasjonen, utfør følgende kommando:

doxygen doc/doxygen.conf

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har bygget HTML dokumentasjonen, installer den ved å kjøre følgende kommandoer som root bruker:

install -v -dm755 /usr/share/doc/libburn-1.5.6 &&
install -v -m644 doc/html/* /usr/share/doc/libburn-1.5.6

Innhold

Installert Program: cdrskin
Installert Bibliotek: libburn.so
Installert Mappe: /usr/include/libburn

Korte Beskrivelser

cdrskin

brenner forhåndsformaterte data til CD, DVD, og BD via libburn

libburn.so

inneholder libburn API funksjoner

libisoburn-1.5.6

Introduksjon til libisoburn

libisoburn er en grenseflate for libburn og libisofs bibliotekene, som muliggjør opprettelse og utvidelse av ISO-9660 filsystemer på alle CD/DVD/BD medier som støttes av libburn. Dette inkluderer medier som DVD+RW, som ikke støtter administrasjon av flere økter på medienivå, og til og med vanlige diskfiler eller blokkere enheter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libisoburn Avhengigheter

Påkrevd

libburn-1.5.6 og libisofs-1.5.6

Valgfri

Doxygen-1.16.1 (for å generere HTML dokumentasjonen), Tk-8.6.17 (for xorriso-tcltk), og libjte

Installasjon av libisoburn

Installer libisoburn ved å kjøre følgende kommandoer:

./configure --prefix=/usr              \
            --disable-static           \
            --enable-pkg-check-modules &&
make

Hvis du har installert Doxygen og ønsker å generere HTML dokumentasjonen, utfør følgende kommando:

doxygen doc/doxygen.conf

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har bygget HTML dokumentasjonen, installer den ved å kjøre følgende kommandoer som root bruker:

install -v -dm755 /usr/share/doc/libisoburn-1.5.6 &&
install -v -m644 doc/html/* /usr/share/doc/libisoburn-1.5.6

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-pkg-check-modules: Denne bryteren forteller configure skriptet å bruke pkg-config til å sjekke for libburn og libisofs bilioteker.

Innhold

Installerte Programmer: osirrox, xorrecord, xorriso, xorriso-dd-target, xorrisofs, og xorriso-tcltk
Installert Bibliotek: libisoburn.so
Installerte Mapper: /usr/include/libisoburn og /usr/share/doc/libisoburn-1.5.6

Korte Beskrivelser

osirrox

er en symbolsk kobling til xorriso som kopierer filer fra et ISO bilde til et diskfilsystem

xorrecord

er en symbolsk kobling til xorriso som gir et brukergrensesnitt av typen cdrecord

xorriso

er et program for å lage, laste, manipulere, lese og skrive ISO 9660 filsystembilder med Rock Ridge utvidelser

xorriso-dd-target

er et program for å sjekke en USB- eller minnekortenhet for å se om den er egnet for bildekopiering

xorrisofs

er en symbolsk kobling til xorriso som gir et brukergrensesnitt av typen mkisofs

xorriso-tcltk

er et grensesnitt som opererer xorriso i dialogmodus

libisoburn.so

inneholder libisoburn API funksjoner

libisofs-1.5.6

Introduksjon til libisofs

libisofs er et bibliotek for å lage et ISO-9660 filsystem med utvidelser som RockRidge eller Joliet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libisofs Avhengigheter

Valgfri

Doxygen-1.16.1 (for å generere HTML dokumentasjon) og libjte

Installasjon av libisofs

Installer libisofs ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du har installert Doxygen og ønsker å generere HTML dokumentasjonen, utfør følgende kommando:

doxygen doc/doxygen.conf

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har bygget HTML dokumentasjonen, installer den ved å kjøre følgende kommandoer som root bruker:

install -v -dm755 /usr/share/doc/libisofs-1.5.6 &&
install -v -m644 doc/html/* /usr/share/doc/libisofs-1.5.6

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libisofs.so
Installert Mappe: /usr/include/libisofs

Korte Beskrivelser

libisofs.so

inneholder libisofs API funksjoner

Del XIII. Utskrift, Skanning og Skriftsetting

Kapittel 46. Printing

Dette kapittelet inneholder styringssystemer for utskriftskø og ghostscript applikasjoner for å gjengi PostScript for visning på terminaler eller papir.

Cups-2.4.16

Introduksjon til Cups

Common Unix Printing System (CUPS) er en utskriftskø og tilhørende verktøy. Den er basert på "Internet Printing Protocol" og gir utskriftstjenester til de fleste PostScript og rasterskrivere.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Cups Avhengigheter

Påkrevd

GnuTLS-3.8.12

Anbefalt
Valgfri

Avahi-0.8, libpaper-2.2.7, PHP-8.5.2, og Python2

Påkrevd (Etter installasjon)

cups-filters-2.0.1

Valgfri (Etter installasjon)

Gutenprint-5.3.5 og hplip (HP skrivere)

Kjernekonfigurasjon

Notat

Det pleide å være en konflikt mellom Cups libusb bakstykke og usblp kjernedriveren. Dette er ikke lenger tilfelle, og Cups vil fungere med begge disse aktivert.

Hvis du vil bruke kjernens usblp driver (for eksempel hvis du ønsker å bruke escputil fra Gutenprint-5.3.5) aktiver følgende alternativer i kjernekonfigurasjonen din og rekompilere kjernen:

Device Drivers --->
  [*] USB support --->                                             [USB_SUPPORT]
    <*/M> USB Printer support                                      [USB_PRINTER]

Hvis du har en parallellskriver, aktiver følgende alternativer i din kjernekonfigurasjon og kompiler kjernen på nytt:

Device Drivers --->
  <*/M> Parallel port support --->                                     [PARPORT]
    <*/M> PC-style hardware                                         [PARPORT_PC]
  Character devices --->
    <*/M> Parallel printer support                                     [PRINTER]

Installasjon av Cups

Du må legge til en lp bruker, siden Cups vil opprette noen filer som eies av denne brukeren. (lp brukeren er standard som brukes av Cups, men kan bli endret til en annen bruker ved å sende en parameter til configure skriptet.) Bruk følgende kommando som root bruker:

useradd -c "Print Service User" -d /var/spool/cups -g lp -s /bin/false -u 9 lp

Du trenger også en dedikert gruppe som vil inneholde brukere som har tillatelse til å gjøre Cups administrative oppgaver. Legg til gruppen ved å kjøre følgende kommando som root bruker:

groupadd -g 19 lpadmin

Hvis du vil legge til en bruker i Cups administrativ gruppe, kjør følgende kommando som root bruker:

usermod -a -G lpadmin <username>

Hvis du ikke installerte xdg-utils-1.2.1, bruk følgende sed for å endre standard nettleser som skal brukes for å få tilgang til Cups nettgrensesnitt:

sed -i 's#@CUPS_HTMLVIEW@#firefox#' desktop/cups.desktop.in

Erstatt firefox med nettleseren du ønsker å bruke.

Bygg Cups ved å kjøre følgende kommandoer:

./configure --libdir=/usr/lib            \
            --with-rcdir=/tmp/cupsinit   \
                        --with-rundir=/run/cups      \
            --with-system-groups=lpadmin \
            --with-docdir=/usr/share/cups/doc-2.4.16 &&
make

For å teste resultatene, kjør: LC_ALL=C make -k check. En allerede aktiv grafisk sesjon med bussadresse er nødvendig for å kjøre testene. Pass på at en annen forekomst av Cups ikke kjører, ellers vil minst 4 tester mislykkes med "address in use".

Nå, som root bruker:

make install &&
ln -svnf ../cups/doc-2.4.16 /usr/share/doc/cups-2.4.16

Fjern det leverte oppstartskriptet, som er inkompatibelt med LFS:

rm -rf /tmp/cupsinit

Opprett et grunnleggende Cups klientkonfigurasjonsfil ved å kjøre følgende kommando som root bruker:

echo "ServerName /run/cups/cups.sock" > /etc/cups/client.conf

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme. For å utføre oppdateringen må du ha GTK-3.24.51 installert og utstede følgende kommando som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor

Parameterforklaringer

--with-rcdir=/tmp/cupsinit: Denne bryteren forteller byggeprosessen å installere det sendte oppstartskriptet i /tmp i stedet for /etc/rc.d.

--with-rundir=/run/cups: This switch prevents the package from referring to the deprecated /var/run directory.

--with-system-groups=lpadmin: Denne bryteren sikrer at bare lpadmin vil bli brukt som Cups administrative gruppe.

--disable-libusb: Bruk denne bryteren hvis du har installert libusb-1.0.29, men ønsker å bruke kjernens usblp driver.

--enable-libpaper: Bruk denne bryteren hvis du har installert libpaper og ønsker å bruke den med Cups.

Konfigurere Cups

Konfigurasjonsfiler

/etc/cups/*

Konfigurasjonsinformasjon

Normalt settes skrivere opp via en nettleser. Cups serveren vil normalt koble til via url http://localhost:631. Derfra skrivere, utskrifts jobber, og serverkonfigurasjonen kan settes opp og administreres. Ekstern systemadministrasjon kan også settes opp. Konfigurasjon kan også gjøres fra kommandolinjen via lpadmin, lpoptions, og lpstat kommandoene.

Konfigurasjon av Cups er avhengig av skrivertypen og kan være kompleks. Vanligvis er PostScript skrivere enklere. For detaljerte instruksjoner om konfigurasjon og bruk av Cups, se https://www.cups.org/documentation.html.

For ikke-PostScript skrivere for å skrive ut med Cups, må du installere ghostscript-10.06.0 for å konvertere PostScript til rasterbilder og en driver (f.eks. fra Gutenprint-5.3.5) for å konvertere det resulterende rasterbildet til en form som skriveren forstår. Foomatic drivere bruker ghostscript-10.06.0 for å konvertere PostScript til en utskrivbar form direkte, men dette anses som suboptimalt av Cups utviklere.

Linux PAM Konfigurasjon

Hvis CUPS er bygget med Linux PAM støtte, må du opprette en PAM konfigurasjonsfil for å få den til å fungere riktig med BLFS.

Utfør følgende kommando som root bruker for å opprette konfigurasjonensfilen for Linux PAM:

cat > /etc/pam.d/cups << "EOF"
# Begin /etc/pam.d/cups

auth    include system-auth
account include system-account
session include system-session

# End /etc/pam.d/cups
EOF

Oppstartsskript

Hvis du vil at Cups utskriftstjeneste skal starte automatisk når systemet startes opp, installer init skriptet inkludert i blfs-bootscripts-20251220 pakken:

make install-cups

Innhold

Installerte Programmer: cancel, cupsaccept, cups-config, cupsctl, cupsd, cupsdisable, cupsenable, cupsfilter, cupsreject, cupstestppd, ippeveprinter, ippfind, ipptool, lp, lpadmin, lpc, lpinfo, lpmove, lpoptions, lpq, lpr, lprm, lpstat, ppdc, ppdhtml, ppdi, ppdmerge, og ppdpo
Installerte Biblioteker: libcupsimage.so og libcups.so
Installerte Mapper: /etc/cups, /usr/{include,lib,share}/cups, /usr/share/doc/cups-2.4.16, /run/cups, og /var/{cache,log,spool}/cups

Korte Beskrivelser

cancel

kansellerer eksisterende utskriftsjobber fra utskriftskøene

cupsaccept

aksepere jobber sendt til en destinasjon

cups-config

er et Cups programkonfigurasjonsverktøy

cupsctl

oppdaterer eller spør cupsd.conf filen for en server

cupsd

er planleggeren for Common Unix Printing System

cupsdisable

stopper skrivere og klasser

cupsenable

starter skrivere og klasser

cupsfilter

er et grensesnitt til Cups filter undersystem som lar deg konvertere en fil til et bestemt format

cupsreject

avviser jobber sendt til en destinasjon

cupstestppd

tester samsvar med PPD filer

ippeveprinter

er en IPP Everywhere skriver for CUPS

ippfind

finner Internett utskriftsprotokoll Skrivere

ipptool

sender IPP forespørsler til spesifisert URI og tester og/eller viser resultatene

lp

sender filer til utskrift eller endrer en ventende jobb

lpadmin

konfigurerer skriver og klasse køer levert av Cups

lpc

gir begrenset kontroll over skriver og klasse køer levert av Cups

lpinfo

viser tilgjengelige enheter eller drivere som er kjent for Cups serveren

lpmove

flytter den angitte jobben til en ny destinasjon

lpoptions

viser eller angir skriveralternativer og standardinnstillinger

lpq

viser gjeldende utskriftskøstatus på den navngitte skriveren

lpr

sender filer til utskrift

lprm

avbryter utskriftsjobber som har stått i kø for utskrift

lpstat

viser statusinformasjon om gjeldende klasser, jobber, og skrivere

ppdc

kompilerer PPDC kildefiler til en eller flere PPD filer

ppdhtml

leser en driverinformasjonsfil og lager et HTML sammendragsside som viser alle driverne i en fil og støttede alternativer

ppdi

importerer en eller flere PPD filer til en PPD kompilatorkildefil

ppdmerge

slår sammen to eller flere PPD filer til en enkel flerspråklig PPD fil

ppdpo

trekker ut UI strenger fra PPDC kildefiler og oppdaterer enten en GNU gettext eller Mac OS X strengformat meldingskatalog kildefil for oversettelse

libcups.so

inneholder Cups API funksjoner

cups-browsed-2.1.1

Introduksjon til cups-browsed

cups-browsed nissen er brukt for å bla gjennom nettverket for eksterne CUPS køer og IPP nettverksskrivere og automatisk opprette lokale køer som peker til dem.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

cups-browsed Avhengigheter

Påkrevd

Avahi-0.8, libcupsfilters-2.1.1 og libppd-2.1.1

Valgfri

OpenLDAP-2.6.12

Installasjon av cups-browsed

Installer cups-browsed ved å kjøre følgende kommandoer:

./configure --prefix=/usr                \
            --with-cups-rundir=/run/cups \
            --without-rcdir              \
            --disable-static             \
            --docdir=/usr/share/doc/cups-browsed-2.1.1 &&
make

Denne pakken kommer ikke med en funksjonell testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-cups-rundir=/run/cups: Definerer mappen som inneholder forbigående utskriftsdata. Standaren /var/run/cups er foreldet.

--without-rcdir: Denne bryteren deaktiverer installasjon av det medfølgende oppstartsskriptet som ikke er kompatibelt med BLFS.

Innhold

Installerte Programmer: cups-browsed
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

cups-browsed

er en nisse for å bla gjennom Bonjour og CUPS sendingene til delte, eksterne CUPS skrivere

cups-filters-2.0.1

Introduksjon til CUPS Filtre

CUPS Filters pakke er bare nødvendig for å tilpasse libcupsfilters-2.1.1 og libppd-2.1.1 filterfunksjoner for cups-2.x. Det skal ikke være nødvendig for cups-3.x.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

CUPS Filtre Avhengigheter

Påkrevd

libcupsfilters-2.1.1 og libppd-2.1.1

Valgfri (kjøretid)

cups-browsed-2.1.1 (hvis du trenger nettverk Oppdagelsesmuligheter)

Installasjon av CUPS Filtre

Først, fiks et problem når du bygger med gcc-15:

sed -i '/proc_func)()/s/()/(FILE*, FILE*, void*)/' filter/foomatic-rip/process.h

Deretter, fiks et sikkerhetsproblem:

patch -Np1 -i ../cups-filters-2.0.1-security_fix-1.patch

Installer CUPS Filtre ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/cups-filters-2.0.1 &&
make

Denne pakken kommer ikke med en funksjonell testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: driverless, driverless-fax, and foomatic-rip
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/cups/{backend,driver,filter}, /usr/share/doc/cups-filters-2.0.1, og /usr/share/ppd/cupsfilters

Korte Beskrivelser

driverless

er et PPD generatorverktøy for driverløs utskrift

driverless-fax

er en innpakning til driverless for enheter av FAX typen

foomatic-rip

er et universelt printfilter/RIP innpakning som kan brukes som CUPS filter eller frittstående for spoolerfri, direkte utskrift

ghostscript-10.06.0

Introduksjon til Ghostscript

Ghostscript er en allsidig prosessor for PostScript data med muligheten til å gjengi PostScript til forskjellige mål. Det er en obligatorisk del av utskriftsbunken for cups.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Hvis du ønsker det, kan du laste ned flere fonter.

Standard Fonter

Andre Fonter

Ghostscript Avhengigheter

Anbefalt
Valgfri

Cairo-1.18.4, GTK-3.24.51, libidn-1.43, libpaper-2.2.7, libwebp-1.6.0, og et grafiske miljø

Installasjon av Ghostscript

Notat

Ghostscript byggesystemet er ikke brukervennlig. For å bruke systemkopier av forskjellig grafikk biblioteker, må du gjøre det ved å bruke ukonvensjonelle metoder.

Ghostscript inkluderer (gamle) kopier av flere biblioteker. Noen av disse ser ut til å ha blitt oppdatert for å fikse kjente sårbarheter, men andre av disse kopiene er mindre godt vedlikeholdt. For å sikre at eventuelle fremtidige rettelser blir brukt i hele systemet, anbefales det at du først installerer de utgitte versjonene av disse bibliotekene og deretter konfigurere Ghostscript til å linke til dem.

Hvis du har installert de anbefalte avhengighetene på systemet ditt, fjern kopiene av freetype, lcms2, libjpeg, libpng, og openjpeg:

rm -rf freetype lcms2mt jpeg libpng openjpeg

Kompilere Ghostscript:

rm -rf zlib &&

./configure --prefix=/usr           \
            --disable-compile-inits \
            --with-system-libtiff   \
            CFLAGS="${CFLAGS:--g -O3} -fPIC" &&
make

Notat

Det delte biblioteket avhenger av GTK-3.24.51. Den brukes kun av eksterne programmer som asymptote-3.06, dvisvgm-3.6, og ImageMagick-7.1.2-13.

For å kompilere det delte biblioteket libgs.so, kjør følgende tilleggskommando som en uprivilegert bruker:

make so

Denne pakken kommer ikke med en testpakke. Et sett med eksempelfiler kan brukes til testing, men det er kun mulig etter installasjonen av pakken.

Nå, som root bruker:

make install

Hvis du vil ha det delte biblioteket også:

make soinstall &&
install -v -m644 base/*.h /usr/include/ghostscript &&
ln -sfvn ghostscript /usr/include/ps

Gjør nå dokumentasjonen tilgjengelig fra et standard sted:

mv -v /usr/share/doc/ghostscript/10.06.0 /usr/share/doc/ghostscript-10.06.0 &&
rmdir /usr/share/doc/ghostscript &&
cp -r examples/ -T /usr/share/ghostscript/10.06.0/examples

Hvis du har lastet ned fontene, pakk dem ut til /usr/share/ghostscript og sikre at eierskapet til filene er root: root.

tar -xvf ../ghostscript-fonts-std-8.11.tar.gz -C /usr/share/ghostscript --no-same-owner &&
tar -xvf ../gnu-gs-fonts-other-6.0.tar.gz     -C /usr/share/ghostscript --no-same-owner &&
fc-cache -v /usr/share/ghostscript/fonts/

Du kan nå teste gjengivelsen av ulike postscript og pdf filer fra /usr/share/ghostscript/10.06.0/examples . For å gjøre dette, kjør følgende kommando (i en X Windows-skjerm):

gs -q -dBATCH /usr/share/ghostscript/10.06.0/examples/tiger.eps

Parameterforklaringer

rm -rf zlib : zlib ble installert som en del av LFS.

--disable-compile-inits: Dette alternativet gjør gs og libgs.so litt mindre.

--with-system-libtiff: Fjern dette alternativet hvis du ikke har installert libtiff-4.7.1.

CFLAGS="${CFLAGS:--g -O3} -fPIC": Disse flaggene er nødvendige for å forhindre en lenkefeil under byggeprosessen.

install -v -m644 base/*.h... : Noen pakker (ImageMagick er en) trenger Ghostscript grensesnitt deklarasjonene på plass for å koble til det delte biblioteket. Disse kommandoene installerer deklarasjonene.

ln -sfvn ghostscript /usr/include/ps: Noen pakker forventer å finne grensesnitt deklarasjonene på et alternativt sted.

mv -v /usr/share/doc/ghostscript/10.06.0 /usr/share/doc/ghostscript-10.06.0: Dette flytter dokumentasjon til hvor den forventes å bli funnet.

--disable-cups: Dette alternativet vil spare en liten mengde plass ved ikke å koble gs og libgs.so til Cups-2.4.16 bibliotekene hvis du har installert disse.

Innhold

Installerte Programmer: dvipdf, eps2eps, gs, gsbj, gsc (fra soinstall), gsdj, gsdj500, gslj, gslp, gsnd, gsx (fra soinstall), lprsetup.sh, pdf2dsc, pdf2ps, pf2afm, pfbtopfa, pphs, printafm, ps2ascii, ps2epsi, ps2pdf, ps2pdf12, ps2pdf13, ps2pdf14, ps2pdfwr, ps2ps, ps2ps2, og unix-lpr.sh
Installert Bibliotek: libgs.so
Installerte Mapper: /usr/include/ghostscript, /usr/share/ghostscript, og /usr/share/doc/ghostscript-10.06.0

Korte Beskrivelser

gs

er en tolk for Adobe Systems' PostScript(tm) og Portable Document Format (PDF)

libgs.so

gir Ghostscript funksjonalitet til andre programmer, som f.eks GSView, ImageMagick, og libspectre

Ghostscript gir mange forskjellige skript som brukes til å konvertere PostScript, PDF og andre formater. Vennligst se HTML dokumentasjonen eller mansidene for informasjon om kapasiteter gitt.

Gutenprint-5.3.5

Introduksjon til Gutenprint

Gutenprint (tidligere Gimp-Print) pakken inneholder høye kvalitetsdrivere for mange merker og modeller av skrivere for bruk med Cups-2.4.16. Se en liste over støttede skrivere på https://gutenprint.sourceforge.net/p_Supported_Printers.php.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Gutenprint Avhengigheter

Anbefalt
Anbefalt (ved kjøretid)
Valgfri (å regenerere dokumentasjonen)

ImageMagick-7.1.2-13, texlive-20250308 (eller install-tl-unx), Doxygen-1.16.1, og DocBook-utils-0.6.14

Kjernekonfigurasjon

Hvis du har tenkt å bruke escputil med en USB tilkoblet Epson Stylus skriver for kommandoer som f.eks --ink-level som trenger å få tilgang til råenheten, må du aktivere kjernens usblp driver. Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt:

Device Drivers --->
  [*] USB support --->                                             [USB_SUPPORT]
    <*/M> USB Printer support                                      [USB_PRINTER]

Installasjon av Gutenprint

Installer Gutenprint ved å kjøre følgende kommandoer:

sed -i 's|$(PACKAGE)/doc|doc/$(PACKAGE)-$(VERSION)|' \
       {,doc/,doc/developer/}Makefile.in &&

./configure --prefix=/usr    \
            --disable-static \
            --without-gimp2  \
            --without-gimp2-as-gutenprint &&
make

For å teste resultatene, kjør: make check. Testene tar veldig lang tid og bruker mye diskplass. Når sist testet (versjon 5.3.5 i mars 2025) dette trengte 292 SBU og 3,8 GB for å fullføre testene. Merk at testene bare brukte én CPU.

Nå, som root bruker:

make install &&
install -v -m755 -d /usr/share/doc/gutenprint-5.3.5/api/gutenprint{,ui2} &&
install -v -m644    doc/gutenprint/html/* \
                    /usr/share/doc/gutenprint-5.3.5/api/gutenprint &&
install -v -m644    doc/gutenprintui2/html/* \
                    /usr/share/doc/gutenprint-5.3.5/api/gutenprintui2

Parameterforklaringer

sed -i '...' ...Makefile.in: Denne kommandoen brukes slik at pakkedokumentasjonen er installert i konvensjonelle /usr/share/doc mappestruktur i stedet for /usr/share/gutenprint/doc.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--without-gimp2: Denne bryteren deaktiverer støtte for GIMP fordi den ikke har blitt oppdatert for å støtte GIMP3 ennå.

Konfigurere Gutenprint

Konfigurasjonsinformasjon

For at CUPS skal se nyinstallerte skrivedrivere, må den startes på nytt (som root bruker):

/etc/rc.d/init.d/cups restart

Pek deretter nettleseren til http://localhost:631/ for å legge til en ny skriver til CUPS.

Innhold

Installerte Programmer: cups-calibrate, cups-genppd.5.3, cups-genppdupdate, escputil, og testpattern
Installerte Biblioteker: libgutenprint.so og eventuelt forskjellige CUPS filtre og bakstykke drivere under /usr/lib/gutenprint/5.3/modules/
Installerte Mapper: /usr/{include,lib,share}/gutenprint og /usr/share/doc/gutenprint-5.3.5

Korte Beskrivelser

cups-calibrate

kalibrerer fargeutskriften til skrivere ved hjelp av Gutenprint, CUPS eller ESP Print Pro drivere

cups-genppd.5.3

genererer Gutenprint PPD filer for bruk med CUPS

cups-genppdupdate

regenererer Gutenprint PPD filene som brukes av CUPS

escputil

er et kommandolinjeverktøy for å utføre diverse vedlikeholds oppgaver på Epson Stylus blekkskrivere

testpattern

er et testprogram for å lære å bruke libgutenprint

libcupsfilters-2.1.1

Introduksjon til libcupsfilters

libcupsfilters biblioteket inneholder filterfunksjoner for dataformatkonverteringsoppgavene som trengs i Skriverapplikasjoner. Den inneholder også flere API funksjoner for å utvikle skriverdrivere/skriverapplikasjoner.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

libcupsfilters Avhengigheter

Påkrevd

Cups-2.4.16, GLib-2.86.4, ghostscript-10.06.0 eller mupdf-1.26.12, Little CMS-2.18, Poppler-26.02.0, og Qpdf-12.3.2

Anbefalt

Installasjon av libcupsfilters

Først, fiks to sikkerhetshull:

patch -Np1 -i ../libcupsfilters-2.1.1-security_fixes-1.patch

Installer libcupsfilters ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libcupsfilters-2.1.1 &&
make

For å teste resultatene, utsted make check. DejaVu fonter trengs for testene.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-test-font-path=VALUE: Hvis du ønsker å kjøre testene, men du ikke har standard /usr/share/fonts/dejavu/DejaVuSans.ttf fonten installert, bruk denne bryteren til å spesifisere hvor DejaVuSans.ttf (eller kanskje en annen tekst TTF-font - selv om dette ikke er testet) er lokalisert.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libcupsfilters.so
Installerte Mapper: /usr/include/cupsfilters, /usr/share/cups/{banners,charsets,data}, og /usr/share/doc/libcupsfilters-2.1.1

Korte Beskrivelser

libcupsfilters.so

inneholder CUPS filtre API funksjoner

libppd-2.1.1

Introduksjon til libppd

libppd biblioteket inneholder funksjoner for håndtering av eldre skrivere ved hjelp av PPD beskrivelsesfiler.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

libppd Avhengigheter

Påkrevd

libcupsfilters-2.1.1

Installasjon av libppd

Installer libppd ved å kjøre følgende kommandoer:

./configure --prefix=/usr                \
            --disable-static             \
            --with-cups-rundir=/run/cups \
            --enable-ppdc-utils          \
            --docdir=/usr/share/doc/libppd-2.1.1 &&
make

For å teste resultatene, utsted make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-cups-rundir=/run/cups: Definerer mappen som inneholder forbigående utskriftsdata. Standar /var/run/cups er foreldet.

--enable-ppdc-utils: Lar byggingsverktøy manipulere .ppd filer.

Innhold

Installerte Programmer: ppdc, ppdhtml, ppdi, ppdmerge, og ppdpo
Installerte Biblioteker: libppd.so
Installerte Mapper: /usr/include/ppd, /usr/share/ppdc, og /usr/share/doc/libppd-2.1.1

Korte Beskrivelser

ppdc

kompilerer PPDC kildefiler til én eller flere PPD filer

ppdhtml

leser en driverinformasjonsfil og lager et HTML sammendragside som viser alle driverne i en fil og støttede alternativer

ppdi

importerer en eller flere PPD filer til en PPD kompilatorkildefil

ppdmerge

slår sammen to eller flere PPD filer til en enkel flerspråklig PPD fil

ppdpo

trekker ut UI strenger fra PPDC kildefiler og oppdaterer enten en GNU gettext eller Mac OS X strenger formatmeldings katalogkildefil for oversettelse

libppd.so

inneholder API funksjoner for manipulering av .ppd filer

Kapittel 47. Skanning

Dette kapittelet inneholder skanneapplikasjoner som lar deg konvertere trykte dokumenter til formaterte dokumenter som kan leses av andre applikasjoner.

SANE-1.4.0

Introduksjon til SANE

SANE er forkortelse for Scanner Access Now Easy. Skannertilgang er imidlertid langt fra enkel, siden hver leverandør har sine egne protokoller. Den eneste kjente protokollen som burde bringe litt enhet inn dette kaoset er TWAIN grensesnittet, men dette er for upresist til å tillate et stabilt skanningsrammeverk. Derfor, SANE kommer med sin egen protokoll, og leverandørdriverne kan ikke brukes.

SANE er delt i bakstykker og grensesnitt. Bakstykkene er drivere for de støttede skannerne og kameraene. Grensesnittet er brukergrensesnitt for å få tilgang til bakstykkene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Bakstykkenes Pakkeinformasjon

Notat

Oppstrømsplasseringen for denne filen er på https://gitlab.com/sane-project men fil URLen bruker innebygde md5sums. For enkelhets skyld, pakken er kopiert til stedet ovenfor.

SANE Avhengigheter

Valgfri

Avahi-0.8, Cups-2.4.16, libjpeg-turbo-3.1.3, libtiff-4.7.1, libusb-1.0.29, v4l-utils-1.32.0, Net-SNMP, libieee1284, libgphoto2, og texlive-20250308 (eller install-tl-unx)

Kjernekonfigurasjon, Drivere og Tilleggspakker

For å få tilgang til skanneren din, vil du sannsynligvis trenge den relaterte kjernedriveren og/eller tilleggsstøttepakker. En SCSI skanner trenger SCSI drivere, parallellportskanner trenger støtte for parallellport (du bør bruke forbedrede EPP moduser) og kanskje libieee1284, og en USB skanner trenger libusb-1.0.29 pakken. For HP enheter, trenger du kanskje hplip. Sørg for at du har de nødvendige driverne riktig konfigurert for å få tilgang til enhetene.

Installasjon av SANE

Installasjon av SANE Bakstykker

SANE nissen bør kjøres med sin egen gruppe. Opprett denne gruppen ved å utstede følgende kommando som root bruker:

groupadd -g 70 scanner

Notat

configure forutsetter at brukeren som bygger SANE bakstykker er medlem av scanner gruppen for å teste eksistensen av denne gruppen. Som et resultat bygger brukeren pakken må legges til scanner gruppen. Legg bruker til scanner gruppen ved å utstede følgende kommando som root bruker:

usermod -G scanner -a username

Etter å ha lagt til scanner gruppen som ovenfor, må du logge ut og inn igjen for å aktivere den.

For en USB skanner, hvis du kobler til libusb-1.0.29, inkludere konfigureringsbryteren --enable-libusb_1_0. Installer SANE bakstykker ved å kjøre følgende kommandoer:

sg scanner -c "                                 \
PYTHON=python3 ./configure --prefix=/usr        \
                           --sysconfdir=/etc    \
                           --localstatedir=/var \
                           --with-lockdir=/run/lock \
                           --docdir=/usr/share/doc/sane-backends-1.4.0" &&
 make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install                                         &&
install -m 644 -v tools/udev/libsane.rules           \
                  /etc/udev/rules.d/65-scanner.rules &&
mkdir -p          /run/lock/sane &&
chgrp -v scanner  /run/lock/sane

Med skanneren på, kjør scanimage -L og navn og plassering av enheten skal vises. Selvfølgelig trenger du enhetsdrivere konfigurert for å kjøre denne testen.

Parameterforklaringer

sg scanner -c "...": kjører kommandoen mellom dobbel sitater med hovedgruppe scanner. Dette kan være nødvendig hvis brukeren har nylig blitt lagt til gruppen scanner, og ikke har logget ut og inn.

PYTHON=python3: Denne bryteren tvinger byggesystemet å bruke Python 3 i stedet for Python 2.

--sysconfdir=/etc: Denne bryteren installerer konfigurasjonsfiler i /etc/sane.d i stedet for /usr/etc/sane.d.

Konfigurere SANE

Konfigurasjonsfiler

/etc/sane.d/*.conf

Konfigurasjonsinformasjon

Bakstykke Konfigurasjons

Bakstykkekonfigurasjonsfilene er plassert i /etc/sane.d. Informasjon for å konfigurere de forskjellige bakstykkene kan du finne ved å bruke man(5) siden for ønsket bakstykke. Kjør man sane-<bakstykke>, erstatte ønsket bakstykke.

Legg til brukere som vil bruke en skanner til scanner gruppen.

Notat

Hvis du planlegger å bruke skannerklienten Simple-scan-49.1 for å få tilgang til en nettverksskanner, for eksempel en «alt-i-ett» skriver/skanner, er det kanskje ikke nødvendig med konfigurasjon. Prøv det først.

Hvis du vil ha tilgang til en nettverksskanner, inkluderer to linjer i net.conf, som root bruker (sørg for å erstatte <server_ip> med den faktiske verdien):

cat >> /etc/sane.d/net.conf << "EOF"
connect_timeout = 60
<server_ip>
EOF

På serversiden inkluderer du klientens ip i tilgangslisten til /etc/sane.d/saned.conf, start på nytt saned nissen, og sørg for at brannmuren, hvis noen, er åpen for klienten.

Generell informasjon

For generell informasjon om konfigurering og bruk SANE, se man sane. For informasjon om USB skanneenheter, kjør man sane-usb. For informasjon om SCSI enheter, kjør man sane-scsi.

Konfigurasjon og oppsett av 'saned' nissen

saned nissen er ikke ment å brukes til upålitelige klienter. Du bør gi Brannmur beskyttelse for å sikre at bare pålitelige klienter får tilgang til nissen. På grunn av de komplekse sikkerhetskravene for å sikre kun pålitelige klienter får tilgang til nissen, BLFS gir ikke instruksjoner for å konfigurere saned nissen. Noe god (men utdatert) informasjon for å sette opp og sikre saned nissen finner du på https://penguin-breeder.org/sane/saned/.

Innhold

Bakstykker:
Installerte Programmer: gamma4scanimage, sane-config, saned, sane-find-scanner, scanimage, and umax_pp
Installerte Biblioteker: libsane.so og mange skanner bakstykke moduler
Installerte Mapper: /etc/sane.d, /usr/{include,lib,share}/sane, og /usr/share/doc/sane-1.4.0

Korte Beskrivelser

gamma4scanimage

oppretter en gammatabell i formatet forventet av scanimage

sane-config

er et verktøy som brukes til å bestemme kompilatoren og linkerflagg som skal brukes til å kompilere og lenke SANE

saned

er SANE nissen som lar eksterne klienter få tilgang til bildeinnsamlingsenheter tilgjengelig på den lokale verten

sane-find-scanner

er et kommandolinjeverktøy for å finne SCSI og USB skannere og finne enhetsfilene deres. Dens primære formål er å sørge for at skannere kan oppdages av SANE bakstykker

scanimage

er et kommandolinjegrensesnitt for skanning fra bildeinnhenting enheter som planskannere eller kameraer. Det er også brukt til å liste de tilgjengelige bakstykke enhetene

umax_pp

er et verktøy som brukes til å lese informasjon fra UMAX parallellport skannere. Den kan også brukes til å utføre diagnostikk på disse skannere

xscanimage

er et grafisk brukergrensesnitt for skanning

libsane.so

er applikasjonsprogrammeringsgrensesnittet som brukes til å kommunisere mellom grensesnitt og bakstykker

libsane-*.so

moduler er bakstykke skanningbibliotek programtillegg som brukes til grensesnitt med skanneenheter. Se http://www.sane-project.org/sane-supported-devices.html for en liste over støttede bakstykker

Simple-scan-49.1

Introduksjon til Simple-scan

Simple-scan pakken inneholder en moderne applikasjon for dokumentskanning. Den tar bilder med SANE, og støtter de nyeste fargestyrings og grafikk standardene.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Simple-scan Avhengigheter

Påkrevd

colord-1.4.8, itstool-2.0.7, libgusb-0.4.9, libadwaita-1.8.4, libwebp-1.6.0, og SANE-1.4.0

Installasjon av Simple-scan

Installer Simple-scan ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
gtk-update-icon-cache -qtf /usr/share/icons/hicolor

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

gtk-update-icon-cache [...]: Denne kommandoen oppdaterer systemomfattende GTK+ ikonbuffer siden Simple-scans byggesystem ikke oppdater den for å ta hensyn til ikonene den installerer.

Innhold

Installerte Programmer: simple-scan
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/help/*/simple-scan

Korte Beskrivelser

simple-scan

er et moderne dokumentskanningsprogram

Kapittel 48. Standard Generalisert Markeringsspråk (SGML)

Dette kapittelet inneholder DocBook SGML dokumenttypedefinisjoner (DTDs), DocBook DSSSL stilark og DocBook verktøy for å validere, transformere, formatere og publisere DocBook dokumenter.

sgml-common-0.6.3

Introduksjon til SGML Felles

SGML Felles pakken inneholder install-catalog. Dette er nyttig for å lage og opprettholde sentraliserte SGML kataloger.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av SGML Felles

I stedet for den vanlige konvensjonen med å inkludere autotools filene i pakken inkluderte vedlikeholderne symbolkoblinger til filene i /usr/share/automake. For tidligere versjoner av Automake er denne konvensjonen riktig, men nyere versjoner av Automake installer de interne filene i versjonsspesifikke mapper. Dette forårsaker at configure skriptet avbryter. For å fikse denne feilen, autotools regenereres. Siden inkluderte Makefile.am filen bruker en syntaks som ikke støttes av gjeldende versjoner av Automake, en oppdatering er nødvendig for å fikse syntaksen.

patch -Np1 -i ../sgml-common-0.6.3-manpage-1.patch &&
autoreconf -f -i

Installer SGML Felles ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make docdir=/usr/share/doc install &&

install-catalog --add /etc/sgml/sgml-ent.cat \
    /usr/share/sgml/sgml-iso-entities-8879.1986/catalog &&

install-catalog --add /etc/sgml/sgml-docbook.cat \
    /etc/sgml/sgml-ent.cat

Oppdaterings Hint

Fjern katalogelementene ovenfor før oppgradering (som root bruker) med:

install-catalog --remove /etc/sgml/sgml-ent.cat \
    /usr/share/sgml/sgml-iso-entities-8879.1986/catalog &&

install-catalog --remove /etc/sgml/sgml-docbook.cat \
    /etc/sgml/sgml-ent.cat

Konfigurere SGML Felles

Konfigurasjonsfiler

/etc/sgml/sgml.conf

Konfigurasjonsinformasjon

Ingen endring i denne filen er nødvendig.

Innhold

Installerte Programmer: install-catalog og sgmlwhich
Installerte Biblioteker: Ingen
Installerte Filer: SGML og XML DocBook enhetsfiler
Installerte Mapper: /etc/sgml, /usr/share/doc/sgml-common-0.6.3, og /usr/share/sgml

Korte Beskrivelser

install-catalog

oppretter en sentralisert katalog som opprettholder referanser til kataloger spredt over hele /usr/share/sgml mappetreet

sgmlwhich

skriver ut navnet på hovedkonfigurasjonsfilen til standardutgang

SGML entities files

inneholder de grunnleggende karakterenhetene definert med SDATA oppføringer

XML entities files

inneholder de grunnleggende karakterenhetene definert av en heksadesimal representasjon av Unicode tegnnummeret

docbook-3.1-dtd

Introduksjon til DocBook-3.1 SGML DTD

DocBook SGML DTD pakken inneholder dokumenttypedefinisjoner for verifisering av SGML datafiler mot DocBook regelsettet. Disse er nyttige for å strukturere bøker og programvare dokumentasjon til en standard som lar deg bruke transformasjoner allerede skrevet for den standarden.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

DocBook-3.1 SGML DTD Avhengigheter

Påkrevd

libarchive-3.8.5 og sgml-common-0.6.3

Installasjon av DocBook-3.1 SGML DTD

Notat

Pakkekilden er distribuert i zip format og krever unzip (faktisk en symbolkobling til bsdunzip fra libarchive). Du bør opprette en mappe og bytte til den mappen før du pakker ut filen for å lette fjerningen av kildefilene etter at pakken er installert.

Installer DocBook-3.1 SGML DTD ved å kjøre følgende kommandoer:

sed -i -e '/ISO 8879/d' \
       -e 's|DTDDECL "-//OASIS//DTD DocBook V3.1//EN"|SGMLDECL|g' \
       docbook.cat

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

install -v -d -m755 /usr/share/sgml/docbook/sgml-dtd-3.1 &&
chown -R root:root . &&
install -v docbook.cat /usr/share/sgml/docbook/sgml-dtd-3.1/catalog &&
cp -v -af *.dtd *.mod *.dcl /usr/share/sgml/docbook/sgml-dtd-3.1 &&

install-catalog --add /etc/sgml/sgml-docbook-dtd-3.1.cat \
    /usr/share/sgml/docbook/sgml-dtd-3.1/catalog &&

install-catalog --add /etc/sgml/sgml-docbook-dtd-3.1.cat \
    /etc/sgml/sgml-docbook.cat

Parameterforklaringer

sed -i -e '/ISO 8879/d' docbook.cat: Denne kommandoen fjerner ENT definisjonene fra katalogfilen.

sed -i -e 's|DTDDECL "-//OASIS//DTD Docbook V3.1//EN"|SGMLDECL|g' docbook.cat: Denne kommandoen erstatter DTDDECL katalogoppføringen, som ikke støttes av Linux SGML verktøy, med SGMLDECL katalog inngang.

Konfigurere DocBook-3.1 SGML DTD

Konfigurasjonsfiler

/etc/sgml/catalog

Konfigurasjonsinformasjon

Installasjonsskriptet ovenfor oppdaterer katalogen.

Bruker kun den nyeste 3.x-versjonen av DocBook SGML DTD krever følgende (utfør som root bruker):

cat >> /usr/share/sgml/docbook/sgml-dtd-3.1/catalog << "EOF"
  -- Begin Single Major Version catalog changes --

PUBLIC "-//Davenport//DTD DocBook V3.0//EN" "docbook.dtd"

  -- End Single Major Version catalog changes --
EOF

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Filer: SGML DTD og MOD filer
Installert Mappe: /usr/share/sgml/docbook/sgml-dtd-3.1

Korte Beskrivelser

SGML DTD files

inneholder en dokumenttypedefinisjon som definerer element typer og attributtlistene som kan brukes i de tilsvarende SGML filer

SGML MOD files

inneholder komponenter av dokumenttypedefinisjonen som er hentet inn i DTD filer

docbook-4.5-dtd

Introduksjon til DocBook-4.5 SGML DTD

DocBook-4.5 SGML DTD pakken inneholder dokumenttypedefinisjoner for verifisering av SGML datafiler mot DocBook regelsett. Disse er nyttige for å strukturere bøker og programvare dokumentasjon til en standard som lar deg bruke transformasjoner allerede skrevet for den standarden.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

DocBook-4.5 SGML DTD Avhengigheter

Påkrevd

libarchive-3.8.5 og sgml-common-0.6.3

Installasjon av DocBook-4.5 SGML DTD

Notat

Pakkekilden er distribuert i zip format og krever unzip (faktisk en symbolkobling til bsdunzip fra libarchive). Du bør opprette en mappe og bytte til den mappen før du pakker ut filen for å lette fjerningen av kildefilene etter at pakken er installert.

Installer DocBook-4.5 SGML DTD ved å kjøre følgende kommandoer:

sed -i -e '/ISO 8879/d' \
       -e '/gml/d' docbook.cat

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

install -v -d /usr/share/sgml/docbook/sgml-dtd-4.5 &&
chown -R root:root . &&

install -v docbook.cat /usr/share/sgml/docbook/sgml-dtd-4.5/catalog &&
cp -v -af *.dtd *.mod *.dcl /usr/share/sgml/docbook/sgml-dtd-4.5 &&

install-catalog --add /etc/sgml/sgml-docbook-dtd-4.5.cat \
    /usr/share/sgml/docbook/sgml-dtd-4.5/catalog &&

install-catalog --add /etc/sgml/sgml-docbook-dtd-4.5.cat \
    /etc/sgml/sgml-docbook.cat

Parameterforklaringer

sed -i -e '/ISO 8879/d' -e '/gml/d' docbook.cat: Denne kommandoen fjerner ENT definisjonene fra katalogfilen.

Konfigurere DocBook-4.5 SGML DTD

Konfigurasjonsfiler

/etc/sgml/catalog

Konfigurasjonsinformasjon

Installasjonsskriptet ovenfor oppdaterer katalogen.

Bruker kun den nyeste 4.x-versjonen av DocBook SGML DTD krever følgende (utfør som root bruker):

cat >> /usr/share/sgml/docbook/sgml-dtd-4.5/catalog << "EOF"
  -- Begin Single Major Version catalog changes --

PUBLIC "-//OASIS//DTD DocBook V4.4//EN" "docbook.dtd"
PUBLIC "-//OASIS//DTD DocBook V4.3//EN" "docbook.dtd"
PUBLIC "-//OASIS//DTD DocBook V4.2//EN" "docbook.dtd"
PUBLIC "-//OASIS//DTD DocBook V4.1//EN" "docbook.dtd"
PUBLIC "-//OASIS//DTD DocBook V4.0//EN" "docbook.dtd"

  -- End Single Major Version catalog changes --
EOF

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Filer: SGML DTD og MOD filer
Installert Mappe: /usr/share/sgml/docbook/sgml-dtd-4.5

Korte Beskrivelser

SGML DTD files

inneholder en dokumenttypedefinisjon som definerer element typer og attributtlistene som kan brukes i de tilsvarende SGML filer

SGML MOD files

inneholder komponenter av dokumenttypedefinisjonen som er hentet inn i DTD filer

OpenSP-1.5.2

Introduksjon til OpenSP

OpenSP pakken inneholder et C++ bibliotek for bruk av SGML/XML filer. Dette er nyttig for å validere, analysere og manipulere SGML og XML dokumenter.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

OpenSP Avhengigheter

Påkrevd

sgml-common-0.6.3

Valgfri

libnsl-2.0.1 og xmlto-0.0.29

Installasjon av OpenSP

Installer OpenSP ved å kjøre følgende kommandoer:

patch -Np1 -i ../OpenSP-1.5.2-gcc14-1.patch          &&
sed -i 's/32,/253,/' lib/Syntax.cxx                  &&
sed -i 's/LITLEN          240 /LITLEN          8092/' \
    unicode/{gensyntax.pl,unicode.syn}               &&

./configure --prefix=/usr                              \
            --disable-static                           \
            --disable-doc-build                        \
            --enable-default-catalog=/etc/sgml/catalog \
            --enable-http                              \
            --enable-default-search-path=/usr/share/sgml &&

make pkgdatadir=/usr/share/sgml/OpenSP-1.5.2

For å teste resultatene, kjør: make check. Så mange som ni av de 23 testene kan mislykkes. Ikke bli skremt.

Nå, som root bruker:

make pkgdatadir=/usr/share/sgml/OpenSP-1.5.2 \
     docdir=/usr/share/doc/OpenSP-1.5.2      \
     install &&

ln -v -sf onsgmls   /usr/bin/nsgmls   &&
ln -v -sf osgmlnorm /usr/bin/sgmlnorm &&
ln -v -sf ospam     /usr/bin/spam     &&
ln -v -sf ospcat    /usr/bin/spcat    &&
ln -v -sf ospent    /usr/bin/spent    &&
ln -v -sf osx       /usr/bin/sx       &&
ln -v -sf osx       /usr/bin/sgml2xml &&
ln -v -sf libosp.so /usr/lib/libsp.so

Parameterforklaringer

sed -i 's/32,/253,/...unicode.syn}: Disse sedene forhindrer noen irriterende meldinger som ellers kan dukke opp mens du kjører openjade.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-http: Denne bryteren legger til støtte for HTTP.

--disable-doc-build: Denne bryteren forhindrer configure skriptet å sjekke om du har xmlto installert. Hvis du har xmlto, kan du fjerne dette alternativet.

--enable-default-catalog=/etc/sgml/catalog: Denne bryteren setter banen til den sentraliserte katalogen.

--enable-default-search-path: Denne bryteren setter standardverdien til SGML_SEARCH_PATH.

--enable-xml-messages: Denne bryteren legger til støtte for XML formaterte meldinger.

make pkgdatadir=/usr/share/sgml/OpenSP-1.5.2 : Dette setter pkgdatadir variabelen i Makefile fra /usr/share/OpenSP til /usr/share/sgml/OpenSP-1.5.2.

ln -v -sf ...: Disse kommandoene oppretter SP ekvivalenter av OpenSP kjørbare filer og biblioteker.

Innhold

Installerte Programmer: onsgmls, osgmlnorm, ospam, ospcat, ospent, osx, og SP tilsvarende symbolkoblinger: nsgmls, sgml2xml, sgmlnorm, spam, spcat, spent, og sx
Installert Bibliotek: libosp.so og SP tilsvarende symbolkobling: libsp.so
Installerte Mapper: /usr/include/OpenSP, /usr/share/doc/OpenSP, og /usr/share/sgml/OpenSP-1.5.2

Korte Beskrivelser

onsgmls

brukes til å behandle SGML filer

osgmlnorm

skriver ut på standardutgangen en normalisert dokumentforekomst for SGML dokumentet i sammenkoblingen av enhetene med systemidentifikatorer .nf og .fi

ospam

er et redigeringsverktøy for markeringsspråk strømmer

ospcat

skriver ut effektive systemidentifikatorer som finnes i katalogene

ospent

gir tilgang til OpenSP sin enhetsbehandler

osx

er en SGML normalisator eller brukes til å konvertere SGML filer til XML filer

nsgmls

er en symbolkobling til onsgmls

sgml2xml

er en symbolkobling til osx

sgmlnorm

er en symbolkobling til osgmlnorm

spam

er en symbolkobling til ospam

spcat

er en symbolkobling til ospcat

spent

er en symbolkobling til ospent

sx

er en symbolkobling til osx

libosp.so

inneholder funksjoner som kreves av OpenSP programmer for å analysere, validere og manipulere SGML og XML filer

libsp.so

er en symbolkobling til libosp.so

OpenJade-1.3.2

Introduksjon til OpenJade

OpenJade pakken inneholder en DSSSL motor. Dette er nyttig for SGML og XML transformasjoner til RTF, TeX, SGML og XML.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

OpenJade Avhengigheter

Påkrevd

OpenSP-1.5.2

Installasjon av OpenJade

Løs først problemer når du bygger med nyere kompilatorer:

patch -Np1 -i ../openjade-1.3.2-upstream-1.patch

Løs nå et kompileringsproblem med perl-5.16 og nyere:

sed -i -e '/getopts/{N;s#&G#g#;s#do .getopts.pl.;##;}' \
       -e '/use POSIX/ause Getopt::Std;' msggen.pl

Installer OpenJade ved å kjøre følgende kommandoer:

export CXXFLAGS="${CXXFLAGS:--O2 -g} -fno-lifetime-dse"            &&
./configure --prefix=/usr                                \
            --mandir=/usr/share/man                      \
            --enable-http                                \
            --disable-static                             \
            --enable-default-catalog=/etc/sgml/catalog   \
            --enable-default-search-path=/usr/share/sgml \
            --datadir=/usr/share/sgml/openjade-1.3.2   &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install                                                   &&
make install-man                                               &&
ln -v -sf openjade /usr/bin/jade                               &&
ln -v -sf libogrove.so /usr/lib/libgrove.so                    &&
ln -v -sf libospgrove.so /usr/lib/libspgrove.so                &&
ln -v -sf libostyle.so /usr/lib/libstyle.so                    &&

install -v -m644 dsssl/catalog /usr/share/sgml/openjade-1.3.2/ &&

install -v -m644 dsssl/*.{dtd,dsl,sgm}              \
    /usr/share/sgml/openjade-1.3.2                             &&

install-catalog --add /etc/sgml/openjade-1.3.2.cat  \
    /usr/share/sgml/openjade-1.3.2/catalog                     &&

install-catalog --add /etc/sgml/sgml-docbook.cat    \
    /etc/sgml/openjade-1.3.2.cat

Parameterforklaringer

export CXXFLAGS=...: Denne kommandoen forhindrer segmenteringsfeil når pakken kompileres med gcc-6.1.

make install-man: Denne kommandoen installerer openjade manside.

--disable-static: Denne bryteren forhindrer byggingen av det statiske biblioteket.

--enable-http: Denne bryteren legger til støtte for HTTP.

--enable-default-catalog=/etc/sgml/catalog: Denne bryteren setter banen til den sentraliserte mappen.

--enable-default-search-path: Denne bryteren setter standardverdien til SGML_SEARCH_PATH.

--datadir=/usr/share/sgml/openjade-1.3.2: Denne bryteren legger datafiler i /usr/share/sgml/openjade-1.3.2 istedet for /usr/share.

ln -v -sf ...: Disse kommandoene oppretter Jade ekvivalenter av OpenJade kjørbare filer og biblioteker.

Konfigurere OpenJade

Konfigurasjonsinformasjon

Som root bruker:

echo "SYSTEM \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\" \
    \"/usr/share/xml/docbook/xml-dtd-4.5/docbookx.dtd\"" >> \
    /usr/share/sgml/openjade-1.3.2/catalog

Denne konfigurasjonen er bare nødvendig hvis du har tenkt å bruke OpenJade for å behandle BLFS XML filene gjennom DSSSL stilark.

Innhold

Installerte Programmer: openjade og Jade tilsvarende symbolkobling, jade
Installerte Biblioteker: libogrove.so, libospgrove.so, libostyle.so, og Jade tilsvarende symbolkobling: libgrove.so, libspgrove.so, og libstyle.so
Installert Mappe: /usr/share/sgml/openjade-1.3.2

Korte Beskrivelser

openjade

er en DSSSL motor som brukes til transformasjoner

jade

er en symbolkobling til openjade

docbook-dsssl-1.79

Introduksjon til DocBook DSSSL Stilark

DocBook DSSSL Stilark pakken inneholder DSSSL stilark. Disse brukes av OpenJade eller andre verktøy for å transformere SGML og XML DocBook filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Dokumentasjon og testdata

DocBook DSSSL Stilark Avhengigheter

Påkrevd

sgml-common-0.6.3

Påkrevd (for å teste DocBook SGML Verktøykjeden)

docbook-3.1-dtd, docbook-4.5-dtd, OpenSP-1.5.2, og OpenJade-1.3.2

Installasjon av DocBook DSSSL Stilark

Hvis du lastet ned dokumentasjonen, kjør:

tar -xf ../docbook-dsssl-doc-1.79.tar.bz2 --strip-components=1

Installer DocBook DSSSL Stilark ved å kjøre følgende kommandoer som root bruker:

install -v -m755 bin/collateindex.pl /usr/bin                      &&
install -v -m644 bin/collateindex.pl.1 /usr/share/man/man1         &&
install -v -d -m755 /usr/share/sgml/docbook/dsssl-stylesheets-1.79 &&
cp -v -R * /usr/share/sgml/docbook/dsssl-stylesheets-1.79          &&

install-catalog --add /etc/sgml/dsssl-docbook-stylesheets.cat \
    /usr/share/sgml/docbook/dsssl-stylesheets-1.79/catalog         &&

install-catalog --add /etc/sgml/dsssl-docbook-stylesheets.cat \
    /usr/share/sgml/docbook/dsssl-stylesheets-1.79/common/catalog  &&

install-catalog --add /etc/sgml/sgml-docbook.cat              \
    /etc/sgml/dsssl-docbook-stylesheets.cat

Parameterforklaringer

Kommandoene ovenfor oppretter et installasjonsskript for denne pakken.

Teste DocBook SGML Verktøykjede (Valgfri)

Følgende kommandoer vil utføre de nødvendige testene for å bekrefte at din installerte DocBook SGML verktøykjede vil gi ønskede resultater. Du må ha docbook-3.1-dtd, docbook-4.5-dtd, OpenSP-1.5.2, og OpenJade-1.3.2 pakkene installert, og utføre testene som root bruker.

Alle tester vil bli utført fra /usr/share/sgml/docbook/dsssl-stylesheets-1.79/doc/testdata mappen som root bruker:

cd /usr/share/sgml/docbook/dsssl-stylesheets-1.79/doc/testdata

Den første testen skal ikke gi utdata til stdout (skjermen din) og opprette en fil med navnet jtest.rtf i gjeldende mappe:

openjade -t rtf -d jtest.dsl jtest.sgm

Den neste testen skal bare returnere følgende linje til stdout: onsgmls:I: "OpenSP" version "1.5.2"

onsgmls -sv test.sgm

Den neste testen skal ikke produsere noe utdata til stdout og opprette en fil navngitt test.rtf i gjeldende mappe:

openjade -t rtf \
    -d /usr/share/sgml/docbook/dsssl-stylesheets-1.79/print/docbook.dsl \
    test.sgm

Den siste testen skal ikke produsere noe utdata til stdout og lage en fil navngitt c1.htm i gjeldende mappe:

openjade -t sgml \
    -d /usr/share/sgml/docbook/dsssl-stylesheets-1.79/html/docbook.dsl \
    test.sgm

Til slutt, rydd opp:

rm jtest.rtf test.rtf c1.htm

Innhold

Installert Program: collateindex.pl
Installerte Biblioteker: Ingen
Installerte Filer: DSSSL stilark
Installert Mappe: /usr/share/sgml/docbook/dsssl-stylesheets-1.79

Korte Beskrivelser

collateindex.pl

er etPerl skript som lager en DocBook indeks fra rå indeksdata

DocBook-utils-0.6.14

Introduksjon til DocBook-utils

DocBook-utils pakken er en samling av verktøyskript som brukes til å konvertere og analysere SGML dokumenter generelt, og DocBook filer spesielt. Skriptene brukes til å konvertere fra DocBook eller andre SGML formater til «klassiske» filformater som HTML, man, info, RTF og mange flere. Det er også et verktøy for å sammenligne to SGML filer og viser bare forskjellene i markeringene. Dette er nyttig for å sammenligne dokumenter utarbeidet for forskjellige språk.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

DocBook-utils Avhengigheter

Påkrevd

OpenJade-1.3.2, docbook-dsssl-1.79, og docbook-3.1-dtd

Anbefalt (Kun kjøretidsavhengigheter)

Installasjon av DocBook-utils

Installer DocBook-utils ved å kjøre følgende kommandoer:

patch -Np1 -i ../docbook-utils-0.6.14-grep_fix-1.patch &&
sed -i 's:/html::' doc/HTML/Makefile.in                &&

./configure --prefix=/usr --mandir=/usr/share/man      &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make docdir=/usr/share/doc install

Mange pakker bruker et alternativt navn for DocBook-utils skript. Hvis du ønsker å lage disse alternative navnene, bruk følgende kommando som root bruker:

for doctype in html ps dvi man pdf rtf tex texi txt
do
    ln -svf docbook2$doctype /usr/bin/db2$doctype
done

Notat

jw skriptet bruker which kommando for å finne nødvendige verktøy. Du må installere Which-2.23 før du prøver å bruke noen av DocBook-utils programmene.

Parameterforklaringer

patch -Np1 -i ../docbook-utils-0.6.14-grep_fix-1.patch: Denne oppdateringen korrigerer syntaksen i jw (Jade Wrapper) skriptet som er i hjertet av mye db2* behandling, slik at den nåværende versjonen av grep ikke vil avvise det.

sed -i 's:/html::' doc/HTML/Makefile.in: Denne kommandoen endrer installasjonsmappen til HTML dokumentene.

docdir=/usr/share/doc: Dette alternativet er plassert på make install linjen fordi den ikke er gjenkjent av configure.

Innhold

Installerte Programmer: docbook2dvi, docbook2html, docbook2man, docbook2pdf, docbook2ps, docbook2rtf, docbook2tex, docbook2texi, docbook2txt, jw, og sgmldiff
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/docbook-utils-0.6.14 og /usr/share/sgml/docbook/utils-0.6.14
Installerte Symbolkoblinger: db2dvi, db2html, db2man, db2pdf, db2ps, db2rtf, db2tex, db2texi, og db2txt

Korte Beskrivelser

docbook2*

er enkel en-linjes innpakningsskript til jw. De er gitt som navn som er enkle å huske og brukes til å konvertere DocBook eller andre SGML filer til det respektive formatet

db2*

er symbolkoblinger som peker på de respektive navngitte docbook2* kommandoer, laget for å tilfredsstille noen programmers bruk av disse navnene

jw

er et skript som brukes til å konvertere DocBook eller andre SGML filer til forskjellige utdataformater. Den skjuler det meste av OpenJade sin kompleksitet og legger til komfortable funksjoner

sgmldiff

brukes til å sammenligne to SGML filer og bare returnere forskjellene i markeringen. Dette er spesielt nyttig for å sammenligne filer som skal være identisk bortsett fra språkforskjeller i innholdet

Kapittel 49. Utvidbart Merkespråk (XML)

Dette kapittelet inneholder DocBook XML dokumenttypedefinisjonen (DTD) og DocBook stilark som brukes til å validere, transformere, formatere og publisere DocBook dokumenter.

docbook-xml-4.5

Introduksjon til DocBook-4.5 XML DTD

DocBook-4.5 XML DTD-4.5 pakken inneholder dokumenttypedefinisjoner for verifisering av XML data filer mot DocBook regelsettet. Disse er nyttige for strukturering av bøker og programvaredokumentasjon til en standard som lar deg bruke transformasjoner som allerede er skrevet for den standarden.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

DocBook-4.5 XML DTD Avhengigheter

Påkrevd

libarchive-3.8.5 og libxml2-2.15.1

Installasjon av DocBook-4.5 XML DTD

Notat

Pakkekilden er distribuert i zip format og krever unzip (faktisk en symbolkobling til bsdunzip fra libarchive). Du bør opprette en mappe og bytte til den mappen før du pakker ut filen for å lette fjerningen av kildefilene etter at pakken er installert.

Installer DocBook XML DTD ved å kjøre følgende kommandoer som root bruker:

install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.5 &&
install -v -d -m755 /etc/xml                           &&
cp -v -af --no-preserve=ownership                      \
    catalog.xml docbook.cat *.dtd ent/ *.mod           \
    /usr/share/xml/docbook/xml-dtd-4.5

Den medfølgende catalog.xml filen håndterer de formelle offentlige identifikatorene til DocBook-4.5 XML DTD-en. Vi må legge til noen oppføringer i installasjonen for å håndtere URL-ene til DTD-en også, ved å kjøre følgende kommandoer som root bruker:

xmlcatalog --noout --add "rewriteSystem"        \
    "http://www.oasis-open.org/docbook/xml/4.5" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /usr/share/xml/docbook/xml-dtd-4.5/catalog.xml &&

xmlcatalog --noout --add "rewriteURI"           \
    "http://www.oasis-open.org/docbook/xml/4.5" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /usr/share/xml/docbook/xml-dtd-4.5/catalog.xml

Opprett (eller oppdater) og fyll ut /etc/xml/catalog katalogfilen ved å kjøre følgende kommandoer som root bruker:

if [ ! -e /etc/xml/catalog ]; then
    xmlcatalog --noout --create /etc/xml/catalog
fi &&

xmlcatalog --noout --add "delegatePublic"                   \
    "-//OASIS//ENTITIES DocBook XML"                        \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/catalog.xml" \
    /etc/xml/catalog                                        &&

xmlcatalog --noout --add "delegatePublic"                   \
    "-//OASIS//DTD DocBook XML"                             \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/catalog.xml" \
    /etc/xml/catalog                                        &&

xmlcatalog --noout --add "delegateSystem"                   \
    "http://www.oasis-open.org/docbook/"                    \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/catalog.xml" \
    /etc/xml/catalog                                        &&

xmlcatalog --noout --add "delegateURI"                      \
    "http://www.oasis-open.org/docbook/"                    \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/catalog.xml" \
    /etc/xml/catalog

Konfigurere DocBook-4.5 XML DTD

Konfigurasjonsfiler

/etc/xml/catalog

Konfigurasjonsinformasjon

Obs

Ulike BLFS pakker forespør DocBook XML DTD versjon 4.x før V4.5, så følgende trinn må gjøres for at disse pakkene skal bygges med suksess.

Installasjonen ovenfor oppretter filene og oppdaterer katalogene. For å utnytte DocBook XML DTD V4.5 når en hvilken som helst versjon 4.x er forespurt i System Identifikator, du må legge til flere utsagn i katalogfiler. Hvis du har noen av DocBook XML DTD referert nedenfor allerede installert på ditt system, fjern disse oppføringene før kommandoene nedenfor (utsted kommandoene som root bruker):

for DTDVERSION in 4.1.2 4.2 4.3 4.4
do
  xmlcatalog --noout --add "public"                                  \
    "-//OASIS//DTD DocBook XML V$DTDVERSION//EN"                     \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \
    /usr/share/xml/docbook/xml-dtd-4.5/catalog.xml

  xmlcatalog --noout --add "rewriteSystem"              \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5"         \
    /usr/share/xml/docbook/xml-dtd-4.5/catalog.xml
  
  xmlcatalog --noout --add "rewriteURI"                 \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5"         \
    /usr/share/xml/docbook/xml-dtd-4.5/catalog.xml
done

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Filer: DTD, MOD og ENT filer
Installerte Mapper: /etc/xml og /usr/share/xml/docbook/xml-dtd-4.5

Korte Beskrivelser

DTD filer

inneholder en dokumenttypedefinisjon som definerer elementtyper og attributtlistene som kan brukes i de tilsvarende XML filene

MOD files

inneholder komponenter av dokumenttypedefinisjonen som er hentet inn i DTD filer

ENT files

inneholder lister over navngitte karakterenheter som er tillatt i HTML

docbook-xml-5.0

Introduksjon til DocBook XML DTD og skjemaer 5.0

DocBook XML DTD og skjemaer-5.0 pakken inneholder dokumenttypedefinisjoner og skjemaer for verifisering av XML datafiler mot DocBook regelsettet. Disse er nyttige for strukturering av bøker og programvaredokumentasjon til en standard som lar deg bruke transformasjoner som allerede er skrevet for den standarden. I tillegg til å tilby en DTD introduserte versjon 5 RelaxNG skjemaet og Schematron regler, og er inkompatibel med tidligere versjoner av DocBook XML.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

DocBook XML DTD og skjemaer 5.0 Avhengigheter

Påkrevd

libarchive-3.8.5 og libxml2-2.15.1

Installasjon av DocBook XML DTD og skjemaer 5.0

Installer DocBook XML DTD og skjemaer ved å kjøre følgende kommandoer som root bruker:

install -vdm755 /usr/share/xml/docbook/xml-5.0 &&
cp -rv catalog.xml dtd rng sch xsd /usr/share/xml/docbook/xml-5.0

Opprett (eller oppdater) og fyll ut systemets XML katalog (/etc/xml/catalog) ved å kjøre følgende kommandoer som root bruker:

if [ ! -e /etc/xml/catalog ]; then
    install -v -d -m755 /etc/xml &&
    xmlcatalog --noout --create /etc/xml/catalog
fi &&

xmlcatalog --noout --add "delegatePublic"             \
  "-//OASIS//DTD DocBook XML 5.0//EN                " \
  "file:///usr/share/xml/docbook/xml-5.0/catalog.xml" \
  /etc/xml/catalog &&

xmlcatalog --noout --add "delegateSystem"             \
  "http://docbook.org/xml/5.0/dtd/"                   \
  "file:///usr/share/xml/docbook/xml-5.0/catalog.xml" \
  /etc/xml/catalog &&

xmlcatalog --noout --add "delegateURI"                \
  "http://docbook.org/xml/5.0"                        \
  "file:///usr/share/xml/docbook/xml-5.0/catalog.xml" \
  /etc/xml/catalog

Konfigurere DocBook XML DTD og skjemaer 5.0

Konfigurasjonsfiler

/etc/xml/catalog

Innhold

Installerte Filer: DTD, RNC, RNG, SCH and XSD filer
Installerte Mapper: /etc/xml and /usr/share/xml/docbook/xml-5.0

Korte Beskrivelser

DTD filer

inneholder DocBook 5.0 dokumenttypedefinisjoner som definerer elementtyper og attributtlistene som kan brukes i tilsvarende XML filer

RNC, RNG, and SCH files

inneholder Docbook 5.0 RelaxNG, RelaxNG Compact og Schematron skjemadefinisjoner

XSD files

filene inneholder DocBook-5.0 Schematron regler

docbook-xsl-nons-1.79.2

Introduksjon til DocBook XSL Stilark

DocBook XSL Stilark pakken inneholder XSL stilark. Disse er nyttige for å utføre transformasjoner på XML DocBook filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Valgfri dokumentasjon

DocBook XSL Stilark Avhengigheter

Anbefalt (ved kjøretid)
Valgfri (alle brukt under kjøring)

apache-ant-1.10.15 (å produsere «webhelp» dokumenter), libxslt-1.1.45 (eller en hvilken som helst annen XSLT prosessor), for å behandle Docbook dokumenter, Ruby-4.0.1 (for å bruke «epub» stilark), Zip-3.0 (for å produsere «epub3» dokumenter), og Saxon6 og Xerces2 Java (brukt med apache-ant-1.10.15 for å produsere «webhelp» dokumenter)

Installasjon av DocBook XSL Stilark

Først, fiks et problem som forårsaker stabeloverflyt når du gjør rekursjon:

patch -Np1 -i ../docbook-xsl-nons-1.79.2-stack_fix-1.patch

Hvis du lastet ned den valgfrie dokumentasjonens tarball, pakk den ut med følgende kommando:

tar -xf ../docbook-xsl-doc-1.79.2.tar.bz2 --strip-components=1

BLFS installerer ikke de nødvendige pakkene for å kjøre testpakken og gi meningsfulle resultater.

Installer DocBook XSL Stilark ved å kjøre følgende kommandoer som root bruker:

install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2 &&

cp -v -R VERSION assembly common eclipse epub epub3 extensions fo        \
         highlighting html htmlhelp images javahelp lib manpages params  \
         profiling roundtrip slides template tests tools webhelp website \
         xhtml xhtml-1_1 xhtml5                                          \
    /usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2 &&

ln -s VERSION /usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2/VERSION.xsl &&

install -v -m644 -D README \
                    /usr/share/doc/docbook-xsl-nons-1.79.2/README.txt &&

install -v -m644    RELEASE-NOTES* NEWS* \
                    /usr/share/doc/docbook-xsl-nons-1.79.2

Hvis du lastet ned den valgfrie dokumentasjonens tarball, installer dokumentasjonen ved å utsted følgende kommando som root bruker:

cp -v -R doc/* /usr/share/doc/docbook-xsl-nons-1.79.2

Konfigurere DocBook XSL Stilark

Konfigurasjonsfiler

/etc/xml/catalog

Konfigurasjonsinformasjon

Opprett (eller legg til) og fyll ut XML katalogfilen ved å bruke følgende kommandoer som root bruker (både http og https skjemaer brukes fordi oppstrøms har hatt begge i sin dokumentasjon):

(set -e

 install -v -d -m755 /etc/xml
 [ -e /etc/xml/catalog ] || xmlcatalog --noout --create /etc/xml/catalog

 for uri in http{,s}://cdn.docbook.org/release/xsl-nons/{1.79.2,current} \
            http://docbook.sourceforge.net/release/xsl/current; do
   for rewrite in System URI; do
     xmlcatalog --noout --add "rewrite$rewrite"             \
       "$uri"                                               \
       "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
       /etc/xml/catalog
   done
 done)

Noen ganger kan du finne behov for å installere andre versjoner av XSL stilark ettersom noen prosjekter refererer til en spesifikk versjon. Et eksempel er BLFS-6.0, som krevde 1.67.2-versjonen. I disse forekomster bør du installere enhver annen nødvendig versjon i sin egen versjonert mappe og opprett katalogoppføringer som følger (erstatt ønsket versjonsnummer for <version>):

xmlcatalog --noout --add "rewriteSystem"                          \
           "http://docbook.sourceforge.net/release/xsl/<version>" \
           "/usr/share/xml/docbook/xsl-stylesheets-<version>"     \
           /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI"                             \
           "http://docbook.sourceforge.net/release/xsl/<version>" \
           "/usr/share/xml/docbook/xsl-stylesheets-<version>"     \
           /etc/xml/catalog

Innhold

Installerte Filer: /usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2/*/*.xsl
Installerte Mapper: /usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2 og /usr/share/doc/docbook-xsl-nons-1.79.2

Korte Beskrivelser

XSL Stilark

brukes til å utføre transformasjoner på XML filer

docbook-xsl-ns-1.79.2

Introduksjon til DocBook XSL Stylesheets (Namespaced)

DocBook XSL Stylesheets (Namespaced) pakken inneholder XSL stilark. Disse er nyttige for å utføre transformasjoner på XML DocBook 5.0 filer.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

DocBook XSL Stylesheets (Namespaced) Avhengigheter

Nødvendig (ved kjøretid)
Valgfri (alle brukt ved kjøretid)

apache-ant-1.10.15 (for å produsere «webhelp» dokumenter), libxslt-1.1.45 (eller en hvilken som helst annen XSLT prosessor), for å behandle Docbook dokumenter, Ruby-4.0.1 (for å utnytte «epub» stilark), Zip-3.0 (for å produsere «epub3» dokumenter), og Saxon6 og Xerces2 Java (brukt med apache-ant-1.10.15 for å utnytte «webhelp» dokumenter)

Installasjon av DocBook XSL Stylesheets (Namespaced)

Først, fiks et problem som forårsaker stabeloverflyt når du gjør rekursjon:

patch -Np1 -i ../docbook-xsl-1.79.2-stack_fix-1.patch

BLFS installerer ikke de nødvendige pakkene for å kjøre testpakken og gi meningsfulle resultater.

Installer DocBook XSL Stylesheets ved å kjøre følgende kommandoer som root bruker:

install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-1.79.2 &&

cp -v -R VERSION assembly common eclipse epub epub3 extensions fo        \
         highlighting html htmlhelp images javahelp lib manpages params  \
         profiling roundtrip slides template tests tools webhelp website \
         xhtml xhtml-1_1 xhtml5                                          \
    /usr/share/xml/docbook/xsl-stylesheets-1.79.2 &&

ln -s VERSION /usr/share/xml/docbook/xsl-stylesheets-1.79.2/VERSION.xsl

Dokumentasjonen for denne pakken er delt med dens ikke-namespaced motpart, docbook-xsl-nons-1.79.2 pakken. Installer sistnevnte hvis du ønsker dokumentasjonen.

Konfigurere DocBook XSL Stylesheets

Konfigurasjonsfiler

/etc/xml/catalog

Konfigurasjonsinformasjon

Opprett (eller legg til) og fyll ut XML katalogfilen ved å bruke følgende kommandoer som root bruker (både http og https skjemaer brukes fordi oppstrøms har hatt begge i sin dokumentasjon):

(set -e

 install -v -d -m755 /etc/xml
 [ -e /etc/xml/catalog ] || xmlcatalog --noout --create /etc/xml/catalog

 for uri in http{,s}://cdn.docbook.org/release/xsl/{1.79.2,current} \
            http://docbook.sourceforge.net/release/xsl-ns/current; do
   for rewrite in System URI; do
     xmlcatalog --noout --add "rewrite$rewrite"        \
       "$uri"                                          \
       "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
       /etc/xml/catalog
   done
 done)

Innhold

Installerte Filer: /usr/share/xml/docbook/xsl-stylesheets-1.79.2/*/*.xsl
Installerte Mapper: /usr/share/xml/docbook/xsl-stylesheets-1.79.2

Korte Beskrivelser

XSL Stylesheets (Namespaced)

brukes til å utføre transformasjoner på XML filer

itstool-2.0.7

Introduksjon til itstool

Itstool trekker ut meldinger fra XML filer og sender ut PO malfiler, og slår deretter sammen oversettelser fra MO filer for å lage oversatte XML filer. Det bestemmer hva som skal oversettes og hvordan dele den inn i meldinger ved hjelp av W3C Internationalization Tag Set (ITS).

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Itstool Avhengigheter

Påkrevd

docbook-xml-4.5 og lxml-6.0.2

Installasjon av itstool

Først, bruk en oppdatering for å bruke lxml-6.0.2 for håndtering av XML filene i stedet for den utdaterte (deaktiverte som standard) Python modulen fra libxml2-2.15.1:

patch -Np1 -i ../itstool-2.0.7-lxml-1.patch

Installer itstool ved å kjøre følgende kommandoer:

PYTHON=/usr/bin/python3 ./autogen.sh --prefix=/usr &&
make

For å teste resultatene, utsted: python3 tests/run_tests.py.

Nå, som root bruker:

make install

Innhold

Installert Program: itstool
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/itstool

Korte Beskrivelser

itstool

brukes til å lage oversatte XML filer

xmlto-0.0.29

Introduksjon til xmlto

xmlto pakken er e grensesnitt til en XSL verktøykjede. Den velger et passende stilark for konverteringen du ønsker og bruker den ved hjelp av en ekstern XSLT prosessor. Den presterer også eventuell nødvendig etterbehandling.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

xmlto Avhengigheter

Påkrevd

docbook-xml-4.5, docbook-xsl-nons-1.79.2, og libxslt-1.1.45

Valgfri (for DVI, PDF, og postscript bakstykke etterbehandling)

fop-2.11, dblatex, og PassiveTeX

Valgfri (for text bakstykke etterbehandling)

En av Links-2.30, Lynx-2.9.2, W3m, eller ELinks

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/xmlto

Installasjon av xmlto

Installer xmlto ved å kjøre følgende kommandoer:

autoreconf -fiv                                  &&
LINKS="/usr/bin/links" ./configure --prefix=/usr &&

make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

LINKS="/usr/bin/links": Denne miljøvariabelen fikser en feil som forårsaker xmlto til å tro at links kommandoen er den samme som elinks. Innstilling av denne variabelen forårsaker ikke problemer hvis Links-2.30 ikke er installert, med mindre du har ELinks installert, og ønsker å bruke den til etterbehandling av tekst bakstykke. Hvis du ønsker ELinks, bør du fjerne denne miljøvariabelen.

Innhold

Installerte Programmer: xmlif og xmlto
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/xmlto

Korte Beskrivelser

xmlif

er en betinget behandlingsinstruks for XML

xmlto

bruker et XSL stilark på et XML dokument

Kapittel 50. PostScript

Dette kapittelet inkluderer programmer som oppretter, manipulerer eller viser PostScript filer og opprette eller se Portable Document Format PDF filer.

Enscript-1.6.6

Introduksjon til Enscript

Enscript konverterer ASCII tekstfiler til PostScript, HTML, RTF, ANSI og overstreker.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Obs

Enscript kan ikke konvertere UTF-8 kodet tekst til PostScript. Problemstillingen diskuteres i detalj i Den Nødvendige Kodingen er Ikke et Gyldig Alternativ delen av Lokale Relaterte Problemer siden. Løsningen er å bruke paps-0.8.0, i stedet for Enscript, for å konvertere UTF-8 kodet tekst til PostScript.

Pakkeinformasjon

Enscript Avhengigheter

Valgfri

texlive-20250308 (eller install-tl-unx)

Installasjon av Enscript

Installer Enscript ved å kjøre følgende kommandoer:

./configure --prefix=/usr              \
            --sysconfdir=/etc/enscript \
            --localstatedir=/var       \
            --with-media=Letter &&
make CC="gcc -std=gnu17"        &&

pushd docs &&
  makeinfo --plaintext -o enscript.txt enscript.texi &&
popd

Hvis du har texlive-20250308 installert, kan du opprette Postscript og PDF dokumentasjon ved å kjøre (støtter ikke parallell make):

make -j1 -C docs ps pdf

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&

install -v -m755 -d /usr/share/doc/enscript-1.6.6 &&
install -v -m644    README* *.txt docs/*.txt \
                    /usr/share/doc/enscript-1.6.6

Hvis du har bygget Postscript og PDF dokumentasjon, installer den ved å bruke følgende kommando som root bruker:

install -v -m644 docs/*.{dvi,pdf,ps} \
                 /usr/share/doc/enscript-1.6.6

Parameterforklaringer

--sysconfdir=/etc/enscript: Denne bryteren putter konfigurasjonsdata i /etc/enscript i stedet for /usr/etc.

--localstatedir=/var: Denne bryteren stiller inn mappen for kjøretidsdata til /var i stedet for /usr/var.

--with-media=Letter: Denne bryteren stiller inn mellomformat til Letter størrelse i stedet for A4 som er standard.

Innhold

Installerte Programmer: diffpp, enscript, mkafmmap, over, sliceprint, og states
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/enscript, /usr/share/doc/enscript-1.6.6, og /usr/share/enscript

Korte Beskrivelser

diffpp

konverterer diff utdata filer til et format egnet til å skrives ut med enscript

enscript

er et filter, som hovedsakelig brukes til å skrive ut skript, det konverterer ASCII tekstfiler til PostScript, HTML, RTF, ANSI og overstreker

mkafmmap

oppretter et skriftkart fra en gitt fil

over

er et skript som kaller enscript og sender de riktige parameterne for å lage overstrekede skrifter

sliceprint

deler dokumenter med lange linjer

states

er en awk-lik tekstbehandlingsverktøy med noen tilstandsmaskinutvidelser. Den er designet for program kildekodeutheving og for lignende oppgaver der status informasjon hjelper inndatabehandling

ePDFView-gtk3-20200814

Introduksjon til ePDFView-gtk3

ePDFView-gtk3 er en forgrening av det gamle ePDFView programmet. Selv om github depotet https://github.com/Flow-It/epdfview_old.git navngir den som 'old', er det gtk3 forgreningen. Det er en lettvekts erstatning for Evince siden den ikke er avhengig av GNOME biblioteker og er mer kapabel enn MuPDF.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

ePDFView Avhengigheter

Påkrevd

GTK-3.24.51 og Poppler-26.02.0

Anbefalt
Valgfri

Hjemmesiden til prosjektets depot nevner at det er valgfrie avhengigheter, som aktiveres av brytere. Disse er for å bygge dokumentasjon og kjøring av testpakken, Doxygen-1.16.1 og Cppunit. Merk at doxygen installerer bare en skjelettside om seg selv, som ikke inneholder pakkedokumentasjon, og testkoden kompilerer ikke med nyere versjoner av C++.

Installasjon av ePDFView-gtk3

Installer ePDFView-gtk3 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr           \
            --buildtype=release     \
            -D enable-printing=true \
            ..                      &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Notat

Denne pakken installerer ikonfiler i /usr/share/icons/hicolor hierarkiet og skrivebordsfiler inn i /usr/share/applications hierarkiet. Du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/icons/hicolor/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK-3.24.51 installert (for ikon hurtiglageret) og desktop-file-utils-0.28 (for skrivebords hurtiglageret) og utfør følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

-D enable-printing=true: bygger koden for å koble til cups utskriftskø(er). Utelat dette hvis du ikke har installert cups.

Configuring ePDFView-gtk3

ePDFView-gtk3 har flere hurtigtaster for valgfrie funksjoner. Flesteparten av dem er 'av' som standard, inkludert verktøylinjen, og hvis den har vært lukket med menyen deaktivert, kan programmet starte med alle alternativer ikke synlig før de relevante funksjonstastene er trykket.

  • [F6] - veksle mellom verktøylinjen

  • [F7] - veksle mellom menyen

  • [F8] - veksle mellom omvendt-farger

  • [F9] - veksle mellom vis-indeks

  • [F11] - veksle mellom fullskjerm

Innhold

Installert Program: epdfview
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/epdfview

Korte Beskrivelser

epdfview

er et Gtk+-3 program for å se PDF dokumenter

fop-2.11

Introduksjon til fop

FOP (Formatting Objects Processor) pakken inneholder en utskriftsformatering drevet av XSL formateringsobjekter (XSL-FO). Det er en Java applikasjon som leser et formateringsobjekttre og gjengir de resulterende sidene til en spesifisert utdata. Utdataformater som for øyeblikket støttes inkluderer PDF, PCL, PostScript, SVG, XML (arealtrerepresentasjon), print, AWT, MIF og ASCII tekst. Det primære utdatamålet er PDF.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Påkrevd Ytterligere Nedlastinger:

Anbefalte pakker

fop Avhengigheter

Påkrevd

apache-ant-1.10.15

Anbefalt
Valgfri

et grafiske miljø (for å kjøre testene), JAI Image I/O Tools, og JEuclid

Installasjon av fop

Forsikre deg om at $JAVA_HOME er riktig innstilt før du begynner byggingen. For å bygge JIMI SDK og/eller XMLUnit utvidelsesklasser, sørg for at tilsvarende .jar filer kan bli funnet via CLASSPATH miljøvariabelen.

Installere OFFO Orddelingsmønstre

Kopier XML orddelingsmønstrene til fop kildetreet ved å kjøre følgende kommandoer:

unzip ../offo-hyphenation.zip &&
cp offo-hyphenation/hyph/* fop/hyph &&
rm -rf offo-hyphenation

Installere en midlertidig Maven binær

Fra og med fop-2.5 er Maven byggesystemet påkrevd. Vi bruker binæren levert av apache, som vi installerer på et midlertidig sted:

tar -xf ../apache-maven-3.9.12-bin.tar.gz -C /tmp

Installere fop Komponenter

javadoc kommandoer som leveres med OpenJDK 10 og senere har blitt mye strengere enn tidligere versjoner når det gjelder samsvar med Javadoc kommentarene i kildekoden til HTML. Det gjør at FOP dokumentasjonen ikke oppfyller disse standardene, så samsvarskontrollene må bli deaktivert. Dette kan gjøres med følgende kommando:

sed -i '\@</javad@i\
<arg value="-Xdoclint:none"/>\
<arg value="--allow-script-in-comments"/>\
<arg value="--ignore-source-errors"/>' \
    fop/build.xml

Kompilere fop ved å kjøre følgende kommandoer:

cd fop &&

LC_ALL=en_US.UTF-8                     \
PATH=$PATH:/tmp/apache-maven-3.9.12/bin \
ant package javadocs &&

mv build/javadocs .

Denne pakken kommer med en testpakke, men java infrastrukturen installert i denne boken tillater ikke å kjøre den.

Nå, installer Fop som root bruker:

install -v -d -m755 -o root -g root          /opt/fop-2.11 &&
cp -vR build conf examples fop* javadocs lib /opt/fop-2.11 &&
chmod a+x /opt/fop-2.11/fop                                &&
ln -v -sfn fop-2.11 /opt/fop

Til slutt fjerner du den midlertidige kopien av Apache Maven:

rm -rf /tmp/apache-maven-3.9.12

Parameterforklaringer

sed -i ... build.xml: Dette legger til tre brytere til javadoc kommandoen, forhindrer at noen feil oppstår når du bygger dokumentasjonen.

export LC_ALL=en_US.UTF-8: kompilatoren mislykkes hvis du bruker en ASCII lokalitet.

ant target: Dette leser filen build.xml og bygger målet: compile kompilerer java kildene, jar-main genererer jar arkiver, jar-hyphenation genererer orddeling mønstre for FOP, junit kjører junit tester, og javadocs bygger dokumentasjonen. all målet kjører alt ovenfor.

ln -v -sf fop-2.11 /opt/fop: Dette er valgfritt og skaper en bekvemmelighets symbolkobling slik at $FOP_HOME ikke trenger å endres hver gang det er en endring av pakkeversjon.

Konfigurere fop

Konfigurasjonsfiler

~/.foprc

Konfigurasjonsinformasjon

Bruk av fop for å behandle noen store FO'er (inkludert FO avledet fra BLFS XML kilder), kan føre til minnefeil. Med mindre du legger til en parameter til java kommandoen brukt i fop skriptet kan du motta meldinger som ligner på det som vises nedenfor:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

For å unngå feil som dette, må du sende en ekstra parameter til java kommandoen brukt i fop skriptet. Dette kan oppnås ved å lage en ~/.foprc (som er hentet fra fop skriptet) og legge til parameteren til FOP_OPTS miljøvariabelen.

fop skriptet ser etter en FOP_HOME miljøvariabel for å finne fop klassebiblioteker. Du kan lage denne variabelen ved å bruke ~/.foprc filen også. Opprett en ~/.foprc fil ved hjelp av følgende kommandoer:

cat > ~/.foprc << "EOF"
FOP_OPTS="-Xmx<RAM_Installed>m"
FOP_HOME="/opt/fop"
EOF

Erstatt <RAM_Installed> med et tall som representerer mengden RAM installert på datamaskinen din (i megabyte). Et eksempel vil være FOP_OPTS="-Xmx768m".

For å inkludere fop skript i din sti, oppdater den systemomfattende profilen med følgende kommando som root bruker:

cat > /etc/profile.d/fop.sh << "EOF"
# Begin /etc/profile.d/fop.sh

pathappend /opt/fop

# End /etc/profile.d/fop.sh
EOF

Notat

Å kjøre fop kan være noe detaljert. Standard loggingsnivå kan endres fra INFO til hvilken som helst av FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, ALL eller OFF. For å gjøre dette, rediger $JAVA_HOME/jre/lib/logging.properties og endre oppføringene for .level og java.util.logging.ConsoleHandler.level til ønsket verdi.

Innhold

Installerte Programmer: fop
Installerte Biblioteker: fop.jar og en rekke støttebibliotekklasser lokalisert i /opt/fop/{build,lib}; JAI komponenter inkludert libmlib_jai.so, jai_codec.jar, jai_core.jar, og mlibwrapper_jai.jar
Installert Mappe: /opt/fop-2.11

Korte Beskrivelser

fop

er et innpakningsskript til java kommandoen som setter opp fop miljøet og passerer de nødvendige parameterne

fop.jar

inneholder alle fop Java klassene

MuPDF-1.26.12

Introduksjon til MuPDF

MuPDF er en lettvekts PDF og XPS visningsprogram.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

MuPDF Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

xdg-utils-1.2.1 (kjøretid), jbig2dec, og MuJS

Påkrevd (kjøretid)

et grafiske miljø

Installasjon av MuPDF

Installer MuPDF ved å kjøre følgende kommandoer:

cat > user.make << EOF &&
USE_SYSTEM_FREETYPE := yes
USE_SYSTEM_HARFBUZZ := yes
USE_SYSTEM_JBIG2DEC := no
USE_SYSTEM_JPEGXR := no # not used without HAVE_JPEGXR
USE_SYSTEM_LCMS2 := no # lcms2mt is strongly preferred
USE_SYSTEM_LIBJPEG := yes
USE_SYSTEM_MUJS := no # build needs source anyway
USE_SYSTEM_OPENJPEG := yes
USE_SYSTEM_ZLIB := yes
USE_SYSTEM_GLUT := yes
USE_SYSTEM_CURL := yes
USE_SYSTEM_GUMBO := no
EOF

export XCFLAGS=-fPIC                      &&
make build=release shared=yes verbose=yes &&
unset XCFLAGS

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make prefix=/usr                         \
     shared=yes                          \
     docdir=/usr/share/doc/mupdf-1.26.12 \
     install                             &&

ln -sfv libmupdf.so.26.12 /usr/lib/libmupdf.so.26 &&
ln -sfv libmupdf.so.26   /usr/lib/libmupdf.so     &&
chmod 755 /usr/lib/libmupdf.so.26.12              &&

ln -sfv mupdf-x11 /usr/bin/mupdf

Parameterforklaringer

ln -sfv mupdf-x11 /usr/bin/mupdf : Denne symbolske lenken velger mellom mupdf-gl og mupdf-x11 når du kjører mupdf.

Innhold

Installert Program: mupdf (symbolkobling), mupdf-gl, mupdf-x11, mupdf-x11-curl, muraster, and mutool
Installerte Biblioteker: libmupdf.so
Installerte Mapper: /usr/include/mupdf, /usr/share/doc/mupdf-1.26.12

Korte Beskrivelser

mupdf

er et program for visning av PDF, XPS, EPUB, og CBZ dokumenter, og ulike bildeformater som f.eks PNG, JPEG, GIFF, og TIFF

mupdf-gl

samme som mupdf, ved hjelp av en opengl renderer

mupdf-x11

samme som mupdf, ved hjelp av en X Window renderer

muraster

er et program som brukes til å utføre rasteriseringsoppgaver med PDF dokumenter

mutool

er et program for å utføre ulike operasjoner på PDF filer, for eksempel som sammenslåing og rengjøring av PDF dokumenter

libmupdf.so

inneholder mupdf API funksjoner

paps-0.8.0

Introduksjon til paps

paps er en tekst til PostScript konverterer som fungerer gjennom Pango. Inndataen er en UTF-8 kodet tekstfil og den sender ut vektorisert PostScript. Den kan brukes for å skrive ut et komplekst skript som støttes av Pango.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

paps Avhengigheter

Påkrevd

fmt-12.1.0 og Pango-1.57.0

Valgfri

Doxygen-1.16.1

Installasjon av paps

Løs først et problem med glib-2.81.0 eller nyere:

sed -i -r 's/g_utf8_(next|offset)/(char*) &/' src/paps.cc

Installer paps ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-Werror \
            --mandir=/usr/share/man &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: paps
Installert Bibliotek: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

paps

er en tekst til PostScript konverterer som støtter UTF-8 tegnkoding

Kapittel 51. Typesetting

Dette kapittelet inkluderer texlive applikasjoner som skaper utdata tilsvarende typesetting.

Det er to alternative ruter gjennom dette kapittelet:

Noen mennesker vil kanskje bruke det binære installasjonsprogrammet, enten på grunn av kompleksiteten ved å installere hele texlive fra kilden, eller fordi de bare vil ha en del av pakken, eller kanskje fordi de ønsker å få oppdateringer så snart de er tilgjengelige (kilden oppdateres kun årlig, men binærfilene og tilhørende tex og sty filer oppdateres i omtrent 10 måneder). Disse menneskene bør begynne med Sette PATH for TeX Live og følg deretter install-tl-unx instruksjonene. Etter installasjonen kan de kjøre tlmgr for å oppdatere systemet deres.

De fleste som leser BLFS vil ønske å bygge fra kilden. BLFS pleide å starte med å installere install-tl-unx og så bruk det til å starte opp bygget. Nå for tiden bygger vi nesten hele texlive uten en binær installasjon, ved å legge til de separat pakkede texmf filene i dette bygget. For dette, start med Sette PATH for TeX Live så gå til texlive-20250308 som vil installere det meste av texlive, sammen med alle av støttefilene. Denne nesten komplette installasjonen kan deretter brukes for å bygge de resterende delene av texlive: asymptote-3.06, biber-2.21, dvisvgm-3.6, og xindy-2.5.1.

Fordi texmf filene (inkludert dokumentasjon, fonter, skript og støttefiler) er alt i en tarball, er det ikke praktisk å begrense hva som blir trukket ut på en fornuftig måte (du kan ekskludere en eller annen typesetting motorer, ikke dets mange støttefiler) når du bygger fra kilden på denne måten.

I begge tilfeller installeres BLFS i /opt/texlive/2025.

Vær også oppmerksom på at texlive utgis årlig, og oppdatering fra forrige år til inneværende år støttes ikke lenger. Hvis du ønsker å beholde versjoner for flere år, for det meste kan du montere det gamle eller nye systemet på /opt/texlive og fikse PATH etter behov. Men å gjøre det vil ikke bevare noen endringer i texmf-local og hvis du bygger fra kilden og prøver å kjøre en nyere versjon av biber med en eldre versjon av biblatex er det usannsynlig at det fungerer.

Innstilling av PATH for TeX Live

Oppstrøms foretrekker å installere i /usr/local men BLFS redaktørene anser det som upraktisk, og tenker at å bruke /opt/texlive er mer passende. Opprinnelig BLFS brukte en full binær installasjon for å starte opp kildeinstallasjonen, slik at samme prefiks brukes for begge.

Før du begynner å bygge TeX Live, sett opp PATH slik at systemet kan finne filene på riktig måte. Hvis du setter opp påloggingsskriptet som anbefalt i Oppstartsfilene til Bash Skallet, oppdater de nødvendige banene ved å lage texlive.sh skriptet. Programmene er alltid installert i et <ARCH>-linux undermappe og på 32-bit x86 er dette alltid i386-linux. For x86_64 og i?86 kan vi generere dette som $TEXARCH:

Notat

Hvis du oppgraderer fra et tidligere års versjon, bør du manuelt redigere texlive.sh for å sikre at versjonen for året du ønsker å bruke er den eneste TeX tilstede (noen trenger å holde flere år tilgjengelig for å sikre at det ikke er noen regresjoner i dokumentene deres).

Lag nå texlive.sh skriptet som root bruker:

TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/')
TEXLIVE_PREFIX=/opt/texlive/2025

cat > /etc/profile.d/texlive.sh << EOF
# Begin texlive setup
TEXLIVE_PREFIX=/opt/texlive/2025
export TEXLIVE_PREFIX

pathappend $TEXLIVE_PREFIX/texmf-dist/doc/info INFOPATH
pathappend $TEXLIVE_PREFIX/bin/$TEXARCH

TEXMFCNF=$TEXLIVE_PREFIX/texmf-dist/web2c
export TEXMFCNF

# End texlive setup
EOF

unset TEXARCH

De nye banene kan aktiveres umiddelbart ved å kjøre:

source /etc/profile

Du bør nå fortsette enten til install-tl-unx for en binær installasjon av texlive, eller til texlive-20250308 for å begynne å installere fra kilden.

install-tl-unx

Introduksjon til TeX Live og installasjonsprogrammet

TeX Live pakken er en omfattende TeX dokumentproduksjonssystem. Det inkluderer TeX, LaTeX2e, LuaLaTeX, Metafont, MetaPost, BibTeX og mange andre programmer; en omfattende samling av makroer, fonter og dokumentasjon; og støtte til typesetting i mange forskjellige skript fra hele verden.

Denne siden er for folk som ønsker å bruke det binære installasjonsprogrammet til programmene, skriptene og mange støttefiler og dokumentasjon. Installasjonsprogrammet oppdateres ofte, så alle publiserte md5sum vil snart være utdatert. Nyere versjoner av installatøren forventes å virke med disse instruksjonene så lenge som de installerer til en 2025/ mappe.

Det er to grunner til at du kanskje ønsker å installere binærfilene i BLFS: enten trenger du en mindre installasjon (f.eks. som et minimum vanlig TeX uten LaTeX, ConTeXt, etc), eller du ønsker å bruke tlmgr til å få oppdateringer mens denne versjonen støttes (vanligvis frem til mars året etter at den ble utgitt). For sistnevnte foretrekker du kanskje å installere i din /home mappe som en uprivilegert bruker, og for deretter å gjøre tilsvarende endringer i PATH i din ~/.bashrc eller tilsvarende.

Notat

Hvis du ønsker å bruke ConTeXt med luametatex (mesteparten av den gamle MKII og MKIV koden ble fjernet fra TeX Live 2023 av ConTeXt utvikler), bruk av binær er sannsynligvis det enkleste alternativet. Kilden sendes ikke lenger med TeX Live og er dårlig tilpasset å bygge med systemer unntatt de som kjører Mac og Windows. Se kommentar 1 til 5 av #17823.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

  • Nedlasting MD5 sum: Varierer ofte

  • Nedlastingsstørrelse: 5.5 MB

  • Estimert diskplass som kreves: 90 MB for vanlig TeX, typisk 323 MB for latex og senere motorer, 9.0 GB hvis alt er inkludert

  • Estimert byggetid: varierer, avhengig av nettverkshastighet og trafikk

Anbefalt
Anbefalt (vwd kjøring)

Notat

Som alltid med bidratt binær programvare, er det mulig at nødvendige avhengigheter kan endres når installasjonsprogrammet oppdateres. Disse avhengighetene har bare blitt sjekket på x86_64.

Python2 brukes av ikke-vedlikeholde ebong CTAN modulen (ment for å skrive bengali i Rapid Roman Format). /usr/bin/python er også i shebang linjen for lateks papirstørrelse og lilyglyphs skript, og dokumentasjon hos CTAN sier begge moduler har blitt oppdatert for å fungere med python3. I pythontex er det skript for å starte python3 eller python2 i henhold til systemets versjon av python. Ruby-4.0.1 brukes av to skript, det ene er for pTex (japansk vertikal skrift) og det andre er match_parens som kan være generelt nyttig. Perl modulen Tk, som må kjøres fra en X11 økt for å kjøre testene og krever Tk-8.6.17 brukes av et av skriptene for ptex og er nødvendig for texdoctk (et GUI grensesnitt for å finne dokumentasjonsfiler og åpne dem med riktig viser). ps2pdf, fra ghostscript-10.06.0, blir brukt av noen verktøy og skript.

Binær installasjon av TeX Live

TeX Live sett av programmer med sine støttedokumenter, fonter og verktøy er veldig store. Oppstrøms vedlikeholdere anbefaler å plassere alle filer i en enkelt mappestruktur. BLFS teamet anbefaler /opt/texlive.

Notat

Hvis du har valgt å installere binæren som en vanlig bruker, vil mappen for prefikset må kunne skrives av den brukeren. root brukeren kan chown /opt/texlive/2025 til den brukeren før brukeren starter installasjonen. Hvis senere endring i den mappen er laget av root bruker, vil det endre eieskapet, som bryter bruken av vanlig bruker.

Som med alle andre pakker, pakk ut installasjonsprogrammet og bytt til mappen, install-tl-<CCYYMMDD>. Dette mappenavnet endres når installasjonsprogrammet oppdateres, så bytt ut <CCYYMMDD> med riktig mappenavn.

Notat

Distribusjonsbinærfilene installert nedenfor kan bruke statisk kobling for generelle linux systembiblioteker. Ekstra biblioteker eller tolker som spesifisert i avhengighetsdelen trenger ikke å være tilstede under installasjonen, men programmene som trenger dem vil ikke kjøre før deres spesifikke avhengigheter er installert.

Med all bidratt binær programvare kan det være et misforhold mellom byggerens verktøykjede og maskinvaren din. I det meste av TeX vil dette sannsynligvis ikke gjøre noe, men i uvanlige tilfeller kan du treffe på problemer. For eksempel, hvis x86_64-prosessoren din ikke støtter 3dnowext eller 3dnow, 2014-06-28-binæren mislyktes i ConTeXt når du kjører LuaTeX, selv om lualatex fungerte, det samme gjorde i686 binærene på den samme maskinen. I slike tilfeller er den enkleste løsningen å installere texlive fra kilden. Tilsvarende x86_64 binærversjonen av asy kjører veldig sakte når du lager 3D diagrammer.

Nå, som root bruker:

TEXLIVE_INSTALL_PREFIX=/opt/texlive ./install-tl

Denne kommandoen er interaktiv og tillater valg eller modifikasjon av plattform, pakker, mapper og andre alternativer. Tiden for å fullføre nedlastingen vil avhenge av Internetttilkoblingshastigheten din og antallet pakker som er valgt.

For en minimal installasjon som vil bygge dokumentasjon som er referert til i BLFS, de eneste installasjonssamlingene som trengs er '[a] Essential programs and files' og '[D] LaTeX fundamental packages'. Dette vil last ned ca 132 filer og bruk ca 323 MB. Brukere kan velge andre samlinger etter behov, men en full installasjon vil laste ned flere tusen filer og bruker over 8 GB.

Notat

Etter installasjonen må PATH miljøvariabelen bli oppdatert, og andre variabler må angis. Vennligst referer til Sette PATH for TeX Live for å angi disse miljøvariablene.

Parameterforklaringer

./install-tl --location http://mirror.aut.ac.nz/CTAN/systems/texlive/tlnet/: bruk en variant av dette hvis du ønsker å bruke et annet speil, for eksempel fordi du er i New Zealand, men installatøren velger å bruke en australsk speil. Listen over speil er på https://ctan.org/mirrors/.

Innhold

Installerte Programmer: Over 300 binærfiler og symbolkoblinger til skript
Installerte Biblioteker: Ingen
Installerte Mapper: /opt/texlive

Korte Beskrivelser

TeX programs

Programmene som inngår i TeX er for mange til å liste opp hver for seg. Vennligst referer til det enkelte programmets HTML og PDF sider i ulike html, man eller pdf filer i undermappene til 2025/texmf-dist/. Ved bruk av texdoc pdflatex ( erstatt pdflatex med kommandonavnet ) kan også være nyttig

texlive-20250308-source

Introduksjon til TeX Live fra kilden

Notat

I følge https://www.tug.org/historic/ master nettstedet i Frankrike støtter bare ftp og rsync. Nå som ftp generelt er utdatert, den siden har lenker til speil, hvorav noen støtter https, f.eks. i Utah og Chemntiz samt i Kina. Hvis du foretrekker å bruke et annet speil fra eksempelkoblingene her, må du navigere til systems/historic/texlive/2025 eller systems/texlive/2025 som tilfellet kan være.

Det meste av TeX Live kan bygges fra kilden uten en forhåndseksisterende installasjon, men xindy (for indeksering) trenger en fungerende versjon av latex og pdflatex når konfigurering kjøres, og testpakken og installere asy (for vektorgrafikk) vil mislykkes hvis TeX ikke allerede er installert. I tillegg, biber er ikke gitt innenfor texlive kilden og versjonen av dvisvgm i texlive treet kan ikke bygges hvis delte systembiblioteker brukes.

Alle disse pakkene behandles på deres egne sider og kan bli bygget etter installasjon av denne pakken. Hvis du ikke allerede har gjort det, burde du starte med Sette PATH for TeX Live slik at de siste kommandoene til å initialisere den nye installasjonen vil bli funnet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Påkrevd Ytterligere Nedlastinger

Mye av texlive miljøet (inkludert skript, dokumentasjon, fonter og diverse andre filer) er ikke en del av kilde tarballen. Du må laste de ned separat. Dette vil gi deg alt av tilleggsfiler som leveres av en full installasjon av binærfil versjonen, det er ingen realistisk måte å begrense hvilke deler som blir installert.

På grunn av størrelsen på denne pakken er det usannsynlig at den speiles av BLFS speil. Hvis du ikke kan laste ned filene for denne pakken, gå til https://www.ctan.org/mirrors/ for å finne et mer tilgjengelig speil.

tlpdb databasen sendes som en egen tarball. texdoc programmet trenger en hurtiglagerfil avledet fra dette (og vil opprette et hurtiglager ved første kjøring).

TeX Live fra kilden Avhengigheter

Anbefalt
Valgfri

Kilden leveres med egne versjoner av flere biblioteker som enten ikke er under aktiv utvikling, eller kun brukt for begrenset funksjonalitet. Hvis du installerer disse, som med noen andre valgfrie avhengigheter i denne boken må fortelle configure til å bruke systemversjonene. GD, t1lib, ZZIPlib, TECkit

Kjøretids avhengigheter

Python2 brukes av ikke-vedlikeholde ebong CTAN modulen (ment for å skrive bengali i Rapid Roman Format). /usr/bin/python er også i shebang linjen for lateks papirstørrelse og lilyglyphs skript, og dokumentasjon hos CTAN sier begge moduler har blitt oppdatert for å fungere med python3. I pythontex er det skript for å starte python3 eller python2 i henhold til systemets versjon av python. Ruby-4.0.1 brukes av to skript, det ene er for pTex (japansk vertikal skrift) og det andre er match_parens som kan være generelt nyttig. Perl modulen Tk, som må kjøres fra en X11 økt for å kjøre testene og krever Tk-8.6.17 brukes av et av skriptene for ptex og er nødvendig for texdoctk (et GUI grensesnitt for å finne dokumentasjonsfiler og åpne dem med riktig viser). ps2pdf, fra ghostscript-10.06.0, blir brukt av noen verktøy og skript.

Installasjon av TeX Live

Installer TeX Live ved å kjøre følgende kommandoer:

Obs

Hvis du ønsker å oppgradere til gjeldende texlive på et eldre system hvor ekstrapakker (asymptote, dvisvgm, eller xindy) har blitt installert, må du installer disse på nytt i tillegg til å fikse opp PATH for $TEXLIVE_PREFIX.

Notat

En vellykket installasjon krever litt texlive kommandoer skal kjøres som root bruker, så vi eksporterer TEXARCH variabel for å la root bruke det.

Nå, som en vanlig bruker:

export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

patch -Np1 -i ../texlive-20250308-source-upstream_fixes-1.patch &&

mkdir texlive-build &&
cd    texlive-build &&

../configure CC="gcc -std=gnu17" -C               \
    --prefix=$TEXLIVE_PREFIX                      \
    --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH         \
    --datarootdir=$TEXLIVE_PREFIX                 \
    --includedir=$TEXLIVE_PREFIX/include          \
    --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \
    --libdir=$TEXLIVE_PREFIX/lib                  \
    --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man   \
    --disable-native-texlive-build                \
    --disable-static --enable-shared              \
    --disable-dvisvgm                             \
    --with-system-cairo                           \
    --with-system-fontconfig                      \
    --with-system-freetype2                       \
    --with-system-gmp                             \
    --with-system-graphite2                       \
    --with-system-harfbuzz                        \
    --with-system-icu                             \
    --with-system-libpaper                        \
    --with-system-libpng                          \
    --with-system-mpfr                            \
    --with-system-pixman                          \
    --with-system-zlib                            \
    --with-banner-add=" - BLFS" &&

make

For å teste resultatene, utsted: make -k check. En test psutils.test er kjent for å mislykkes hvis du bruker systemets libpaper fordi TeX Live inkluderer gamle versjoner av både psutils og libpaper som resulterer i en forskjell i de siste desimalene til psresize testen. libpaper utvikler tror ikke dette er av betydning. En annen test, xdvipdfm-pdf.test, er kjent for å feile på grunn av en manglende binærfil fra fiksen i oppstrøms sin oppdatering. Dette påvirker ikke programmets funksjonalitet.

Nå, som root bruker:

make install-strip &&
make texlinks      &&
mkdir -pv                                $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
tar -xf ../../texlive-20250308-extra.tar.xz -C $TEXLIVE_PREFIX/tlpkg --strip-components=2

Notat

Bare kjør make texlinks en gang. Hvis den kjøres på nytt, kan den endre alle programsymlinkene slik at de peker til seg selv og er ubrukelige.

Installer nå tilleggsfilene som root bruker:

tar -xf ../../texlive-20250308-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1

Fortsatt som root bruker, initialiser det nye systemet (kommandoen fmtutil-sys --all vil produsere masse utdata):

mktexlsr &&
fmtutil-sys --all

For å tillate Evince-48.1 or dvisvgm-3.6 å lenke til libkpathsea.so, som root bruker (gjen)opprette en symbolkobling fra /usr/lib:

ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so{,.6} /usr/lib

Notat

TeX Live inkluderer ikke kilden for ConTeXt, bare elementene som er på CTAN. Å prøve å bygge ConTeXt rent fra kilden på et BLFS TeX Live system er en nisjebruk og ser ut som om det vil være mer trøbbel enn det er verdt.

Hvis du ønsker å bruke ConTeXt med luametatex (det meste av den gamle MKII og MKIV koden ble fjernet fra TeX Live 2023 av ConTeXt utvikler), starter med binæren (bare installere ConTeXt, 753 MB i mars 2024) vil sannsynligvis være den enkleste måten å starte den på. Kilden til luametatex kan hentes med git fra github luametatex, kompilert med meson og ninja, og installert ved å kopiere til riktig programmappe. Dette bør unngå å måtte fikse alle symbolkoblinger osv. og unngå også å inkludere de mange urelaterte deler av texmf-dist. Se kommentarer 1 til 5 av #17823.

Du kan nå gå videre til asymptote-3.06, biber-2.21, dvisvgm-3.6 og / eller xindy-2.5.1 hvis du ønsker å installere dem.

Parameterforklaringer

-C: oppretter config.cache, som sparer betydelig tid i et parallellbygg.

--prefix=, --bindir=, --datarootdir=, og andre «dir» brytere: disse bryterne sørger for at filene installert fra kilden vil overskrive alle tilsvarende filer som tidligere er installert av install-tl-unx slik at alternative metoder for å installere texlive er konsistente.

--includedir= --libdir= : disse bryterne sikrer at bibliotekene og inkluderte filer vil være innenfor mappen for dette års texlive.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-shared: Bruk delte versjoner av libkpathsea, libptexenc, libsynctex, libtexlua52 og libtexluajit.

--with-system-...: Med mindre denne parameteren brukes, vil de inkluderte versjonene av disse bibliotekene bli statisk kompilert inn i programmene som trenger dem. Hvis du bestemte deg for ikke å installere et anbefalt bibliotek, utelat den tilsvarende bryteren.

--disable-dvisvgm: Som nevnt ovenfor, den sendte versjonen av dvisvgm, som har modifiserte konfigurasjonsfiler, kan ikke bygges med delte systembiblioteker.

make texlinks : dette kjører skriptet texlinks.sh for å lage symbolske lenker fra formater til motorer. I praksis, flere av målene som f.eks xetex er nå separate binærfiler og for disse vil den rapportere "file already exists".

tar -xf texlive-20250308-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1: tarballen inneholder filene for texmf-dist mappen, og fordi dens størrelse ønsker vi ikke å kaste bort tid og plass på å pakke den ut og etterpå kopiere filene.

install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/: Dette setter perl modulene TLConfig.pm og TLUtils.pm inn i mappen der det binære installasjonsprogrammet plasserer dem - det er på starten av perl @INC@ PATH i texlive når installert ved hjelp av ovenstående konfigurasjons brytere. Uten disse modulene er texlive ubrukelig.

mktexlsr: Opprett en ls-R fil som viser hva som ble installert - dette brukes av kpathsea for å finne filer.

fmtutil-sys --all: Dette initialiserer TeX formatene, Metafont baser og Metapost mems.

--without-x: bruk dette hvis du ikke har Xorg installert.

Det er mange andre "--disable" eller "--without" alternativer. Noen av dem slik som --without-texinfo blir akseptert, men ikke lenger gjør noe, andre vil forhindre at et program bygges - men desto større mengde plass brukt til de relaterte elementene i texmf betyr at det ikke er noen åpenbar fordel fra å deaktivere noen av programmene.

Innhold

Installerte Programmer: Over 300 binærfiler og symbolkoblinger til skript
Installerte Biblioteker: libkpathsea.so, libptexenc.so, libsynctex.so, libtexlua53.so, libtexluajit.so
Installerte Mapper: $TEXLIVE_PREFIX/bin, $TEXLIVE_PREFIX/include, $TEXLIVE_PREFIX/lib, $TEXLIVE_PREFIX/texmf-dist

Korte Beskrivelser

TeX programs

Programmene som inngår i TeX er for mange til å liste opp hver for seg. Vennligst referer til det enkelte programmets HTML og PDF sider i ulike html, man eller pdf filer i undermappene til 2025/texmf-dist/. Ved bruk av texdoc pdflatex ( erstatt pdflatex med kommandonavnet ) kan også være nyttig

libkpathsea.so

(kpathsearch) eksisterer for å slå opp en fil i en liste over mapper og brukes av kpsewhich

libptexenc.so

er et bibliotek for japansk pTeX (publishing TeX)

libsynctex.so

er SyncTeX (Synchronize TeXnology) parserbibliotek

libtexlua53.so

gir Lua 5.2, modifisert for bruk med LuaTeX

libtexluajit.so

gir LuaJIT, modifisert for bruk med LuaJITTeX

asymptote-3.06

Introduksjon til asymptote

Asymptote er en kraftig beskrivende vektor grafikkspråk som gir et naturlig koordinatbasert rammeverk for teknisk tegning. Etiketter og ligninger kan settes inn med LaTeX. Som i tillegg til EPS, PDF, og PNG utdata kan den produsere WebGL 3D HTML gjengivelse og (ved hjelp av dvisvgm) SVG utdata.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://downloads.sourceforge.net/asymptote/asymptote-3.06.src.tgz

  • Nedlasting MD5 sum: 166a229e1772ee6df70b5b9765229abb

  • Nedlastingsstørrelse: 40 MB

  • Estimert diskplass som kreves: 433 MB (56 MB installert etter å ha overskrevet filer i $TEXLIVE_PREFIX/texmf-dist/, med alle avhengighetene som er i BLFS)

  • Estimert byggetid: 0.9 SBU (bruke parallellisme=4)

asymptote Avhengigheter

Påkrevd

ghostscript-10.06.0 og texlive-20250308

Anbefalt
Anbefalt ved kjøring
Valgfri

fftw-3.3.10, gsl-2.8, libsigsegv-2.15, rapidjson for å bruke LSP som kan brukes med emacs, click, og eigen

Valgfri (ved kjøring)

ImageMagick-7.1.2-13 å konvertere utdata til andre formater som f.eks JPEG eller for å lage animerte GIFer, PyQt5 (ikke testet, har en byggeavhengighet av Qt5) for å bruke xasy

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/asymptote

Installasjon av asymptote

Notat

Enkelte 3D PDF skript fungerer kanskje ikke når de påkalles fra pdflatex på noen zen+ amdgpu APU maskiner.

Installer asymptote ved å kjøre følgende kommandoer:

export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

./configure --prefix=$TEXLIVE_PREFIX                          \
            --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH             \
            --datarootdir=$TEXLIVE_PREFIX/texmf-dist          \
            --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info     \
            --libdir=$TEXLIVE_PREFIX/texmf-dist               \
            --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man       \
            --disable-lsp                                     \
            --enable-gc=system                                \
            --with-latex=$TEXLIVE_PREFIX/texmf-dist/tex/latex \
            --with-context=$TEXLIVE_PREFIX/texmf-dist/tex/context/third &&

make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--prefix=, --bindir=, --datarootdir=, og andre «dir» brytere: disse bryterne sørger for at filene installert fra kilden vil overskrive alle tilsvarende filer som tidligere er installert av install-tl-unx slik at alternative metoder for å installere texlive er konsistente.

--libdir=$TEXLIVE_PREFIX/texmf-dist: Denne parameteren sikrer at asymptote mappen vil på samme måte overskrive alle filer installert av install-tl-unx.

--disable-lsp: Språkserverprotokollen er aktivert som standard, med flere tredjepartskilder inkludert, men det bygger ikke med mindre boost og rapidjson er installert.

--enable-gc=system: dette sikrer at systemversjonen av libgc.so vil bli brukt i stedet for versjonen som ble levert med denne pakken.

--with-latex= --with-context=: Disse bryterne sørger for at stilfiler og en tex fil vil bli installert i texlive mappen i stedet for å lage en texmf-local mappe for dem.

Innhold

Installerte Programmer: asy og xasy
Installerte Biblioteker: Ingen
Installert Mappe: $TEXLIVE_PREFIX/texmf-dist/asymptote, $TEXLIVE_PREFIX/doc/asymptote, og $TEXLIVE_PREFIX/info/asymptote

Korte Beskrivelser

asy

er et vektorgrafikkprogram

xasy

er et Python3 skript som gir et Qt5 GUI for asy

biber-2.21

Introduksjon til biber

Biber er en BibTeX erstatning for brukere av biblatex, skrevet i Perl, med full Unicode støtte.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Notat

Hvis du har oppdatert til en ny utgivelse av texlive-source, biber og dens perl avhengigheter er fortsatt til stede i /usr og trenger ikke bygges om. Imidlertid installerer biblatex i /opt/texlive/2025 og må installeres på nytt.

Hvis du installerte avhengighetene ovenfor ved å bruke BLFS instruksjonene for hver av dem, perl ./Build.PL vil klage på at Mozilla::CA ikke er installert, men det er ikke nødvendig med mindre CPAN ble brukt til å installere modulene. BLFS oppdaterer LWP::Protocol::https til å bruke systemsertifikatene, Mozilla::CA bruker gamle sertifikater.

Biber Avhengigheter

Påkrevd

autovivification-0.18, Business-ISBN-3.012, Business-ISMN-1.205, Business-ISSN-1.008, Class-Accessor-0.51, Data-Compare-1.29, Data-Dump-1.25, Data-Uniqid-0.12, DateTime-Calendar-Julian-0.107, DateTime-Format-Builder-0.83, Encode-EUCJPASCII-0.03, Encode-HanExtra-0.23, Encode-JIS2K-0.05, File-Slurper-0.014, IO-String-1.08, IPC-Run3-0.049, Lingua-Translit-0.29, List-AllUtils-0.19, List-MoreUtils-0.430, Log-Log4perl-1.57, LWP-Protocol-https-6.14, Module-Build-0.4234, Parse-RecDescent-1.967015, PerlIO-utf8_strict-0.010, Regexp-Common-2024080801, Sort-Key-1.33, Text-BibTeX-0.91, Text-CSV-2.06, Text-Roman-3.5, Unicode-Collate-1.31, Unicode-LineBreak-2019.001, XML-LibXML-Simple-1.01, XML-LibXSLT-2.003000, og XML-Writer-0.900

Anbefalt (kreves for testpakken)

Notat

Det er mulig å installere alle manglende avhengigheter automatisk. Du må først installere Module-Build-0.4234 ved bruk av automatic installation of perl modules. Så kjøre perl ./Build.PL og når den spør deg, blir du root bruker og kjører ./Build installdeps - dette vil bruke CPAN og som nevnt ovenfor vil den bruke Mozilla::CA i stedet for å bruke systemsertifikater.

Installasjon av Biber

Installer Biber ved å kjøre følgende kommandoer:

perl ./Build.PL &&
./Build

For å teste resultatene, tast inn: ./Build test

Nå, som root bruker:

./Build install

Innhold

Installerte Programmer: biber
Installert Bibliotek: Ingen
Installert Mappe: /usr/lib/perl5/site_perl/5.*{,/<arch>-linux/auto}/Biber

Korte Beskrivelser

biber

brukes til å produsere bibliografier i LaTeX dokumenter

dvisvgm-3.6

Introduksjon til dvisvgm

dvisvgm pakken konverterer DVI, EPS og PDF filer til SVG formatet.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://github.com/mgieseki/dvisvgm/releases/download/3.6/dvisvgm-3.6.tar.gz

  • Nedlasting MD5 sum: 126abd9b8e74d6958ff5178cb176393b

  • Nedlastingsstørrelse: 2.8 MB

  • Estimert diskplass som kreves: 268 MB (net 7 MB installert etter overskriving av filer i $TEXLIVE_PREFIX/texmf-dist/, legg til 948 MB for testene)

  • Estimert byggetid: 0.8 SBU (legg til 0.5 SBU for testene, begge ved bruk av parallellitet=4)

dvisvgm Avhengigheter

Påkrevd

Brotli-1.2.0, ghostscript-10.06.0, Potrace-1.16, og texlive-20250308

Anbefalt
Valgfri

asciidoc-10.2.1 med xmlto-0.0.29 og libxslt-1.1.45 dblatex (med ovenstående) og xxHash (gjeldende versjon er inkludert i tarballen)

Installasjon av dvisvgm

Testpakken forutsetter at en moderne versjon av Python har blitt installert som vanlig python. Endrer dette til å bruke python3 krever en sed til en Makefile.in fil.

Installer dvisvgm ved å kjøre følgende kommandoer:

TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

sed -i 's/python/&3/' tests/Makefile.in         &&
./configure                                     \
    --bindir=$TEXLIVE_PREFIX/bin/${TEXARCH}     \
    --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \
    --with-kpathsea=$TEXLIVE_PREFIX             &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--with-kpathsea=$TEXLIVE_PREFIX: Dette tillater byggesystemet å finne deklarasjonene for kpathsea

Innhold

Installerte Programmer: dvisvgm
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

dvisvgm

konverterer DVI, EPS og PDF filer til SVG formatet

xindy-2.5.1

Introduksjon til xindy

Xindy er en indeksprosessor som kan brukes til å generere boklignende indekser for vilkårlige dokumentforberedelsessystemer. Dette inkluderer systemer som TeX og LaTeX, Roff familien og SGML/XML baserte systemer (f.eks. HTML) som behandler en slags tekst og generere indekseringsinformasjon.

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

Påkrevd Ytterligere Nedlastinger

Xindy Avhengigheter

Påkrevd

Clisp-2.49.95 og texlive-20250308

Installasjon av xindy

Installer xindy ved å kjøre følgende kommandoer:

export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

sed -i "s/ grep -v '^;'/ awk NF/" make-rules/inputenc/Makefile.in &&

sed -i 's%\(indexentry\)%\1\\%' make-rules/inputenc/make-inp-rules.pl &&

patch -Np1 -i ../xindy-2.5.1-upstream_fixes-2.patch &&

./configure --prefix=$TEXLIVE_PREFIX              \
            --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \
            --datarootdir=$TEXLIVE_PREFIX         \
            --includedir=/usr/include             \
            --libdir=$TEXLIVE_PREFIX/texmf-dist   \
            --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man &&

make LC_ALL=POSIX

Denne pakken har ikke en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sed -i "s/ grep -v '^;'/ awk NF/" ...: Bygget sorterer filer i latin{1..3} kodinger for å lage latin.xdy og unicode versjoner av disse for å lage utf8.xdy etter bruk av grep -v '^;' for å fjerne tomme linjer. Med grep-2.23 data som ikke er i forventet koding behandles som binær, noe som resulterer i en ubrukelig fil. Denne kommandoen bruker en alternativ måte å fjerne tomme linjer på.

sed -i 's%\(indexentry\)%\1\\%' ...: En regexp inneholder indexentry{ - perl har advart om uunngået venstre klammeparentes i noen tid og behandler den nå som ulovlig. Endre den til indexentry\{, dobling av skråstreken for sed.

patch -Np1 -i ../xindy-2.5.1-upstream_fixes-2.patch: Xindy vedlikeholdes nå ved CTAN. Denne oppdateringen oppdaterer kilden med noen av endringene som er gjort der (men ignorerer endringer som bare ble gjort for å tillate mellomrom i stinavn og noen trivielle nylige endringer).

--prefix=, --bindir=, --datarootdir=, og andre «dir» brytere: disse bryterne sørger for at filene installert fra kilden vil overskrive alle tilsvarende filer som tidligere er installert av install-tl-unx slik at alternative metoder for å installere texlive er konsistente.

--includedir=/usr/include: Denne parameteren sikrer at kpathsea deklarasjoner fra texlive-20250308 vil bli funnet.

make LC_ALL=POSIX: med gjeldende versjon av coreutils det er viktig å bygge xindy i POSIX (eller C) lokalitet fordi i en UTF-8 lokalitet filen latin.xdy vil bare inneholde en deklarasjon og deretter en linje 'Binary file (standard input) matches' i stedet for de mange linjene av lisp fletteregler kommandoer den burde inneholde.

Innhold

Installerte Programmer: tex2xindy, texindy, xindy
Installerte Biblioteker: Ingen
Installert Mappe: $TEXLIVE_PREFIX/texmf-dist/xindy

Korte Beskrivelser

tex2xindy

transformerer en LaTeX indeksfil til en xindy rå indeksfil

texindy

er en innpakning for xindy som slår på mange LaTeX konvensjoner som standard

xindy

oppretter en sortert og merket indeks fra en rå LaTeX indeks

Tillegg A. Creative Commons License

Creative Commons Legal Code

Attribution-NonCommercial-ShareAlike 2.0

Viktig

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.

License

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

  1. Definitions

    1. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.

    2. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.

    3. "Licensor" means the individual or entity that offers the Work under the terms of this License.

    4. "Original Author" means the individual or entity who created the Work.

    5. "Work" means the copyrightable work of authorship offered under the terms of this License.

    6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.

    7. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike.

  2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.

  3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

    1. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;

    2. to create and reproduce Derivative Works;

    3. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;

    4. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;

    The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Sections 4(e) and 4(f).

  4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

    1. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.

    2. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-NonCommercial-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.

    3. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.

    4. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.

    5. For the avoidance of doubt, where the Work is a musical composition:

      1. Performance Royalties Under Blanket Licenses. Licensor reserves the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work if that performance is primarily intended for or directed toward commercial advantage or private monetary compensation.

      2. Mechanical Rights and Statutory Royalties. Licensor reserves the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions), if Your distribution of such cover version is primarily intended for or directed toward commercial advantage or private monetary compensation. 6. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor reserves the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions), if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation.

    6. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor reserves the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions), if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation.

  5. Representations, Warranties and Disclaimer

    UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

  6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

  7. Termination

    1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.

    2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

  8. Miscellaneous

    1. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.

    2. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.

    3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

    4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.

    5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.

Viktig

Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.

Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.

Creative Commons may be contacted at http://creativecommons.org/.

Tillegg B. The MIT License

Copyright © 1999-2026 The BLFS Development Team

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Ordliste

Akronymer

669

UNIS/Composer 669 Modul

ABI

Applikasjons binært grensesnitt

ADSL

Asymmetrisk Digital Abonnementslinje

AFS

Andrew Filsystem

AGESA

AMD generisk innkapslet programvarearkitektur

AIFF

Audio Interchange filformat

ALSA

Avansert Linux lydarkitektur

ANSI

American National Standards Institute

API

Applikasjonsprogrammeringsgrensesnitt

APR

Apache bærbar kjøretid

ARP

Adresseoppløsningsprotokoll

ASCII

Amerikansk standardkode for informasjonsutveksling

ASLR

Randomisering av adresseromsoppsett

ASN

Abstrakt syntaksnotasjon

ASF

Avansert streamingformat

ATA

Avansert teknologivedlegg

ATSC

Utvalg for avanserte TV-systemer

ATK

Tilgjengelighetsverktøysett

AVI

Lyd/video interleave

AWT

Verktøysett for abstrakt vindu

BER

Grunnleggende kodingsregler

BIND

Berkeley Internet Name Domain

BIOS

Grunnleggende inndata/utdata system

BLFS

Beyond Linux From Scratch

BMP

Bit MaP

CD

Kompaktdisk

CDDA

Kompaktdisk digital lyd

CIFS

Felles Internett filsystem

Se også SMB .

CMS

Kryptografisk meldingssyntaks

CODEC

Komprimering/Dekomprimeringsmodul

CORBA

Vanlig objektforespørselsmeglerarkitektur

CPU

Sentralenhet

CRD

Fargegjengivelsesordbok

CSA

Fargeromsmatrise

CSS (på DVD)

Krypteringssystem for innhold

CSS

Gjennomgripende stilark

CUPS

Felles Unix utskriftssystem

CVS

System for samtidige versjoner

DAO

Disk med en gang

DARPA

Katalogtildeling for adresseoppløsningsprotokoll

DEC

Digitalt utstyrsselskap

DER

Utmerkede kodingsregler

DES

Standard for datakryptering

DHCP

Dynamisk vertskonfigurasjonsprotokoll

DICT

Ordbokserverprotokoll (RFC 2229)

DIN

Tysk industrinorm

DNS

Domenenavntjeneste

DOS

Diskoperativsystem

DRI

Direkte gjengivelsesinfrastruktur

DSC

Konvensjoner for dokumentstrukturering

DSO

Dynamiske delte objekter

DSSSL

Stilsemantikk og spesifikasjonsspråk for dokumenter

DV

Digital Video

DVD

Digital allsidig disk ((også Digital Video Disk)

DVI

Enhetsuavhengig

ELF

Kjørbart og koblingsformat

EPP

Forbedret parallellport

EPS

Innkapslet PostScript

ESD

Opplyst Lydnisse

ESMTP

Utvidet protokoll for enkel E-postoverføring

FAM

Filendringsovervåking

FAME

Rask Maskinkode Mpeg-koder

FAQ

Ofte Stilte Spørsmål

FAX

Faksimile

FB

Rammebuffer

FHS

Filhierarkistandard

FLAC

Gratis lyd uten tap CODEC

FO

Formaterte objekter

FTP

Filoverføringsprotokoll

GCC

GNU Kompilatorsamling

GDBM

GNU Databasebehandler

GDK

GTK+ Tegnesett

GDM

GNOME Skjermbehandler

GID

Gruppeidentitet

GIF

Grafikkutvekslingsformat

GLUT

OpenGL nyttig verktøysett

GMP

GNU Aritmetikk med flere presisjoner

GNAT

GNU NYU Ada 9x oversetter

GNOME

GNU Moddellmiljø for nettverksobjekter

GNU

GNU er ikke Unix

GOT

Global offsettabell

GPL

Allmenn offentlig lisens

GPM

Mus for generell bruk

GSS

Generisk sikkerhetstjeneste

GSSAPI

Generisk sikkerhetstjeneste applikasjonsprogrammeringsgrensesnitt

GTK

GIMP Verktøysett

GUI

Grafisk brukergrensesnitt

HFS

Hierarkisk filsystem

HTML

Hypertekst markeringsspråk

HTTP

Hypertekst overføringsprotokoll

HTTPS

Sikret hypertekst overføringsprotokoll

HUP

Legg på

IANA

Internetttilordnet nummermyndighet

ICC

Internasjonalt fargekonsortium

ICMP

Meldingsprotokoll for Internettkontroll

IDE

Integrert drivelektronikk

Integrert utviklingsmiljø

IDL

Grensesnitt definisjonsspråk

IJS

Blekkstrålesystemer

ILS

Internett plasseringsserver

IMAP

Internett meldingstilgangsprotokoll

IMON

Inode MONitor

IP

Internett protokoll

Se også TCP .

IPX

Internetwork pakkeutveksling

IRC

Internett reléprat

ISDN

Integrerte tjenester digitalt nettverk

ISO

Den internasjonale standardiseringsorganisasjonen

ISP

Internett tjenesteleverandør

IT

Modul for Impulsesporing

JAI

Java avansert bildebehandling

JAR

Java arkiv

JDK

Java utviklingssett

JFIF

JPEG Filutvekslingsformat

JPEG

Felles fotoekspertgruppe

KDC

Nøkkeldistribusjonssenter

KDE

KSkrivebordsmiljø

LAME

Lame er ikke en MP3 koder

LAN

Lokalt nettverk

LDAP

Lettvekts katalogtilgangsprotokoll

LDIF

Lett datautvekslingsformat

LFS

Linux From Scratch

LGPL

Generell offentlig lisens for bibliotek

LPR

Linjeskriver

LZO

Lempel-Ziv-Oberhumer

LZW

Lempel-Ziv-Welch

MAC

Medietilgangskontroll

MCOP

Multimedia kommunikasjonsprotokoll

MCU

Flerpunkts kontrollenhet

MD

Meldingssammendrag

MDA

E-post leveringsagent

MED

MED/OctaMED modul

MIDI

Digitalt grensesnitt for musikkinstrumenter

MIF

Maker utvekslingsformat

MII

Medieuavhengig grensesnitt

MIME

Flerbruksutvidelser for Internett E-post

MIT

Massachusetts Institutt for teknologi

MNG

Nettverksgrafikk med flere bilder

MOD

ProTracker modul

MP3

MPEG-1 lydlag 3

MPEG

Ekspertgruppe for bevegelige bilder

MSL

Magick skriptspråk

MTA

E-post transportagent

MTM

MultiTracker modul

MUA

Brukeragent for E-post

NASM

Nettdekkende ASseMbler

NNTP

Nettverk nyheter overføringsprotokoll

NFS

Nettverksfilsystem

NIS

Nettverk informasjonstjeneste

NPTL

Grunnleggende Posix trådbibliotek

NSPR

Netscape flyttbar kjøretid

NSS

Nettverk sikkerhetstjenester

NTP

Tidsprotokoll for nettverk

OAF

Objektaktiverings rammeverk

ODBC

Åpen Databasetilkobling

OMF

Åpen metadatarammeverk

ORB

Objektforespørselsmegler

Se også CORBA .

ORDBMS

Objektrelasjonell databasestyringssystem

OS

Operativsystem

OSF

Åpen programvarestiftelse

OSS

Åpent lydsystem

PAM

Pluggbare autentiseringsmoduler

PBM

Flyttbar BitMap

PCI

Perifer komponentsammenkobling

PCL

Skriverkontrollspråk

PCM

Pulskodemodulering

PDC

Primær domenekontroller

PDF

Flyttbart dokumentformat

PEAR

Utvidelse og programlager for PHP

PGM

Flyttbart gråkart

PGP

Ganske bra personvern

PHP

PHP Hypertekst Forbehandler

PIE

Posisjonsuavhengig kjørbar

PIM

Personlig informasjonsbehandler

PLIP

Parallellinje Internettprotokoll

PNG

Flyttbar nettverksgrafikk

PO

Flyttbart objekt

POD

Vanlig gammel dokumentasjon

POP

Protokoll for E-postkonto

PPD

PostScript skriverbeskrivelse

PPM

Flyttbart pikselkart

PPP

Point-to-Point protokoll

PPPoE

Point-to-Point protokoll over Ethernet

PS

PostScript

RADIUS

Brukertjeneste for ekstern autentisering

RAM

Tilfeldig tilgangsminne

RARP

Protokoll for omvendt adresseoppløsning

RCS

Revisjonskontrollsystem

RFC

Forespørsel om kommentarer

RGB

Rød Grønn Blå

RGBA

Rød Grønn Blå Alpha

ROM

Kun Lesbart minne

RP

Brølende pingvin

RPC

Anrop for ekstern prosedyre

RTC

Sanntidsklokke

RTP

Sanntidsprotokoll

RW

Les Skriv

S3M

ScreamTracker versjon 3 modul

S/MIME

Sikkert/MIME

SANE

Skannertilgang nå enkelt

SASL

Enkelt autentiserings- og sikkerhetslag

SATA

Seriell avansert teknologivedlegg

SBU

Standard byggetid

SCSI

Lite datamaskinsystemgrensesnitt

SDK

Programvareutviklingssett

SGML

Standard generalisert Markeringsspråk

SMART

Selvovervåking analyse og rapporteringsteknologi

SMB

Servermeldingsblokk

SMIL

Synkronisert multimedieintegreringsspråk

SMTP

Enkel E-post overføringsprotokoll

SQL

Strukturert spørrespråk

SSH

Sikkert Skall

SSL

Sikkert Sockets Lag

SSP

Stabel knusebeskyttelse

SUID

Angi brukeridentitet

SVG

Skalerbar vektorgrafikk

SVGA

Super videografikktabell

TCL

Verktøykommandospråk

TCP

Overføring kontrollprotokoll

TGT

Billetttildelingsbillett

TIFF

Tag(get) bildefilformat

TLS

Transportlagssikkerhet

TTF

TrueType Font

TTS

Tekst til tale

UCS

Universelt karaktersettt

UDF

Universal diskformat

UID

Brukeridentitet

UDP

Brukerdatagramprotokoll

UI

Brukergrensesnitt

UML

Forent Modelleringsspråk

URL

Ensartet ressurssøker

USB

Universell seriebuss

USR

Oppstrøms klar

UTF

UCS transformasjonsformat

UUCP

Unix-til-Unix kopiprotokoll

VCD

Video kompaktdisk

VCS

Versjonskontrollsystem

VESA

Video Elektronikk Standardiseringsforbundet

VGA

Videografikktabell

VNC

Virtuell nettverksdatamaskin

VOB

Videoobjekt

VOIP

Tale over IP

W3C

Verdensvevens Konsortium

WAV

Bølgeform lyd

WWW

Verdensveven

XDMCP

XSkjerm Bestyrings Kontrollprotokoll

XM

FastTrackermodul

XML

Utvidbart markeringsspråk

XSL

Utvidbart stilspråk

XSLT

Utvidbart stilspråkforvandling

XSM

X/Åpen systemadministrasjon

XMMS

XMultimediesystem

YP

Gule Sider

YUV

Luminans-Båndbredde-Krominans

Register

Pakker

Programmer

Biblioteker

Kjernekonfigurasjon

Konfigurasjonsfiler

Oppstartsskripter

Andre