Beyond Linux® From Scratch (systemd Utgave)

Versjon 12.3

The BLFS Development Team

Copyright © 1999-2025, 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 05.03.2025

Revisjonshistorie
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 formen for tekst (font med fast bredde) viser skjermens utdata, sannsynligvis resultatet av å gi en kommando. Det er også brukt til å vis filnavn som f.eks /boot/grub/grub.conf

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.linuxfromscratch.org/

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

seamonkey-2.53.20

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 12.3 datert 5. mars 2025. Dette er 12.3-systemd gren av BLFS boken, for øyeblikket rettet mot LFS 12.3-systemd 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: 12.3 – 5. mars 2025

Endringsloggoppføringer:

  • 5. mars 2025

    • [bdubbs] - Utgivelse av BLFS-12.3.

  • 4. mars 2025

    • [renodr] - Oppdater til libreoffice-25.2.1.2. Fikser #21162.

    • [renodr] - Fiks lyd- og videoavspilling på SysV og systemd systemer som har Wireplumber installert.

  • 3. mars 2025

    • [renodr] - Oppdater til mutt-2.2.14. Fikser #21127.

  • 2. mars 2025

    • [renodr] - Fiks Samba testpakken.

    • [renodr] - Oppdater til vte-0.78.4. Fikser #21171.

    • [bdubbs] - Oppdater til vim-9.1.1166 (Sikkerhetsoppdatering). Fikser #21172.

    • [bdubbs] - Oppdater til gnumeric-1.12.59. Fikser #21170.

    • [bdubbs] - Oppdater til goffice-0.10.59. Fikser #21169.

    • [bdubbs] - Oppdater til icewm-3.7.1. Fikser #21157.

    • [bdubbs] - Oppdater til postfix-3.10.1. Fikser #21140.

    • [bdubbs] - Oppdater til plasma-6.3.2. Fikser #21153.

    • [renodr] - Oppdater til unrar-7.1.5. Fikser #21098.

    • [bdubbs] - Oppdater til bind9 og bind-utilities-9.20.6. Fikser #21118.

    • [bdubbs] - Oppdater til fltk-1.4.2. Fikser #21142.

    • [bdubbs] - Oppdater til sphinx-8.2.1 (Python modul). Fikser #21161.

    • [bdubbs] - Oppdater til gi_docgen-2025.3 (Python modul). Fikser #21160.

    • [bdubbs] - Oppdater til faac-1.31. Fikser #21163.

  • 1. mars 2025

    • [bdubbs] - Oppdater til power-profiles-daemon-0.30. Fikser #21111.

    • [bdubbs] - Oppdater til libassuan-3.0.2. Fikser #21108.

    • [bdubbs] - Oppdater til xdg-desktop-portal-1.20.0. Fikser #21143.

    • [bdubbs] - Oppdater til libnotify-0.8.4. Fikser #21128.

    • [renodr] - Oppdater til libavif-1.2.0. Fikser #21154.

    • [bdubbs] - Oppdater til sysmon3-3.0.1.

    • [bdubbs] - Oppdater til libqalculate-5.5.1. Fikser #21148.

  • 28. februar 2025

    • [bdubbs] - Oppdater til python-dbusmock-0.34.3 (Python modul). Fikser #21132.

    • [renodr] - Oppdater til harfbuzz-10.4.0. Fikser #21126.

    • [bdubbs] - Oppdater til fmt-11.1.4. Fikser #21155.

    • [renodr] - Oppdater til dhcpcd-10.2.2. Fikser #21141.

    • [renodr] - Oppdater til glib-2.82.5. Fikser #21125.

    • [bdubbs] - Oppdater til mercurial-6.9.2. Fikser #21117.

  • 27. februar 2025

    • [renodr] - Oppdater til userspace-rcu-0.15.1 (liburcu). Fikser #21109.

    • [bdubbs] - Oppdater til sentry-sdk-2.22.0 (Python modul). Fikser #21099.

    • [bdubbs] - Oppdater til sphinx-8.2.0 (Python modul). Fikser #21114.

    • [bdubbs] - Oppdater til libwww-perl-6.78 (Perl modul). Fikser #21116.

    • [bdubbs] - Oppdater til Net-DNS-1.50 (Perl modul). Fikser #21131.

    • [bdubbs] - Oppdater til cargo-c-0.10.11. Fikser #21134.

    • [bdubbs] - Oppdater til rustc-1.85.0. Fikser #21124.

    • [renodr] - Oppdater til sqlite-3.49.1. Fikser #21113.

    • [renodr] - Oppdater til shadow-4.17.3 (synkronisere med LFS). Fikser #21146.

    • [renodr] - Oppdater til systemd-257.3 (synkronisere med LFS). Fikser #20838.

    • [renodr] - Oppdater til postgresql-17.4. Fikser #21123.

    • [renodr] - Oppdater til exiv2-0.28.5 (Sikkerhetsoppdatering). Fikser #21130.

    • [renodr] - Oppdater til libxml2-2.13.6 (Sikkerhetsoppdatering). Fikser #21106.

  • 26. februar 2025

    • [renodr] - Oppdater til exim-4.98.1 (Sikkerhetsoppdatering). Fikser #21133.

  • 25. februar 2025

    • [bdubbs] - Oppdater til openssh-9.9p2 og ssh-askpass-9.9p2. Fikser #21104.

    • [bdubbs] - Oppdater til xorg-server-21.1.16 og xwayland-24.1.6. Fikser #21152.

  • 24. februar 2025

    • [bdubbs] - Oppdater til qemu-9.2.2. Fikser #21147.

    • [bdubbs] - Oppdater til wireshark-4.4.5. Fikser #21150.

  • 23. februar 2025

    • [renodr] - Fiks bygge fop igjen med Java 23.

    • [renodr] - Oppdater til FreeRDP-3.12.0. Fikser #21089.

    • [renodr] - Oppdater til asymptote-3.01. Fikser #21103.

    • [bdubbs] - Oppdater til emacs-30.1 (Sikkerhetsoppdatering). Fikser #21139.

    • [renodr] - Oppdater til xdg-desktop-portal-gnome-47.3. Fikser #21100.

    • [bdubbs] - Oppdater til postfix-3.9.2. Fikser #21094.

    • [bdubbs] - Oppdater til tigervnc-1.15.0. Fikser #21102.

    • [bdubbs] - Oppdater til icewm-3.7.0. Fikser #21135.

  • 21. februar 2025

    • [bdubbs] - Oppdater til wireshark-4.4.4. Fikser #21121.

    • [bdubbs] - Oppdater til vim-9.1.1122 (synkroniser med LFS). Fikser #21115.

    • [bdubbs] - Oppdater til menu-cache-1.1.1. Fikser #21107.

  • 20. februar 2025

    • [bdubbs] - Legg til zxing-cpp-2.3.0 pakken.

    • [renodr] - Oppdater til libppd-2.1.1. Fikser #21120.

    • [renodr] - Oppdater til libcupsfilters-2.1.1. Fikser #21112.

    • [renodr] - Oppdater til xfsprogs-6.13.0. Fikser #21096.

    • [xry111] - Oppdater til samba-4.21.4. Fikser #21095.

  • 18. februar 2025

    • [bdubbs] - Oppdater til xfce4-notifyd-0.9.7. Fikser #21091.

    • [bdubbs] - Oppdater til xfdesktop-4.20.1. Fikser #21101.

    • [zeckma] - Oppdater til thunderbird-128.7.1esr. Fikser #21105.

    • [bdubbs] - Oppdater til qpdf-11.10.1. Fikser #21093.

    • [bdubbs] - Oppdater til libportal-0.9.1. Fikser #21072.

    • [bdubbs] - Oppdater til libblockdev-3.3.0. Fikser #21079.

  • 17. februar 2025

    • [zeckma] - Oppdater til node.js-22.14.0. Fikser #21090.

    • [renodr] - Oppdater til sysstat-12.7.7. Fikser #21092.

  • 16. februar 2025

    • [bdubbs] - Oppdater til double-conversion-3.3.1. Fikser #21087.

    • [thomas] - Oppdater til btrfs-progs-6.3. Fikser #21086.

  • 15. februar 2025

    • [bdubbs] - Oppdater til ruby-3.4.2. Fikser #21088.

    • [bdubbs] - Oppdater til sentry_sdk-2.21.0 (Python modul). Fikser #21073.

    • [bdubbs] - Oppdater til psutil-7.0.0 (Python modul). Fikser #21082.

    • [bdubbs] - Oppdater til numpy-2.2.3 (Python modul). Fikser #21080.

    • [bdubbs] - Oppdater til php-8.4.4. Fikser #21081.

    • [thomas] - Oppdater til postgresql-17.3. Fikser #21085.

    • [thomas] - Oppdater til cifsutils-7.2. Fikser #21083.

  • 13. februar 2025

    • [renodr] - Oppdater til cURL-8.12.1. Fikser #21076.

    • [thomas] - Oppdater til dhcpcd-10.2.0. Fikser #21074.

  • 12. februar 2025

    • [renodr] - Oppdater til ImageMagick-7.1.1-43. Fikser #21071.

    • [renodr] - Oppdater til luajit-20250212. Fikser #21070.

    • [renodr] - Oppdater til x264-20250212. Fikser #21069.

    • [renodr] - Oppdater Python modulavhengighetene for BLFS 12.3. Dette inkluderer oppdateringer til babel-2.17.0, certifi-2025.1.31, pytz-2025.1, charset-normalizer-3.4.1, idna-3.10, msgpack-1.1.0, og urllib3-2.3.0. Fikser #21068.

    • [renodr] - Oppdater til vim-9.1.1106 (synkronisere med LFS). Fikser #21065.

    • [renodr] - Oppdater til libaom-3.12.0. Fikser #21064.

    • [renodr] - Oppdater til Python-3.13.2 (Sikkerhetsoppdatering). Fikser #21018.

    • [renodr] - Oppdater til tk-8.6.16. Fikser #21066.

    • [renodr] - Oppdater Perl modulavhengighetene for BLFS 12.3. Dette inkluderer oppdateringer til Alien-Build-2.84, Business-ISBN-Data-20250205.001, Capture-Tiny-0.50, Class-Data-Inheritable-0.10, Clone-0.47, DateTime-Locale-1.44, DateTime-TimeZone-2.64, HTTP-Message-7.00, namespace-autoclean-0.31, Specio-0.49, Term-Table-0.024, Test-File-1.994, Test-Simple-1.302209, Test-utf8-1.03, Test-Warnings-0.038, Text-CSV_XS-1.60, Tie-Cycle-1.229, and Try-Tiny-0.32. Fikser #21067.

    • [renodr] - Arkiver Sub-Identify (Perl Modul Avhengighet). Fikser #21067.

    • [renodr] - Oppdater til cython-3.0.12 (Python Modul). Fikser #21063.

    • [renodr] - Oppdater til gimp-3.0.0-RC3. Fikser #21060.

    • [renodr] - Oppdater til asymptote-2.99. Fikser #21059.

    • [renodr] - Oppdater til gpgme-1.24.2. Fikser #21057.

    • [renodr] - Oppdater til qemu-9.2.1. Fikser #21045.

  • 11. februar 2025

    • [renodr] - Oppdater til Intel Microcode versjon til 20250211 (Sikkerhetsoppdatering). Fikser #21061.

    • [zeckma] - Oppdater til flac-1.5.0. Fikser #21062.

    • [zeckma] - Oppdater til exiv2-0.28.4. Fikser #21058.

  • 10. februar 2025

    • [renodr] - Oppdater til thunar-4.20.2. Fikser #21056.

    • [renodr] - Oppdater til file-roller-44.5. Fikser #21055.

    • [renodr] - Oppdater til xkeyboard-config-2.44. Fikser #21054.

    • [renodr] - Oppdater til lxml-5.3.1 (Python Modul). Fikser #21053.

    • [renodr] - Oppdater til lcms2-2.17. Fikser #21052.

    • [renodr] - Oppdater til gegl-0.4.54. Fikser #21051.

    • [renodr] - Oppdater til xfce4-settings-4.20.1. Fikser #21049.

    • [renodr] - Oppdater til qpdf-11.10.0. Fikser #21046.

    • [renodr] - Oppdater til lxqt-config-2.1.1. Fikser #21040.

  • 9. februar 2025

    • [renodr] - Oppdater til WebKitGTK-2.46.6 (Sikkerhetsoppdatering). Fikser #21039.

    • [renodr] - Oppdater til libreoffice-25.2.0.3. Fikser #21036.

    • [renodr] - Oppdater til make-ca-1.15. Fikser #21048.

    • [renodr] - Oppdater til gnutls-3.8.9 (Sikkerhetsoppdatering). Fikser #21044.

    • [renodr] - Oppdater til asymptote-2.98. Fikser #21042.

    • [renodr] - Oppdater til wireplumber-0.5.8. Fikser #21041.

    • [renodr] - Oppdater til gtk-vnc-1.5.0. Fikser #21038.

    • [renodr] - Oppdater til SPIRV-Headers og SPIRV-Tools 1.4.304.1. Fikser #21037.

    • [renodr] - Oppdater til FreeRDP-3.11.1. Fikser #21033.

    • [renodr] - Fiks bygging av Inkscape med poppler-25.02.0. Fikser #21050.

  • 8. februar 2025

    • [thomas] - Legg til oppdatering for å fikse et byggeproblem i Kea-dhcp med boost 1,87 eller senere. Fikser #21043.

  • 7. februar 2025

    • [bdubbs] - Oppdater til talloc-2.4.3. Fikser #21034.

    • [bdubbs] - Oppdater til mako-1.3.9 (Python Modul). Fikser #21017.

    • [bdubbs] - Oppdater til hwdata-0.392. Fikser #21016.

    • [bdubbs] - Oppdater til poppler-25.02.0. Fikser #21015.

    • [bdubbs] - Oppdater til libxkbcommon-1.8.0. Fikser #21014.

    • [bdubbs] - Oppdater til abseil-cpp-20250127.0. Fikser #21013.

    • [bdubbs] - Oppdater til tcsh-6.24.15. Fikser #21012.

    • [renodr] - Oppdater til FreeRDP-3.11.0. Fikser #21033.

    • [renodr] - Oppdater til gcr-4.3.1. Fikser #21030.

    • [renodr] - Oppdater til xwayland-24.1.5. Fikser #21029.

    • [renodr] - Oppdater til pcre2-10.45. Fikser #21028.

    • [renodr] - Oppdater til nss-3.108. Fikser #21027.

    • [zeckma] - Oppdater til sqlite-autoconf-3490000 (3.49.0). Fikser #21035.

  • 6. februar 2025

    • [renodr] - Oppdater til firefox-128.7.0esr (Sikkerhetsoppdatering). Fikser #21009.

    • [renodr] - Oppdater til thunderbird-128.7.0esr (Sikkerhetsoppdatering). Fikser #21021.

    • [renodr] - Oppdater til cURL-8.12.0 (Sikkerhetsoppdatering). Fikser #21020.

    • [renodr] - Oppdater til libtasn1-4.20.0 (Sikkerhetsoppdatering). Fikser #21032.

    • [renodr] - Oppdater til mariadb-11.4.5 (Sikkerhetsoppdatering). Fikser #21022.

  • 5. februar 2025

    • [renodr] - Oppdater til mutter-47.5. Fikser #21025.

    • [renodr] - Oppdater til gnome-shell-extensions-47.4. Fikser #21024.

    • [renodr] - Oppdater til gnome-shell-47.4. Fikser #21023.

    • [renodr] - Oppdater til nautilus-47.2. Fikser #21019.

    • [renodr] - Oppdater til gnome-control-center-47.4. Fikser #21011.

    • [renodr] - Oppdater til gnome-system-monitor-47.1. Fikser #21002.

    • [renodr] - Oppdater til gdb-16.2. Fikser #21001.

  • 4. februar 2025

    • [renodr] - Oppdater til intel-gmmlib-22.5.5. Fikser #20972.

    • [renodr] - Oppdater til intel-media-24.4.4. Fikser #20973.

    • [bdubbs] - Oppdater til xhost-1.0.10 (Xorg applikasjon). Fikser #21005.

    • [bdubbs] - Oppdater til libX11-1.8.11 (Xorg bibliotek). Fikser #21004.

    • [bdubbs] - Oppdater til protobuf-c-1.5.1. Fikser #21003.

    • [renodr] - Oppdater til lximage-qt-2.1.1. Fikser #20989.

    • [renodr] - Oppdater til lxqt-runner-2.1.2. Fikser #20990.

  • 3. februar 2025

    • [bdubbs] - Oppdater til xfce4-panel-4.20.3. Fikser #21007.

    • [bdubbs] - Oppdater til libxfce4windowing-4.20.2. Fikser #21006.

  • 2. februar 2025

    • [renodr] - Oppdater til vim-9.1.1071 (Sikkerhetsoppdatering). Fikser #21008.

    • [renodr] - Oppdater til qt6 og qtwebengine 6.8.2 (Sikkerhetsoppdatering). Fikser #20998.

    • [thomas] - Oppdater til libslirp-4.9.0. Fikser #20986.

    • [thomas] - Oppdater til which-2.23. Fikser #21000.

  • 1. februar 2025

    • [renodr] - Oppdater til BIND-9.20.5 (Sikkerhetsoppdatering). Fikser #20984.

    • [renodr] - Oppdater til epiphany-47.3.1. Fikser #20999.

    • [renodr] - Oppdater til libadwaita-1.6.4. Fikser #20997.

    • [renodr] - Oppdater til gnome-maps-47.4. Fikser #20988.

    • [thomas] - Oppdater til gparted-1.7.0. Fikser #20994.

    • [renodr] - Oppdater til libshumate-1.3.2. Fikser #20987.

    • [renodr] - Oppdater gstreamer stakken to 1.24.12. Fikser #20991.

    • [renodr] - Oppdater til Text-BibTeX-0.91 (Perl Module). Fikser #20993.

    • [renodr] - Oppdater til SPIRV-LLVM-Translator-19.1.4. Fikser #20996.

    • [renodr] - Oppdater til wayland-protocols-1.40. Fikser #20992.

  • 31. januar 2025

    • [xry111] - Oppdater til rustc-1.84.1. Fikser #20995.

  • 29. januar 2025

    • [xry111] - Oppdater til attrs-25.1.0, hatchling-1.27.0, meson_python-0.17.1, pyproject-metadata-0.9.0, trove-classifiers-2025.1.15.22, typogrify-2.1.0 (Python avhengigheter). Adresserer #18562.

    • [xry111] - Arkiver mandoc. Fikser #20975.

  • 28. januar 2025

    • [zeckma] - Oppdater til cmake-3.31.5. Fikser #20983.

    • [renodr] - Oppdater til Business-ISSN-1.008 (Perl Modul). Fikser #20981.

    • [renodr] - Oppdater til gtk+-3.24.48. Fikser #20978.

    • [renodr] - Oppdater til dovecot-2.4.0. Fikser #20971.

    • [renodr] - Oppdater til OpenJDK-23.0.2 (Sikkerhetsoppdatering). Fikser #20968.

  • 27. januar 2025

    • [zeckma] - Oppdater til thunderbird-128.6.1esr. Fikser #20980.

    • [bdubbs] - Oppdater til fmt-11.1.3. Fikser #20979.

    • [bdubbs] - Oppdater til mupdf-1.25.4. Fikser #20974.

    • [bdubbs] - Oppdater til libpng-1.6.46. Fikser #20970.

    • [bdubbs] - Oppdater til fltk-1.4.1. Fikser #20666.

    • [zeckma] - Vulkan-Loader: Degrader Wayland til anbefalt.

  • 24. januar 2025

    • [bdubbs] - Oppdater til which-2.22. Fikser #20969.

    • [renodr] - Oppdater til libseccomp-2.6.0. Fikser #20965.

    • [renodr] - Oppdater til libpaper-2.2.6. Fikser #20964.

    • [renodr] - Oppdater til abseil-cpp-20240722.1 (Sikkerhetsoppdatering). Fikser #20963.

    • [bdubbs] - Oppdater til httpd-2.4.63. Fikser #20967.

    • [bdubbs] - Oppdater til mc-4.8.33. Fikser #20966.

  • 22. januar 2025

    • [bdubbs] - Oppdater til mupdf-1.25.3. Fikser #20962.

    • [zeckma] - Oppdater til mesa-24.3.4. Fikser #20960.

    • [renodr] - Oppdater til xdg-desktop-portal-gnome-47.2. Fikser #20956.

    • [zeckma] - Oppdater til node.js-22.13.1 (Sikkerhetsoppdatering). Fikser #20957.

  • 20. januar 2025

    • [bdubbs] - Oppdater til mlt-7.30.0. Fikser #20955.

    • [bdubbs] - Oppdater til sentry_sdk-2.20.0 (Python modul). Fikser #20684.

  • 19. januar 2025

    • [xry111] - Oppdater til cargo-c-0.10.9. Fikser #20954.

    • [renodr] - Oppdater til pango-1.56.1. Fikser #20953.

    • [renodr] - Oppdater til numpy-2.2.2 (Python Module). Fikser #20952.

    • [renodr] - Oppdater til gdb-16.1. Fikser #20951.

  • 18. januar 2025

    • [renodr] - Oppdater til libgee-0.20.8. Fikser #20946.

    • [renodr] - Oppdater til libsoup-3.6.4. Fikser #20945.

    • [renodr] - Oppdater til mercurial-6.9.1. Fikser #20943.

    • [bdubbs] - Oppdater til unrar-7.1.3. Fikser #20950.

    • [bdubbs] - Oppdater til libexif-0.6.25. Fikser #20949.

  • 17. januar 2025

    • [zeckma] - Oppdater til fontconfig-2.16.0. Fikser #20948.

    • [bdubbs] - Oppdater til php-8.4.3. Fikser #20947.

  • 16. januar 2025

    • [renodr] - Oppdater til pangomm-2.56.1. Fikser #20942.

    • [renodr] - Oppdater til libsecret-0.21.6. Fikser #20940.

    • [renodr] - Oppdater til rsync-3.4.1. Fikser #20939.

    • [renodr] - Oppdater til libuv-1.50.0. Fikser #20937.

    • [renodr] - Oppdater til LVM2-2.03.30. Fikser #20936.

    • [renodr] - Oppdater til libwnck-43.2. Fikser #20933.

    • [renodr] - Oppdater til gnome-color-manager-3.36.2. Fikser #20932.

    • [renodr] - Oppdater til sqlite-3.48.0. Fikser #20931.

    • [renodr] - Oppdater til shadow-4.17.2 (synkronisere med LFS). Fikser #20911.

    • [renodr] - Oppdater til pango-1.56.0. Fikser #20799.

    • [xry111] - Oppdater til cbindgen-0.28.0. Fikser #20938.

    • [xry111] - Oppdater til libclc-19.1.7. Fikser #20462.

    • [xry111] - Oppdater til cargo-c-0.10.8. Fikser #20914.

    • [xry111] - Oppdater til Rustc-1.84.0. Fikser #20897.

    • [xry111] - Oppdater til LLVM-19.1.7. Fikser #20465.

  • 15. januar 2025

    • [renodr] - Oppdater til mutter-47.4. Fikser #20927.

    • [renodr] - Oppdater til FreeRDP-3.10.3. Fikser #20926.

    • [renodr] - Oppdater til gnome-shell og gnome-shell-extensions 47.3. Fikser #20925.

    • [renodr] - Oppdater til libqalculate-5.5.0. Fikser #20923.

    • [renodr] - Oppdater til glslc-2024.4. Fikser #20935.

    • [renodr] - Oppdater til glslang-15.1.0. Fikser #20804.

    • [renodr] - Oppdater til Vulkan-Headers og Vulkan-Loader 1.4.304.0. Fikser #20679.

    • [renodr] - Oppdater til SPIRV-Headers og SPIRV-Tools 1.4.304.0. Fikser #20922.

    • [renodr] - Oppdater til polkit-126. Fikser #20921.

  • 14. januar 2025

    • [renodr] - Oppdater til vim-9.1.1016 (Sikkerhetsoppdatering). Fikser #20930.

    • [renodr] - Oppdater til git-2.48.1 (Sikkerhetsoppdatering). Fikser #20928.

    • [renodr] - Oppdater til rsync-3.4.0 (Sikkerhetsoppdatering). Fikser #20929.

    • [zeckma] - Oppdater til elogind-255.17. Fikser #20924.

  • 13. januar 2025

    • [renodr] - Oppdater til fmt-11.1.2. Fikser #20919.

    • [renodr] - Oppdater til lxqt-runner-2.1.1. Fikser #20918.

    • [renodr] - Oppdater til lxqt-panel-2.1.4. Fikser #20917.

    • [renodr] - Oppdater til gnome-online-accounts-3.52.3.1. Fikser #20916.

    • [renodr] - Oppdater til libsoup-3.6.3. Fikser #20915.

    • [renodr] - Oppdater til Text-CSV-2.05 og Text-CSV_XS-1.59 (Perl Moduler). Fikser #20913.

    • [renodr] - Oppdater til harfbuzz-10.2.0. Fikser #20912.

    • [renodr] - Oppdater til at-spi2-core-2.54.1. Fikser #20910.

    • [renodr] - Oppdater til cmake-3.31.4. Fikser #20907.

    • [renodr] - Oppdater til gnome-control-center-47.3. Fikser #20906.

    • [renodr] - Oppdater til xdg-desktop-portal-gtk-1.15.2. Fikser #20902.

    • [renodr] - Oppdater til libadwaita-1.6.3. Fikser #20901.

    • [renodr] - Oppdater instruksjonene for testpakken for doxyqml.

    • [renodr] - Oppdater til doxygen-1.13.2. Fikser #20900.

    • [renodr] - Oppdater til libpng-1.6.45. Fikser #20884.

  • 12. januar 2025

    • [renodr] - Oppdater til opencv-4.11.0. Fikser #20898.

  • 11. januar 2025

    • [thomas] - Oppdater til git-2.48.0. Fikser #20909.

    • [thomas] - Oppdater til upower-1.90.7. Fikser #20899.

  • 10. januar 2025

    • [rahul] - Oppdater til gtk4-4.16.12. Fikser #20859.

    • [rahul] - Oppdater til mesa-24.3.3. Fikser #20858.

    • [rahul] - Oppdater til hwdata-0.391. Fikser #20857.

  • 9. januar 2025

    • [renodr] - Oppdater til pulseaudio-qt-1.7.0. Fikser #20896.

    • [renodr] - Oppdater til plasma-wayland-protocols-1.16.0. Fikser #20895.

    • [renodr] - Oppdater til cups-browsed-2.1.1. Fikser #20893.

    • [renodr] - Oppdater til glib-networking-2.80.1. Fikser #20892.

    • [renodr] - Oppdater til wireshark-4.4.3. Fikser #20891.

    • [renodr] - Oppdater til protobuf-29.3. Fikser #20890.

  • 8. januar 2025

    • [zeckma] - Oppdater til node.js-22.13.0. Fikser #20883.

    • [renodr] - Oppdater til libreoffice-24.8.4.2 (Sikkerhetsoppdatering). Fikser #20821.

    • [renodr] - Oppdater til poppler-25.01.0. Fikser #20855.

    • [renodr] - Oppdater til dolphin-24.12.0.1. Fikser #20889.

    • [renodr] - Oppdater til cachecontrol-0.14.2 (Python Modul). Fikser #20886.

    • [renodr] - Oppdater til highlight-4.15. Fikser #20885.

    • [renodr] - Oppdater til umockdev-0.19.1. Fikser #20854.

    • [renodr] - Oppdater til doxygen-1.13.1. Fikser #20852.

    • [renodr] - Oppdater til gimp-3.0.0-RC2. Fikser #20847.

    • [renodr] - Oppdater til Thunderbird-128.6.0esr (Sikkerhetsoppdatering). Fikser #20880.

    • [thomas] - Oppgrader til ed-1.21. Fikser #20882.

    • [thomas] - Oppgrader gstreamer pakken til 1.24.11. Fikser #20877.

    • [renodr] - Oppdater til Firefox (og Spidermonkey) 128.6.0esr (Sikkerhetsoppdatering). Fikser #20871.

    • [renodr] - Oppdater til Seamonkey-2.53.20 (Sikkerhetsoppdatering). Fikser #20888.

  • 7. januar 2025

    • [renodr] - Oppdater til liblinear-248. Fikser #20861.

    • [renodr] - Oppdater til fetchmail-6.5.2. Fikser #20845.

    • [zeckma] - Oppdater til xinit-1.4.3. Fikser #20868.

    • [renodr] - Oppdater til gtk-vnc-1.4.0. Fikser #20876.

    • [renodr] - Oppdater til samba-4.21.3. Fikser #20874.

    • [renodr] - Oppdater til Text-BibTeX-0.90 (Perl Modul). Fikser #20873.

    • [renodr] - Oppdater til ExtUtils-LibBuilder-0.09 (Perl Modul Avhengighet). Fikser #20881.

    • [renodr] - Oppdater til pygments-2.19.1 (Python Modul). Fikser #20866.

    • [renodr] - Oppdater til dvisvgm-3.4.3. Fikser #20865.

    • [renodr] - Oppdater til gnome-maps-47.3. Fikser #20864.

    • [renodr] - Oppdater til libshumate-1.3.1. Fikser #20863.

    • [zeckma] - Oppdater til xf86-input-synaptics-1.10.0 (Xorg driver). Fikser #20867.

    • [zeckma] - Oppdater til libinput-1.27.1 (Xorg driver). Fikser #20875.

    • [renodr] - Oppdater til Business-ISBN-3.011 (Perl Modul). Fikser #20862.

    • [renodr] - Oppdater til gnome-calculator-47.1. Fikser #20813.

    • [renodr] - Oppdater til tinysparql-3.8.2. Fikser #20810.

    • [renodr] - Oppdater til stunnel-5.74. Fikser #20805.

    • [renodr] - Oppdater til FreeRDP-3.10.2. Fikser #20797.

    • [renodr] - Oppdater til localsearch-3.8.2. Fikser #20788.

    • [renodr] - Oppdater til nautilus-47.1. Fikser #20780.

  • 6. januar 2025

    • [zeckma] - Oppdater til xterm-397. Fikser #20869.

  • 5. januar 2025

    • [thomas] - Oppdater til evolution-data-server-3.54.3 og evolution-3.54.3. Fikser #20860.

  • 2. januar 2025

    • [renodr] - Oppdater til Firefox-128.5.2esr (inkludert Spidermonkey). Fikser #20795.

    • [renodr] - Oppdater til Thunderbird-128.5.2esr (Sikkerhetsoppdatering). Fikser #20794.

    • [renodr] - Oppdater til WebKitGTK-2.46.5 (Sikkerhetsoppdatering). Fikser #20815.

    • [renodr] - Oppdater til cURL-8.11.1 (Sikkerhetsoppdatering). Fikser #20790.

    • [thomas] - Oppgrader til SDL2-2.30.11. Fikser #20851.

    • [renodr] - Fiks bygging av ffmpeg-7.1 med Texinfo-7.2. Takk går til Marty Jack for å ta det opp i LFS ticket for Texinfo 7.2. Fikser #20853.

    • [bdubbs] - Oppdater til pyparsing-3.2.1 (Python modul). Fikser #20849.

    • [bdubbs] - Oppdater til SPIRV-LLVM-Translator-19.1.3. Fikser #20848.

    • [bdubbs] - Oppdater til nettle-3.10.1. Fikser #20844.

  • 31. desember 2024

    • [renodr] - Oppdater til dbus-1.16.0 (synkronisere med LFS). Fikser #20812.

    • [bdubbs] - Oppdater til shadow-4.17.1. Fikser #20832.

    • [thomas] - Oppdater til thunar-4.20.1. Fikser #20846.

  • 28. desember 2024

    • [bdubbs] - Oppdater til doxygen-1.13.0. Fikser #20843.

    • [bdubbs] - Oppdater til Net-DNS-1.49 (Perl modul). Fikser #20842.

    • [bdubbs] - Oppdater til gegl-0.4.52. Fikser #20841.

    • [bdubbs] - Oppdater til umockdev-0.19.0. Fikser #20840.

    • [bdubbs] - Oppdater til ruby-3.4.1. Fikser #20834.

    • [bdubbs] - Oppdater til fmt-11.1.1. Fikser #20833.

  • 27. desember 2024

    • [bdubbs] - Oppdater til lxqt-session-2.1.1. Fikser #20831.

    • [bdubbs] - Oppdater til cracklib-2.10.3. Fikser #20829.

    • [bdubbs] - Oppdater til python_dbusmock-0.34.2. Fikser #20827.

    • [bdubbs] - Oppdater til libportal-0.9.0. Fikser #20825.

    • [bdubbs] - Oppdater til wayland-protocols-1.39. Fikser #20823.

    • [thomas] - Oppdater til xfce4-terminal-1.1.4. Fikser #20837.

    • [thomas] - Oppdater til ristretto-0.13.3. Fikser #20836.

    • [thomas] - Oppdater til parole-4.18.2. Fikser #20835.

  • 26. desember 2024

    • [thomas] - Oppdater til libical-3.0.19. Fikser #20830.

    • [thomas] - Oppdater til liburcu-0.15.0. Fikser #20822.

  • 24. desember 2024

    • [zeckma] - Oppdater til cmake-3.31.3. Fikser #20828.

  • 22. desember 2024

    • [renodr] - Oppdater til numpy-2.2.1 (Python Modul). Fikser #20826.

    • [renodr] - Oppdater til xorg-server-21.1.15. Fikser #20814.

    • [renodr] - Oppdater til systemd-257 (synkronisere med LFS). Fikser #20347.

    • [thomas] - Oppdater til nano-8.3. Fikser #20824.

  • 21. desember 2024

    • [zeckma] - Oppdater til mesa-24.3.2. Fikser #20820.

  • 20. desember 2024

    • [bdubbs] - Oppdater til psutil-6.1.1 (Python modul). Fikser #20819.

    • [bdubbs] - Oppdater til php-8.4.2. Fikser #20818.

    • [bdubbs] - Oppdater til libwebp-1.5.0. Fikser #20817.

  • 19. desember 2024

    • [bdubbs] - Oppdater til protobuf-29.2. Fikser #20816.

    • [xry111] - Oppdater til Gimp-3.0.0-RC1. Fikser #20634.

  • 17. desember 2024

    • [bdubbs] - Oppdater til xfce-4.20. Fikser #20811.

    • [thomas] - Oppdater til mpg123-1.32.10. Fikser #20809.

  • 16. desember 2024

    • [bdubbs] - Oppdater til vim-9.1.0927. Adresserer #12241.

    • [bdubbs] - Oppdater til muparser-2.3.5. Fikser #20808.

    • [bdubbs] - Oppdater til python3-3.13.1 (Sikkerhetsoppdatering). Fikser #20750.

    • [bdubbs] - Oppdater til libcap-2.73. Fikser #20740.

  • 15. desember 2024

    • [zeckma] - WebKitGTK: Legg til oppstrømsoppdatering for å fikse byggefeil.

    • [zeckma] - Oppdater til libXau-1.0.12, libXv-1.0.13, libXxf86vm-1.1.6, libxshmfence-1.3.3, og libxcvt-0.1.3 (Xorg biblioteker). Fikser #20807.

    • [thomas] - Oppgrader c-ares-1.34.4. Fikser #20806.

  • 13. desember 2024

    • [bdubbs] - Oppdater til kf6 package solid-6.9.1.

    • [bdubbs] - Oppdater til plasma-6.2.4. Fikser #20722.

  • 13. desember 2024

    • [bdubbs] - Oppdater til kde-gear-24.12.0. Fikser #20796.

    • [zeckma] - Oppdater til libICE-1.1.2, libSM-1.2.5, og libXrender-0.9.12 (Xorg biblioteker). Fikser #20801, #20802, og #20803.

    • [thomas] - Oppdater til bind-9.20.4, bind-utils-9.20.4. Fikser #20792.

    • [bdubbs] - Oppdater til plasma-wayland-protocols-1.15.0. Fikser #20773.

    • [bdubbs] - Oppdater til kf6-6.9.0 med extra-cmake-modules og breeze-icons. Fikser #20800.

  • 12. desember 2024

    • [bdubbs] - Oppdater til boost-1.87.0. Fikser #20791.

    • [bdubbs] - Oppdater til mupdf-1.25.2. Fikser #20789.

    • [bdubbs] - Oppdater til nfs-utils-2.8.2. Fikser #20786.

  • 11. desember 2024

    • [xry111] - Oppdater til rust-bindgen-0.71.1. Fikser #20765.

    • [bdubbs] - Oppdater til qemu-9.2.0. Fikser #20783.

    • [bdubbs] - Oppdater til python-dbusmock-0.33.0 (Python modul). Fikser #20785.

    • [bdubbs] - Oppdater til json-glib-1.10.6. Fikser #20784.

    • [bdubbs] - Oppdater til glib-2.82.4. Fikser #20781.

    • [bdubbs] - Oppdater til LVM2.2.03.29. Fikser #20778.

    • [bdubbs] - Arkiver sysmon-qt.

  • 10. desember 2024

    • [zeckma] - Oppdater til openjpeg-2.5.3. Fikser #20779.

    • [bdubbs] - Legg til sysmon3/sysmond system overvåkingsverktøy.

  • 9. desember 2024

    • [bdubbs] - Oppdater til subversion-1.14.5. Fikser #20777.

    • [bdubbs] - Oppdater til AppStream-1.0.4. Fikser #20775.

    • [bdubbs] - Oppdater til numpy-2.2.0 (Python Modul). Fikser #20776.

    • [bdubbs] - Oppdater til mako-1.3.8 (Python Modul). Fikser #20774.

  • 8. desember 2024

    • [rahul] - Oppdater til cmake-3.31.2. Fikser #20761.

    • [rahul] - Oppdater til xfce4-pulseaudio-plugin-0.4.9. Fikser #20763.

    • [rahul] - Oppdater til libwacom-2.14.0. Fikser #20760.

  • 7. desember 2024

    • [rahul] - Oppdater til SDL2-2.30.10. Fikser #20766.

    • [rahul] - Oppdater til sqlite-3.74.2. Fikser #20767.

    • [rahul] - Oppdater til graphviz-12.2.1. Fikser #20771.

    • [rahul] - Oppdater til gedit-48.1. Fikser #20768.

    • [rahul] - Oppdater til libgedit-tepl-6.12.0. Fikser #20770.

    • [rahul] - Oppdater til libgedit-gtksourceview-299.4.0. Fikser #20772.

    • [rahul] - Oppdater til libgedit-gfls-0.2.1. Fikser #20769.

    • [bdubbs] - Oppdater til xapian-core-1.4.27. Fikser #20764.

  • 6. desember 2024

    • [renodr] - Oppdater til mutter-47.3. Fikser #20762.

  • 5. desember 2024

    • [zeckma] - Oppdater til mesa-24.3.1. Fikser #20681.

    • [rahul] - Oppdater til samba-4.21.2. Fikser #20703.

    • [bdubbs] - Oppdater til protobuf-29.1. Fikser #20754.

    • [bdubbs] - Oppdater til unrar-7.1.2. Fikser #20759.

    • [bdubbs] - Oppdater til libdrm-2.4.124. Fikser #20758.

    • [bdubbs] - Oppdater til xkbevd-1.1.6 (Xorg app). Fikser #20757.

    • [bdubbs] - Oppdater til six-1.17.0 (Python modul). Fikser #20755.

    • [thomas] - Oppdater postfix til 3.9.1. Fikser #20756.

  • 4. desember 2024

    • [renodr] - Oppdater gstreamer stakken til 1.22.10 (Sikkerhetsoppdatering). Fikser #20747.

    • [renodr] - Oppdater til qtwebengine-6.8.1 (Sikkerhetsoppdatering). Fikser #20743.

    • [xry111] - Oppdater til gpgme-1.24.1 og fiks gpgme Python modulen sin byggefeil med Python-3.13. Fikser #20753.

    • [bdubbs] - Oppdater til xfsprogs-6.12.0. Fikser #20748.

    • [renodr] - Oppdater til qt-6.8.1. Fikser #20743.

    • [bdubbs] - Oppdater til mako-1.3.7. Fikser #20749.

    • [bdubbs] - Oppdater til hwdata-0.390. Fikser #20752.

    • [zeckma] - Oppdater til node.js-22.12.0. Fikser #20751.

  • 3. desember 2024

    • [renodr] - Fiks bygge libreoffice med poppler-24.12.0.

    • [zeckma] - Oppdater til thunderbird-128.5.1esr. Fikser #20746.

    • [renodr] - Fiks bygge Inkscape med poppler-24.12.0 og gjenopprette PDF funksjonaliteten. Patcher ble sendt inn av både Joe Locash og Uwe Duffert, men en ekstra tweak ble gjort av [renodr] for å la det bygge med poppler-24.12.0.

    • [renodr] - Oppdater til poppler-24.12.0. Fikser #20741.

    • [renodr] - Oppdater til wireplumber-0.5.7. Fikser #20744.

    • [renodr] - Oppdater til lxqt-panel-2.1.3. Fikser #20738.

    • [renodr] - Oppdater til lxqt-notificationd-2.1.1. Fikser #20737.

    • [zeckma] - Oppdater til xterm-396. Fikser #20742.

    • [zeckma] - Oppdater til pixman-0.44.2. Fikser #20745.

  • 2. desember 2024

    • [zeckma] - Oppdater til pytest-8.3.4 (Python modul). Fikser #20739.

  • 30. november 2024

    • [bdubbs] - Oppdater til SPIRV-LLVM-Translator-19.1.2. Fikser #20735.

    • [bdubbs] - Oppdater til btrfs-progs-v6.12. Fikser #20733.

    • [xry111] - Oppdater til cargo-c-0.10.7. Adresserer #20730.

  • 29. november 2024

    • [renodr] - Oppdater til firefox-128.5.1esr. Fikser #20732.

    • [renodr] - Oppdater til webkitgtk-2.46.4 (Sikkerhetsoppdatering). Fikser #20728.

    • [renodr] - Oppdater til libjxl-0.11.1 (Sikkerhetsoppdatering). Fikser #20721.

    • [renodr] - Oppdater til protobuf-29.0. Fikser #20726.

    • [renodr] - Oppdater til openldap-2.6.9. Fikser #20725.

  • 29. november 2024

    • [xry111] - Oppdater til cargo-c-0.10.6. Adresserer #20730.

    • [xry111] - Oppdater til rustc-1.83.0. Fikser #20731.

  • 28. november 2024

    • [zeckma] - Oppdater til pango-1.55.0. Fikser #20727.

  • 27. november 2024

    • [bdubbs] - Oppdater til pipewire-1.2.7. Fikser #20724.

    • [bdubbs] - Oppdater til mupdf-1.25.1. Fikser #20723.

    • [bdubbs] - Oppdater til tcsh-6.24.14. Fikser #20720.

    • [bdubbs] - Oppdater til libqalculate-5.4.0. Fikser #20709.

    • [bdubbs] - Oppdater til gnupg-2.4.7. Fikser #20708.

    • [bdubbs] - Oppdater til x265_4.1. Fikser #20368.

    • [zeckma] - Kombiner XCB Utilities til én side.

  • 26. november 2024

    • [renodr] - Oppdater til thunderbird-128.5.0esr (Sikkerhetsoppdatering). Fikser #20719.

    • [renodr] - Oppdater til firefox-128.5.0esr (Sikkerhetsoppdatering). Fikser #20704.

    • [renodr] - Oppdater til spidermonkey-128.5.0. Fikser #20705.

    • [renodr] - Oppdater til tree-2.2.1. Fikser #20710.

    • [thomas] - Oppdater til sqlite-3.47.1. Fikser #20711.

    • [thomas] - Oppdater til git-2.47.1. Fikser #20706.

    • [thomas] - Oppdater til sudo-1.9.16p2. Fikser #20716.

    • [thomas] - Oppdater til cmake-3.31.1. Fikser #20707.

    • [renodr] - Oppdater til gnome-shell-extensions-47.2. Fikser #20714.

    • [renodr] - Oppdater til gnome-shell-47.2. Fikser #20714.

    • [renodr] - Oppdater til mutter-47.2. Fikser #20715.

    • [renodr] - Oppdater til gnome-control-center-47.2. Fikser #20713.

    • [renodr] - Oppdater til file-roller-44.4. Fikser #20701.

    • [renodr] - Oppdater til gnome-maps-47.2. Fikser #20698.

  • 25. november 2024

    • [renodr] - Oppdater til gnome-terminal-3.54.2. Fikser #20697.

    • [renodr] - Oppdater til gnome-online-accounts-3.52.2. Fikser #20695.

    • [renodr] - Oppdater til evolution-3.54.2. Fikser #20693.

    • [renodr] - Oppdater til evolution-data-server-3.54.2. Fikser #20693.

    • [renodr] - Oppdater til localsearch-3.8.1. Fikser #20689.

    • [renodr] - Oppdater til tinysparql-3.8.1. Fikser #20690.

    • [renodr] - Oppdater til gnome-settings-daemon-47.2. Fikser #20688.

    • [renodr] - Oppdater til gtksourceview-5.14.2. Fikser #20686.

    • [renodr] - Oppdater til dvisvgm-3.4.2. Fikser #20662.

    • [renodr] - Oppdater til asymptote-2.95. Fikser #20655.

    • [renodr] - Oppdater til libsoup-3.6.1 (Sikkerhetsoppdatering). Fikser #20671.

    • [renodr] - Fullfør gjenopprettingen av kio-extras til boken. Fikser #20672.

    • [renodr] - Legg til kdsoap-ws-discovery-client for kio-extras.

    • [bdubbs] - Oppdater til lxqt-panel-2.1.2. Fikser #20702.

    • [bdubbs] - Oppdater til postgresql-17.2. Fikser #20685.

    • [bdubbs] - Oppdater til wireshark-4.4.2 (Sikkerhetsoppdatering). Fikser #20676.

    • [zeckma] - Oppdater til gtk4-4.16.7. Fikser #20700.

    • [zeckma] - Oppdater til unix-tree-2.2.0. Fikser #20699.

  • 24. november 2024

    • [zeckma] - Oppdater til mercurial-6.9. Fikser #20675.

    • [renodr] - Legg til plasma-activites-stats for kio-extras. Merk at hvis en bruker har installert et fullt bygg av Plasma, er denne pakken ikke nødvendig.

    • [renodr] - Gjenopprett KDSoap til boken for kio-extras.

  • 23. november 2024

    • [zeckma] - Oppdater til vte-0.78.2. Fikser #20696.

    • [zeckma] - Oppdater til neon-0.34.0. Fikser #20694.

  • 22. november 2024

    • [zeckma] - Oppdater til libadwaita-1.6.2. Fikser #20692.

    • [bdubbs] - Oppdater til php-8.4.1. Fikser #20683 (Sikkerhetsoppdatering).

    • [bdubbs] - Oppdater til node-22.11.0. Fikser #20682.

    • [bdubbs] - Oppdater til nss-3.107. Fikser #20680.

  • 21. november 2024

    • [renodr] - Fjern en unødvendig sed fra lxqt-panel.

    • [renodr] - Deaktiver CLASSPATH når du bygger OpenJDK.

  • 20. november 2024

    • [zeckma] - Oppdater til node.js-20.18.1. Fikser #20674.

    • [rahul] - Oppdater til gtk4-4.16.6. Fikser #20678.

    • [rahul] - Oppdater til qemu-9.1.2. Fikser #20673.

    • [rahul] - Oppdater til Vulkan-Headers og Vulkan-Loader 1.3.301. Fikser #20576.

    • [renodr] - Fjern x11perf fra Xorg applikasjonene. Fikser #20649.

    • [zeckma] - Oppdater til libinput-1.27.0 (Xorg inndata driver). Fikser #20670.

    • [zeckma] - Oppdater til thunderbird-128.4.4esr. Fikser #20669.

  • 18. november 2024

    • [bdubbs] - Oppdater til mupdf-1.24.11. Fikser #20668.

    • [bdubbs] - Oppdater til libreoffice-24.8.3.2. Fikser #20663.

    • [zeckma] - Oppdater til libXt-1.3.1 (Xorg bibliotek). Fikser #20667.

  • 16. november 2024

    • [bdubbs] - Oppdater til fltk-1.3.10. Fikser #20666.

    • [bdubbs] - Oppdater til postgresql-17.1 (Sikkerhetsoppdatering). Fikser #20661.

  • 15. november 2024

    • [bdubbs] - Oppdater til vim-9.1.0866. Synkroniser med LFS.

    • [bdubbs] - Oppdater til libnvme-1.11.1. Fikser #20665.

    • [bdubbs] - Oppdater til libcap-2.72. Fikser #20647.

  • 14. november 2024

    • [bdubbs] - Oppdater til xprop-1.2.8 (Xorg app). Fikser #20660.

    • [bdubbs] - Oppdater til util-macros-1.20.2. Fikser #20659.

    • [bdubbs] - Oppdater til sphinx_rtd_theme-3.0.2 (Python modul). Fikser #20658.

  • 13. november 2024

    • [zeckma] - Dokumenter nouveau GSP fastvarekjerne alternativ.

    • [zeckma] - Oppdater til mesa-24.2.7. Fikser #20657.

    • [zeckma] - Oppdater til thunderbird-128.4.3esr (Sikkerhetsoppdatering). Fikser #20656.

    • [bdubbs] - Oppdater til sudo-1.9.16p1. Fikser #20652.

    • [bdubbs] - Oppdater til fetchmail-6.5.1. Fikser #20654.

  • 12. november 2024

    • [zeckma] - Oppdater til npth-1.8. Fikser #20653.

    • [zeckma] - Oppdater til libxml2-2.13.5. Fikser #20651.

    • [zeckma] - Oppdater til alsa-lib og alsa-utils 1.2.13. Fikser #20650.

    • [thomas] - Oppdater til libgpg-error-1.51. Fikser #20648.

  • 10. november 2024

    • [bdubbs] - Oppdater til wget-1.25.0 (Sikkerhetsoppdatering). Fikser #20646.

    • [renodr] - Oppdater til cmake-3.31.0. Fikser #20639.

    • [bdubbs] - Fiks dovecot-2.3.21.1 til å bygge med icu-76.1 eller nyere.

    • [bdubbs] - Oppdater til xtrans-1.5.2 (Xorg bibliotek). Fikser #20645.

    • [bdubbs] - Oppdater til c-ares-1.34.3. Fikser #20644.

    • [bdubbs] - Oppdater til packaging-24.2 (Python modul). Fikser #20643.

    • [bdubbs] - Oppdater til Net-DNS-1.48 (Perl modul). Fikser #20642.

    • [bdubbs] - Oppdater til ibus-1.5.31. Fikser #20641.

    • [bdubbs] - Oppdater til iptables-1.8.11. Fikser #20640.

  • 9. november 2024

    • [bdubbs] - Oppdater til lxqt-2.1.0. Fikser #20622.

  • 8. november 2024

    • [bdubbs] - Oppdater til plasma-6.2.3. For lxqt, inkludert kwayland, libkscreen, og layer-shell-qt. Fikser #20351.

    • [bdubbs] - Oppdater til kde-gear-24.08.3 Inkludert falkon og kate. Fikser #20362.

    • [bdubbs] - Oppdater til kf6-6.8.0. Inkluderer extra-cmake-modules, kconfig, kidletime, kwindowsystem, solid, og breeze-icons. Fikser #20367.

    • [renodr] - Oppdater til xrandr-1.5.3 (Xorg Applikasjon). Fikser #20638.

    • [renodr] - Oppdater til libblockdev-3.2.1. Fikser #20637.

    • [renodr] - Oppdater til intel-gmmlib-22.5.3. Fikser #20573.

    • [renodr] - Oppdater til intel-media-driver-24.3.4. Fikser #20573.

  • 7. november 2024

    • [renodr] - Oppdater til Thunderbird-128.4.2esr. Fikser #20629.

    • [renodr] - Oppdater til gnutls-3.8.8. Fikser #20627.

    • [renodr] - Oppdater til curl-8.11.0 (Sikkerhetsoppdatering). Fikser #20628.

    • [renodr] - Oppdater til unrar-7.1.1. Fikser #20631.

    • [renodr] - Oppdater til libXcursor-1.2.3 (Xorg Biblioteker). Fikser #20624.

    • [renodr] - Oppdater til harfbuzz-10.1.0. Fikser #20625.

    • [renodr] - Oppdater til pixman-0.44.0. Fikser #20626.

    • [bdubbs] - Oppdater til gpgme-1.24.0. Fikser #20630.

    • [bdubbs] - Oppdater til dtc-1.7.2. Fikser #20633.

    • [bdubbs] - Oppdater til URI-5.31 (Perl Modul). Fikser #20632.

  • 6. november 2024

    • [bdubbs] - Oppdater til ruby-3.3.6. Fikser #20623.

  • 5. november 2024

    • [renodr] - Oppdater til fop-2.10 (Sikkerhetsoppdatering). Fikser #20501.

    • [renodr] - Oppdater til OpenJDK-23.0.1 (Sikkerhetsoppdatering). Fikser #20540.

    • [renodr] - Fiks å bygge Libreoffice med ICU-76.

    • [renodr] - Fiks å bygge Node.js med ICU-76.

    • [renodr] - Oppdater til icu-76.1. Fikser #20568.

    • [renodr] - Fiks å bygge Texlive fra kilden på i686.

    • [bdubbs] - Oppdater til mariadb-11.4.4. Fikser #20620.

    • [bdubbs] - Oppdater til cachecontrol-0.14.1 (Python modul). Fikser #20621.

    • [bdubbs] - Oppdater til sentry_sdk-2.18.0 (Python modul). Fikser #20619.

    • [bdubbs] - Oppdater til hwdata-0.389. Fikser #20618.

    • [bdubbs] - Oppdater til LVM2.2.03.28. Fikser #20617.

  • 4. november 2024

    • [bdubbs] - Oppdater til SDL2-2.30.9. Fikser #20615.

    • [bdubbs] - Oppdater til audacious og audacious-plugins-4.4.2. Fikser #20614.

    • [bdubbs] - Oppdater til graphviz-12.2.0. Fikser #20613.

    • [bdubbs] - Oppdater til gegl-0.4.50. Fikser #20612.

    • [bdubbs] - Oppdater til utfcpp-4.0.6. Fikser #20611.

    • [bdubbs] - Oppdater til poppler-24.11.0. Fikser #20521.

  • 3. november 2024

    • [renodr] - Fiks bygging av xfsprogs med ICU-76.

  • 2. november 2024

    • [bdubbs] - Oppdater til numpy-2.1.3 (Python modul). Fikser #20609.

    • [bdubbs] - Oppdater til mpg123-1.32.9. Fikser #20610.

    • [renodr] - Fiks bygging av evolution-data-server med ICU-76.

    • [bdubbs] - Oppdater til libvpx-1.15.0. Fikser #20608.

    • [bdubbs] - Oppdater til gtk4-4.16.5. Fikser #20606.

    • [bdubbs] - Oppdater til valgrind-3.24.0. Fikser #20605.

    • [bdubbs] - Oppdater til bluez-5.79. Fikser #20604.

    • [renodr] - Oppdater til WebKitGTK-2.46.3 (Sikkerhetsoppdatering). Fikser #20597.

  • 1. november 2024

    • [bdubbs] - Oppdater til gstreamer stack to 1.24.9. Fikser #20601.

    • [bdubbs] - Oppdater til libcap-2.71. Fikser #20578.

    • [bdubbs] - Oppdater til libnvme-1.11. Fikser #20603.

    • [bdubbs] - Oppdater til SPIRV-LLVM-Translator-19.1.1. Fikser #20602.

  • 31. oktober 2024

    • [bdubbs] - Oppdater til mesa-24.2.6. Fikser #20600.

    • [bdubbs] - Oppdater til libnl-3.11.0. Fikser #20599.

    • [bdubbs] - Oppdater til bubblewrap-0.11.0. Fikser #20598.

    • [bdubbs] - Oppdater til fetchmail-6.5.0 (Sikkerhetsoppdatering). Fikser #20594.

    • [bdubbs] - Oppdater til librsvg-2.59.2. Fikser #20590.

    • [bdubbs] - Oppdater til gnupg-2.4.6. Fikser #20588.

  • 30. oktober 2024

    • [renodr] - Oppdater til thunderbird-128.4.0esr (Sikkerhetsoppdatering). Fikser #20587.

    • [renodr] - Oppdater til firefox-128.4.0esr (Sikkerhetsoppdatering). Fikser #20586.

    • [renodr] - Oppdater til spidermonkey-128.4.0. Fikser #20584.

    • [renodr] - Oppdater til xwayland-24.1.4 (Sikkerhetsoppdatering). Fikser #20593.

    • [renodr] - Oppdater til xorg-server-21.1.14 (Sikkerhetsoppdatering). Fikser #20592.

    • [renodr] - Oppdater til xf86-input-wacom-1.2.3 (Xorg Driver). Fikser #20591.

    • [renodr] - Oppdater til pipewire-1.2.6. Fikser #20563.

  • 29. oktober 2024

    • [bdubbs] - Oppdater til libunwind-1.8.1. Fikser #20582.

    • [bdubbs] - Oppdater til mercurial-6.8.2. Fikser #20585.

  • 28. oktober 2024

    • [bdubbs] - Oppdater til Python-3.13.0. Fikser #20491.

    • [bdubbs] - Oppdater til babl-0.1.110. Fikser #20581.

  • 27. oktober 2024

    • [xry111] - Legg til docbook-xsl-ns-1.79.2. Fikser #20580.

    • [bdubbs] - Oppdater til mpg123-1.32.8. (Sikkerhetsoppdatering) Fikser #20579.

    • [bdubbs] - Oppdater til sphinxcontrib_htmlhelp-2.1.0 (Python modul). Fikser #20577.

    • [bdubbs] - Oppdater til desktop-file-utils-0.28. Fikser #20575.

    • [bdubbs] - Oppdater til tigervnc-1.14.1. Fikser #20572.

    • [bdubbs] - Oppdater til php-8.3.13. Fikser #20570.

    • [bdubbs] - Oppdater til nss-3.106. Fikser #20566.

  • 26. oktober 2024

    • [bdubbs] - Oppdater til Linux-PAM-1.7.0. Fikser #20565.

  • 25. oktober 2024

    • [thomas] - Oppdater til xterm-395. Fikser #20571.

    • [thomas] - Oppdater til log4cplus-2.1.2. Fikser #20569.

  • 24. oktober 2024

    • [bdubbs] - Gå tilbake til URI-6.29 (Perl Modul). Fikser #20521.

  • 23. oktober 2024

    • [renodr] - Oppdater til thunderbird-128.3.3esr. Fikser #20560.

    • [renodr] - Oppdater til gnome-weather-47.0. Fikser #20406.

    • [renodr] - Oppdater til baobab-47.0. Fikser #20405.

    • [renodr] - Oppdater til gnome-terminal-3.54.1. Fikser #20388.

    • [renodr] - Oppdater til gnome-system-monitor-47.0. Fikser #20387.

    • [renodr] - Oppdater til gnome-calculator-47.0. Fikser #20386.

    • [renodr] - Oppdater til gnome-maps-47.1. Fikser #20370.

    • [renodr] - Oppdater til gucharmap-16.0.2. Fikser #20352.

    • [renodr] - Oppdater til eog-47.0. Fikser #20337.

    • [renodr] - Oppdater til gedit-48.0. Inkluderer oppdateringer til libgedit-gfls-0.2.0 og libgedit-tepl-6.11.0. Fikser #20378.

    • [renodr] - Oppdater til libgedit-gtksourceview-299.3.0. Fikser #20561.

    • [renodr] - Oppdater til epiphany-47.2. Fikser 20559.

    • [renodr] - Oppdater til NetworkManager-1.50.0. Fikser #20473.

    • [renodr] - Oppdater til dhcpcd-10.1.0. Fikser #20482.

    • [renodr] - Oppdater til gnome-user-docs-47.0. Fikser #20384.

    • [renodr] - Oppdater til gnome-session-47.0.1. Fikser #20414.

    • [renodr] - Oppdater til gnome-shell-extensions-47.1. Fikser #20383.

    • [renodr] - Oppdater til gdm-47.0. Fikser #20415.

    • [renodr] - Oppdater til gnome-shell-47.1. Fikser #20383.

    • [renodr] - Oppdater til mutter-47.1. Fikser #20385.

    • [renodr] - Oppdater til gnome-control-center-47.1.1. Fikser #20396.

    • [renodr] - Oppdater til tecla-47.0. Fikser #20403.

    • [renodr] - Oppdater til gnome-settings-daemon-47.1. Fikser #20391.

    • [renodr] - Oppdater til gvfs-1.56.1. Fikser #20019.

    • [bdubbs] - Oppdater til usbutils-018. Fikser #20558.

    • [bdubbs] - Oppdater til protobuf-28.3. Fikser #20557.

    • [bdubbs] - Oppdater til FreeRDP-3.9.0. Fikser #20556.

    • [bdubbs] - Oppdater til sqlite-autoconf-3470000 (3.47.0). Fikser #20553.

    • [renodr] - Oppdater til gnome-bluetooth-47.1. Fikser #20397.

    • [bdubbs] - Oppdater til nghttp2-1.64.0. Fikser #20552.

    • [bdubbs] - Oppdater til mako-1.3.6 (merk endring fra Mako). Fikser #20551.

    • [bdubbs] - Oppdater til nspr-4.36. Fikser #20550.

    • [renodr] - Oppdater til nautilus-47.0. Fikser #20393.

    • [bdubbs] - Oppdater til mousepad-0.6.3. Fikser #20549.

    • [renodr] - Oppdater til snapshot-47.1. Fikser #20394.

    • [renodr] - Legg til libgstgtk4 i boken til støtte for Snapshot. En del av #20394.

  • 22. oktober 2024

    • [renodr] - Erstatt tracker-miners3 med localsearch og oppdater til localsearch-3.8.0. Fikser #20413.

    • [renodr] - Erstatt tracker3 med tinysparql og oppdater til tinysparql-3.8.0. Fikser #20412.

    • [renodr] - Oppdater til evolution-3.54.1. Fikser #20016.

    • [renodr] - Oppdater til evolution-data-server-3.54.1. Fikser #20016.

    • [renodr] - Arkiver Grilo da den ikke lenger brukes av noe i boken.

    • [renodr] - Oppdater til gnome-online-accounts-3.52.1. Fikser #20018.

    • [renodr] - Oppdater til gjs-1.82.1. Fikser #20555.

    • [renodr] - Oppdater til vte-0.78.1. Fikser #20389.

    • [renodr] - Oppdater til WebKitGTK-2.46.2. Fikser #20554.

  • 21. oktober 2024

    • [renodr] - Oppdater til libppd-2.1.0. Fikser #20539.

    • [renodr] - Oppdater til libcupsfilters-2.1.0. Fikser #20538.

    • [renodr] - Oppdater til cups-browsed-2.1.0. Fikser #20537.

    • [renodr] - Oppdater til epiphany-47.1. Fikser #20523.

    • [renodr] - Oppdater til samba-4.21.1. Fikser #20522.

    • [renodr] - Oppdater til cups-2.4.11. Fikser #20505.

    • [renodr] - Oppdater til wireshark-4.4.1 (Sikkerhetsoppdatering). Fikser #20503.

    • [bdubbs] - Oppdater til subversion-1.14.4. Fikser #20500.

    • [bdubbs] - Oppdater til swig-4.3.0. Fikser #20548.

    • [bdubbs] - Oppdater til SDL2-2.30.8. Fikser #20508.

    • [bdubbs] - Oppdater til qemu-9.1.1. Fikser #20542.

    • [renodr] - Oppdater til libreoffice-24.8.2.1. Fikser #20365.

  • 20. oktober 2024

    • [bdubbs] - Oppdater til libwnck-43.1. Fikser #20486.

    • [bdubbs] - Oppdater til gtk4-4.16.3. Fikser #20484.

    • [bdubbs] - Oppdater til qcoro-0.11.0. Fikser #20481.

    • [bdubbs] - Oppdater til mesa-24.2.5. Fikser #20480.

    • [bdubbs] - Oppdater til nfs-utils-2.8.1. Fikser #20547.

    • [bdubbs] - Oppdater til libuv-v1.49.2. Fikser #20543.

    • [bdubbs] - Oppdater til Vulkan-Headers og Vulkan-Loader 1.3.299. Fikser #20541.

    • [thomas] - Oppdater til xfsprogs-6.11.0. Fikser #20546.

  • 18. oktober 2024

    • [xry111] - Oppdater til gjs-1.82.0. Fikser #20035.

    • [xry111] - Oppdater til spidermonkey-128.3.1 (Sikkerhetsoppdatering). Fikser #20077.

    • [xry111] - Oppdater til cargo-c-0.10.5. Fikser #20545.

    • [xry111] - Oppdater til rustc-1.82.0. Fikser #20533.

  • 17. oktober 2024

    • [bdubbs] - Gå midlertidig tilbake til poppler-24.09.0 til andre pakker er oppdatert for å bruke den (f.eks. inkscape, libreoffice)

    • [renodr] - Oppdater til thunderbird-128.3.2esr. Fikser #20509.

    • [bdubbs] - Oppdater til unbound-1.22.0. Fikser #20536.

    • [bdubbs] - Oppdater til sentry_sdk-2.17.0 (Python modul). Fikser #20534.

    • [bdubbs] - Oppdater til psutil-6.1.0 (Python modul). Fikser #20532.

    • [bdubbs] - Oppdater til glib-2.82.2. Fikser #20531.

    • [renodr] - Oppdater til asymptote-2.92. Fikser #20495.

    • [thomas] - Oppdater til libtirpc-1.3.6. Fikser #20535.

    • [thomas] - Oppdater til bind 9.20.3, bind-utils-9.20.3. Fikser #20527.

  • 17. oktober 2024

    • [bdubbs] - Oppdater til libgedit-amtk-5.9.0. Fikser #20530.

    • [bdubbs] - Oppdater til libunistring-1.3. Fikser #20529.

    • [bdubbs] - Oppdater til libssh2-1.11.1. Fikser #20528.

    • [bdubbs] - Oppdater til xf86-input-evdev-2.11.0 (Xorg Driver). Fikser #20525.

    • [bdubbs] - Oppdater til c-ares-1.34.2. Fikser #20524.

    • [bdubbs] - Oppdater til poppler-24.10.0. Fikser #20521.

    • [bdubbs] - Oppdater til libxmlb-0.3.21. Fikser #20520.

  • 14. oktober 2024

    • [bdubbs] - Oppdater til libarchive-3.7.7 (Sikkerhetsoppdatering). Fikser #20519.

    • [bdubbs] - Oppdater til pyparsing-3.2.0 (Python modul). Fikser #20518.

    • [bdubbs] - Oppdater til libadwaita-1.6.1. Fikser #20517.

    • [bdubbs] - Oppdater til inkscape-1.4. Fikser #20516.

    • [bdubbs] - Oppdater til wayland-protocols-1.38. Fikser #20515.

    • [bdubbs] - Oppdater til xwud-1.0.7 (Xorg app). Fikser #20514.

    • [bdubbs] - Oppdater til xtrans-1.5.1 (Xorg bibliotek). Fikser #20513.

    • [bdubbs] - Oppdater til xcmsdb-1.0.7 (Xorg app). Fikser #20512.

    • [bdubbs] - Oppdater til libqtxdg-4.0.1. Fikser #20511.

    • [bdubbs] - Oppdater til libuv-v1.49.1. Fikser #20510.

  • 13. oktober 2024

    • [bdubbs] - Oppdater til sphinx_rtd_theme-3.0.1 (Python Modul). Fikser #20494.

    • [bdubbs] - Oppdater til sphinx-8.1.3 (Python Modul). Fikser #20506.

    • [bdubbs] - Oppdater til sentry_sdk-2.16.0 (Python Modul). Fikser #20499.

    • [bdubbs] - Oppdater til SPIRV-Headers og SPIRV-Tools-1.3.296.0. Fikser #20496.

    • [bdubbs] - Oppdater til URI-5.30 (Perl Modul). Fikser #20497.

    • [bdubbs] - Oppdater til git-2.47.0. Fikser #20490.

    • [bdubbs] - Oppdater til gtksourceview-5.14.1. Fikser #20485.

    • [bdubbs] - Oppdater til qtwebengine-6.8.0 (Sikkerhetsoppdatering). Fikser #20493.

    • [bdubbs] - Oppdater til qt-everywhere-src-6.8.0 (Sikkerhetsoppdatering). Fikser #20492.

    • [bdubbs] - Oppdater til libqalculate-5.3.0. Fikser #20489.

    • [bdubbs] - Oppdater til Vulkan-Headers og Vulkan-Loader 1.3.298 Fikser #20483.

    • [bdubbs] - Oppdater til node-20.18.0. Fikser #20477.

  • 10. oktober 2024

    • [thomas] - Oppdater til cmake-3.30.5. Fikser #20502.

    • [thomas] - Oppdater til c-ares-1.34.1. Fikser #20504.

  • 9. oktober 2024

    • [renodr] - Oppdater til thunderbird-128.3.0esr (Sikkerhetsoppdatering). Fikser #20469.

    • [renodr] - Oppdater til firefox-128.3.1esr (Sikkerhetsoppdatering). Fikser #20460.

    • [renodr] - Fiks en kjede av sårbarheter i CUPS som er kjent for å tillate uautentisert ekstern kjøring av kode uten bruker inndata. Fikser #20456.

    • [renodr] - Rett opp en feil i Kairo som forårsaker problemer med utskrift av PDF filer. Fikser #20443.

    • [renodr] - Oppdater til epiphany-47.0. Fikser #20364.

    • [renodr] - Oppdater til seahorse-47.0.1. Fikser #20423.

    • [renodr] - Oppdater til WebKitGTK-2.46.1 (Sikkerhetsoppdatering). Fikser #20409.

    • [xry111] - Oppdater til pyproject-metadata-0.8.1 (Python avhengighet). Adresserer #18562.

    • [xry111] - Oppdater til Markdown-3.7 (Python avhengighet). Adresserer #18562.

    • [xry111] - Oppdater til trove-classifiers-2024.9.12 (Python avhengighet). Adresserer #18562.

  • 8. oktober 2024

    • [thomas] - Oppdater til cifs-utils-7.1. Fikser #20488.

  • 7. oktober 2024

    • [renodr] - Oppdater til xdg-dbus-proxy-0.1.6. Fikser #20428.

    • [renodr] - Oppdater til xdg-desktop-portal-gnome-47.1. Fikser #20404.

    • [renodr] - Oppdater til adwaita-icon-theme-47.0. Fikser #20401.

    • [renodr] - Oppdater til gnome-backgrounds-47.0. Fikser #20402.

    • [renodr] - Oppdater til xdg-desktop-portal-0.18.4 (Sikkerhetsoppdatering). Fikser #20430.

    • [renodr] - Oppdater til pipewire-1.2.5. Fikser #20429.

    • [renodr] - Oppdater til upower-1.90.6. Fikser #20421.

    • [renodr] - Fiks å kjøre XML-LibXML testpakken med libxml2-2.13. Fikser #20457.

    • [renodr] - Oppdater til unbound-1.21.1 (Sikkerhetsoppdatering). Fikser #20479.

    • [bdubbs] - Oppdater til numpy-2.1.2 (Python modul). Fikser #20487.

    • [bdubbs] - Oppdater til python-dbusmock-0.32.2 (Python modul). Fikser #20478.

  • 3. oktober 2024

    • [bdubbs] - Oppdater til mupdf-1.24.10. Fikser #20475.

    • [bdubbs] - Oppdater til xwayland-24.1.3. Fikser #20474.

    • [bdubbs] - Oppdater til LVM2.2.03.27. Fikser #20471.

    • [bdubbs] - Oppdater til hwdata-0.388. Fikser #20472.

    • [bdubbs] - Oppdater til xkeyboard-config-2.43. Fikser #20468.

    • [bdubbs] - Oppdater til sentry_sdk-2.15.0. Fikser #20467.

    • [bdubbs] - Oppdater til Python3-3.12.7. Fikser #20466.

    • [bdubbs] - Oppdater til libgsf-1.14.53 (Sikkerhetsoppdatering). Fixes #20463.

    • [bdubbs] - Oppdater til btrfs-progs-v6.11. Fikser #20411.

    • [bdubbs] - Oppdater til ffmpeg-7.1. Fikser #20461.

    • [bdubbs] - Oppdater til gdb-15.2. Fikser #20459.

    • [bdubbs] - Oppdater til glad-2.0.8. Fikser #20458.

    • [bdubbs] - Oppdater til postgresql-17.0. Fikser #20450.

    • [bdubbs] - Oppdater til shaderc-2024.3 (glslc). Fikser #20438.

    • [renodr] - Oppdater til gstreamer stakken til 1.24.8. Fikser #20427.

  • 2. oktober 2024

    • [renodr] - Fiks bygge libplacebo med glslang-15.0.0. Fikser #20470.

  • 30. september 2024

    • [bdubbs] - Oppdater til graphviz-12.1.2. Fikser #20455.

    • [bdubbs] - Oppdater til nss-3.105. Fikser #20452.

    • [bdubbs] - Oppdater til audacious og audacious-plugins-4.4.1. Fikser #20448.

    • [bdubbs] - Oppdater til mpv-0.39.0. Fikser #20442.

    • [bdubbs] - Oppdater til harfbuzz-10.0.1. Fikser #20437.

    • [xry111] - Oppdater til unifont-16.0.01 (GRUB font data for UEFI). Fikser #20395.

  • 28. september 2024

    • [bdubbs] - Oppdater til cmake-3.30.4. Fikser #20453.

    • [bdubbs] - Oppdater til Vulkan-Headers og Vulkan-Loader-1.3.296. Fikser #20451.

    • [bdubbs] - Oppdater til libuv-v1.49.0. Fikser #20444.

    • [bdubbs] - Oppdater til gtk-4.16.2. Fikser #20441.

    • [bdubbs] - Oppdater til glib-2.82.1. Fikser #20434.

    • [bdubbs] - Oppdater til librsvg-2.59.1. Fikser #20359.

    • [bdubbs] - Legg til cargo-c-0.10.4 nødvendig for librsvg-2.59.1.

  • 28. september 2024

    • [bdubbs] - Oppdater til QtWebEngine-6.7.3. Fikser #20454.

    • [bdubbs] - Oppdater til qt-6.7.3 (Sikkerhetsoppdatering). Fikser #20454.

    • [bdubbs] - Oppdater til php-8.3.12 (Sikkerhetsoppdatering). Fikser #20449.

    • [bdubbs] - Oppdater til glslang-15.0.0. Fikser #20446.

    • [bdubbs] - Oppdater til fribidi-1.0.16. Fikser #20445.

    • [bdubbs] - Oppdater til git-2.46.2. Fikser #20439.

    • [bdubbs] - Oppdater til bluefish-2.2.16. Fikser #20436.

    • [bdubbs] - Oppdater til LibRaw-0.21.3. Fikser #20419.

  • 27. september 2024

    • [thomas] - Oppdater til libarchive-3.7.6. Fikser #20440.

    • [thomas] - Oppdater til openssh-9.9p1. Fikser #20432.

    • [thomas] - Oppdater til libxml2-2.13.4. Fikser #20418.

    • [rahul] - Oppdater til protobuf-28.2. Fikser #20354.

    • [rahul] - Oppdater til libpng-1.6.44. Fikser #20358.

    • [rahul] - Oppdater til bluez-5.78. Fikser #20341.

    • [rahul] - Oppdater til curl-8.10.1 (Sikkerhetsoppdatering). Fikser #20355.

    • [rahul] - Oppdater til qemu-9.1.0. Fikser #20161.

    • [rahul] - Oppdater til power-profiles-daemon-0.23. Fikser #20342.

  • 26. september 2024

    • [renodr] - Oppdater til ghostscript-10.04.0 (Sikkerhetsoppdatering). Fikser #20424.

    • [renodr] - Oppdater til thunderbird-128.2.3esr. Fikser #20408.

    • [renodr] - Oppdater til seamonkey-2.53.19 (Sikkerhetsoppdatering). Fikser #20111.

  • 22. september 2024

    • [bdubbs] - Oppdater til Net-DNS-1.47 (Perl modul). Fikser #20422.

    • [bdubbs] - Oppdater til tk8.6.15. Fikser #20400.

    • [bdubbs] - Oppdater til highlight-4.14. Fikser #20398.

    • [bdubbs] - Oppdater til pulseaudio-qt-1.6.0. Fikser #20398.

    • [thomas] - Oppdater til bind-9.20.2, bind-utils-9.20.2. Fikser #20260.

  • 20. september 2024

    • [xry111] - Oppdater til libclc-19.1.0. Fikser #19985.

    • [xry111] - Oppdater til SPIRV-LLVM-Translator-19.1.0. Fikser #20417.

    • [xry111] - Oppdater til LLVM-19.1.0. Fikser #19968.

    • [renodr] - Oppdater til bubblewrap-0.10.0 (del av en sikkerhetsoppdatering). Fikser #20431.

    • [renodr] - Oppdater til tiff-4.7.0 (Sikkerhetsoppdatering). Fikser #20420.

  • 19. september 2024

    • [renodr] - Oppdater til mesa-24.2.3. Fikser #20416.

  • 18. september 2024

    • [renodr] - Oppdater til gsettings-desktop-schemas-47.1. Fikser #20390.

  • 17. september 2024

    • [renodr] - Arkiver Lua 5.2.

    • [renodr] - Legg til LuaJIT i boken for å erstatte Lua 5.2. Fikser #20312.

  • 16. september 2024

    • [renodr] - Oppdater til dvisvgm-3.4.1. Fikser #20407.

    • [renodr] - Oppdater til json-c-0.18. Fikser #20392.

    • [renodr] - Oppdater til gspell-1.14.0. Fikser #20372.

    • [renodr] - Oppdater til libshumate-1.3.0. Fikser #20369.

    • [renodr] - Tilpass systemenhetene til endringene i MariaDB. Det nye versjonsnummeret er 20240916.

  • 15. september 2024

    • [bdubbs] - Oppdater til gtksourceview-5.14.0. Fikser #20382.

    • [bdubbs] - Oppdater til at-spi2-core-2.54.0. Fikser #20381.

    • [bdubbs] - Oppdater til git-2.46.1. Fikser #20380.

    • [bdubbs] - Oppdater til iso-codes-4.17.0. Fikser #20379.

  • 14. september 2024

    • [bdubbs] - Oppdater til libadwaita-1.6.0. Fikser #20377.

    • [bdubbs] - Oppdater til traceroute-2.1.6. Fikser #20375.

    • [bdubbs] - Oppdater til libjxl-0.11.0. Fikser #20374.

    • [bdubbs] - Oppdater til libarchive-3.7.5 (Sikkerhetsoppdatering). Fikser #20373.

    • [bdubbs] - Oppdater til mlt-7.28.0. Fikser #20366.

    • [bdubbs] - Oppdater til plasma-wayland-protocols-1.14.0. Fikser #20361.

    • [bdubbs] - Oppdater til pygobject3-3.50.0 (Python modul). Fikser #20360.

    • [bdubbs] - Oppdater til xcb-util-cursor-0.1.5. Fikser #20356.

    • [bdubbs] - Oppdater til gtkmm-4.16.0. Fikser #20350.

    • [bdubbs] - Oppdater til luit-20240910. Fikser #20349.

    • [bdubbs] - Oppdater til gtk-4.16.1. Fikser #20376.

    • [xry111] - Oppdater til gobject-introspection-1.82.0 (glib ytterligere nedlastning). Fikser #20371.

  • 13. september 2024

    • [bdubbs] - Oppdater til libblockdev-3.2.0. Fikser #20345.

    • [bdubbs] - Oppdater til graphviz-12.1.1. Fikser #20346.

    • [bdubbs] - Oppdater til pytest-8.3.3 (Python modul). Fikser #20348.

    • [bdubbs] - Oppdater til mariadb-11.4.3. Fikser #20344.

    • [bdubbs] - Oppdater til sentry_sdk-2.14.0 (Python modul). Fikser #20343.

    • [bdubbs] - Oppdater til stunnel-5.73. Fikser #20340.

  • 12. september 2024

    • [bdubbs] - Oppdater til gtk4-4.16.0. Fikser #20336.

    • [bdubbs] - Legg til glslc fra shaderc-2024.2 påkrevd for gtk4-4.16.0.

  • 9. september 2024

    • [renodr] - Oppdater til WebKitGTK-2.44.4. Fikser #20339.

    • [bdubbs] - Oppdater til gc-8.2.8. Fikser #20338.

    • [renodr] - Oppdater til systemd-256.5. Fikser #20300.

    • [bdubbs] - Oppdater til python3-3.12.6 (Sikkerhetsoppdatering). Fikser #20335.

  • 7. september 2024

    • [xry111] - Oppdater til rustc-1.81.0. Fikser #20332.

  • 6. september 2024

    • [renodr] - Oppdater til wireplumber-0.5.6. Fikser #20334.

    • [renodr] - Oppdater til mesa-24.2.2. Fikser #20333.

    • [renodr] - Oppdater til gnome-disk-utility-46.1. Fikser #20311.

    • [renodr] - Oppdater til libwacom-2.13.0. Fikser #20307.

    • [renodr] - Oppdater til libportal-0.8.1. Fikser #20306.

    • [renodr] - Oppdater til libgweather-4.4.4. Fikser #20304.

    • [renodr] - Oppdater til gnome-autoar-0.4.5. Fikser #20295.

    • [renodr] - Oppdater til Vulkan-Headers og Vulkan-Loader 1.3.295. Fikser #20293.

    • [bdubbs] - Oppdater til URI-5.29 (Perl Modul). Fikser #20331.

    • [bdubbs] - Oppdater til cairo-1.18.2. Fikser #20303.

    • [bdubbs] - Oppdater til SPIRV-LLVM-Translator-18.1.4. Fikser #20299.

    • [bdubbs] - Oppdater til apache-ant-1.10.15. Fikser #20287.

    • [bdubbs] - Oppdater til screen-5.0.0. Fikser #20284.

    • [renodr] - Oppdater til ruby-3.3.5 (Sikkerhetsoppdatering). Fikser #20317.

    • [renodr] - Gjenopprett -DGIT_ARCHETYPE=1 til byggeinstruksjonene for x265 slik at den ikke krever git for pkg-config filen eller det delte biblioteket.

    • [bdubbs] - Oppdater til glad-2.0.7. Fikser #20328.

    • [bdubbs] - Oppdater til glibmm-2.82.0. Fikser #20327.

    • [bdubbs] - Oppdater til nano-8.2. Fikser #20326.

    • [renodr] - Oppdater til thunderbird-128.2.0esr (Sikkerhetsoppdatering). Fikser #20320.

    • [renodr] - Oppdater til firefox-128.2.0esr (Sikkerhetsoppdatering). Fikser #20305.

  • 5. september 2024

    • [bdubbs] - Oppdater til SDL2-2.30.7. Fikser #20323.

    • [bdubbs] - Oppdater til libXi-1.8.2 (Xorg bibliotek). Fikser #20322.

    • [bdubbs] - Oppdater til umockdev-0.18.4. Fikser #20321.

    • [bdubbs] - Oppdater til libevdev-1.13.3 (Xorg driver). Fikser #20319.

    • [bdubbs] - Oppdater til geoclue-2.7.2. Fikser #20318.

    • [bdubbs] - Oppdater til cryptsetup-2.7.5. Fikser #20313.

    • [bdubbs] - Oppdater til numpy-2.1.1 (Python modul). Fikser #20316.

    • [bdubbs] - Oppdater til scons-4.8.1. Fikser #20315.

    • [bdubbs] - Oppdater til hwdata-0.387. Fikser #20330.

  • 4. september 2024

    • [rahul] - Oppdater til nss-3.104. Fikser #20290.

    • [rahul] - Oppdater til cmake-3.30.3. Fikser #20288.

    • [rahul] - Oppdater til samba-4.21.0. Fikser #20309.

    • [rahul] - Oppdater til FreeRDP-3.8.0. Fikser #20296.

    • [rahul] - Oppdater til wayland-protocols-1.37. Fikser #20298.

    • [rahul] - Oppdater til json-glib-1.10.0. Fikser #20291.

    • [rahul] - Oppdater til sudo-1.9.16. Fikser #20301.

    • [rahul] - Oppdater til NetworkManager-1.48.10. Fikser #20276.

    • [rahul] - Oppdater til power-profiles-daemon-0.22. Fikser #20308.

    • [rahul] - Oppdater til xterm-394. Fikser #20310.

    • [rahul] - Oppdater til dhcpcd-10.0.10. Fikser #20262.

    • [bdubbs] - Oppdater til poppler-24.09.0. Fikser #20302.

    • [bdubbs] - Oppdater til php-8.3.11. Fikser #20289.

    • [bdubbs] - Oppdater til userspace-rcu-0.14.1 (liburcu). Fikser #20283.

    • [bdubbs] - Oppdater til nghttp2-1.63.0. Fikser #20282.

    • [bdubbs] - Oppdater til protobuf-28.0. Fikser #20281.

    • [bdubbs] - Oppdater til upower-v1.90.5. Fikser #20275.

  • 3. september 2024

    • [bdubbs] - Oppdater til glibmm-2.80.1. Fikser #20280.

    • [bdubbs] - Oppdater til glib-2.82.0. Fikser #20279.

    • [bdubbs] - Oppdater til libdrm-2.4.123. Fikser #20277.

    • [bdubbs] - Oppdater til apr-1.7.5 (Sikkerhetsfiks). Fikser #20273.

    • [bdubbs] - Oppdater til node-20.17.0. Fikser #20259.

    • [bdubbs] - Oppdater til rust-bindgen-0.70.1. Fikser #20254.

    • [bdubbs] - Oppdater til mesa-24.2.1. Fikser #20232.

    • [bdubbs] - Oppdater til mupdf-1.24.9. Fikser #20297.

    • [bdubbs] - Oppdater til libpcap-1.10.5 (Sikkerhetsfiks). Fikser #20292.

    • [bdubbs] - Oppdater til wireshark-4.4.0. Fikser #20285.

    • [bdubbs] - Oppdater til xfsprogs-6.10.1. Fikser #20274.

    • [bdubbs] - Oppdater til pyparsing-3.1.4 (Python modul). Fikser #20271.

    • [bdubbs] - Oppdater til taglib-2.0.2. Fikser #20270.

    • [bdubbs] - Oppdater til c-ares-1.33.1. Fikser #20268.

    • [bdubbs] - Oppdater til nfs-utils-2.7.1. Fikser #20261.

    • [bdubbs] - Oppdater til libinput-1.26.2 (Xorg inndatadriver). Fikser #20250.

  • 2. september 2024

    • [bdubbs] - Oppdater til IO-Socket-SSL-2.089 (Perl Modul). Fikser #20286.

    • [bdubbs] - Arkiver Qt5.

  • 1. september 2024

    • [bdubbs] - Utgivelse av BLFS-12.2.

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 12.3),

  • 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

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.15 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.4.7 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 Systemd-257.3 og Shadow-4.17.3 har blitt ombygd med Linux-PAM-1.7.0 støtte (hvis du samhandler via en SSH eller grafisk sesjon, sørg også for OpenSSH-9.9p2 serveren eller skrivebordbehandleren er bygget med Linux-PAM-1.7.0). som root bruker, opprett en konfigurasjonsfil for å tillate ressurskontroll uten root privilegium og instruere systemd å laste konfigurasjon på nytt:

mkdir -pv /etc/systemd/system/user@.service.d &&
cat > /etc/systemd/system/user@.service.d/delegate.conf << EOF &&
[Service]
Delegate=memory cpuset
EOF
systemctl daemon-reload

Logg deretter ut og logg på igjen. Nå for å kjøre make -j5 med de første 4 logiske kjernene og 8 GB systemminne, utsted:

systemctl   --user start dbus                &&
systemd-run --user --pty --pipe --wait -G -d \
            -p MemoryHigh=8G                 \
            -p AllowedCPUs=0-3               \
            make -j5

Med MemoryHigh=8G, 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 MemoryHigh med MemoryMax. Men å gjøre det vil føre til at prosessene drepes hvis 8 GB ikke er nok for dem.

AllowedCPUs=0-3 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 manualsidene systemd-run(1) og systemd.resource-control(5) for detaljert forklaring av parametere 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.

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, stripping av feilsøkingssymboler og unødvendige symboltabell oppføringer ble diskutert et par ganger. Når du bygger BLFS pakker, er det generelt ingen spesielle instruksjoner som diskuterer stripping en gang til. 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-unneeded ${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-24.3.4 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-24.3.4). 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-14.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.13.2), 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 Systemd Units

BLFS Systemd Units pakken inneholder systemd enhetsfilene som brukes gjennom hele boken.

BLFS Systemd Units pakken vil bli brukt gjennom hele BLFS boken for systemd enhetsfiler. Hver systemd enhet har et eget installasjonsmål. Det anbefales at du beholder pakkekildemappen til BLFS systemet ditt er fullført. Når en systemd enhet er forespurt fra BLFS Systemd Units, bytt til mappen, og som root bruker, utfør den gitte make install-<systemd-unit> kommandoen. Denne kommandoen installerer systemd enheten på riktig plassering (sammen med eventuelle hjelpekonfigurasjonsskript) og aktiverer det som standard.

Notat

Det anbefales å lese hver systemd enhet før installasjon for å finne ut om de installerte filene oppfyller dine behov.

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.1-43, 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-128.7.0 og ghostscript-10.04.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.46 hvis det brukes til Firefox-128.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.3 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.3, JOE-4.6, og alle mediespillere unntatt Audacious-4.4.2.

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.82.5 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.7.7) 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-9.9p2). 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 rpm2cpio (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 format, det er to små skript, rpm2targz og deb2targz som er tilgjengelig på https://anduin.linuxfromscratch.org/BLFS/extras/deb2targz.tar.bz2 og https://anduin.linuxfromscratch.org/BLFS/extras/rpm2targz.tar.bz2 å konvertere arkivene til en enkel tar.gz format.

Du kan også finne et rpm2cpio skript nyttig. Perl versjonen i linux kjernearkiver på https://lore.kernel.org/all/20021016121842.GA2292@ncsu.edu/2-rpm2cpio fungerer for de fleste kilderpm. rpm2targz skriptet vil bruke et rpm2cpio skript eller binær hvis en er på vei. Merk at rpm2cpio vil pakke ut en kilde rpm i gjeldende mappe, og gir en tarball, en spesifikasjonsfil og kanskje oppdateringer eller andre filer.

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.

Det er ett tema igjen: Tilpasse Påloggingen med /etc/issue. Den har ikke mye interaksjon med de andre emnene 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 edid-decode verktøyet og kjør 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/vconsole.conf som beskrevet i LFS seksjon 9.6 ../../../../lfs/view/12.3-systemd/chapter09/console.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.48.1 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, git-2.48.1, pciutils-3.13.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-20250211. 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 Tigerlake bærbar (beskrevet som Intel(R) Core(TM) i5-11300H CPU) de relevante verdiene er cpu familie 6, modell 140, stepping 1 så i dette tilfellet er nødvendig identifikasjon 06-8c-01. Utgivelsesnotat sier at den nyeste mikrokoden for den er versjonert 0xb8. Hvis verdien av «mikrokode» feltet i /proc/cpuinfo er 0xb8 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 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:

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 (Tigerlake bærbar) med tidlig lasting:

[    0.000000] Linux version 6.10.4 (xry111@stargazer) (gcc (GCC) 14.2.0, GNU ld (GNU Binutils) 2.43) #4 SMP PREEMPT_DYNAMIC Tue Aug 15 18:04:11 CST 2024
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.10.0 root=PARTUUID=<CLASSIFIED> ro
[    0.585605] microcode: Current revision: 0x000000b8
[    0.585611] microcode: Updated early from: 0x00000086

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.13.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.13.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 4060 Ti er AD106). Mappen for fastvarefilene du trenger er navngitt som resultatet som konverterer kodenavnet til små bokstaver (ad106 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, ad106 er en symbolkobling til ad102).

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 Ada Lovelace (RTX 40xx serien) og fastvaren for den er ikke utgitt ennå (som sent i 2024).

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 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 budsjett bærbare datamaskiner) 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 -av -T --no-preserve=ownership sof      \
   /usr/lib/firmware/intel/sof             &&
cp -av -T --no-preserve=ownership sof-tplg \
   /usr/lib/firmware/intel/sof-tplg

alsa-lib-1.2.13 behøver Use Case Manager konfigurasjonsfiler for systemene som bruker Sound Open Firmware også. Les alsa-lib-1.2.13 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.13.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.9, 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.2.1 installeres.

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/bash_completion.sh

Notat

Å bruke bash fullføringsskriptet nedenfor er kontroversielt. Ikke alle brukere liker det. Den legger til mange (vanligvis over 1000) linjer til bash miljøet og gjør det vanskelig å bruke 'set' kommandoen for å undersøke enkle miljøvariabler. Å utelate dette skriptet forstyrrer ikke bash sin evne til å bruke tabulatortasten for filnavnfullføring.

Dette skriptet importerer bash fullføringsskript, installert av mange andre BLFS pakker, for å tillate fullføring av TAB kommandolinje.

cat > /etc/profile.d/bash_completion.sh << "EOF"
# Begin /etc/profile.d/bash_completion.sh
# Import bash completion scripts

# If the bash-completion package is installed, use its configuration instead
if [ -f /usr/share/bash-completion/bash_completion ]; then

  # Check for interactive bash and that we haven't already been sourced.
  if [ -n "${BASH_VERSION-}" -a -n "${PS1-}" -a -z "${BASH_COMPLETION_VERSINFO-}" ]; then

    # Check for recent enough version of bash.
    if [ ${BASH_VERSINFO[0]} -gt 4 ] || \
       [ ${BASH_VERSINFO[0]} -eq 4 -a ${BASH_VERSINFO[1]} -ge 1 ]; then
       [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \
            . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion"
       if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; then
          # Source completion code.
          . /usr/share/bash-completion/bash_completion
       fi
    fi
  fi

else

  # bash-completions are not installed, use only bash completion directory
  if shopt -q progcomp; then
    for script in /etc/bash_completion.d/* ; do
      if [ -r $script ] ; then
        . $script
      fi
    done
  fi
fi

# End /etc/profile.d/bash_completion.sh
EOF

Kontroller at mappen eksisterer:

install --directory --mode=0755 --owner=root --group=root /etc/bash_completion.d

For en mer fullstendig installasjon, se https://wiki.linuxfromscratch.org/blfs/wiki/bash-shell-startup-files#bash-completions.

/etc/profile.d/dircolors.sh

Dette skriptet bruker ~/.dircolors og /etc/dircolors filer for å kontrollere fargene på filnavn i en mappeoppføring. De kontrollerer farget utdata av ting som ls --color. Forklaringen på hvordan å initialisere disse filene er på slutten av denne delen.

cat > /etc/profile.d/dircolors.sh << "EOF"
# Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
if [ -f "/etc/dircolors" ] ; then
        eval $(dircolors -b /etc/dircolors)
fi

if [ -f "$HOME/.dircolors" ] ; then
        eval $(dircolors -b $HOME/.dircolors)
fi
EOF

/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
  source /etc/locale.conf

  for i in $(locale); do
    key=${i%=*}
    if [[ -v $key ]]; then
      export $key
    fi
  done
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.  Used in conjunction
# with code in /etc/profile.

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)
tty -s && export GPG_TTY=$(tty)

# End /etc/bashrc
EOF

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.

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.15

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

Denne pakken sender et CA sertifikat for å validere identiteten til https://hg.mozilla.org/. Hvis tillitskjeden til denne nettsiden har blitt endret etter utgivelsen av make-ca-1.15, 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.25.5 (kjøretid, bygget etter libtasn1-4.20.0, kreves i de følgende instruksjoner for å generere sertifikatlagre fra tillitsankere, og hver gang make-ca kjøres)

Valgfri (kjøretid)

nss-3.108 (å generere en delt NSSDB)

Installasjon av make-ca og Generering av CA sertifikatlager

make-ca skriptet vil laste ned og behandle sertifikatene som er inkludert i certdata.txt filen til bruk som tillitsankere for p11-kit-0.25.5 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 systemd timer. En timer er installert i /usr/lib/systemd/system/update-pki.timer det, hvis aktivert, vil se etter oppdateringer ukentlig. Kjør følgende kommandoer, som root bruker, for å aktiver systemd timer:

systemctl enable update-pki.timer

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.108. 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.25.5 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.25.5 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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Anbefalt ordliste for engelsktalende land (størrelse:

Det er flere ordlister tilgjengelig for nedlasting, for eksempel fra https://wiki.skullsecurity.org/index.php/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:

CPPFLAGS+=' -I /usr/include/python3.13' \
./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.17.3 på nytt hvis du ønsker å gi sterk passordstøtte på systemet ditt. Hvis du nå skal installere Linux-PAM-1.7.0 pakken, kan du se bort fra denne merknaden ettersom Shadow vil bli reinstallert etter Linux-PAM installasjonen.

Parameterforklaringer

CPPFLAGS+=' -I /usr/include/python3.13': Denne miljøvariabelen er nødvendig for å la pakken finne Python-3.13 inkluderte filer.

--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.

sed ... ./python/test_cracklib.py: Denne kommandoen oppdaterer byggeprosedyren for Python modulen for Python-3.13 og senere..

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.7.5

Introduksjon til cryptsetup

cryptsetup brukes til å sette opp transparent kryptering av blokkenheter ved å bruke kjernens krypterings API.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

cryptsetup Avhengigheter

Påkrevd

JSON-C-0.18, LVM2-2.03.30, og popt-1.19

Valgfri

asciidoctor-2.0.23, libpwquality-1.4.5, argon2, libssh, 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_CRYPTO_USER,
CONFIG_CRYPTO_CRYPTD,
CONFIG_CRYPTO_LRW,
CONFIG_CRYPTO_XTS,
CONFIG_CRYPTO_ESSIV,
CONFIG_CRYPTO_CRCT10DIF,
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.23 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, cryptsetup-reencrypt, integritysetup, og veritysetup
Installerte Biblioteker: libcryptsetup.so
Installerte Mapper: Ingen

Korte Beskrivelser

cryptsetup

brukes til å konfigurere dm-crypt administrerte enhets mappetilordninger

cryptsetup-reencrypt

er et verktøy for frakoblet LUKS enhets rekryptering

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Cyrus SASL Avhengigheter

Anbefalt
Valgfri

Linux-PAM-1.7.0, MIT Kerberos V5-1.21.3, MariaDB-11.4.5 eller MySQL, OpenLDAP-2.6.9, PostgreSQL-17.4, sphinx-8.2.1, SQLite-3.49.1, Berkeley DB (deprecated), krb4, Dmalloc, og Pod::POM::View::Restructured

Installasjon av Cyrus SASL

Notat

Denne pakken støtter ikke parallellbygging.

Først, fikse et problem avslørt av gcc-14:

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.

Systemd Enhet

Hvis du trenger å kjøre saslauthd nissen ved systemets oppstart, installer saslauthd.service enheten inkludert i blfs-systemd-units-20241211 pakken ved å bruke følgende kommando:

make install-saslauthd

Notat

Du må modifiserer /etc/default/saslauthd og modifiserer MECHANISM parameter med ønsket autentiseringsmekanisme. Standard autentisering mekanisme er "shadow".

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.4.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GnuPG 2 Avhengigheter

Påkrevd

libassuan-3.0.2, libgcrypt-1.11.0, libksba-1.6.7, npth-1.8 og OpenLDAP-2.6.9

Anbefalt
Valgfri

cURL-8.12.1, Fuse-3.16.2, ImageMagick-7.1.1-43 (for convert verktøyet, brukes til å generere dokumentasjonen), libusb-1.0.27, en MTA, SQLite-3.49.1, texlive-20240312 (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.4.7 &&
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-20240312 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.4.7/html            &&
install -v -m644    doc/gnupg_nochunks.html \
                    /usr/share/doc/gnupg-2.4.7/html/gnupg.html &&
install -v -m644    ../doc/*.texi doc/gnupg.txt \
                    /usr/share/doc/gnupg-2.4.7 &&
install -v -m644    doc/gnupg.html/* \
                    /usr/share/doc/gnupg-2.4.7/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.4.7

Parameterforklaringer

mkdir build && cd build: Gnupg2 utviklere anbefaler å bygge pakken i en dedikert mappe.

--docdir=/usr/share/doc/gnupg-2.4.7: Denne bryteren endrer standard docdir til /usr/share/doc/gnupg-2.4.7.

--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.4.7 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.9

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GnuTLS Avhengigheter

Påkrevd

Nettle-3.10.1

Anbefalt
Valgfri

Brotli-1.1.0, Doxygen-1.13.2, GTK-Doc-1.34.0, libidn-1.42 eller libidn2-2.3.7, libseccomp-2.6.0, Net-tools-2.10 (brukt under testpakken), texlive-20240312 eller install-tl-unx, Unbound-1.22.0 (for å bygge DANE biblioteket), Valgrind-3.24.0 (brukt under testpakken), autogen, cmocka og datefudge (brukt under testpakken hvis DANE bibliteket er bygget), leancrypto, liboqs, og Trousers (Trusted Platform Module støtte)

Notat

Merk at hvis du ikke installerer libtasn1-4.20.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.9 \
            --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.25.5 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.25.5 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.25.5..

--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.3.

--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.9

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-1.24.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GPGME Avhengigheter

Påkrevd

libassuan-3.0.2

Valgfri

Doxygen-1.13.2 og Graphviz-12.2.1 (for API dokumentasjon), GnuPG-2.4.7 (nødvendig hvis Qt eller SWIG er installert; brukt under testpakken), Clisp-2.49, og SWIG-4.3.0 (for språkbindinger)

Installasjon av GPGME

Installer GPGME ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

../configure --prefix=/usr --disable-gpg-test &&
make PYTHONS=

Hvis SWIG-4.3.0 er installert, bygg Python 3 bindingen som et wheel:

if swig -version > /dev/null; then
  srcdir=$PWD/../lang/python \
  top_builddir=$PWD          \
  pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD/lang/python
fi

For å teste resultatene, bør du ha GnuPG-2.4.7 installert og fjerne --disable-gpg-test ovenfor. Utsted:

if swig -version > /dev/null; then
  python3 -m venv testenv                                              &&
  testenv/bin/pip3 install --no-index --find-links=dist --no-cache-dir \
                           gpg                                         &&
  sed '/PYTHON/s#run-tests.py#& --python-libdir=/dev/null#'            \
      -i lang/python/tests/Makefile
fi &&

make -k check PYTHONS= PYTHON=$PWD/testenv/bin/python3

Nå, som root bruker:

make install PYTHONS=

Hvis SWIG-4.3.0 er installert, fortsatt som root bruker, installer Python 3 bindinger:

if swig -version > /dev/null; then
  pip3 install --no-index --find-links dist --no-user gpg
fi

Parameterforklaringer

--disable-gpg-test: hvis denne parameteren ikke er sendt til configure, bygges testprogrammene under make steget, som krever GnuPG-2.4.7. Denne parameteren er ikke nødvendig hvis GnuPG-2.4.7 er installert.

PYTHONS=: Deaktiver bygging av Python bindinger ved å bruke det foreldede python3 setup.py build kommando. Den eksplisitte instruksjonen for å bygge Python 3 bindingen med pip3 wheel kommandoen er gitt.

Innhold

Installert Program: gpgme-json, og gpgme-tool
Installerte Biblioteker: libgpgme.so, libgpgmepp.so, og libqgpgme.so
Installerte Mapper: /usr/include/{gpgme++,qgpgme,QGpgME}, /usr/lib/cmake/{Gpgmepp,QGpgme}. /usr/lib/python3.13/site-packages/gpg{,-1.24.2.dist-info}, og /usr/share/common-lisp/source/gpgme

Korte Beskrivelser

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

libgpgmepp.so

inneholder C++ GPGME API funksjoner

libqgpgme.so

inneholder API funksjoner for å håndtere GPG operasjoner i Qt applikasjoner

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

iptables Avhengigheter

Valgfri

libpcap-1.10.5 (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]
        <*/M>   LOG target support                     [NETFILTER_XT_TARGET_LOG]
      IP: Netfilter Configuration --->
        <*/M> IP tables support (required for filtering/masq/NAT)
                                                           ...  [IP_NF_IPTABLES]

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.

install -v -dm755 /etc/systemd/scripts

cat > /etc/systemd/scripts/iptables << "EOF"
#!/bin/sh

# Begin /etc/systemd/scripts/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

# Log everything else.
iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT "

# End /etc/systemd/scripts/iptables
EOF
chmod 700 /etc/systemd/scripts/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.

install -v -dm755 /etc/systemd/scripts

cat > /etc/systemd/scripts/iptables << "EOF"
#!/bin/sh

# Begin /etc/systemd/scripts/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

# The following sections allow inbound packets for specific examples
# Uncomment the example lines and adjust as necessary

# Allow ping on the external interface
#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

# Reject ident packets with TCP reset to avoid delays with FTP or IRC
#iptables -A INPUT  -p tcp --dport 113 -j REJECT --reject-with tcp-reset

# Allow HTTP and HTTPS to 192.168.0.2
#iptables -A PREROUTING -t nat -i WAN1 -p tcp --dport 80 -j DNAT --to 192.168.0.2
#iptables -A PREROUTING -t nat -i WAN1 -p tcp --dport 443 -j DNAT --to 192.168.0.2
#iptables -A FORWARD -p tcp -d 192.168.0.2 --dport 80 -j ACCEPT
#iptables -A FORWARD -p tcp -d 192.168.0.2 --dport 443 -j ACCEPT

# End /etc/systemd/scripts/iptables
EOF
chmod 700 /etc/systemd/scripts/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.

Systemd Enhet

For å sette opp iptables brannmuren ved oppstart, installer iptables.service enheten inkludert i blfs-systemd-units-20241211 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.73 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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libcap Avhengigheter

Påkrevd

Linux-PAM-1.7.0

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.0 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.0

Introduksjon til Linux PAM

Linux PAM pakken inneholder pluggbare autentiseringsmoduler brukt av den lokale systemadministratoren for å kontrollere hvordan applikasjonsprogrammer autentiseres brukere.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Valgfri Dokumentasjon

Linux PAM Avhengigheter

Valgfri

libnsl-2.0.1, libtirpc-1.3.6, 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.10 (for PDF format), libxslt-1.1.42, og Lynx-2.9.2 (for ren tekstformat)

Notat

Shadow-4.17.3 og Systemd-257.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 Systemd-257.3 er bygget med PAM støtte 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.42, 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.0 &&

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.

Du også være klar over at ninja install overskriver konfigurasjonsfilene i /etc/security i tillegg til /etc/environment. Hvis du har endret disse filene, sørg for å sikkerhetskopiere dem.

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

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.0-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.17.3 og Systemd-257.3 pakkene.

Innhold

Installerte Programmer: faillock, mkhomedir_helper, pam_namespace_helper, pam_timestamp_check, pwhistory_helper, unix_chkpwd og unix_update
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.0

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

unix_update

er en hjelpebinær som oppdaterer passordet til en gitt 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

liboauth Avhengigheter

Påkrevd

cURL-8.12.1

Valgfri

nss-3.108 og Doxygen-1.13.2 (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.13.2), 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.21.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://kerberos.org/dist/krb5/1.21/krb5-1.21.3.tar.gz

  • Nedlasting MD5 sum: beb34d1dfc72ba0571ce72bed03e06eb

  • Nedlastingsstørrelse: 8.7 MB

  • Estimert diskplass som kreves: 95 MB (legg til 14 MB for tester)

  • Estimert byggetid: 0.3 SBU (Bruker parallellisme=4; legg til 1.1 SBU for tester)

MIT Kerberos V5 Avhengigheter

Valgfri

BIND Utilities-9.20.6, CrackLib-2.10.3 (/usr/share/dict/words referert av noen tester), GnuPG-2.4.7 (for å autentisere pakken), keyutils-1.6.3, OpenLDAP-2.6.9, Valgrind-3.24.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

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 for en lang tid og mislykkes hvis systemet ikke er koblet til et nettverk. En 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.21.3

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: den gjenkjenner ikke sitt eget tidligere installerte verto bibliotek. Dette er ikke et problem, hvis du installerer samme versjon på nytt, men hvis du oppdaterer, brukes det gamle biblioteket som systemets bibliotek, i stedet for å installere den nye 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 vises i CrackLib-2.10.3 bruksanvisning. 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.

Opprett KDC databasen:

kdb5_util create -r <EXAMPLE.ORG> -s

Nå bør du fylle databasen med fullmakt (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.21.3 hvor ovennevnte instruksjoner er basert på.

Systemd Enhet

Hvis du vil starte Kerberos tjenester ved oppstart, installer krb5.service enhet inkludert i blfs-systemd-units-20241211 pakke ved å bruke 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.21.3,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 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. 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 vis deretter serverens respons

sim_client

er et enkelt UDP-basert eksempelklientprogram, for demonstrasjon

sim_server

er en enkel UDP-basert serverapplikasjon, for demonstrasjon

sserver

er eksempelet på Kerberos 5 serveren

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.1

Introduksjon til Nettle

Nettle pakken inneholder et lavt nivå kryptografisk bibliotek som er designet for å passe lett inn i mange sammenhenger.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/nettle/nettle-3.10.1.tar.gz

  • Nedlasting MD5 sum: c3dc1729cfa65fcabe2023dfbff60beb

  • Nedlastingsstørrelse: 2.5 MB

  • Estimert diskplass som kreves: 100 MB (med tester)

  • Estimert byggetid: 0.2 SBU (med tester; begge bruker parallellisme=4)

Nettle Avhengigheter

Valgfri

Valgrind-3.24.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.1 &&
install -v -m644 nettle.{html,pdf} /usr/share/doc/nettle-3.10.1

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.1

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.108

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

NSS Avhengigheter

Påkrevd

NSPR-4.36

Anbefalt

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                 \
  $([ $(uname -m) = x86_64 ] && echo USE_64=1) \
  $([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=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 ved myhostname Name Service Switch modulen, som spesifisert 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.25.5 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.15 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-9.9p2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p2.tar.gz

  • Nedlasting MD5 sum: f617b95fe278bfea8d004589c7a68a85

  • Nedlastingsstørrelse: 1.9 MB

  • Estimert diskplass som kreves: 46 MB (legg til 22 MB for tester)

  • Estimert byggetid: 0.3 SBU (Bruker parallellisme=4; å kjøre testene tar omtrent 20 minutter, uavhengig av prosessorhastighet)

OpenSSH Avhengigheter

Valgfri

GDB-16.2 (for tester), Linux-PAM-1.7.0 (PAM konfigurasjonsfiler fra Shadow-4.17.3 brukes til å lage openssh sine), Xorg Applikasjoner (eller Xorg build environment, se Parameterforklaringer), MIT Kerberos V5-1.21.3, 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.7

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-9.9p2     &&
install -v -m644    INSTALL LICENCE OVERVIEW README* \
                    /usr/share/doc/openssh-9.9p2

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 Xorg 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.

Systemd Enhet

For å starte SSH serveren ved systemoppstart, installer sshd.service enheten inkludert i blfs-systemd-units-20241211 pakken.

Notat

Endring av innstillingen for ListenAddress i /etc/sshd/sshd_config er ikke støttet med BLFS sshd systemd unit.

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-9.9p2, 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.25.5

Introduksjon til p11-kit

p11-kit pakken gir en måte å laste og telle opp PKCS #11 (en Cryptographic Token Interface Standard) moduler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

p11-kit Avhengigheter

Anbefalt
Anbefalt (kjøretid)
Valgfri

GTK-Doc-1.34.0, libxslt-1.1.42, og nss-3.108 (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: LC_ALL=C 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.34.0 og libxslt-1.1.42 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-126

Introduksjon til Polkit

Polkit er et verktøysett for å definere og håndtere autorisasjoner. Den brukes for å tillate uprivilegerte prosesser å kommunisere med privilegerte prosesser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Polkit Avhengigheter

Påkrevd

duktape-2.7.0 og GLib-2.82.5 (GObject Introspection anbefalt)

Anbefalt

Notat

Siden systemd-logind bruker PAM til å registrere brukerøkter, er det en god idé å bygge Polkit med PAM støtte så systemd-logind kan spore Polkit økter.

Valgfri

GTK-Doc-1.34.0 og dbusmock-0.34.3 (påkrevd for tester)

Nødvendige Kjøretidsavhengigheter

Systemd-257.3

Valgfrie Kjøretidsavhengigheter

Én polkit autentiseringsagent for bruk av polkit i et grafiske miljø: polkit-kde-agent i Plasma-6.3.2 for KDE, agenten bygd inn gnome-shell-47.4 for GNOME3, polkit-gnome-0.105 for XFCE, og lxqt-policykit-2.1.0 for LXQt

Notat

Hvis libxslt-1.1.42 er installert, da er docbook-xml-4.5 og docbook-xsl-nons-1.79.2 nødvendig. Hvis du har installert libxslt-1.1.42, 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=logind \
      -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.3.2 og dbusmock-0.34.3 er installert. Kjør så 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 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.82.5 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ø.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Polkit GNOME Avhengigheter

Påkrevd

AccountsService-23.13.9, GTK-3.24.48, og Polkit-126

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.17.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Shadow Avhengigheter

Påkrevd

Linux-PAM-1.7.0

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    \
            --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.

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.0 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/12.3-systemd/chapter08/shadow.html#contents-shadow.

ssh-askpass-9.9p2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ssh-askpass Avhengigheter

Påkrevd

GTK-3.24.48, Sudo-1.9.16p2 (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.16p2 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.74

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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 &&
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.74 install

Installer den medfølgende systemd enheten ved å kjøre følgende kommando som root bruker:

install -v -m644 tools/stunnel.service /usr/lib/systemd/system

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

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.

Systemd Enhet

For å starte stunnel nissen ved oppstart, aktivere den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable stunnel

Innhold

Installerte Programmer: stunnel og stunnel3
Installert Bibliotek: libstunnel.so
Installerte Mapper: /{etc,lib,var/lib}/stunnel og /usr/share/doc/stunnel-5.74

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.16p2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.sudo.ws/dist/sudo-1.9.16p2.tar.gz

  • Nedlasting MD5 sum: 52681ba928fb7aba46998f061d9ba85c

  • Nedlastingsstørrelse: 5.1 MB

  • Estimert diskplass som kreves: 53 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.0, MIT Kerberos V5-1.21.3, OpenLDAP-2.6.9, 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.16p2 \
            --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.16p2, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Tripwire Avhengigheter

Valgfri

MTA

Installasjon av

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.30 og/eller mdadm-4.3 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.13

Introduksjon til btrfs-progs

btrfs-progs pakken inneholder administrasjons- og feilsøkingsverktøy for B-tree filsystemet (btrfs).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Btrfs-progs Avhengigheter

Påkrevd

LZO-2.10

Valgfri

LVM2-2.03.30 (dmsetup brukes i tester), sphinx-8.2.1 og sphinx_rtd_theme-3.0.2 (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.30, 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

Notat

Noen tester krever at grep bygges med perl regulære uttrykk. For å få dette, gjenoppbygg grep med LFS kapittel 8 instruksjonene etter installeringen av pcre2-10.45.

Før du kjører tester, bygg et støtteprogram:

make fssum

Fjern nå en test som er kjent for å mislykkes. Som root:

mv tests/mkfs-tests/013-reserved-1M-for-single/test.sh{,.broken}

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-8.2.1.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.16.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Fuse Avhengigheter

Optional

Doxygen-1.13.2 (for å gjenoppbygge API dokumentasjonen) pytest-8.3.4 (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.13.2 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-8.3.4 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.16.2 &&
install -v -m644   doc/{README.NFS,kernel.txt} \
                   /usr/share/doc/fuse-3.16.2

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.

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.16.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.30

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://sourceware.org/ftp/lvm2/LVM2.2.03.30.tgz

  • Nedlasting MD5 sum: 048cd0e39cce7b15e48a8d3ba5c8d80c

  • Nedlastingsstørrelse: 2.7 MB

  • Estimert diskplass som kreves: 39 MB (legg til 20 MB for tester; midlertidige filer kan vokse opp til rundt 300 MB i /tmp mappen under tester)

  • Estimert byggetid: 0.4 SBU (legg til 9 til 48 SBU for tester, avhengig av diskhastighet og om ram-blokkeringsenhet er aktivert i kjernen)

LVM2 Avhengigheter

Påkrevd

libaio-0.3.113

Valgfri

mdadm-4.3, Valgrind-3.24.0, Which-2.23, xfsprogs-6.13.0 (alle fire kan brukes, men er ikke påkrevd, for tester), reiserfsprogs, thin-provisioning-tools, og vdo

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt:

Notat

Det er flere andre Device Mapper alternativer i kjernen utover disse oppført nedenfor. For å få rimelige resultater hvis du kjører regresjonstester, må alle være aktivert enten internt eller som en modul. Testene vil alltid stoppe hvis Magic SysRq nøkkelen ikke er aktivert.

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 et lite antall testfeil forventes oppstrøms. Flere feil kan skje fordi noen kjernealternativer mangler. For eksempel mangelen på dm-delay enhets kartleggermå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 i 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
make install_systemd_units

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.

make install_systemd_units: Dette er nødvendig for å installere en enhet som aktiverer logiske volumer ved oppstart. Den er ikke installert som standard.

Konfigurer LVM2

Konfigurasjonsfil

/etc/lvm/lvm.conf

Konfigurasjonsinformasjon

Standardkonfigurasjonen refererer fortsatt til den foreldede /var/lock mappen. Dette skaper en vranglås ved oppstart. Endre dette (som root bruker):

sed -e '/locking_dir =/{s/#//;s/var/run/}' \
    -i /etc/lvm/lvm.conf

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.30 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

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.

Hvis du ikke bruker initramfs, er det en rasetilstand i systemd som forhindrer montering av logiske volumer gjennom /etc/fstab. Du må opprette en «mount» enhet (se systemd.mount(5)) som i det følgende eksempel, som monterer /home mappen automatisk ved oppstart:

cat > /etc/systemd/system/home.mount << EOF
[Unit]
Description=Mount the lvm volume /dev/lfs-lvm/home to /home

[Mount]
What=/dev/lfs-lvm/home
Where=/home
Type=ext4
Options=default

[Install]
WantedBy=multi-user.target
EOF

Notat

Navnet på enheten må være navnet på monteringspunktet med `/'-tegnet erstattet av `-', og utelate den innledende.

Deretter må enheten aktiveres med:

systemctl enable home.mount

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.3.

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.13.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.3

Introduksjon til mdadm

mdadm pakken inneholder verktøy for å administrere programvare RAID.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

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]

For å sikre at mount kommandoen bruker NTFS3 for ntfs partisjoner, lag et innpakningsskript:

cat > /usr/sbin/mount.ntfs << "EOF" &&
#!/bin/sh
exec mount -t ntfs3 "$@"
EOF
chmod -v 755 /usr/sbin/mount.ntfs

Med kjernestøtten tilgjengelig, er ntfs-3g bare nødvendig hvis du trenger verktøyene fra den (for eksempel for å lage 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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:

./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 -sv ../bin/ntfs-3g /usr/sbin/mount.ntfs &&
ln -sv 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere nedlastinger

gptfdisk Avhengigheter

Påkrevd

popt-1.19

Valgfri

ICU-76.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/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-20240312 (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

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-20240312 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.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

smartmontools Avhengigheter

Valgfri (kjøretid)

cURL-8.12.1 eller Lynx-2.9.2 eller Wget-1.25.0 (nedlastingsverktøy), og GnuPG-2.4.7 (krypterte harddisker)

Installasjon av smartmontools

Installer smartmontools ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --sysconfdir=/etc       \
            --docdir=/usr/share/doc/smartmontools-7.4 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Konfigurere smartmontools

Konfigurasjonsfil

/etc/smartd.conf

Konfigurasjonsinformasjon

Se de innebygde kommentarene i /etc/smartd.conf for detaljerte instruksjoner om tilpasning av smartd nissen.

Systemd Enhet

Hvis du vil ha smartd nissen til å starte automatisk når systemet startes opp, aktiver systemd enheten levert av pakken ved å kjøre følgende kommando som root bruker:

systemctl enable smartd

Innhold

Installerte Programmer: smartctl, smartd, og update-smart-drivedb
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/smartmontools, /usr/share/doc/smartmontools-7.4, 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.3

Introduksjon til Sshfs

Sshfs pakken inneholder en filsystem klient 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Sshfs Avhengigheter

Påkrevd

Fuse-3.16.2, GLib-2.82.5, og OpenSSH-9.9p2.

Valgfri

docutils-0.21.2 (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.13.0

Introduksjon til xfsprogs

xfsprogs pakken inneholder administrasjons- og feilsøkingsverktøy for XFS filsystemet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xfsprogs Avhengigheter

Påkrevd

inih-58 og liburcu-0.15.1

Valgfri

ICU-76.1 (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

First, tilpasse konfigureringsskriptet til ICU-76:

sed -i 's/icu-i18n/icu-uc &/' configure

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.13.0 install     &&
make PKG_DOC_DIR=/usr/share/doc/xfsprogs-6.13.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.13.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.12 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz

  • Nedlasting MD5 sum: 60c564b1bdc39d8e43b3aab4bc0fb140

  • Nedlastingsstørrelse: 6.4 MB

  • Estimert diskplass som kreves: 183 MB

  • Estimert byggetid: 0.4 SBU (på 64-bits LFS, ved å bruke parallellisme=4)

Ytterligere nedlastinger

Valgfri Unicode skriftdata for GRUB menyen

GRUB Avhengigheter

Anbefalt
Valgfri

FreeType-2.13.3, Fuse-3.16.2, og LVM2-2.03.30

Hvis du bygger GRUB for et 32-biters LFS system for å starte det på en 64-biters UEFI fastvare, gjenoppbygg GCC-14.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.13.3:

mkdir -pv /usr/share/fonts/unifont &&
gunzip -c ../unifont-16.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.

Legg til en fil som mangler fra utgivelsens tarball:

echo depends bli part_gpt > grub-core/extra_deps.lst

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.13.3, 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.16.2 og LVM2-2.03.30 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 Using GRUB to Set Up the Boot Process with UEFI.

Innhold

En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/12.3-systemd/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

Using GRUB to Set Up the Boot Process with 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 «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

Notat

Hvis systemet startes opp med UEFI og systemd, efivarfs vil bli montert automatisk. Men i LFS chrootmiljøet trenger det fortsatt å monteres manuelt.

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.13.2-lfs-12.3" {
  linux   /boot/vmlinuz-6.13.2-lfs-12.3 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.13.2-lfs-12.3 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.

The Firmware Setup oppføringen kan brukes til å angi konfigurasjonsgrensesnitt levert av fastvaren (noen ganger kalt «BIOS configuration»).

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.2.16

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Bluefish Avhengigheter

Påkrevd

GTK-3.24.48

Anbefalt
Valgfri

enchant-2.8.2 (for stavekontroll), Gucharmap-16.0.2, og Jing

Installasjon av Bluefish

Først, deaktiver et programtillegg som krever funksjoner som er fjernet i libxml-2.13.0 eller senere:

sed '/infbrowser/d' -i src/Makefile.am &&
autoreconf

Installer Bluefish ved å kjøre følgende kommandoer:

./configure --prefix=/usr --docdir=/usr/share/doc/bluefish-2.2.16 &&
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.2.16, og /usr/share/xml/bluefish

Korte Beskrivelser

bluefish

er en GTK+ tekstredigerer for markup og programmering

Ed-1.21

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/ed/ed-1.21.tar.lz

  • Nedlasting MD5 sum: a68c643733b7123ddad15f7395cb8c61

  • Nedlastingsstørrelse: 68 KB

  • Estimert diskplass som kreves: 1.0 MB

  • Estimert byggetid: less than 0.1 SBU

Ed Avhengigheter

Påkrevd for å pakke ut tarballen

libarchive-3.7.7 (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.1

Introduksjon til Emacs

Emacs pakken inneholder en utvidbar, tilpassbar, selvdokumenterende sanntidsvisningsredigerer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/emacs/emacs-30.1.tar.xz

  • Nedlasting MD5 sum: 88d665794fdecba7769c11ab1ccea6e4

  • Nedlastingsstørrelse: 52 MB

  • Estimert diskplass som kreves: 558 MB

  • Estimert byggetid: 0.6 SBU (Using parallelism=4)

Emacs Avhengigheter

Anbefalt
Valgfri

et grafiske miljø, alsa-lib-1.2.13, Cairo-1.18.2, dbus-1.16.0, GLib-2.82.5 (med GObject Introspection), gsettings-desktop-schemas-47.1, GPM-1.20.7, GTK-3.24.48, ImageMagick-7.1.1-43, Little CMS-2.17, libjpeg-turbo-3.0.1, libpng-1.6.46, librsvg-2.59.2, libseccomp-2.6.0, libwebp-1.5.0, libxml2-2.13.6, MIT Kerberos V5-1.21.3, SQLite-3.49.1, Valgrind-3.24.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.1

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.48 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.1-43 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.0.

--with-gnutls=no: Bruk denne hvis du ikke har installert GnuTLS-3.8.9.

--without-harfbuzz: Bruk denne hvis du ikke har installert harfBuzz-10.4.0.

--with-json=no: Bruk denne hvis du ikke har installert jansson-2.14.

Innhold

Installerte Programmer: ctags, ebrowse, emacs (symlink), emacs-30.1, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Additional Downloads

Gedit Avhengigheter

Påkrevd

gsettings-desktop-schemas-47.1, itstool-2.0.7, libgedit-amtk-5.9.0, libgeditsourceview-299.4.0 libhandy-1.8.3, og libpeas-1.36.0

Anbefalt
Valgfri

GTK-Doc-1.34.0, Vala-0.56.17, og zeitgeist

Installasjon av Gedit

Bygg først gfls biblioteket:

tar -xf ../libgedit-gfls-0.2.1.tar.bz2 &&
pushd libgedit-gfls-0.2.1             &&

mkdir gfls-build &&
cd    gfls-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

Bytt tilbake til den øverste byggemappen:

popd

For det andre, bygg tepl biblioteket:

tar -xf ../libgedit-tepl-6.12.0.tar.bz2 &&
pushd libgedit-tepl-6.12.0             &&

mkdir tepl-build &&
cd    tepl-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

Igjen, bytt tilbake til den øverste byggemappen:

popd

Til slutt, installer Gedit ved å kjøre følgende kommandoer:

mkdir gedit-build &&
cd    gedit-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

-D gtk_doc=false: Denne bryteren deaktiverer genereringen av API dokumentasjonen. Utelat denne bryteren hvis du har GTK-Doc-1.34.0 installert og ønsker å generere API dokumentasjon.

Innhold

Installert Program: gedit
Installerte Biblioteker: libgedit-gfls-1.so, libgedit-tepl-6.so, og libgedit-48.so
Installerte Mapper: /usr/include/libgedit-gfls-1, /usr/include/libgedit-tepl-6, /usr/include/gedit-48, og /usr/{lib,share,share/help/*}/gedit

Korte beskrivelser

gedit

er en lett tekstredigerer integrert med GNOME skrivebordet

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-24.12.2

Introduksjon til Kate

Kate pakken inneholder en avansert KF6 basert grafisk tekstredigerer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Kate Avhengigheter

Påkrevd

KDE Frameworks-6.11.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.3

Introduksjon til Mousepad

Mousepad er en enkel GTK+ 3 tekstredigerer for Xfce skrivebordsmiljøet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Mousepad Avhengigheter

Påkrevd

gtksourceview4-4.8.4 og libxfce4ui-4.20.0

Anbefalt
Valgfri

DConf-0.40.0 (kjøretid) og dbus-glib-0.112

Installasjon av Mousepad

Installer Mousepad ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --enable-gtksourceview4 \
            --enable-keyfile-settings &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-keyfile-settings: Bruk GSettings nøkkelfil bakstykke i stedet for standard DConf-0.40.0.

--disable-plugin-gspell: Bruk dette alternativet for å deaktivere bygging av gspell-1.14.0 programtillegget hvis du ikke har installert gspell.

Innhold

Installert Program: mousepad
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

mousepad

er en enkel GTK+ 3 tekstredigerer

Nano-8.3

Introduksjon til Nano

Nano pakken inneholder en liten, enkel tekstredigerer som tar sikte på å erstatte Pico, standardredigeringsprogrammet i Pine pakken.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.3 &&
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.3

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.3

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.1166

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Vim Avhengigheter

Anbefalt
Valgfri

cURL-8.12.1 (eller Wget-1.25.0, kreves av noen tester), GPM-1.20.7, Lua-5.4.7, Ruby-3.4.2, og rsync-3.4.1

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 en tekstredigerer 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.1166, som gjør at det samsvarer med plasseringen av dokumentasjonen for andre pakker:

ln -snfv ../vim/vim91/doc /usr/share/doc/vim-9.1.1166

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.1166" -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: ftp://ftp.vim.org/pub/vim/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.1166 kjør følgende kommando:

:help version-9.1.1166

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.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.15

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://astron.com/pub/tcsh/tcsh-6.24.15.tar.gz

  • Nedlasting MD5 sum: 7a6c216fca177279ee2fb93fd3f9ccd4

  • Nedlastingsstørrelse: 940 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.24.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-20240312 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-9.2.2

Introduksjon til qemu

qemu er en full virtualiseringsløsning for Linux på x86 maskinvare som inneholder virtualiseringsutvidelser (Intel VT eller AMD-V).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.qemu.org/qemu-9.2.2.tar.xz

  • Nedlasting MD5 sum: 417dc130a89238ba5347ced224497ee1

  • Nedlastingsstørrelse: 129 MB

  • Estimert diskplass som kreves: 2.3 GB (475 MB installert)

  • Estimert byggetid: 1.1 SBU (add 0.5 SBU for tester, begge med parallellisme=4)

Qemu Avhengigheter

Påkrevd

GLib-2.82.5 og Pixman-0.44.2

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.2.7 eller PulseAudio-17.0 (kan brukes i stedet for alsa-lib), BlueZ-5.79, cURL-8.12.1, Cyrus SASL-2.1.28, Fuse-3.16.2, GnuTLS-3.8.9, GTK-3.24.48, keyutils-1.6.3, libaio-0.3.113, libusb-1.0.27, libgcrypt-1.11.0, libjpeg-turbo-3.0.1, libseccomp-2.6.0, libssh2-1.11.1, libpng-1.6.46, libtasn1-4.20.0, Linux-PAM-1.7.0, LZO-2.10, Nettle-3.10.1, Mesa-24.3.4, VTE-0.78.4, 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)

Systemd-257.3

Valgfri (for å bygge dokumentasjonen)

sphinx_rtd_theme-3.0.2

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 Systemd-257.3, eller brukerne i kvm gruppen å bruke KVM enheten. Som root bruker, legg til eventuelle ikke-root brukere som kan bruke KVM enheten enten uten Systemd-257.3 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-9.2.2 &&

unset QEMU_ARCH &&

make

qemu bruker ninja som en delprosess ved byggingen. For å kjøre testene, kjør: ninja test. En test, qtest-x86_64/bios-tables-test, er kjent for å mislykkes på enkelte systemer.

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 Systemd-257.3 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.0. 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-9.2.2/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.

Tillat at verten videresender IP pakker:

sysctl -w net.ipv4.ip_forward=1

For å gjøre dette permanent, legg til kommandoen til /etc/sysctl.d/60-net-forward.conf:

cat >> /etc/sysctl.d/60-net-forward.conf << EOF
net.ipv4.ip_forward=1
EOF

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-9.2.2 (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-20250127.0

Introduksjon til Abseil-cpp

Abseil-cpp pakken inneholder en serie med biblioteker designet for å utvide C++ standardbiblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Abseil-cpp Avhengigheter

Påkrevd

CMake-3.31.5

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 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 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_low_level_hash.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.0.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

AppStream Avhengigheter

Påkrevd

cURL-8.12.1, itstool-2.0.7, libxml2-2.13.6, libxmlb-0.3.21, og libyaml-0.2.5

Valgfri

Gi-DocGen-2025.3, Qt-6.8.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 stemming=false    .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install &&
mv -v /usr/share/doc/appstream{,-1.0.4}

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-2025.3 installert og ønsker å regenerere API dokumentasjonen. Når API dokumentasjonen ikke er regenerert, en forhåndsbygd kopi er installert uansett.

-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.8.2 installert og du ønsker å bygge støtte for Qt6 applikasjoner inn i denne pakken.

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>A customized Linux system built entirely from source</summary>
  <description>
    <p>
      Linux From Scratch (LFS) is a project that provides you with
      step-by-step instructions for building your own customized Linux
      system entirely from source.
    </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.3" type="release" date="05.03.2025">
      <description>
        <p>The development snapshot of the next LFS version.</p>
      </description>
    </release>

    <release version="12.2" type="stable" date="2024-09-01">
      <description>
        <p>Now contains Binutils 2.43.1, GCC-14.2.0, Glibc-2.40,
        and Linux kernel 6.10.</p>
      </description>
    </release>
  </releases>
</component>
EOF

Innhold

Installerte Programmer: appstreamcli
Installerte Biblioteker: libappstream.so
Installerte Mapper: /usr/include/appstream, /usr/share/doc/appstream-1.0.4, 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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

appstream-glib Avhengigheter

Påkrevd

cURL-8.12.1, gdk-pixbuf-2.42.12, GTK-3.24.48, og libarchive-3.7.7

Valgfri

docbook-xml-4.5, docbook-xsl-nons-1.79.2, GTK-Doc-1.34.0, libxslt-1.1.42, og libyaml-0.2.5

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.5

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://archive.apache.org/dist/apr/apr-1.7.5.tar.bz2

  • Nedlasting MD5 sum: 8b156d4d0e804cb1f172312ffe087c25

  • Nedlastingsstørrelse: 880

  • 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.5

Valgfri

FreeTDS, MariaDB-11.4.5 eller MySQL, OpenLDAP-2.6.9, PostgreSQL-17.4, SQLite-3.49.1, unixODBC-2.3.12, 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.9, 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.1

Introduksjon til Aspell

Aspell pakken inneholder et interaktivt stavekontrollprogram og Aspell biblioteker. Aspell kan enten brukes som et bibliotek eller som en uavhengig stavekontroll.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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://ftp.gnu.org/gnu/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.1/aspell{,-dev}.html &&

install -v -m644 manual/aspell.html/* \
    /usr/share/doc/aspell-0.60.8.1/aspell.html &&

install -v -m644 manual/aspell-dev.html/* \
    /usr/share/doc/aspell-0.60.8.1/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.2.

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.87.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Notat

Denne pakken vil pakke ut til boost-1.87.0/ mappen.

Pakkeinformasjon

Boost Avhengigheter

Anbefalt
Valgfri

ICU-76.1, NumPy-2.2.3, 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.

For å kjøre hvert biblioteks regresjonstester, utsted pushd status; ../b2 -j$(nproc); popd. Noen få tester kan mislykkes. Det tar veldig lang tid (over 119 SBU ved -j4) og bruker en veldig stor mengde diskplass 46 GB).

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 Python3 brukes hvis Python2 er installert.

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_numpy313.so, libboost_prg_exec_monitor.so, libboost_program_options.so, libboost_python313.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so, libboost_stacktrace_noop.so, libboost_system.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, og libboost_wserialization.so
Installert Mappe: /usr/include/boost

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.1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Brotli Avhengigheter

Påkrevd

CMake-3.31.5

Valgfri

pytest-8.3.4 (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  \
      ..  &&
make

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install

Bygg om ønskelig Python3 bindinger:

cd .. &&
sed "/c\/.*\.[ch]'/d;\
     /include_dirs=\[/\
     i libraries=['brotlicommon','brotlidec','brotlienc']," \
    -i setup.py &&
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: Stopp 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.13/site-packages/Brotli-1.1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

CLucene Avhengigheter

Påkrevd

CMake-3.31.5

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 BUILD_CONTRIBS_LIB=ON .. &&
make

Nå, som root bruker:

make install

Parameterforklaringer

-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.

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.112

Introduksjon til D-Bus GLib

D-Bus GLib pakken inneholder GLib grensesnittet til D-Bus API.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

D-Bus GLib Avhengigheter

Påkrevd

dbus-1.16.0 og GLib-2.82.5

Valgfri

GTK-Doc-1.34.0

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.3.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Double-conversion Avhengigheter

Påkrevd

CMake-3.31.5

Installasjon av Double-conversion

Installer Double-conversion ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D BUILD_SHARED_LIBS=ON      \
      -D BUILD_TESTING=ON          \
      ..                          &&
make

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.2

Introduksjon til enchant

enchant pakken gir et generisk grensesnitt inn i ulike eksisterende stavekontrollbiblioteker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

enchant Avhengigheter

Påkrevd

GLib-2.82.5

Anbefalt
Valgfri

dbus-glib-0.112, Doxygen-1.13.2, 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    \
            --disable-static \
            --docdir=/usr/share/doc/enchant-2.8.2 &&
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.1):

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.2

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.5

Introduksjon til Exempi

Exempi er en implementering av XMP (Adobe sin utvidbare metadataplattform).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://libopenraw.freedesktop.org/download/exempi-2.6.5.tar.xz

  • Nedlasting MD5 sum: 51fe14c2a5fa44816ba8187c6ad87d78

  • Nedlastingsstørrelse: 2.7 MB

  • Estimert diskplass som kreves: 289 MB (legg til 236 MB for testene)

  • Estimert byggetid: 0.4 SBU (legg til 0.6 SBU for testene; begge bruker parallellisme=4)

Exempi Avhengigheter

Påkrevd

Boost-1.87.0

Valgfri

Valgrind-3.24.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

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-11.1.4

Introduksjon til fmt

fmt pakken er en åpen kildekode formaterings bibliotek som gir et raskt og trygt alternativ til C stdio og C++ iostreams.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

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: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D FMT_TEST=OFF: Denne bryteren initialiserer pakketestene. Sett til ON hvis du ønsker å kjøre tester.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libfmt.so
Installerte Mapper: /usr/include/fmt and /usr/lib/cmake/fmt

GLib-2.82.5

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gnome.org/sources/glib/2.82/glib-2.82.5.tar.xz

  • Nedlasting MD5 sum: 87c7641e80b23a05b8ab506d52c970e3

  • Nedlastingsstørrelse: 5.3 MB

  • Estimert diskplass som kreves: 229 MB (legg til 22 MB for tester)

  • Estimert byggetid: 0.7 SBU (legg til 0.4 SBU for tester; begge bruker parallellisme=4)

Ytterligere Nedlastinger

GObject Introspection (Recommended)

Oppdatering for loggnivåvalg (valgfritt)

GLib Avhengigheter

Anbefalt
Valgfri

Cairo-1.18.2 (for noen GObject Introspection tester), dbus-1.16.0 (for noen tester), Fuse-3.16.2 og bindfs (begge trengs for en testt), GDB-16.2 (for bindinger), Gjs-1.82.1 (for noen GObject Introspection tester), GTK-Doc-1.34.0 (for GObject Introspection dokumentasjon), docbook-xml-4.5, docbook-xsl-nons-1.79.2, Gi-DocGen-2025.3 (for å bygge API dokumentasjonen), glib-networking-2.80.1 (for noen tester, men dette er en sirkulær avhengighet), Mako-1.3.9 og Markdown-3.7 (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.48, 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.82.0.tar.xz &&

meson setup gobject-introspection-1.82.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-2025.3 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

Som root bruker, installer denne pakken på nytt for introspection data (og eventuelt dokumentasjonen):

ninja install

Du bør nå installere desktop-file-utils-0.28 og shared-mime-info-2.4 og fortsette for å kjøre testpakken.

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.

For å teste resultatene, etter å ha installert pakkene, utsted: LC_ALL=C ninja test som ikke-root bruker.

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.82.5 (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-313-<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.7

Introduksjon til GLibmm

GLibmm pakken er et sett med C++ bindinger for GLib.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GLibmm Avhengigheter

Påkrevd

GLib-2.82.5 og libsigc++-2.12.1

Valgfri

Doxygen-1.13.2, glib-networking-2.80.1 (for tester), GnuTLS-3.8.9 (for tester), libxslt-1.1.42, 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.82.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GLibmm Avhengigheter

Påkrevd

GLib-2.82.5 og libsigc++-3.6.0

Valgfri

Doxygen-1.13.2, glib-networking-2.80.1 (for tester), GnuTLS-3.8.9 (for tester), libxslt-1.1.42, 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.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GMime Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt) og libgpg-error-1.51

Valgfri

DocBook-utils-0.6.14, GPGME-1.24.2, GTK-Doc-1.34.0, libnsl-2.0.1, Vala-0.56.17, 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.

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.5.5

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

På GitHub har vi splittet oppstrømsdepotet til vårt eget lfs-book navneområde og gjenskapte en tag for utgivelsen. Dette gjøres for å sikre at det nedlastede tarball filnavnet er korrekt og konsistent (dvs. det skal ikke endres når du bruker nettleseren i stedet for et verktøy som f.eks. 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åkatalogen (som Git ikke sporer).

gmmlib Avhengigheter

Påkrevd

CMake-3.31.5

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/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.0.2

Installasjon av Gsl

Installer Gsl ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du har sphinx_rtd_theme-3.0.2 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.0

Introduksjon til gspell

gspell pakken gir en fleksibel API for å legge til stavekontroll i en GTK+ applikasjon.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

gspell Avhengigheter

Påkrevd

enchant-2.8.2, ICU-76.1, og GTK-3.24.48

Valgfri

GLib-2.82.5 (med GObject Introspection), GTK-Doc-1.34.0, Vala-0.56.17, Valgrind-3.24.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.2.0

Introduksjon til highway

highway pakken inneholder et C++ bibliotek som gir flyttbart SIMD/vektor innhold.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

highway Avhengigheter

Påkrevd

CMake-3.31.5

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-76.1

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 76.1) vil kreve ombygging av mange andre pakker. Hvis noen pakker som bruker bibliotekene bygget av icu4c-76 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

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ICU Avhengigheter

Valgfri

Doxygen-1.13.2 (for dokumentasjon)

Installasjon av ICU

Notat

Denne pakken utvides til mappen icu.

Installer ICU ved å kjøre følgende kommandoer:

cd source                 &&

./configure --prefix=/usr &&
make

For å teste resultatene, utsted: make check.

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-58

Introduksjon til inih

Denne pakken er en enkel .INI filanalyser skrevet i C.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av inih

Installer inih 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: libinih.so og libINIReader.so
Installerte Mapper: Ingen

Korte Beskrivelser

libinih.so

er hovedbiblioteket til inih

libINIReader.so

er analysebiblioteket til inih

Jansson-2.14

Introduksjon til Jansson

Jansson pakken inneholder et bibliotek som brukes til kode, dekode og manipulere JSON data.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av Jansson

Rett først en av testene:

sed -e "/DT/s;| sort;| sed 's/@@libjansson.*//' &;" \
    -i test/suites/api/check-exports

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

JSON-C Avhengigheter

Påkrevd

CMake-3.31.5

Valgfri (for dokumentasjon)

Doxygen-1.13.2 og Graphviz-12.2.1 (for dot verktøy)

Installasjon av JSON-C

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.13.2 og Graphviz-12.2.1, 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.6

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

JSON-GLib Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection påkrevd vis GNOME bygges)

Valgfri

GTK-Doc-1.34.0

Installasjon av JSON GLib

Installer JSON GLib ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
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.34.0 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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]

Library routines --->
  Crypto library routines --->
    # If not built into the kernel, [BIG_KEYS] won't show up;
    # building as a module won't work:
    <*> ChaCha20-Poly1305 AEAD support (8-byte nonce library version)
                                              ...  [CRYPTO_LIB_CHACHA20POLY1305]

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av libaio

Først deaktiverer du installasjonen av det statiske biblioteket:

sed -i '/install.*libaio.a/s/^/#/' src/Makefile

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.7.7

Introduksjon til libarchive

libarchive biblioteket gir et enkelt grensesnitt for lesing/skriving av ulike komprimeringsformater.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libarchive Avhengigheter

Valgfri

libxml2-2.13.6, LZO-2.10, Nettle-3.10.1, og pcre2-10.45

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 setter expat for xar arkiv formatstøtte i stedet for foretrukket libxml2 hvis begge pakkene er installert.

--with-nettle: Denne bryteren setter 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libassuan Avhengigheter

Påkrevd

libgpg-error-1.51

Valgfri

texlive-20240312 (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-20240312 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.8.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.8.2 &&
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.8.2

Korte Beskrivelser

libatomic_ops.so

inneholder funksjoner for atomic minneoperasjoner

libblockdev-3.3.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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libblockdev Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection påkrevd for GNOME)

Anbefalt
Valgfri

btrfs-progs-6.13, GTK-Doc-1.34.0, JSON-GLib-1.10.6, mdadm-4.3, parted-3.6, smartmontools-7.4, 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    &&
make

Testpakken krever targetcli, som ikke er en del av BLFS.

Nå, som root bruker:

make install

Parameterforklaringer

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-btrfs --without-mdraid --without-tools: Kombinasjonen av disse bryterne tillater bygging av libblockdev uten libbytesize-2.11 installert. --without-mdraid alternativet vil bryte UDisks-2.10.1, så ikke bruk det med mindre du virkelig vet hva du gjør.

--without-crypto: Denne bryteren tillater bygging av libblockdev uten cryptsetup-2.7.5 eller keyutils-1.6.3 installert. Denne bryteren vil bryte UDisks-2.10.1, 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.30 installert. --without-dm og --without-mpath alternativene er ikke i instruksjonene gitt av boken fordi LVM2-2.03.30 er påkrevd for cryptsetup-2.7.5 og cryptsetup-2.7.5 er uansett en anbefalt avhengighet av libblockdev.

--without-nvme: Denne bryteren tillater bygging av libblockdev uten libnvme-1.11.1 installert. Denne bryteren vil bryte UDisks-2.10.1, 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.11

Introduksjon til libbytesize

libbytesize pakken er et bibliotek som letter de vanlige operasjonene med størrelser i byte.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libbytesize Avhengigheter

Påkrevd

pcre2-10.45 og Pygments-2.19.1

Valgfri

GTK-Doc-1.34.0, 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.13/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-19.1.7

Introduksjon til libclc

libclc pakken inneholder en implementering av bibliotekkravene til programmeringsspråket OpenCL C, som spesifisert av OpenCL 1.1 spesifikasjonen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libclc Avhengigheter

Påkrevd

SPIRV-LLVM-Translator-19.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. To tester, external-calls-clspv--.bc og external-calls-clspv64--.bc, er kjent for å mislykkes pga ugyldig syntaks.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libcloudproviders Avhengigheter

Påkrevd

GLib-2.82.5 (med GObject Introspection) og Vala-0.56.17

Valgfri

GTK-Doc-1.34.0

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.34.0 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libdaemon Avhengigheter

Valgfri

Doxygen-1.13.2 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.2.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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libdisplay-info Avhengigheter

Påkrevd

hwdata-0.392

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: Ingen
Installert Bibliotek: libdisplay-info.so
Installerte Mapper: /usr/include/libdisplay-info

libgcrypt-1.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgcrypt Avhengigheter

Påkrevd

libgpg-error-1.51

Valgfri

texlive-20240312 (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.11.0 &&
install -v -m644    README doc/{README.apichanges,fips*,libgcrypt*} \
                    /usr/share/doc/libgcrypt-1.11.0 &&

install -v -dm755   /usr/share/doc/libgcrypt-1.11.0/html &&
install -v -m644 doc/gcrypt.html/* \
                    /usr/share/doc/libgcrypt-1.11.0/html &&
install -v -m644 doc/gcrypt_nochunks.html \
                    /usr/share/doc/libgcrypt-1.11.0      &&
install -v -m644 doc/gcrypt.{txt,texi} \
                    /usr/share/doc/libgcrypt-1.11.0

Parameterforklaringer

--with-capabilities: Dette alternativet aktiverer libcap2 støtte. Merk at dette ødelegger cryptsetup-2.7.5

Innhold

Installerte Programmer: dumpsexp, hmac256, og mpicalc
Installert Bibliotek: libgcrypt.so
Installert Mappe: /usr/share/doc/libgcrypt-1.11.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.51

Introduksjon til libgpg-error

libgpg-error pakken inneholder et bibliotek som definerer vanlige feilverdier for alle GnuPG komponenter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av libgpg-error

Installer libgpg-error ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install &&
install -v -m644 -D README /usr/share/doc/libgpg-error-1.51/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.51

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.53

Introduksjon til libgsf

libgsf pakken inneholder et bibliotek som brukes for å gi et utvidbart inndata/utdata abstraksjonslag for strukturerte filformater.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgsf Avhengigheter

Påkrevd

GLib-2.82.5 og libxml2-2.13.6

Anbefalt
Valgfri

7zip-24.09 (for tester), GTK-Doc-1.34.0, Valgrind-3.24.0 (for tester), og unzip (for tester)

Installasjon av libgsf

Installer libgsf ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check. To tester relatert til Valgrind-3.24.0 er kjent for å feile.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Påkrevd

GLib-2.82.5 (GObject Introspection påkrevd for GNOME)

Valgfri

GTK-Doc-1.34.0 og umockdev-0.19.1 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgusb Avhengigheter

Påkrevd

JSON-GLib-1.10.6 og libusb-1.0.27

Anbefalt
Valgfri

Gi-DocGen-2025.3 og umockdev-0.19.1 (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-2025.3 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.

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-2025.3 installert. Hvis du har Gi-DocGen-2025.3 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.19

Introduksjon til libical

libical pakken inneholder en implementering av iCalendar protokollene og dataformatene.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libical Avhengigheter

Påkrevd

CMake-3.31.5

Anbefalt
Valgfri

Doxygen-1.13.2 (for API dokumentasjon), Graphviz-12.2.1 (for API dokumentasjon), GTK-Doc-1.34.0 (for API dokumentasjon), ICU-76.1, PyGObject-3.50.0 (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 ICAL_BUILD_EXAMPLES=false  \
      -D GOBJECT_INTROSPECTION=true \
      -D ICAL_GLIB_VAPI=true        \
      .. &&
make

Hvis du har Doxygen-1.13.2, Graphviz-12.2.1, og GTK-Doc-1.34.0 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.19/html &&
cp -vr apidocs/html/* /usr/share/doc/libical-3.0.19/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 ICAL_BUILD_EXAMPLES=false: Denne bryteren forhindrer bygging av eksempler. Fjern hvis du vil bygge dem.

-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.17.

-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.19/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.42

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libidn Avhengigheter

Valgfri

Emacs-30.1, GTK-Doc-1.34.0, OpenJDK-23.0.2, Valgrind-3.24.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.42     &&
cp -r -v doc/* /usr/share/doc/libidn-1.42

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-23.0.2 må være installert for å bruke dette alternativet.

Innhold

Installert Program: idn
Installert Bibliotek: libidn.so
Installerte Mapper: /usr/share/doc/libidn-1.42 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.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/libidn/libidn2-2.3.7.tar.gz

  • Nedlasting MD5 sum: de2818c7dea718a4f264f463f595596b

  • 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.48.1 og GTK-Doc-1.34.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Libksba Avhengigheter

Påkrevd

libgpg-error-1.51

Valgfri

Valgrind-3.24.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-248

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Notat

Etter å ha oppdatert denne pakken fra liblinear-247 eller tidligere, må du installer Nmap-7.95 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.26.4

Introduksjon til libmbim

libmbim pakken inneholder et GLib basert bibliotek for å snakke med WWAN modemer og enheter som snakker mobilgrensesnittet Broadband Model (MBIM) protokollen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libmbim Avhengigheter

Anbefalt
Valgfri

GTK-Doc-1.34.0 og help2man

Installasjon av libmbim

Installer libmbim 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

Installerte Programmer: mbimcli og mbim-network
Installerte Biblioteker: libmbim-glib.so
Installerte Mapper: /usr/include/libmbim-glib og /usr/share/gtk-doc/html/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.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libnvme Avhengigheter

Valgfri

JSON-C-0.18, keyutils-1.6.3, og SWIG-4.3.0

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

Korte Beskrivelser

libnvme.so

inneholder funksjoner som brukes til å håndtere operasjoner relatert til NVMe enheter.

libpaper-2.2.6

Introduksjon til libpaper

Denne pakken er ment å gi en enkel måte for programmer å ta handlinger basert på et system eller brukerspesifisert papirstørrelse.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.6 &&
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.6

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libportal Avhengigheter

Påkrevd

GLib-2.82.5 (med GObject Introspection)

Anbefalt
Anbefalt (Kjøretid)

For å gjøre denne pakken virkelig nyttig, installer xdg-desktop-portal-1.20.0, xdg-desktop-portal-gtk-1.15.2, xdg-desktop-portal-gnome-47.3 (hvis du kjører et GNOME skrivebordsmiljø), og xdg-desktop-portal-lxqt-1.1.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-2025.3 (for dokumentasjon), dbusmock-0.34.3 og pytest-8.3.4 (for testing), Qt-6.8.2, og Vala-0.56.17

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

Installer libportal 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-2025.3 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 docs=false: Tillat å bygge denne pakken uten Gi-DocGen-2025.3 installert. Hvis du har Gi-DocGen-2025.3 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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libptytty Avhengigheter

Påkrevd

CMake-3.31.5

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.5.1

Introduksjon til libqalculate

libqalculate pakken inneholder et bibliotek som gir funksjoner for en flerbrukskalkulator.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libqalculate Avhengigheter

Påkrevd

cURL-8.12.1, ICU-76.1, og libxml2-2.13.6

Valgfri

Doxygen-1.13.2 og gnuplot

Installasjon av libqalculate

Installer libqalculate ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libqalculate-5.5.1 &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Libtool arkivfilen fra denne pakken refererer til biblioteker fra ICU-76.1. 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.5.1, og /usr/share/qalculate

Korte Beskrivelser

qalc

er en kraftig og brukervennlig kommandolinjekalkulator

libqalculate.so

inneholder libqalculate API funksjoner

libqmi-1.30.8

Introduksjon til libqmi

libqmi pakken inneholder et GLib basert bibliotek for å snakke med WWAN modemer og enheter som snakker Qualcomm MSM grensesnitt (QMI) protokoll.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libqmi Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt) og libgudev-238

Anbefalt
Valgfri

GTK-Doc-1.34.0, help2man, og libqrtr-glib

Installasjon av libqmi

Installer libqmi ved å kjøre følgende kommandoer:

PYTHON=python3 ./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.

--disable-mbim-qmux: Denne bryteren deaktiverer støtte for å bruke en MBIM kontrollenhet for QMI meldinger. Bruk denne bryteren hvis du ikke har installert libmbim.

Innhold

Installerte Programmer: qmicli, qmi-firmware-update, og qmi-network
Installerte Biblioteker: libqmi-glib.so
Installerte Mapper: /usr/include/libqmi-glib og /usr/share/gtk-doc/html/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libseccomp Avhengigheter

Valgfri

Which-2.23 (nødvendig for tester), Valgrind-3.24.0, cython-3.0.12 (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.0.12 er installert. Alternativet --disable-static må ikke gis hvis dette alternativet brukes.

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++.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libsigc++ Avhengigheter

Anbefalt
Valgfri

DocBook-utils-0.6.14, docbook-xml-5.0, Doxygen-1.13.2, fop-2.10, og mm-common

Installasjon av libsigc++

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.13.2 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libsigc++ Avhengigheter

Anbefalt
Valgfri

DocBook-utils-0.6.14, docbook-xml-5.0, Doxygen-1.13.2, fop-2.10, og mm-common

Installasjon av libsigc++

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.13.2 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.14

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libssh2 Avhengigheter

Valgfri

CMake-3.31.5 (kan brukes i stedet for configure skript), libgcrypt-1.11.0 (kan brukes i stedet for OpenSSL), OpenSSH-9.9p2 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.20.0

Introduksjon til libtasn1

libtasn1 er et svært flyttbart C bibliotek som koder og dekoder DER/BER data etter et ASN.1 skjema.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libtasn1 Avhengigheter

Valgfri

GTK-Doc-1.34.0 og Valgrind-3.24.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.3

Introduksjon til libunistring

libunistring er et bibliotek som tilbyr funksjoner for å manipulere Unicode strenger og for å manipulere C strenger i henhold til Unicode standarden.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/libunistring/libunistring-1.3.tar.xz

  • Nedlasting MD5 sum: 57dfd9e4eba93913a564aa14eab8052e

  • Nedlastingsstørrelse: 2.6 MB

  • Estimert diskplass som kreves: 58 MB (legg til 46 MB for tester)

  • Estimert byggetid: 0.6 SBU (legg til 0,3 SBU for tester; begge bruker parallellisme=4)

libunistring Avhengigheter

Valgfri

texlive-20240312 (eller install-tl-unx) (for å gjenoppbygge dokumentasjonen)

Installasjon av libunistring

Installer libunistring ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libunistring-1.3 &&
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.3

Korte Beskrivelser

libunistring.so

gir unicode strengbibliotek API

libunwind-1.8.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libunwind Avhengigheter

Valgfri

texlive-20240312 (for latex2man)

Installasjon av libunwind

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.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av liburcu

Installer liburcu ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/liburcu-0.15.1 &&
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.1

libusb-1.0.27

Introduksjon til libusb

libusb pakken inneholder et bibliotek som brukes av enkelte programmer for tilgang til USB enheter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libusb Avhengigheter

Valgfri

Doxygen-1.13.2

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.27/apidocs &&
install -v -m644    doc/api-1.0/* \
                    /usr/share/doc/libusb-1.0.27/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.27

Korte Beskrivelser

libusb-1.0.so

inneholder API funksjoner som brukes for å få tilgang til USB maskinvare

libuv-1.50.0

Introduksjon til libuv

libuv pakken er en flerplattformstøttebibliotek med fokus på asynkron I/O.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libuv Avhengigheter

Valgfri

sphinx-8.2.1

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-8.2.1 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.8.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

På GitHub har vi splittet oppstrømsdepotet til vårt eget lfs-book navneområde og gjenskapte en tag for utgivelsen. Dette gjøres for å sikre at det nedlastede tarball filnavnet er korrekt og konsistent (dvs. det skal ikke endres når du bruker nettleseren i stedet for et verktøy som f.eks. 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åkatalogen (som Git ikke sporer).

libxkbcommon Avhengigheter

Påkrevd

xkeyboard-config-2.44 (kjøretid)

Anbefalt
Valgfri

Doxygen-1.13.2 (for å generere dokumentasjonen) og Xvfb (fra Xorg-Server-21.1.16 eller Xwayland-24.1.6)

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.44 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.13.2 er påkrevd.

mv -v /usr/share/doc/libxkbcommon{,-1.8.0}: 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 /usr/share/doc/libxkbcommon-1.8.0

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.13.6

Introduksjon til libxml2

libxml2 pakken inneholder biblioteker og verktøy som brukes til å analysere XML filer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

libxml2 Avhengigheter

Anbefalt
Valgfri

Valgrind-3.24.0 (kan brukes i testene)

Installasjon av libxml2

Installer libxml2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --sysconfdir=/etc       \
            --disable-static        \
            --with-history          \
            --with-icu              \
            PYTHON=/usr/bin/python3 \
            --docdir=/usr/share/doc/libxml2-2.13.6 &&
make

Hvis du lastet ned testpakken, kjør følgende kommando:

tar xf ../xmlts20130923.tar.gz

For å teste resultatene, kjør: make check > check.log. Denne kommandoen vil skrive ut flere linjer med feilmeldinger som «Failed to parse xstc/...» fordi noen testfiler mangler og disse meldingene kan trygt ignoreres. En oppsummering av resultatene kan fås med grep -E '^Total|expected|Ran' check.log. Hvis Valgrind-3.24.0 er installert og du vil se etter minnelekkasjer, bytt ut check med check-valgrind.

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:

systemctl stop httpd.service

Nå, som root bruker:

make install

Til slutt, forhindre at noen pakker unødvendig kobles til ICU, bruk følgende kommandoer som root bruker:

rm -vf /usr/lib/libxml2.la &&
sed '/libs=/s/xml2.*/xml2"/' -i /usr/bin/xml2-config

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-history: Denne bryteren aktiverer Readline støtte når du kjører xmlcatalog eller xmllint i skallmodus.

--with-icu: 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.

PYTHON=/usr/bin/python3: Tillater bygging av libxml2 modulen med Python3 i stedet for Python2.

Innhold

Installerte Programmer: xml2-config, xmlcatalog, og xmllint
Installerte Biblioteker: libxml2.so
Installerte Mapper: /usr/include/libxml2, /usr/lib/cmake/libxml2, /usr/share/doc/libxml2-2.13.6, og /usr/share/gtk-doc/html/libxml2

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.21

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libxmlb Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt)

Valgfri

GTK-Doc-1.34.0 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.34.0 installert og ønsker å bygge API dokumentasjon.

-D introspection=false: Bruk denne bryteren hvis du ikke har bygget GLib-2.82.5 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.42

Introduksjon til libxslt

libxslt pakken inneholder XSLT biblioteker som brukes til å utvide libxml2 bibliotekene til å støtter XSLT filer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libxslt Avhengigheter

Påkrevd

libxml2-2.13.6

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.11.0

Installasjon av libxslt

Installer libxslt ved å kjøre følgende kommandoer:

./configure --prefix=/usr                          \
            --disable-static                       \
            --docdir=/usr/share/doc/libxslt-1.1.42 &&
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: 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.42, og /usr/share/doc/libxslt-python-1.1.42

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.14.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libwacom Avhengigheter

Påkrevd

libevdev-1.13.3 og libgudev-238

Anbefalt
Valgfri

Doxygen-1.13.2, git-2.48.1, librsvg-2.59.2, Valgrind-3.24.0 (valgfritt for noen tester), og pytest-8.3.4 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-8.3.4, 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-8.3.4 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libyaml Avhengigheter

Valgfri

Doxygen-1.13.2

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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.14.0

Introduksjon til Node.js

Node.js er en JavaScript kjøretid bygget på Chrome sin V8 JavaScript motor.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nodejs.org/dist/v22.14.0/node-v22.14.0.tar.xz

  • Nedlasting MD5 sum: 46fbebddd5da0ded77ec54ebb5134b3e

  • Nedlastingsstørrelse: 46 MB

  • Estimert diskplass som kreves: 1.3 GB (legg til 45 MB for tester)

  • Estimert byggetid: 17 SBU (legg til 2.8 SBU for tester: både ved å bruke parallellisme=8 og 8 CPUer tilgjengelige, deler av testene vil bruke alle tilgjengelige CPUer)

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 til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 før du tester denne pakken.

Installasjon av Node.js

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 4200 tester er 5 i "parallel" testpakken kjent for å mislykkes.

Nå, som root bruker:

make install &&
ln -sf node /usr/share/doc/node-22.14.0

Parameterforklaringer

--with-intl=system-icu: bruk 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}: bruk de systeminstallerte bibliotekene i stedet for lokale kopier.

--without-npm: ikke bygg npm (bruk hvis du vil bygge en separat npm senere).

--shared-http-parser: bruk det system installert biblioteket i stedet for en lokal kopi.

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.14.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

/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.36

Introduksjon til NSPR

Netscape Portable Runtime (NSPR) gir en plattformnøytral API for systemnivå og libc lignende funksjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

PCRE2-10.45

Introduksjon til PCRE2

PCRE2 pakken inneholder en ny generasjon av Perl Compatible Regular Expression biblioteker. Disse er nyttige for å implementere regulære uttrykksmønster samsvarende med samme syntaks og semantikk som Perl.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

PCRE2 Avhengigheter

Valgfri

Valgrind-3.24.0 og libedit

Installasjon av PCRE2

Installer PCRE2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr                       \
            --docdir=/usr/share/doc/pcre2-10.45 \
            --enable-unicode                    \
            --enable-jit                        \
            --enable-pcre2-16                   \
            --enable-pcre2-32                   \
            --enable-pcre2grep-libz             \
            --enable-pcre2grep-libbz2           \
            --enable-pcre2test-libreadline      \
            --disable-static                    &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-unicode: Denne bryteren aktiverer Unicode støtte og inkluderer funksjonene for håndtering av UTF-8/16/32 tegn strenger i biblioteket.

--enable-pcre2-16: Denne bryteren aktiverer 16 bit karakterstøtte.

--enable-pcre2-32: Denne bryteren aktiverer 32 bit karakterstøtte.

--enable-pcre2grep-libz: Denne bryteren legger til støtte for å lese .gz-komprimerte filer til pcre2grep.

--enable-pcre2grep-libbz2: Denne bryteren legger til støtte for å lese .bz2 compressed filer til pcre2grep.

--enable-pcre2test-libreadline: Denne bryteren legger til linjeredigering og historiefunksjoner til pcre2test programmet.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-jit: dette alternativet aktiverer Just-in-time kompilering, noe som kan øke hastigheten på mønstertilpasning.

Innhold

Installerte Programmer: pcre2-config, pcre2grep, og pcre2test.
Installerte Biblioteker: libpcre2-8.so, libpcre2-16.so, libpcre2-32.so, og libpcre2-posix.so
Installerte Mapper: /usr/share/doc/pcre2-10.45

Korte Beskrivelser

pcre2grep

er en versjon av grep som forstår Perl compatible regular expressions.

pcre2test

kan teste et Perl compatible regular expression.

pcre2-config

sender ut kompileringsinformasjon til programmer som kobler mot PCRE2 biblioteker

Popt-1.19

Introduksjon til Popt

popt pakken inneholder popt biblioteker som brukes av noen programmer for å analysere kommandolinjealternativer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

popt Avhengigheter

Valgfri

Doxygen-1.13.2 (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.13.2 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-29.3

Introduksjon til Protobuf

Protobuf pakken inneholder verktøy og biblioteker for bruk av data i Googles datautvekslingsformat.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Protobuf Avhengigheter

Påkrevd

Abseil-cpp-20250127.0 og CMake-3.31.5

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_ABSL_PROVIDER=package \
      -D protobuf_BUILD_LIBUPB=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_ABSL_PROVIDER=package: Denne parameteren lar byggesystemet bruke den systeminstallerte kopien av Abseil-cpp-20250127.0.

-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-29.3.0 og protoc (en symbolkobling til protoc-29.3.0)
Installerte Biblioteker: libprotobuf.so, libprotobuf-lite.so, libprotoc.so, libutf8_range.so, og libutf8_validity.so
Installerte Mapper: /usr/include/google, /usr/include/java, /usr/include/upb_generator, /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

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.1

Introduksjon til Protobuf-c

Protobuf-c pakken inneholder en implementering av dataserialiseringsformatet for Google Protocol Buffers i C.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Protobuf-c Avhengigheter

Påkrevd

Protobuf-29.3

Valgfri

Doxygen-1.13.2

Installasjon av Protobuf-c

Installer Protobuf-c 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: 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.9

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Qca Avhengigheter

Påkrevd

make-ca-1.15, CMake-3.31.5, Qt-6.8.2, og Which-2.23

Valgfri

Cyrus SASL-2.1.28, GnuPG-2.4.7, libgcrypt-1.11.0, libgpg-error-1.51, nss-3.108, NSPR-4.36, p11-kit-0.25.5, Doxygen-1.13.2, 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.8.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.11.0

Introduksjon til qcoro

Denne pakken inneholder et sett med verktøy for å bruke C++20 korutiner med Qt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

qcoro Avhengigheter

Påkrevd

Qt-6.8.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

SpiderMonkey fra firefox-128.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

SpiderMonkey Avhengigheter

Påkrevd

Cbindgen-0.28.0, ICU-76.1, 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 deg å untare firefox-128.7.0esr.tar.xz og gå inn i firefox-128.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.

Hvis du bruker ICU-76.1 eller nyere, må du tilpasse byggesystemet til å bruke riktig bibliotek:

sed -i 's/icu-i18n/icu-uc &/' js/moz.configure

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

Hvis du ønsker å kjøre testpakken, må du tilpasse den til å være kompatibel med Python 3.13.0 eller nyere:

sed 's/pipes/shlex/' -i ../js/src/tests/lib/results.py

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 systemets ICU, 155 tester (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, utfør følgende kommando. Merk at 6 tester i 'timezone.js' pakken er kjent for å mislykkes på grunn av ICU-76.

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 (128 in 128.7.0). For å omgå dette problemet, fjern den gamle versjonen av SpiderMonkey delte bibliotek før installasjonen:

rm -fv /usr/lib/libmozjs-128.so

Nå, som root bruker:

make install &&
rm -v /usr/lib/libjs_static.ajs &&
sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js128-config

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/js128-config: Forhindrer js128-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: js128 og js128-config
Installerte Biblioteker: libmozjs-128.so
Installerte Mapper: /usr/include/mozjs-128

Korte Beskrivelser

js128

gir et kommandolinjegrensesnitt til JavaScript motoren

js128-config

brukes til å finne SpiderMonkey kompilatoren og linkerflaggene

libmozjs-128.so

inneholder Mozilla JavaScript API funksjoner

SPIRV-Headers-1.4.304.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

SPIRV-Headers Avhengigheter

Påkrevd

CMake-3.31.5

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.304.1

Introduksjon til SPIRV-Tools

SPIRV-Tools pakken inneholder biblioteker og verktøy for behandling av SPIR-V moduler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

SPIRV-Tools Avhengigheter

Påkrevd

CMake-3.31.5 og SPIRV-Headers-1.4.304.1

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.304.1 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.304.1 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-19.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

SPIRV-LLVM-Translator Avhengigheter

Påkrevd

libxml2-2.13.6, LLVM-19.1.7, og SPIRV-Tools-1.4.304.1

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.3

Introduksjon til Talloc

Talloc gir en hierarkisk referanse tellet minnebassengsystem med destruktorer. Det er kjerneminne fordeler brukt i Samba.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Talloc Avhengigheter

Valgfri

docbook-xml-4.5, docbook-xsl-nons-1.79.2 og libxslt-1.1.42 (For å generere mansider), GDB-16.2, git-2.48.1, libnsl-2.0.1, libtirpc-1.3.6, Valgrind-3.24.0, og xfsprogs-6.13.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-313-<arch>-linux-gnu.so, libpytalloc-util.cpython-313-<arch>-linux-gnu.so, libtalloc.so, and talloc.cpython-313-<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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Uchardet Avhengigheter

Påkrevd

CMake-3.31.5

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          \
      -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.

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.1

Introduksjon til Umockdev

Umockdev pakken inneholder et rammeverk som lar en utvikler etterligne enheter for bruk i enhetstesting.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Umockdev Avhengigheter

Påkrevd

libgudev-238, libpcap-1.10.5, og Vala-0.56.17

Valgfri

GTK-Doc-1.34.0, Valgrind-3.24.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.34.0 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.6

Introduksjon til utfcpp

utfcpp pakken inneholder et sett med include filer for å gi UTF-8 med C++ på en Portabel måte.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

utfcpp Avhengigheter

Påkrevd

CMake-3.31.5

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/utfcpp og /usr/share/utfcpp

Wayland-1.23.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Wayland Avhengigheter

Påkrevd

libxml2-2.13.6

Valgfri

Doxygen-1.13.2, Graphviz-12.2.1 og xmlto-0.0.29 (for å bygge API dokumentasjonen) og docbook-xml-4.5, docbook-xsl-nons-1.79.2 og libxslt-1.1.42 (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.40

Introduksjon til Wayland-Protocols

Wayland-Protocols pakken inneholder ekstra Wayland protokoller som legger til funksjonalitet utenfor protokoller allerede i Waylandkjernen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Wayland-protocols Avhengigheter

Påkrevd

Wayland-1.23.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

wv Avhengigheter

Påkrevd

libgsf-1.14.53 og libpng-1.6.46

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.27

Introduksjon til xapian

Xapian er et åpen kildekode søkemotorbibliotek.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://oligarchy.co.uk/xapian/1.4.27/xapian-core-1.4.27.tar.xz

  • Nedlasting MD5 sum: 1b72c939a283c1e61ff6743e7d859041

  • Nedlastingsstørrelse: 3.1 MB

  • Estimert diskplass som kreves: 146 MB (legg til 169 MB for tester)

  • Estimert byggetid: 0.4 SBU (legg til 9.1 SBU for tester; begge bruker parallellisme=4)

Xapian Avhengigheter

Valgfri

Valgrind-3.24.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.27 &&
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.27, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.110

Introduksjon til Babl

Babl pakken er et dynamiksk, enhver til enhver, pikselformat oversettelsesbibliotek.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Babl Avhengigheter

Anbefalt
Valgfri

Little CMS-2.17 og 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.5

Introduksjon til Exiv2

Exiv2 inneholder et C++ bibliotek og et kommando linjeverktøy for å administrere bilde og video metadata.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Exiv2 Avhengigheter

Påkrevd

CMake-3.31.5

Anbefalt
Valgfri

libssh

Valgfritt for dokumentasjon

Doxygen-1.13.2, Graphviz-12.2.1, og libxslt-1.1.42

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-58.

-D EXIV2_ENABLE_BROTLI=no: Bruk denne bryteren hvis du ikke har installert Brotli-1.1.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.13.3

Introduksjon til FreeType2

FreeType2 pakken inneholder et bibliotek som lar applikasjoner gjengi TrueType fonter riktig.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Ytterligere Dokumentasjon

FreeType2 Avhengigheter

Anbefalt
Valgfri

Brotli-1.1.0 og librsvg-2.59.2

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.13.3.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 --enable-freetype-config --disable-static &&
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.13.3 &&
rm -v /usr/share/doc/freetype-2.13.3/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.

--enable-freetype-config: Denne bryteren sørger for at mansiden for freetype-config er installert.

--without-harfbuzz: Hvis harfbuzz er installert før freetype uten freetype støtte, bruk denne bryteren for å unngå en byggefeil.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: freetype-config
Installert Bibliotek: libfreetype.so
Installerte Mapper: /usr/include/freetype2 og /usr/share/doc/freetype-2.13.3

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.16.0

Introduksjon til Fontconfig

Fontconfig pakken inneholder et bibliotek og støtteprogrammer som brukes til å konfigurere og tilpasse skrifttilgang.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Fontconfig Avhengigheter

Påkrevd

FreeType-2.13.3

Valgfri

bubblewrap-0.11.0 (brukt av noen tester), cURL-8.12.1 og libarchive-3.7.7 (begge brukt av noen tester for å laste ned og trekke ut testfiler), JSON-C-0.18, DocBook-utils-0.6.14 og libxml2-2.13.6, texlive-20240312 (eller install-tl-unx)

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 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-20240312 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.16.0 &&
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.16.0} &&
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.16.0

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.16.0/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.16.0, /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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.54

Introduksjon til gegl

Denne pakken inneholder GEneric Graphics Library, som er en grafbasert bildebehandlingsformat.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gimp.org/pub/gegl/0.4/gegl-0.4.54.tar.xz

  • Nedlasting MD5 sum: e739f5c59b18d3813b7b4ae77372f53d

  • Nedlastingsstørrelse: 5.7 MB

  • Estimert diskplass som kreves: 124 MB (Legg til 4 MB for tester)

  • Estimert byggetid: 0.7 SBU (legg til 0,1 SBU for tester, begge med parallellitet=4)

gegl Avhengigheter

Påkrevd

babl-0.1.110 og JSON-GLib-1.10.6

Anbefalt
Valgfri

asciidoc-10.2.1, Cairo-1.18.2, FFmpeg-7.1 (for øyeblikket ødelagt), gdk-pixbuf-2.42.12, gexiv2-0.14.3, GTK-Doc-1.34.0, jasper-4.2.4, Little CMS-2.17, libraw-0.21.3, librsvg-2.59.2, libspiro-20220722, libtiff-4.7.0, libwebp-1.5.0, luajit-20250212, Pango-1.56.1, Poppler-25.02.0, Ruby-3.4.2, SDL2-2.30.11, v4l-utils-1.28.1, Vala-0.56.17, 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, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-D docs=true: Bruk denne bryteren til å bygge og installere dokumentasjonen (krever GTK-Doc-1.34.0).

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

giflib Avhengigheter

Påkrevd

xmlto-0.0.29

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

Fjern deretter en unødvendig avhengighet av ImageMagick-7.1.1-43 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

Denne pakken kommer ikke med en testpakke.

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

Glad-2.0.8

Introduksjon til Glad

Glad pakken inneholder en generator for lasting av Vulkan, OpenGL, EGL, GLES og GLX kontekster.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Glad Avhengigheter

Valgfri (nødvendig for å kjøre testene)

pytest-8.3.4, rustc-1.85.0, 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.13/site-packages/glad og /usr/lib/python3.13/site-packages/glad2-2.0.8.dist-info

Korte Beskrivelser

glad

genererer lastere for Vulkan, OpenGL, EGL, GLES og GLX kontekster

GLM-1.0.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.1

Innhold

Installert Program: Ingen
Installert Bibliotek: Ingen
Installert Mappe: /usr/include/glm og /usr/share/doc/glm-1.0.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Graphite2 Avhengigheter

Påkrevd

CMake-3.31.5

Anbefalt

FreeType-2.13.3, silgraphite for å bygge comparerender test- og benchmarkingverktøy, og hvis det er tilstede, og harfBuzz-10.4.0 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.13.2, texlive-20240312 (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

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-10.4.0

Introduksjon til Harfbuzz

HarfBuzz pakken inneholder en OpenType tekst formings motor.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

HarfBuzz Avhengigheter

Anbefalt
Valgfri

Cairo-1.18.2 (sirkulær: bygge cairo og alt de anbefalte avhengigheter, inkludert harfbuzz, først, deretter gjenoppbygge harfbuzz hvis cairo bakstykke er nødvendig), git-2.48.1, GTK-Doc-1.34.0, 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-20240312 eller LibreOffice-25.2.1.2 med system harfbuzz.

-D docs=disabled: Hvis GTK-Doc-1.34.0 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.4

Introduksjon til jasper

jasper Prosjektet er en åpen kildekode initiativ for å tilby en gratis programvarebasert referanseimplementering av JPEG-2000 kodeken.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

jasper Avhengigheter

Påkrevd

CMake-3.31.5

Anbefalt
Valgfri

Freeglut-3.6.0 (påkrevd for jiv), Doxygen-1.13.2 (nødvendig for å generere html dokumentasjon), og texlive-20240312 (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.4 \
      ..  &&
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-20240312 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.4

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.17

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Little CMS2 Avhengigheter

Valgfri

libjpeg-turbo-3.0.1 og libtiff-4.7.0

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.2.0

Introduksjon til libavif

libavif pakken inneholder et bibliotek som brukes for koding og dekoding av AVIF filer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libavif Avhengigheter

Påkrevd

libaom-3.12.0

Anbefalt
Valgfri

gtest, libdav1d, libyuv, rav1e, og svt-av1

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 før du tester denne pakken.

Installasjon av libavif

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_BUILD_GDK_PIXBUF=ON  \
      -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

AV1 formatet må legges til lasterens hurtiglager. Som root bruker:

gdk-pixbuf-query-loaders --update-cache

Parameterforklaringer

-D AVIF_CODEC_AOM=ON: Denne bryteren aktiverer AOM kodeken. Denne pakken er ubrukelig uten minst én kodek innebygd.

-D AVIF_BUILD_GDK_PIXBUF=ON: Denne bryteren bygger AVIF lasteren for applikasjoner som bruker gdk-pixbuf. Fjern den hvis du ikke har installert gdk-pixbuf-2.42.12.

-D AVIF_LIBYUV=OFF: Bruk denne bryteren hvis du ikke har installert libyuv.

-D AVIF_CODEC_DAV1D=SYSTEM: Bruk denne bryteren hvis du har installert libdav1d og ønsker å bruke den som en kodek.

-D AVIF_CODEC_RAV1E=SYSTEM: Bruk denne bryteren hvis du har installert rav1e og ønsker å bruke den som en kodek.

-D AVIF_CODEC_SVT=SYSTEM: Bruk denne bryteren hvis du har installert svt-av1 og ønsker å bruke den som en kodek.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libavif.so og libpixbbufloader-avif.so (in /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders)
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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libexif Avhengigheter

Valgfri (å bygge dokumentasjon)

Doxygen-1.13.2 og Graphviz-12.2.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Libgxps Avhengigheter

Påkrevd

GTK-3.24.48, Little CMS-2.17, libarchive-3.7.7, libjpeg-turbo-3.0.1, libtiff-4.7.0, og libxslt-1.1.42

Valgfri

git-2.48.1 og GTK-Doc-1.34.0

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

libjpeg-turbo-3.0.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libjpeg-turbo Avhengigheter

Påkrevd

CMake-3.31.5

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.0.1 \
      .. &&
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.0.1

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.1

Introduksjon til libjxl

libjxl pakken inneholder referanse implementering av JPEG XL bildeformatet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libjxl Avhengigheter

Påkrevd

Brotli-1.1.0, CMake-3.31.5, giflib-5.2.2, highway-1.2.0, Little CMS-2.17, libjpeg-turbo-3.0.1, og libpng-1.6.46

Anbefalt
Valgfri

asciidoc-10.2.1 (for manualsider), Doxygen-1.13.2 og Graphviz-12.2.1 (for dokumentasjon), Java-23.0.2 (for JAR), libavif-1.2.0, libwebp-1.5.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=ON              \
      -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 &&
gdk-pixbuf-query-loaders --update-cache

Parameterforklaringer

gdk-pixbuf-query-loaders --update-cache: Denne kommandoen regenererer GDK Pixbuf loader cache så at den er klar over JPEG-XL-lasteren.

-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=ON: Denne parameteren aktiverer Programtilleggstøtte, som lager programtillegg for gdk-pixbuf-2.42.12 hvis pakken er installert.

-D JPEGXL_INSTALL_JARDIR=/usr/share/java: Dette parameter plasserer JAR filen for JPEG XL støtte i riktig mappe hvis Java-23.0.2 er installert.

Innhold

Installerte Programmer: benchmark_xl, cjxl, djxl, og jxlinfo
Installerte Biblioteker: libjxl.so, libjxl_cms.so, libjxl_extras_codec.so, libjxl_jni.so, libjxl_threads.so, og libpixbufloader-jxl.so (in /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders)
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.so

inneholder ekstra kodekstøtte for JPEG XL bilder

libjxl_jni.so

inneholder et Java grensesnitt for å støtte JPEG XL på systemer hvor Java-23.0.2 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libmng Avhengigheter

Påkrevd

libjpeg-turbo-3.0.1 og Little CMS-2.17

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libmypaint Avhengigheter

Påkrevd

JSON-C-0.18

Anbefalt
Valgfri

Doxygen-1.13.2 (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.46

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av libpng

Hvis du vil oppdatere libpng for å støtte apng filer, bruk det her:

gzip -cd ../libpng-1.6.46-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.46 &&
cp -v README libpng-manual.txt /usr/share/doc/libpng-1.6.46

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.46

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

libraw-0.21.3

Introduksjon til libraw

Libraw er et bibliotek for å lese RAW filer hentet fra digitale kameraer (CRW/CR2, NEF, RAF, DNG og andre).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.libraw.org/data/LibRaw-0.21.3.tar.gz

  • Nedlasting MD5 sum: b9d2b96a8e30ed76ff5b0da19f3fbe81

  • Nedlastingsstørrelse: 1.4 MB

  • Estimert diskplass som kreves: 27 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.21.3 &&
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.0.1 installert.

--enable-jasper: Denne bryteren aktiverer støtte for JPEG2000 bilder. Fjern den hvis du ikke har jasper-4.2.4 installert.

--enable-lcms: Denne bryteren aktiverer støtte for fargebehandling. Fjern den hvis du ikke har Little CMS-2.17 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.21.3

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.59.2

Introduksjon til librsvg

librsvg pakken inneholder et bibliotek og verktøy som brukes til å manipulere, konvertere og vise Scalable Vector Graphic (SVG) bilder.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

librsvg Avhengigheter

Påkrevd

Cairo-1.18.2, cargo-c-0.10.11, gdk-pixbuf-2.42.12, Pango-1.56.1, og rustc-1.85.0

Notat

En Internett-tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.15 før du bygger denne pakken.

Anbefalt
Valgfri

docutils-0.21.2 (for manualsider), Gi-DocGen-2025.3 (for dokumentasjon), og Xorg Fonts (for tester)

Installasjon av librsvg

Først, fiks installasjonsbanen til API dokumentasjonen:

sed -e "/OUTDIR/s|,| / 'librsvg-2.59.2', '--no-namespace-dir',|" \
    -e '/output/s|Rsvg-2.0|librsvg-2.59.2|'                      \
    -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:

ninja test

En test, Rust tests (rsvg), er kjent for å mislykkes.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: rsvg-convert
Installert Bibliotek: librsvg-2.so og libpixbufloader-svg.so (installert i /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders)
Installerte Mapper: /usr/include/librsvg-2.0 og /usr/share/doc/librsvg-2.59.2

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

libpixbufloader-svg.so

er Gdk Pixbuf programtillegg som tillater GTK+ applikasjoner for å gjengi skalerbar Vektorgrafikkbilder

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libtiff Avhengigheter

Anbefalt
Valgfri

Freeglut-3.6.0 (påkrevd for tiffgt), libjpeg-turbo-3.0.1, sphinx-8.2.1, libwebp-1.5.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_DOCDIR=/usr/share/doc/libtiff-4.7.0 \
      -D CMAKE_INSTALL_PREFIX=/usr -G Ninja .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

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/tiff-4.7.0

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.5.0

Introduksjon til libwebp

libwebp pakken inneholder et bibliotek og støtteprogrammer for å kode og dekode bilder i WebP format.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libwebp Avhengigheter

Anbefalt
Valgfri

Freeglut-3.6.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.24

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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      \
            --with-python=python3.13 &&
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.13: 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.13/site-packages/_snack.so
Installerte Mapper: Ingen

Korte Beskrivelser

whiptail

viser dialogbokser fra skallskript

libnewt.so

er biblioteket for fargetekstmodus, elementbasert brukergrensesnitt

opencv-4.11.0

Introduksjon til opencv

opencv pakken inneholder grafikkbiblioteker hovedsakelig rettet mot computer vision i sanntid.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-3.31.5 og libarchive-3.7.7

Anbefalt
Valgfri

apache-ant-1.10.15, Doxygen-1.13.2, Java-23.0.2, NumPy-2.2.3, Protobuf-29.3, 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.11.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.11.0/modules: instruerer byggesystemet til å bygge tilleggsmoduler. Noen pakker i BLFS (som gst-plugins-bad-1.24.12) trenger disse modulene for å bygge komponenter som bruker OpenCV.

Innhold

Installerte Programmer: opencv_annotation, opencv_interactive-calibration, opencv_model_diagnostics, opencv_version, opencv_visualisation, og setup_vars_opencv4.sh
Installerte Biblioteker: libopencv_calib3d.so, libopencv_core.so, libopencv_dnn.so, libopencv_features2d.so, libopencv_flann.so, libopencv_gapi.so, libopencv_highgui.so, libopencv_imgcodecs.so, libopencv_imgproc.so, libopencv_ml.so, libopencv_objdetect.so, libopencv_photo.so, libopencv_stitching.so, libopencv_video.so, og libopencv_videoio.so
Installerte Mapper: /usr/include/opencv4, /usr/lib/cmake/opencv4, /usr/lib/python3.13/site-packages/cv2, /usr/share/licenses/opencv4, /usr/share/opencv4, og /usr/share/java/opencv4

OpenJPEG-2.5.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

OpenJPEG Avhengigheter

Påkrevd

CMake-3.31.5

Valgfri

git-2.48.1 (for tester), Little CMS-2.17, libpng-1.6.46, libtiff-4.7.0, og Doxygen-1.13.2 (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.44.2

Introduksjon til Pixman

Pixman pakken inneholder et bibliotek som gir pikselmanipuleringsfunksjoner på lavt nivå som bildekompositering og trapesformet rasterisering.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Pixman Avhengigheter

Valgfri

libpng-1.6.46 og GTK-3.24.48 (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-25.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://poppler.freedesktop.org/poppler-25.02.0.tar.xz

  • Nedlasting MD5 sum: feae5e0715ed7738fcb4220730a3ff4c

  • Nedlastingsstørrelse: 1.9 MB

  • Estimert diskplass som kreves: 77 MB (med Qt6 biblioteket og tester)

  • Estimert byggetid: 1.0 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-3.31.5, Fontconfig-2.16.0, og GLib-2.82.5 (med GObject Introspection)

Anbefalt
Valgfri

cURL-8.12.1, gdk-pixbuf-2.42.12, git-2.48.1 (for nedlasting av testfiler), GTK-Doc-1.34.0 og GTK-3.24.48

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-25.02.0 &&
cp -vr ../glib/reference/html /usr/share/doc/poppler-25.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.8.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-25.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-11.10.1

Introduksjon til Qpdf

Qpdf pakken inneholder kommandolinjeprogrammer og et bibliotek som gjør strukturelle, innholdsbevarende transformasjoner på PDF filer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Qpdf Avhengigheter

Påkrevd

libjpeg-turbo-3.0.1

Valgfri

ghostscript-10.04.0, GnuTLS-3.8.9, libtiff-4.7.0, sphinx-8.2.1 med sphinx_rtd_theme-3.0.2, og texlive-20240312 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-11.10.1 \
      .. &&
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-11.10.1

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

qrencode-4.1.1

Introduksjon til qrencode

Qrencode er et raskt og kompakt bibliotek for koding av data i et QR kodesymbol, en 2D symbologi som kan bli skannet av håndholdte terminaler som en mobiltelefon med CCD sensor.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Package Information

  • Download (HTTP): https://fukuchi.org/works/qrencode/qrencode-4.1.1.tar.bz2

  • Download MD5 sum: de7185bcab635a34730e1b73d4efa705

  • Download size: 451 KB

  • Estimated disk space required: 5.0 MB (med dokumentasjon, legg til 5 MB for tester)

  • Estimated build time: mindre enn 0,1 SBU, legg til 0,1 SBU for tester

Qrencode Avhengigheter

Anbefalt
Valgfri

Doxygen-1.13.2 for å generere dokumentasjon, og SDL2-2.30.11 for tester

Installasjon av qrencode

Installer libqrencode ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Hvis du har installert Doxygen-1.13.2, 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/qrencode-4.1.1 &&
mv html/* /usr/share/doc/qrencode-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-2.30.11.

--without-tools: Dette alternativet forhindrer bygging av qrencode kjørbar, fjerner behovet for libpng-1.6.46.

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

sassc-3.6.2

Introduksjon til sassc

SassC er en innpakning rundt libsass, et CSS pre-prosessor språk.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

webp-pixbuf-loader-0.2.7

Introduksjon til webp-pixbuf-loader

webp-pixbuf-loader pakken inneholder en bibliotek som lar gdk-pixbuf laste og behandle webp bilder.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

webp-pixbuf-loader Avhengigheter

Påkrevd

gdk-pixbuf-2.42.12 og libwebp-1.5.0

Installasjon av webp-pixbuf-loader

Installer webp-pixbuf-loader 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

Webp formatet må legges til lasterens hurtiglager:

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.

gdk-pixbuf-query-loaders --update-cache: Denne kommandoen oppdaterer gdk-pixbuf lasterens hurtiglager slik at den vet at webp lasteren har blitt installert.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libpixbufloader-webp.so
Installerte Mapper: Ingen

Korte Beskrivelser

libpixbufloader-webp.so

inneholder funksjoner som lar gdk-pixbuf laste inn webp bilder

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

WOFF2 Avhengigheter

Påkrevd

Brotli-1.1.0 og CMake-3.31.5

Installasjon av WOFF2

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_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.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

zxing-cpp Avhengigheter

Påkrevd

CMake-3.31.5

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

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.23

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Asciidoctor Avhengigheter

Påkrevd

Ruby-3.4.2

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.23.gem &&
install -vm644 man/asciidoctor.1 /usr/share/man/man1

Innhold

Installerte Programmer: asciidoctor
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/ruby/gems/3.4.0/gems/asciidoctor-2.0.23 og /usr/lib/ruby/gems/3.4.0/doc/asciidoctor-2.0.23

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Bogofilter Avhengigheter

Anbefalt
Valgfri

lmdb-0.9.31, 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-3.49.1 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Desktop File Utils Avhengigheter

Påkrevd

GLib-2.82.5

Valgfri

Emacs-30.1

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.2

Introduksjon til dos2unix

dos2unix pakken inneholder en hvilken som helst til hvilken som helst tekstformatkonvertering.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.2

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-2024.4

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Glslc Avhengigheter

Påkrevd

CMake-3.31.5, Glslang-15.1.0, og SPIRV-Tools-1.4.304.1

Installasjon av glslc

Først, tillat å bygge med systemets Glslang-15.1.0 og SPIRV-Tools-1.4.304.1:

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 '"2024.4"' > 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

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-12.2.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.1-43. 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.

Valgfri, for ulike punktgrafikk utdata

Pango-1.56.1, med Cairo-1.18.2, Xorg Biblioteker, Fontconfig-2.16.0, og libpng-1.6.46, å generere bilder i punktgrafikk SVG, postscript, PNG og PDF formater, eller for å vise bildet på skjermen. PNG utdataen er nødvendig for byggingen av gegl-0.4.54

Å legge til GTK+-2 med libjpeg-turbo-3.0.1 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.5.0 (WebP støtte anses som eksperimentell), DevIL, libLASi, og glitz

Valgfritt (for å laste grafikk som kan bli vist inne i nodene i en graf)

libgs.so fra ghostscript-10.04.0, librsvg-2.59.2, og Poppler-25.02.0

Valgfritt (for å bygge flere verktøy)

Freeglut-3.6.0 (med GtkGLExt og libGTS for bygging av smyrna stor grafviser, som er betraktet som eksperimentell)

Valgfritt (for å bygge språkbindinger)

SWIG-4.3.0 (SWIG må være installert ellers vil ingen bindinger bli bygget), GCC-14.2.0 (for go kompilatoren), Guile-3.0.10, OpenJDK-23.0.2, Lua-5.4.7, PHP-8.4.4, Ruby-3.4.2, Tk-8.6.16, Io, Mono, OCaml, og R

Valgfritt (byggeverktøy)

Criterion (rammeverk for tester) og Electric Fence

Valgfritt (for å bygge pdf dokumentasjonen)

ghostscript-10.04.0 (for ps2pdf kommando)

Installasjon av Graphviz

Installer Graphviz ved å kjøre følgende kommandoer:

sed -i '/LIBPOSTFIX="64"/s/64//' configure.ac &&

./autogen.sh              &&
./configure --prefix=/usr \
            --docdir=/usr/share/doc/graphviz-12.2.1

Notat

En advarsel genereres av autogen.sh fordi byggetreet ikke er et git depot. Som et resultat er byggedatoen satt til 0. For å få en meningsfull dato i versjonsstrengen kan du kjøre:

sed -i "s/0/$(date +%Y%m%d)/" builddate.h

Enten du fikser datoen eller ikke, fortsett å kompilere pakken:

make

Denne pakken kommer ikke med en testpakke som gir meningsfulle resultater.

Nå, som root bruker:

make install

Parameterforklaringer

sed ... configure.ac: Denne kommandoen er nødvendig for å unngå å installere filer i /usr/lib64.

--with-javaincludedir="$JAVA_HOME/include -I$JAVA_HOME/include/linux": Hvis du har bygget OpenJDK-23.0.2 i /opt, og du vil bygge JAVA bindingene, er det nødvendig å spesifisere plasseringen av JAVA deklarasjonsfiler for å konfigurere. Konfigurasjonsbryteren er designet for bare en katalog, men to kataloger må inkluderes. Dette er likevel mulig ved å bruke -I bryteren inne i variabelen.

--with-webp: Selv om libwebp-1.5.0 er installert, er det ikke inkludert i bygget uten dette alternativet.

--with-smyrna: Selv om de nødvendige avhengighetene er installert, den interaktive grafviseren smyrna er ikke bygget uten dette alternativet.

Konfigurere Graphviz

Konfigurasjonsfiler

/usr/lib/graphviz/config

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, 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, liblab_gamut.so, libpathplan.so, libxdot.so, og flere programtillegg i /usr/lib/graphviz. Det er også flere i undermapper til /usr/lib/{lua,perl5,php,python3.13,tcl8.6}. Dessverre er noen biblioteker duplisert.
Installerte Mapper: /usr/include/graphviz, /usr/lib/graphviz, /usr/lib/tcl8.6/graphviz, /usr/share/doc/graphviz-12.2.1, 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

diffimg

(trenger GD Library) genererer et bilde der hver piksel er forskjellen mellom den tilsvarende pikselen i hvert av de to kildebildene

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

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

gc

er en grafanalog til wc ved at den skriver ut til standard utgang antall noder, kanter, tilkoblede komponenter eller klynger i inndatafilene. Den skriver også ut en total teller for alle grafer hvis mer enn én graf er gitt

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

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.34.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GTK-Doc Avhengigheter

Påkrevd

docbook-xml-4.5, docbook-xsl-nons-1.79.2, GLib-2.82.5, itstool-2.0.7, libxslt-1.1.42, og Pygments-2.19.1

Valgfri

For tester: dblatex eller fop-2.10 (XML PDF støtte), Which-2.23, og Python moduler lxml-5.3.1, 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.

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.15

Introduksjon til Highlight

Highlight er et verktøy som konverterer kildekode til formatert tekst med syntaksutheving.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): http://www.andre-simon.de/zip/highlight-4.15.tar.bz2

  • Nedlasting MD5 sum: fd16041ffc8945ef6c4c07dbf83c541c

  • Nedlastingsstørrelse: 1.4 MB

  • Estimert diskplass som kreves: 25 MB (med gui)

  • Estimert byggetid: 0.3 SBU (Bruker parallellisme=4; med gui)

Highlight Avhengigheter

Påkrevd

Boost-1.87.0 og Lua-5.4.7

Valgfri

Qt-6.8.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.15/ 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.15/ install

For å installere GUI programmet, kjør følgende kommando som root bruker:

make install-gui

Parameterforklaringer

doc_dir=/usr/share/doc/highlight-4.15/: 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.15, og /usr/share/highlight

Korte Beskrivelser

highlight

er en universell kildekode til formatert tekstkonvertering

highlight-gui

er qt6 grensesnitt til highlight.

ibus-1.5.31

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

ibus Avhengigheter

Påkrevd

ISO Codes-4.17.0, og Vala-0.56.17

Anbefalt
Valgfri

GTK-Doc-1.34.0 (for å generere API dokumentasjon) D-Bus Python-1.3.2 og PyGObject-3.50.0 (begge for å bygge Python støttebiblioteket), libxkbcommon-1.8.0, Wayland-1.23.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.34.0 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 &&

PYTHON=python3                     \
./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --disable-python2      \
            --disable-appindicator \
            --disable-gtk2         \
            --disable-emoji-dict   &&
make

For å teste resultatene, kjør: make -k check. Testen kalt ibus-compose mislykkes fordi den bruker noen lokaler ikke installert i LFS. Testen som heter ibus-keypress vil mislykkes hvis den kjøres i et Wayland økt. 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-python-library: Denne bryteren aktiverer byggingen av Python støttebibliotek. Bruk den hvis du har installert de valgfrie Python modulene.

--enable-wayland: Denne bryteren aktiverer bygging av Wayland støtteprogrammer. Den aktiveres automatisk hvis både libxkbcommon-1.8.0 og Wayland-1.23.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.

PYTHON=python3: Denne miljøvariabelen gjør at configure skriptet ser etter Python 3. Bruk den hvis du vil bygge Python 3 støttebibliotek.

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.1-43

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.imagemagick.org/archive/releases/ImageMagick-7.1.1-43.tar.xz

  • Nedlasting MD5 sum: 007f3006dc48fbd9d6a5da6dbdf3c5c2

  • Nedlastingsstørrelse: 10 MB

  • Estimert diskplass som kreves: 192 MB, 45 MB installert (med typiske avhengigheter; legg til 10 MB for sjekker)

  • Estimert byggetid: 0.9 SBU (med typiske avhengigheter; legg til 0,7 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-24.09 (LZMA), Clang fra LLVM-19.1.7, Cups-2.4.11, cURL-8.12.1, FFmpeg-7.1, fftw-3.3.10, SANE-1.2.1, Wget-1.25.0, xdg-utils-1.2.1, xterm-397, Dmalloc, Electric Fence og PGP eller GnuPG-2.4.7 (du må gjøre noe hacking for å bruke GnuPG), Profiles

Valgfrie Grafiske Biblioteker

jasper-4.2.4, Little CMS-2.17, libgxps-0.3.2, libjpeg-turbo-3.0.1, libjxl-0.11.1, libpng-1.6.46, libraw-0.21.3 (for dng filer, trenger thread-safe libraw_r), librsvg-2.59.2, libtiff-4.7.0, libwebp-1.5.0, OpenJPEG-2.5.3, Pango-1.56.1, DjVuLibre, FlashPIX (libfpx), FLIF, JBIG-KIT, libheif med libde265 (begge er nødvendig hvis du konverterer macOS heic bilder), libraqm, Liquid Rescale, OpenEXR, og RALCGM (eller ralcgm)

Valgfrie Grafiske Verktøy

Dejavu fonts, ghostscript-10.04.0, Gimp-3.0.0-RC3, Graphviz-12.2.1, Inkscape-1.4, Blender, corefonts, GhostPCL, Gnuplot, POV-Ray, og Radiance

Valgfrie Konverteringsverktøy

Enscript-1.6.6, Potrace-1.16, texlive-20240312 (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.1 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.04.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.1, /usr/lib/perl5/site_perl/5.40/{,auto}/Image/Magick, /usr/share/doc/ImageMagick-7.1.1, 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.17.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av ISO Koder

Installer ISO Codes ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install LN_S='ln -sfn'

Parameterforklaringer

LN_S='ln -sfn': Denne overstyringen sikrer at installerte symbolkoblinger riktig gjenskapes i tilfelle vi oppgraderer eller installerer pakken på nytt. Det er unødvendig, men ufarlig ved installasjon av pakken på systemet for første gang.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/iso-codes, /usr/share/xml/iso-codes

lsof-4.99.0

Introduksjon til lsof

lsof pakken er nyttig for en liste over åpne filer (LiSt Open Files) for en gitt løpende applikasjon eller prosess.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lsof Avhengigheter

Påkrevd

libtirpc-1.3.6

Valgfri

Nmap-7.95 (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.95 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.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

PIN-Entry Avhengigheter

Påkrevd

libassuan-3.0.2 og libgpg-error-1.51

Valgfri

Emacs-30.1, FLTK-1.4.2, Gcr-4.3.1 (eller Gcr-3.41.2), KDE Frameworks-6.11.0, libsecret-0.21.6, 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 '14462 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.3.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.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Screen Avhengigheter

Valgfri

Linux-PAM-1.7.0

Installasjon av Screen

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.0
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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Shared Mime Info Avhengigheter

Påkrevd

GLib-2.82.5 og libxml2-2.13.6

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av Sharutils

Løs et heapbufferoverløp og et problem avdekket av GCC-10:

sed -i 's/BUFSIZ/rw_base_size/' src/unshar.c &&
sed -i '/program_name/s/^/extern /' src/*opts.h

Installer Sharutils ved å kjøre følgende kommandoer:

sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c        &&
echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h &&

./configure --prefix=/usr &&
make

For å teste resultatene, kjør make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: shar, unshar, uudecode og 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Tidy HTML5 Avhengigheter

Påkrevd

CMake-3.31.5

Anbefalt

Installasjon av Tidy HTML5

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/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

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.2.1

Introduksjon til tree

tree applikasjonen er nyttig for å vise ordboktreets innhold, inkludert filer, kataloger og lenker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

unixODBC Avhengigheter

Valgfri

Mini SQL

Installasjon av unixODBC

Installer unixODBC ved å kjøre følgende kommandoer:

./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.12 &&
cp      -v -R doc/* /usr/share/doc/unixODBC-2.3.12

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.12, 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.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xdg-dbus-proxy Avhengigheter

Påkrevd

GLib-2.82.5

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.18

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xdg-user-dirs Avhengigheter

Valgfri

docbook-xml-4.5, docbook-xsl-nons-1.79.2, og libxslt-1.1.42 (alle tre for å bygge manualsidene)

Installasjon av Xdg-user-dirs

Installer xdg-user-dirs ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --sysconfdir=/etc       \
            --disable-documentation &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-documentation: 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-24.09

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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
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-24.09

Innhold

Installerte Programmer: 7z, 7za, og 7zr
Installerte Biblioteker: Ingen
Installert Mappe: /usr/lib/7zip og /usr/share/doc/7zip-24.09

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

AccountsService Avhengigheter

Påkrevd

Polkit-126

Anbefalt
Valgfri

GTK-Doc-1.34.0 og xmlto-0.0.29

Valgfri (for tester)

dbusmock-0.34.3 og PyGObject-3.50.0

Installasjon av AccountsService

Gi først nytt navn til en katalog hvis tilstedeværelse hindrer byggesystemet fra å kjøre hvis dbusmock-0.34.3 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

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.34.0).

-D vapi=false: Denne bryteren deaktiverer bygging av vala bindingene. Bruk den hvis du ikke har installert Vala-0.56.17.

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, Systemd-257.3 (les dokumentasjonen for Handle*= i logind.conf(5) for detaljer) og UPower-1.90.7 (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 Systemd-257.3 håndterer noen ACPI hendelser som standard, så håndteringen av disse hendelsene av Systemd-257.3 bør være deaktivert først hvis du håndterer disse hendelsene med acpid (igjen, les logind.conf(5) for detaljer).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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. Eksemplet deaktiverer også standardhåndteringen av lokkets hendelse av Systemd-257.3 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/bin/systemctl suspend
EOF
chmod +x /etc/acpi/lid.sh

mkdir -pv /etc/systemd/logind.conf.d
echo HandleLidSwitch=ignore > /etc/systemd/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.

Systemd Socket

For å starte acpid nissen ved systemstart, installer systemd enheten fra blfs-systemd-units-20241211 pakken ved å kjøre følgende kommando som root bruker:

make install-acpid

Notat

Denne pakken bruker socketbasert aktivering og vil bli startet når noe trenger det. Ingen frittstående enhetsfil er gitt for denne pakken.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

at Avhengigheter

Påkrevd

En MTA

Valgfri

Linux-PAM-1.7.0

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       \
            SENDMAIL=/usr/sbin/sendmail       \
            --with-jobdir=/var/spool/atjobs   \
            --with-atspool=/var/spool/atspool \
            --with-systemdsystemunitdir=/lib/systemd/system &&
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

Systemd Enhet

For å starte atd nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Autofs Avhengigheter

Påkrevd

libtirpc-1.3.6 og rpcsvc-proto-1.4.4

Valgfri

nfs-utils-2.8.2, libnsl-2.0.1, libxml2-2.13.6, MIT Kerberos V5-1.21.3, OpenLDAP-2.6.9 (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           \
            --with-systemd            \
            --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.

--with-systemd: Denne bryteren muliggjør installasjon av de medfølgende systemd enhetene.

--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.21.3.

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.

Systemd Enhet

For å starte Autofs ved oppstart, aktiver den tidligere installerte systemd enhet ved å kjøre følgende kommando som root bruker:

systemctl enable autofs

Notat

Du kan også spesifisere OPTIONS variabelen i /etc/sysconfig/autofs filen med eventuelle tilleggsparametere som du kanskje vil sende til automount nissen.

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.79

Introduksjon til BlueZ

BlueZ pakken inneholder Bluetooth protokollstabel for Linux.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

BlueZ Avhengigheter

Påkrevd

dbus-1.16.0, GLib-2.82.5, og libical-3.0.19

Valgfri

docutils-0.21.2 (for å generere man sider)

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  \
            --disable-manpages    \
            --enable-library      &&
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.79 &&
install -v -m644 doc/*.txt /usr/share/doc/bluez-5.79

Parameterforklaringer

--disable-manpages: Denne bryteren deaktiverer generering av manualsidene på grunn av avhengigheten av 'rst2man' i docutils. Fjern denne bryteren hvis du har docutils-0.21.2 installert og ønsker å generere manualsidene.

--enable-library: Denne bryteren gjør det mulig å bygge BlueZ 4 kompatibilitetsbibliotek som kreves av noen applikasjoner.

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 to tilleggs konfigurasjonsfiler. Du kan eventuelt installere følgende filer 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

Systemd Bluez Tjenester

For å starte bluetoothd nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable bluetooth

For å starte obexd nissen for en brukerøkt (for å støtte noen Bluetooth programmer som bruker det), aktiverer den tidligere installerte systemd enheten for alle brukere ved å kjøre følgende kommando som root bruker:

systemctl enable --global obex

Notat

Systemd vil starte Bluetooth nissen bare når en bluetooth enhet oppdages på systemet.

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.79

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Bubblewrap Avhengigheter

Valgfri

libxslt-1.1.42 (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.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Colord Avhengigheter

Påkrevd

dbus-1.16.0, GLib-2.82.5 (GObject Introspection anbefalt), Little CMS-2.17, libgudev-238, libgusb-0.4.9, Polkit-126, og SQLite-3.49.1

Anbefalt
Valgfri

gnome-desktop-44.1 og colord-gtk-0.3.1 (for å bygge eksempelverktøyene), docbook-xml-5.0, docbook-xsl-ns-1.79.2, og libxslt-1.1.42 (for å bygge manualsidene), GTK-Doc-1.34.0, SANE-1.2.1, ArgyllCMS, og Bash Completion

Installasjon av Colord

Først, fiks feil bruk av sqlite API som forårsaker testfeil og potensial kjøretidskrasj, samt en altfor streng systemd herdingsinnstilling som gjør at systemd tjenesten ikke starter:

patch -Np1 -i ../colord-1.4.7-upstream_fixes-1.patch

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=true           \
      -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.42 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.17 installert.

-D systemd=true: Denne bryteren aktiverer installasjon av systemd tjenesten.

-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.34.0 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/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-20240312 (eller install-tl-unx)

Installasjon av cpio

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-20240312 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

cups-pk-helper Avhengigheter

Påkrevd

Cups-2.4.11 og Polkit-126

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.0

Introduksjon til D-Bus

Selv om D-Bus ble bygget i LFS, det er noen funksjoner levert av pakken som andre BLFS pakker trenger, men deres avhengigheter passet ikke inn i LFS.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

D-Bus Avhengigheter

Anbefalt
Valgfri

Systemd-257.3 (kjøretid, for registrering av tjenester lansert av D-Bus øktnissen som systemd brukertjenester); For testene: D-Bus Python-1.3.2, PyGObject-3.50.0, og Valgrind-3.24.0; for dokumentasjon: Doxygen-1.13.2, 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 \
            .. &&
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

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.0    &&
  mv -v  /usr/share/doc/dbus{,-1.16.0}
fi

Mange tester er deaktivert med mindre både D-Bus Python-1.3.2 og PyGObject-3.50.0 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 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 pakker installerer en D-Bus .service fil utenfor standard /usr/share/dbus-1/services mappen, den mappen skal 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 Øktnisse

Det er mange metoder du kan bruke for å starte en sesjonsnisse ved å bruke 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 sesjonsnissen når det angitte programmet stoppes. Du kan også starte sesjonsnissen 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

En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/12.3-systemd/chapter08/dbus.html#contents-dbus.

Fcron-3.2.1

Introduksjon til Fcron

Fcron pakken inneholder en periodisk kommandoplanlegger som tar sikte på å erstatte Vixie Cron.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Fcron Avhengigheter

Valgfri

En MTA, text editor (standard er vi fra Vim-9.1.1166 pakken), Linux-PAM-1.7.0, og DocBook-utils-0.6.14

Installasjon av Fcron

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-piddir=/run     \
            --with-boot-install=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-piddir=/run: Dette fikser systemd enheten til å bruke den riktige mappen for PID filer så systemctl ikke henger og enheten starter riktig.

--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

Systemd Enhet

Aktiver fcron å starte ved oppstart med den tidligere installerte systemd enheten.

systemctl enable fcron

Til slutt, igjen som root bruker, start fcron og generer /var/spool/fcron/systab filen:

systemctl start fcron &&
fcrontab -z -u systab

Innhold

Installerte Programmer: fcron, fcrondyn, fcronsighup, og fcrontab
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/fcron-3.2.1 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!

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

GPM Avhengigheter

Valgfri

texlive-20240312 (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                &&
./autogen.sh                                                    &&
./configure --prefix=/usr --sysconfdir=/etc ac_cv_path_emacs=no &&
make

Hvis texlive-20240312 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-20240312 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.1 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.1 innebygde GPM støtte. Hvis du trenger å bruke Emacs-30.1 i en Linux konsoll med musestøtte, du bør installere (eller installere på nytt) Emacs-30.1 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

Systemd Enhet

For å starte gpm nissen ved oppstart, installer systemd enheten fra blfs-systemd-units-20241211 pakken ved å kjøre følgende kommando som root bruker:

make install-gpm

Konfigurasjonsfiler

/etc/gpm-root.conf og ~/.gpm-root: Standard og individuell bruker sin gpm-root konfigurasjonsfiler.

Konfigurasjonsinformasjon

GPM er som standard startet med følgende parametere: -m /dev/input/mice -t imps2. Hvis nevnte parametere ikke passer dine behov, kan du overstyre dem ved å kjøre følgende kommandoer som root bruker:

install -v -dm755 /etc/systemd/system/gpm.service.d &&
cat > /etc/systemd/system/gpm.service.d/99-user.conf << EOF
[Service]
ExecStart=/usr/sbin/gpm <list of parameters>
EOF

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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

hwdata-0.392

Introduksjon til hwdata

hwdata pakken inneholder gjeldende PCI- og leverandør-ID data.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

Fjern to skript som ikke tjener noen hensikt på et systemd system:

rm /usr/sbin/{install,remove}_initd

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
Installert Bibliotek: Ingen
Installerte Mapper: /usr/lib/lsb og /usr/lib/python3.13/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

lm-sensors-3-6-0

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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 \
     EXLDFLAGS=

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-0 &&
cp -rv              README INSTALL doc/* \
                    /usr/share/doc/lm-sensors-3-6-0

Parameterforklaringer

BUILD_STATIC_LIB=0: Denne parameteren deaktiverer kompilering og installering av den statiske versjonen av libsensors.

EXLDFLAGS=: Denne parameteren deaktiverer hardkodende biblioteksøkestier (rpath) inn i binære kjørbare filer og delte biblioteker. Denne pakken trenger ikke rpath for en installasjon til standardplasseringen, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

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-0

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

Logrotate-3.22.0

Introduksjon til Logrotate

logrotate pakken tillater automatisk rotasjon, komprimering, fjerning og utsendelse av loggfiler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Logrotate Avhengigheter

Påkrevd

popt-1.19

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, kjør følgende kommandoer, som root bruker, for å opprette en systemd tidtaker som går daglig kl. 03.00. (lokal tid):

cat > /usr/lib/systemd/system/logrotate.service << "EOF" &&
[Unit]
Description=Runs the logrotate command
Documentation=man:logrotate(8)
DefaultDependencies=no
After=local-fs.target
Before=shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/logrotate /etc/logrotate.conf
EOF
cat > /usr/lib/systemd/system/logrotate.timer << "EOF" &&
[Unit]
Description=Runs the logrotate command daily at 3:00 AM

[Timer]
OnCalendar=*-*-* 3:00:00
Persistent=true

[Install]
WantedBy=timers.target
EOF
systemctl enable logrotate.timer

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.82.5

Anbefalt
Valgfri

Doxygen-1.13.2, GPM-1.20.7, Graphviz-12.2.1, libarchive-3.7.7, libssh2-1.11.1, pcre2-10.45, Ruby-3.4.2, et grafiske miljø, og Zip-3.0

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/MC

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 pcre2-10.45 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.18.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ModemManager Avhengigheter

Påkrevd

libgudev-238

Anbefalt
Valgfri

GTK-Doc-1.34.0

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/ModemManager

Installasjon av ModemManager

Installer ModemManager ved å kjøre følgende kommandoer:

./configure --prefix=/usr                 \
            --sysconfdir=/etc             \
            --localstatedir=/var          \
            --disable-static              \
            --disable-maintainer-mode     \
            --with-systemd-journal        \
            --with-systemd-suspend-resume &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--with-systemd-suspend-resume: Denne bryteren tvinger ModemManager å bruke systemd strømstyringsfasiliteter.

--with-systemd-journal : Denne bryteren tvinger ModemManager å bruke systemd journalen til logging.

--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.

Konfigurere ModemManager

Systemd Enheter

For å starte ModemManager nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable ModemManager

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notification Daemon Avhengigheter

Påkrevd

GTK-3.24.48 og libcanberra-0.30 (Bygget med GTK-3.24.48 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

pciutils-3.13.0

Introduksjon til PCI Utils

PCI Utils pakken inneholder et sett med programmer for å liste PCI enheter, inspisere status og innstilling av konfigurasjonsregistre.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

pciutils Avhengigheter

Anbefalt

Installasjon av PCI Utils

Forhindre installasjon av pci.ids filen for å unngå konflikt med hwdata-0.392 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.392 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

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

På et system som bruker systemd som init system, systemd gir allerede denne funksjonaliteten. Som et resultat er denne pakken sannsynligvis ikke nødvendig, og den kan komme i konflikt med systemd. Les dokumentasjon for suspend.target og hibernate.target på manualsiden systemd.special(7) for flere detaljer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Power-profiles-daemon Avhengigheter

Påkrevd

Polkit-126, PyGObject-3.50.0 (pycairo er ikke nødvendig), og UPower-1.90.7

Valgfri

GTK-Doc-1.34.0, Resten er for testene, dbusmock-0.34.3, umockdev-0.19.1, 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       \
      .. &&
ninja

Hvis du har installert de eksterne avhengighetene, for å teste resultatet utsted: ninja test.

Nå, som root bruker:

ninja install

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.

Konfigurere Power-profiles-daemon

Systemd Enhet

For å starte power-profiles-daemon ved oppstart, aktiver systemd tjenesten som ble installert ved å kjøre følgende kommando som root bruker:

systemctl enable 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 Systemd enheten er aktivert som ovenfor.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.12.1 og libxslt-1.1.42

Valgfri

GTK-Doc-1.34.0, ICU-76.1 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-76.1 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.11.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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Redland Avhengigheter

Påkrevd

Rasqal-0.9.33

Valgfri

SQLite-3.49.1, MariaDB-11.4.5 eller MySQL, PostgreSQL-17.4, 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

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-0 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 --->                                    
  Networking options --->
    [*] 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

Systemd Enhet

For å starte sysmond daemon ved oppstart, installer systemd enheten fra blfs-systemd-units-20241211 pakken ved å kjøre følgende kommando som root bruker:

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

sysmon3 Avhengigheter

Påkrevd

Qt-6.8.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/

Sysstat-12.7.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

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

Installer systemd enheter og tidtakere ved å kjøre følgende kommandoer som root bruker:

install -v -m644 sysstat.service /usr/lib/systemd/system/sysstat.service                      &&
install -v -m644 cron/sysstat-collect.service /usr/lib/systemd/system/sysstat-collect.service &&
install -v -m644 cron/sysstat-collect.timer /usr/lib/systemd/system/sysstat-collect.timer     &&
install -v -m644 cron/sysstat-rotate.service /usr/lib/systemd/system/sysstat-rotate.service    &&
install -v -m644 cron/sysstat-rotate.timer /usr/lib/systemd/system/sysstat-rotate.timer       &&
install -v -m644 cron/sysstat-summary.service /usr/lib/systemd/system/sysstat-summary.service &&
install -v -m644 cron/sysstat-summary.timer /usr/lib/systemd/system/sysstat-summary.timer

Fiks en av systemd enhetene ved å kjøre følgende kommando som root bruker:

sed -i "/^Also=/d" /usr/lib/systemd/system/sysstat.service

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

Informasjon om systemoppstart

Ved systemoppstart må en LINUX RESTART melding settes inn i daglig datafil for å reinitialisere kjernetellerne. Dette kan automatiseres ved å aktivere den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable sysstat

I tillegg til å plassere LINUX RESTART meldingen i den daglige datafilen, er det installert systemd tidtakere som vil automatisk fange opp nødvendig historieinformasjon for sar kommandoen.

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.7 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

Systemd-257.3

Introduksjon til systemd

Mens systemd ble installert under byggingen av LFS, er det mange funksjoner levert av pakken som ikke ble inkludert i den første installasjonen fordi Linux-PAM var ennå ikke installert. systemd pakken må bli bygd om igjen for å gi en fungerende systemd-logind service, som gir mange tilleggsfunksjoner for avhengige pakker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

systemd Avhengigheter

Anbefalt

Notat

Linux-PAM-1.7.0 er strengt tatt ikke nødvendig for å bygge systemd, men hovedgrunnen til å gjenoppbygge systemd i BLFS (den er allerede bygd i LFS uansett) er for systemd-logind nissen og pam_systemd.so PAM modulen. Linux-PAM-1.7.0 er nødvendig for dem. Alle pakker i BLFS boken med en avhengighet av systemd forventer at den er bygget med Linux-PAM-1.7.0.

Valgfri

btrfs-progs-6.13, cURL-8.12.1, cryptsetup-2.7.5, git-2.48.1, GnuTLS-3.8.9, iptables-1.8.11, libarchive-3.7.7, libgcrypt-1.11.0, libidn2-2.3.7, libpwquality-1.4.5, libseccomp-2.6.0, libxkbcommon-1.8.0, make-ca-1.15, p11-kit-0.25.5, pcre2-10.45, qemu-9.2.2, qrencode-4.1.1, rsync-3.4.1, sphinx-8.2.1, Valgrind-3.24.0, zsh-5.9 (for zsh fullføringer), AppArmor, audit-userspace, bash-completion, jekyll, kexec-tools, libbpf, libdw, libfido2, libmicrohttpd, pefile, pyelftools, quota-tools, rpm, SELinux, systemtap, tpm2-tss og Xen

Valgfri (for å gjenoppbygge manualsidene)

docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.42, og lxml-5.3.1 (å bygge indeksen over systemd manualsidene)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Logind

Installasjon av systemd

Fjern to unødvendige grupper, render og sgx, fra standard udev regler:

sed -i -e 's/GROUP="render"/GROUP="video"/' \
       -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in

Gjenoppbygg systemd ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                 \
      --prefix=/usr            \
      --buildtype=release      \
      -D default-dnssec=no     \
      -D firstboot=false       \
      -D install-tests=false   \
      -D ldconfig=false        \
      -D man=auto              \
      -D sysusers=false        \
      -D rpmmacrosdir=no       \
      -D homed=disabled        \
      -D userdb=false          \
      -D mode=release          \
      -D pam=enabled           \
      -D pamconfdir=/etc/pam.d \
      -D dev-kvm-mode=0660     \
      -D nobody-group=nogroup  \
      -D sysupdate=disabled    \
      -D ukify=disabled        \
      -D docdir=/usr/share/doc/systemd-257.3 &&

ninja

Notat

For de beste testresultatene, sørg for at du kjører testpakken fra et system som startes opp av det samme systemd versjonen du bygger om.

For å teste resultatene, utsted: ninja test. Testen navngitt test-stat-util er kjent for å mislykkes hvis noen kjernefunksjoner ikke er aktivert. Hvis testpakken kjøres som root bruker, noen andre tester kan mislykkes fordi de er avhengige av ulike kjerne konfigurasjonsalternativer.

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 pamconfdir=/etc/pam.d: Tvinger PAM filene til å installeres i /etc/pam.d i stedet for /usr/lib/pam.d.

-D userdb=false: Fjerner en nisse som ikke gjør noe under en BLFS konfigurasjon. Hvis du ønsker å aktivere userdbd nissen, erstatte "false" med "true" i mesonkommandoen ovenfor.

-D homed=disabled: Fjerner en nisse som ikke gjør noe under en BLFS konfigurasjon, spesielt ved å bruke kontoer opprettet med useradd. For å aktivere systemd-homed, sørg først for at du har cryptsetup-2.7.5 og libpwquality-1.4.5 installert, og endre deretter «disabled» til «enabled» i kommandoen meson setup ovenfor.

-D ukify=disabled: Fjerner et skript for å kombinere en kjerne, en initramfs og en kjernekommandolinje osv. inn i en UEFI applikasjon som kan lastes inn av UEFI fastvaren for å starte den innebygde Linux kjernen. Det er ikke nødvendig for å starte opp et BLFS system med UEFI hvis Using GRUB to Set Up the Boot Process with UEFI følges. Og det krever pefile Python modulen ved kjøretid, så hvis det er aktivert men pefile ikke er installert, vil en test for det vil mislykkes i testpakken. For å aktivere systemd-ukify, installer pefile modulen og deretter endre «disabled» til «enabled» i ovenstående meson setup kommandoen.

Konfigurere systemd

/etc/pam.d/system-session filen må endres og en ny fil må opprettes for at systemd-logind skal fungere riktig. Kjør følgende kommandoer som root bruker:

grep 'pam_systemd' /etc/pam.d/system-session ||
cat >> /etc/pam.d/system-session << "EOF"
# Begin Systemd addition

session  required    pam_loginuid.so
session  optional    pam_systemd.so

# End Systemd addition
EOF

cat > /etc/pam.d/systemd-user << "EOF"
# Begin /etc/pam.d/systemd-user

account  required    pam_access.so
account  include     system-account

session  required    pam_env.so
session  required    pam_limits.so
session  required    pam_loginuid.so
session  optional    pam_keyinit.so force revoke
session  optional    pam_systemd.so

auth     required    pam_deny.so
password required    pam_deny.so

# End /etc/pam.d/systemd-user
EOF

Som root bruker, erstatte den kjørende systemd behandleren (init prosessen) med systemd kjørbare nylig bygd og installert:

systemctl daemon-reexec

Viktig

Sørg først for at Shadow-4.17.3 allerede er ombygd med Linux-PAM-1.7.0 støtte , deretter logg ut og logg på en gang til. Dette vil sikre at den kjørende påloggingsøkten er registrert med systemd-logind, og at en per-bruker systemd forekomst kjører for hver bruker som eier en påloggingsøkt. Mange BLFS pakker som viser systemd som en avhengighet trenger systemd-logind integrasjon og/eller en kjørende per-bruker systemd forekomst ved kjøretid.

Advarsel

Hvis du oppgraderer fra en tidligere versjon av systemd og en initrd brukes til systemoppstart, bør du generere en ny initrd før omstart av systemet.

Innhold

En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/12.3-systemd/chapter08/systemd.html#contents-systemd.

Listet nedenfor er de nylig installerte programmene sammen med korte beskrivelser.

Installerte Programmer: homectl (valgfri), systemd-cryptsetup (hvis cryptsetup-2.7.5 er installert), og userdbctl (valgfri)

Korte Beskrivelser

homectl

er et verktøy for å opprette, fjerne, endre eller inspisere en hjemmemappe styrt av systemd-homed; merk at det er ubrukelig for de klassiske UNIX brukere og hjemmemapper som vi bruker i LFS/BLFS-boken

systemd-cryptenroll

Brukes til å registrere eller fjerne et system fra full diskkryptering, samt angi og spørre om private nøkler og gjenopprettingsnøkler

systemd-cryptsetup

Fester eller fjerner en kryptert blokkenhet

userdbctl

inspiserer brukere, grupper og gruppemedlemskap

pam_systemd.so

er en PAM modul som brukes til å registrere brukerøkter med systemd påloggingsbehandler, systemd-logind

UDisks-2.10.1

Introduksjon til UDisks

UDisks pakken gir en nisse, verktøy og biblioteker for å få tilgang til og manipulere disker og lagringsenheter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

UDisks Avhengigheter

Påkrevd

libatasmart-0.19, libblockdev-3.3.0, libgudev-238, og Polkit-126

Anbefalt
Valgfri (Påkrevd hvis du bygger GNOME)

GLib-2.82.5 (med GObject Introspection)

Valgfri

D-Bus Python-1.3.2 (for integrasjonstestene), GTK-Doc-1.34.0, libxslt-1.1.42 (for manualsidene), LVM2-2.03.30, PyGObject-3.50.0 (for integrasjonstestene), exFAT, og libiscsi

Valgfrie kjøretidsavhengigheter

btrfs-progs-6.13, dosfstools-4.2, gptfdisk-1.0.10, mdadm-4.3, og xfsprogs-6.13.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.3.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.1.5

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ø.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av UnRar

Notat

Denne pakken pakker ut tarballen til den uversjonerte mappen unrar og ikke den forventede mappen unrar-7.1.5.

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.90.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

UPower Avhengigheter

Påkrevd

libgudev-238 og libusb-1.0.27

Valgfri (Påkrevd hvis du bygger GNOME)

GLib-2.82.5 (med GObject Introspection)

Valgfri

GTK-Doc-1.34.0, libxslt-1.1.42, docbook-xsl-nons-1.79.2, PyGObject-3.50.0, dbusmock-0.34.3, umockdev-0.19.1 (for en del av testpakken), og libimobiledevice

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]

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        &&
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 avrundings feil: 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.42 og docbook-xsl-nons-1.79.2 installert og ønsker å bygge manualsider.

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

usbutils-018

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

USB Utils Avhengigheter

Påkrevd

libusb-1.0.27

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.392 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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-3.20211022.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xdotool Avhengigheter

Påkrevd

Xorg Biblioteker

Installasjon av xdotool

Installer xdotool ved å kjøre følgende kommandoer:

make WITHOUT_RPATH_FIX=1

Denne pakken kommer ikke med en testpakke.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

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.11

Introduksjon til cargo-c

cargo-c pakken skaper en cargo underkommando for å bygge og installere C-ABI kompatible dynamiske og statiske biblioteker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

cargo-c Avhengigheter

Påkrevd

rustc-1.85.0

Anbefalt

Notat

En Internett-tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.15 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.11) ble utgitt. Uten dette vil de nyeste versjonene av avhengighetene bli brukt og de kan forårsake brudd:

curl -LO https://github.com/lu-zero/cargo-c/releases/download/v0.10.11/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.11 mappen. Vi bruker curl her fordi cURL-8.12.1 pakken burde vært installert som en nødvendig avhengighet av rustc-1.85.0.

md5sum til filen skal være d39f6c60470dc6aff66fac7a86b6b261.

Installer cargo-c ved å kjøre følgende kommandoer:

[ ! -e /usr/include/libssh2.h ] || export LIBSSH2_SYS_USE_PKG_CONFIG=1    &&
[ ! -e /usr/include/sqlite3.h ] || 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/

Innhold

Installerte Programmer: cargo-capi, cargo-cbuild, cargo-cinstall, og cargo-ctest
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Cbindgen-0.28.0

Introduksjon til Cbindgen

Cbindgen kan brukes til å generere C bindinger for Rust kode.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

cbindgen Avhengigheter

Påkrevd

rustc-1.85.0

Notat

En Internett-tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.15 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.85.0 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

Introduksjon til Clisp

GNU Clisp er en Felles Lisp implementering (Common Lisp implementation) som inkluderer en tolk, kompilator, debugger og mange utvidelser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Clisp Avhengigheter

Anbefalt
Valgfri

libnsl-2.0.1 og libffcall

Installasjon av Clisp

Notat

Denne pakken støtter ikke parallellbygging.

Hvis du bygger på et 32-bits system, omgå en feil i GCC forårsaket av den nyeste versjonen av binutils:

case $(uname -m) in
    i?86) export CFLAGS="${CFLAGS:--O2 -g} -falign-functions=4" ;;
esac

Fjern to tester, som mislykkes av ukjente årsaker:

sed -i -e '/socket/d' -e '/"streams"/d' tests/tests.lisp

Installer Clisp ved å kjøre følgende kommandoer:

Hvis du bygger clisp mot libffcall, bruk oppdateringen for å fikse en byggefeil med gjeldende readline:

patch -Np1 -i ../clisp-2.49-readline7_fixes-1.patch

Installer Clisp ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

../configure --srcdir=../                       \
             --prefix=/usr                      \
             --docdir=/usr/share/doc/clisp-2.49 \
             --with-libsigsegv-prefix=/usr &&

ulimit -S -s 16384 &&
make -j1

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

ulimit -S -s 16384: dette øker den maksimale stabelstørrelsen. som anbefalt av configure.

--docdir=/usr/share/doc/clisp-2.49: denne bryteren tvinger HTML dokumentasjonen til å bli installert i en versjonert mappe, i stedet for inn i /usr/share/html/.

--with-libsigsegv-prefix=/usr: bruk dette til å fortelle configure at du har installert libsigsegv i /usr, ellers blir den ikke funnet.

--with-libffcall-prefix=/usr: bruk dette til å fortelle configure at du har installert valgfrie libffcall pakken i /usr, ellers blir den som libsigsegv ikke funnet.

Innhold

Installerte Programmer: clisp og clisp-link
Installerte Biblioteker: ulike statiske biblioteker i /usr/lib/clisp-2.49/base/
Installerte Mapper: /usr/lib/clisp-2.49, /usr/share/doc/clisp-2.49, 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-3.31.5

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://cmake.org/files/v3.31/cmake-3.31.5.tar.gz

  • Nedlasting MD5 sum: ea5e8d7208616b1609018db290a67419

  • Nedlastingsstørrelse: 12 MB

  • Estimert diskplass som kreves: 576 MB (legg til 1.4 GB for tester)

  • Estimert byggetid: 2.2 SBU (legg til 5.4 SBU for tester, begge med parallellisme=4)

CMake Avhengigheter

Anbefalt
Valgfri

GCC-14.2.0 (for gfortran), git-2.48.1 (for bruk under tester), Mercurial-6.9.2 (for bruk under tester), OpenJDK-23.0.2 (for bruk under tester), Qt-6.8.2 (for Qt basert GUI), sphinx-8.2.1 (for byggedokumenter), Subversion-1.14.5 (for testing), cppdap, jsoncpp, og rhash

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-3.31.5 &&
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-3.31 og /usr/share/doc/cmake-3.31.5

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.13.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://doxygen.nl/files/doxygen-1.13.2.src.tar.gz

  • Nedlasting MD5 sum: 1c3bfaaeda1544bf2b33b73ceb4d2ea4

  • Nedlastingsstørrelse: 8.1 MB

  • Estimert diskplass som kreves: 253 MB (med tester)

  • Estimert byggetid: 1.6 SBU (med tester; begge bruker parallellisme=4)

Doxygen Avhengigheter

Påkrevd

CMake-3.31.5 og git-2.48.1

Anbefalt
Valgfri

Graphviz-12.2.1, ghostscript-10.04.0, libxml2-2.13.6 (påkrevd for testene), LLVM-19.1.7 (med clang), texlive-20240312 (eller install-tl-unx), xapian-1.4.27 (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-20240312 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.13.2 \
       .. &&
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-20240312 installert. Hvis du trenger formler for å konvertere PostScript filer til punktgrafikk, da du må ha ghostscript-10.04.0 installert.

Innhold

Installerte Programmer: doxygen og valgfritt, doxywizard, doxyindexer og doxysearch.cgi
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/doxygen-1.13.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Dtc Avhengigheter

Valgfri

libyaml-0.2.5, SWIG-4.3.0, og texlive-20240312

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-20240312 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.3.0 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.13/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-14.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 D og Ada, er tilgjengelige i samlingen. D og Ada har et binært oppstartskrav for den første installasjon, så deres installasjon er ikke beskrevet her. For å installere dem, kan du fortsette på samme måte som nedenfor etter installasjonen av den tilsvarende kompilatoren fra en binær pakke, legg til ada eller d til --enable-languages linjen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Obs

Hvis du oppgraderer GCC fra en versjon før 14.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://ftp.gnu.org/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz

  • Nedlasting MD5 sum: 2268420ba02dc01821960e274711bde0

  • Nedlastingsstørrelse: 88 MB

  • Estimert diskplass som kreves: 11 GB (3.4 GB installert med alle oppførte språk; legg til 1,5 GB for tester)

  • Estimert byggetid: 14 SBU (legg til 34 SBU for tester; begge med parallellitet=8)

GCC Avhengigheter

Valgfri

GDB-16.2, Graphviz-12.2.1 (noen tester bruker den hvis den er installert; noter at hvis den er installert, men ikke bygget med libpng-1.6.46 disse testene vil mislykkes), Valgrind-3.24.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/12.3-systemd/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:

sed -e '/cpython/d'               -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp
sed -e 's/no-pic /&-no-pie /'     -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c
sed -e 's/300000/(1|300000)/'     -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c
sed -e 's/{ target nonpic } //' \
    -e '/GOTPCREL/d'              -i ../gcc/testsuite/gcc.target/i386/fentryname3.c

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-14.1.0 oppstår omtrent 74 FAIL i «guality» pakken, samt diverse feil gjennom resten av testpakken. Hvis alle kompilatorene ovenfor er bygget, vil det være litt over 110 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/14.2.0/include{,-fixed}     &&

ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/14.2.0/liblto_plugin.so \
        /usr/lib/bfd-plugins/

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.8

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Valgfri

libatomic_ops-7.8.2

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.8 &&
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.8: 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.8

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-16.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/gdb/gdb-16.2.tar.xz

  • Nedlasting MD5 sum: 05e4a7e3b177432771aa7277af9bccee

  • Nedlastingsstørrelse: 23 MB

  • Estimert diskplass som kreves: 1.0 GB (legg til 943 MB for dokumenter; legg til 960 MB for tester)

  • Estimert byggetid: 1.4 SBU (legg til 0.3 SBU for dokumenter; legg til 3.0 SBU tester; alle bruker parallellisme=8)

GDB Avhengigheter

Anbefalt kjøretidsavhengighet
Valgfri

Doxygen-1.13.2, GCC-14.2.0 (ada, gfortran, og go er brukt for tester), Guile-3.0.10, rustc-1.85.0 (brukt for noen tester), Valgrind-3.24.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-python=/usr/bin/python3 &&
make

Eventuelt for å bygge API dokumentasjonen ved hjelp av Doxygen-1.13.2, 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-16.1, ved bruk av en Xeon E5-1650 v3, var det 14 uventede feil av over 120000 tester.

  • Fire tester i gdb.base/step-over-syscall.exp pakken er kjent for å mislykkes på grunn av endringer i Linux 6.13 og glibc-2.41.

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-16.2 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-16.2

Parameterforklaringer

--with-system-readline: Denne bryteren tvinger GDB å bruke kopien av Readline 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-16.2

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.48.1

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-6.9.2, Bazaar, Subversion-1.14.5, CVS, Perforce, og Team Foundation Server.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.kernel.org/pub/software/scm/git/git-2.48.1.tar.xz

  • Nedlasting MD5 sum: 99656f1481e70701198257ada703a480

  • Nedlastingsstørrelse: 7.4 MB

  • Estimert diskplass som kreves: 541 MB (med nedlastet dokumentasjon; legg til 19 MB for å bygge dokumenter; legg til 21 MB for tester)

  • Estimert byggetid: 0.3 SBU (med parallellitet=4; legg til 1.0 SBU for å bygge dokumenter, og opptil 7 SBU (avhengig av diskhastighet) for tester)

Ytterligere Nedlastinger

Git Avhengigheter

Anbefalt
Valgfri

Apache-2.4.63 (for noen tester), Fcron-3.2.1 (kjøretid, for planlegging av git maintenance jobber), GnuPG-2.4.7 (kjøretid, kan brukes til å signere Git utførelser eller tagger, eller verifisere signaturene av dem), OpenSSH-9.9p2 (kjøretid, nødvendig for å bruke Git over ssh), pcre2-10.45, Subversion-1.14.5 med Perl bindinger (kjøretid, for git svn), Tk-8.6.16 (gitk, en enkel Git arkivvisningsprogram, bruker Tk ved kjøretid), Valgrind-3.24.0, Authen::SASL (kjøretid, for git send-email), IO-Socket-SSL-2.089 (kjøretid, for git send-email for å koble til en SMTP server med SSL kryptering), og Systemd-257.3 (kjøretid, gjenoppbygg med Linux-PAM-1.7.0, for planlegging av git maintenance jobber)

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 &&
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 |& tee test.log. 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 grep '^not ok' test.log | grep -v TODO.

Nå, som root bruker:

make perllibdir=/usr/lib/perl5/5.40/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.48.1 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.48.1.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.48.1 &&
tar   -xf   ../git-htmldocs-2.48.1.tar.xz \
      -C    /usr/share/doc/git-2.48.1 --no-same-owner --no-overwrite-dir &&

find        /usr/share/doc/git-2.48.1 -type d -exec chmod 755 {} \; &&
find        /usr/share/doc/git-2.48.1 -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.48.1/man-pages/{html,text}         &&
mv        /usr/share/doc/git-2.48.1/{git*.txt,man-pages/text}     &&
mv        /usr/share/doc/git-2.48.1/{git*.,index.,man-pages/}html &&

mkdir -vp /usr/share/doc/git-2.48.1/technical/{html,text}         &&
mv        /usr/share/doc/git-2.48.1/technical/{*.txt,text}        &&
mv        /usr/share/doc/git-2.48.1/technical/{*.,}html           &&

mkdir -vp /usr/share/doc/git-2.48.1/howto/{html,text}             &&
mv        /usr/share/doc/git-2.48.1/howto/{*.txt,text}            &&
mv        /usr/share/doc/git-2.48.1/howto/{*.,}html               &&

sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.48.1/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.48.1/howto-index.txt

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: Bruk denne bryteren hvis PCRE2 er installert.

tar -xf ../git-manpages-2.48.1.tar.gz -C /usr/share/man --no-same-owner: Dette untarer git-manpages-2.48.1.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.48.1 ...: 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.40/site_perl/Git, og /usr/share/{doc/git-2.48.1,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.16)

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.48.1 og OpenSSH-9.9p2

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.service enheten fra blfs-systemd-units-20241211 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

Sammen med git-daemon.service enheten, en konfigurasjonsfil navngitt /etc/default/git-daemon har blitt installert. Se gjennom denne konfigurasjonsfilen for å matche dine behov.

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.10

Introduksjon til Guile

Guile pakken inneholder GNU-prosjektets utvidelsesspråkbibliotek. Guile inneholder også en frittstående Scheme tolk.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/guile/guile-3.0.10.tar.xz

  • Nedlasting MD5 sum: 375f8a423a23d229552512113aa4a954

  • Nedlastingsstørrelse: 5.5 MB

  • Estimert diskplass som kreves: 184 MB (legg til 4 MB for tester)

  • Estimert byggetid: 4.5 SBU (Bruker parallellisme=4; legg til 0,3 SBU for tester)

Guile Avhengigheter

Påkrevd

GC-8.2.8 og libunistring-1.3

Valgfri

Emacs-30.1 og GDB-16.2 (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.10 &&
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

For å teste resultatene, kjør: ./check-guile. På et i686-system vil så mange som 10 tester mislykkes i numbers.test testpakken på grunn av mindre flytende komma avrundingsfeil.

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.10/{guile.html,ref} &&
mv /usr/share/doc/guile-3.0.10/r5rs{.html,}     &&

find examples -name "Makefile*" -delete         &&
cp -vR examples   /usr/share/doc/guile-3.0.10   &&

for DIRNAME in r5rs ref; do
  install -v -m644  doc/${DIRNAME}/*.txt \
                    /usr/share/doc/guile-3.0.10/${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.10 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-19.1.7

Introduksjon til LLVM

LLVM pakken inneholder en samling av modulære og gjenbrukbare kompilator og verktøykjede teknologier. Den lave nivået Virtuelle 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Cmake moduler for LLVM

Tredjepartsavhengigheter for LLVM byggesystemet

Anbefalt Nedlasting

Clang

Valgfri Nedlasting

Compiler RT

LLVM Avhengigheter

Påkrevd

CMake-3.31.5

Valgfri

Doxygen-1.13.2, git-2.48.1, Graphviz-12.2.1, libxml2-2.13.6, psutil-7.0.0 (for tester), Pygments-2.19.1, PyYAML-6.0.2 (for tester), rsync-3.4.1 (for tester), Systemd-257.3 (gjennoppbygg med PAM, for tester), texlive-20240312 (eller install-tl-unx), Valgrind-3.24.0, Zip-3.0, myst-parser (for bygging av dokumentasjonen), OCaml, og Z3

Installasjon av LLVM

To ekstra tarballer llvm-cmake-19.1.7.src.tar.xz og llvm-third-party-19.1.7.src.tar.xz er nødvendig for LLVM byggesystemet. Oppstrøms forventer at de pakkes ut på samme nivå som llvm-19.1.7.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-19.1.7.src hierarkiet:

tar -xf ../llvm-cmake-19.1.7.src.tar.xz                              &&
tar -xf ../llvm-third-party-19.1.7.src.tar.xz                        &&
sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-19.1.7.src@'          \
    -i CMakeLists.txt                                                &&
sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@third-party-19.1.7.src@' \
    -i cmake/modules/HandleLLVMOptions.cmake

Notat

Disse to tarballene trekkes ut i mapper navngitt cmake-19.1.7.src og third-party-19.1.7.src, dvs. mappenavnene mangler llvm- prefikset.

Installer clang inn i kildetreet ved å kjøre følgende kommandoer:

tar -xf ../clang-19.1.7.src.tar.xz -C tools &&
mv tools/clang-19.1.7.src tools/clang

Hvis du har lastet ned compiler-rt, installer den i kildetreet ved å kjøre følgende kommandoer:

tar -xf ../compiler-rt-19.1.7.src.tar.xz -C projects    &&
mv projects/compiler-rt-19.1.7.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.13.2. 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.85.0):

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:

sed -e 's/config.has_no_default_config_flag/True/' \
    -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, sikre at Systemd-257.3 og Shadow-4.17.3 er blitt bygget om med Linux-PAM-1.7.0 støtte (hvis du samhandler via en SSH eller grafisk sesjon, sørg også for at OpenSSH-9.9p2 serveren eller skrivebordsadministratoren har blitt bygget med Linux-PAM-1.7.0) og gjeldende påloggingsøkt startes etter oppdatering av /etc/pam.d/system-session filen til å inkludere pam_systemd.so, deretter utsted:

systemctl   --user start dbus &&
systemd-run --user --pty -d -G -p LimitCORE=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 (send -p AllowedCPUs=... alternativet til systemd-run kommandoen, les «Bruk Linux Control Group for å begrense ressursbruken» for detaljer) for å begrense antall logiske kjerner for å kjøre testene. 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, 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-19.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-24.3.4.

-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: Gjør det mulig å generere søkbar HTML dokumentasjon hvis du har installert Doxygen-1.13.2. Du bør kjøre make doxygen-html etterpå, og installer den genererte dokumentasjonen manuelt.

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-14.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++ (symbolkobling til clang-19), clang-19, clang-check, clang-cl, clang-cpp (siste to symbolkobling til clang), clang-extdef-mapping, clang-format, clang-linker-wrapper, clang-offload-bundler, clang-offload-packager, clang-refactor, clang-rename, clang-repl, clang-scan-deps, 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-config, llvm-cov, llvm-c-test, 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-rename

er et verktøy for å gi nytt navn til symboler i C/C++ programmer

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.48.1)

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.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.lua.org/ftp/lua-5.4.7.tar.gz

  • Nedlasting MD5 sum: fc3f3291353bbe6ee6dec85ee61331e8

  • Nedlastingsstørrelse: 368 KB

  • Estimert diskplass som kreves: 3.8 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.7

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.7-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.7" \
     install &&

mkdir -pv                      /usr/share/doc/lua-5.4.7 &&
cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-5.4.7 &&

install -v -m644 -D lua.pc /usr/lib/pkgconfig/lua.pc

Her beskriver vi kun "Grunntestene". Untar tarballen og endre til lua-5.4.7-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.7

Korte Beskrivelser

lua

er den frittstående Lua tolken

luac

er Lua kompilatoren

liblua.so

inneholder Lua API funksjoner

luajit-20250212

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-6.9.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.mercurial-scm.org/release/mercurial-6.9.2.tar.gz

  • Nedlasting MD5 sum: 05cb7a265bf503c0b934e3591f3c66ac

  • Nedlastingsstørrelse: 8.3 MB

  • Estimert diskplass som kreves: 83 MB (med dokumenter, legg til 1.6 GB for tester)

  • Estimert byggetid: 0.3 SBU (med dokumenter, legg til 15 SBU for tester; begge bruker parallellisme=8)

Mercurial Avhengigheter

Valgfri

docutils-0.21.2 (nødvendig for å bygge dokumentasjonen), git-2.48.1, GPGME-1.24.2 (med Python bindinger), OpenSSH-9.9p2 (kjøretid, for å få tilgang til ssh://... depoter), Pygments-2.19.1, rustc-1.85.0 (se rust/README.rst og rust/rhg/README.md), Subversion-1.14.5 (med Python bindinger), Bazaar, CVS, pyflakes, pyOpenSSL, og re2

Installasjon av Mercurial

Bygg Mercurial ved å kjøre følgende kommandoer:

make build

For å bygge dokumentasjonen (krever docutils-0.21.2), utsted:

make doc

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 '138,142d' Makefile

For å kjøre testpakken, utsted:

TESTFLAGS="-j<N> --tmpdir tmp" make check

hvor <N> er et heltall mellom én og antall ( prosessor X tråder ), inkludert. 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. To tester er kjent for å mislykkes: test-duplicateoptions.py og test-highlight.t.

For å undersøke eventuelle tilsynelatende mislykkede tester, kan du bruke run-tests.py skriptet. For å se de nesten førti bryterne, 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  &&
  rm -rf tmp &&
  ./run-tests.py --tmpdir tmp test-gpg.t
popd

Normalt vil de tidligere feilene være reproduserbare. Imidlertid, hvis du legger til bryteren --debug før --tmpdir, og kjør testene på nytt, kan det kan at noen feil forsvinner, noe som er et problem med testpakken. Hvis dette skjer, vil det ikke være flere av disse feilene selv om du ikke bruker --debug bryteren igjen.

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.

Installer Mercurial ved å kjøre følgende kommando (som root):

make PREFIX=/usr install-bin

Hvis du har laget dokumentasjonen, installer den ved å kjøre følgende kommando (som root):

make PREFIX=/usr install-doc

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> and <your@mail> (mail er valgfritt og kan utelates). 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.15 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.13/site-packages/mercurial
Installerte Mapper: /etc/mercurial, /usr/lib/python3.13/site-packages/hgdemandimport, /usr/lib/python3.13/site-packages/hgext, /usr/lib/python3.13/site-packages/hgext3rd, /usr/lib/python3.13/site-packages/mercurial, og /usr/lib/python3.13/site-packages/mercurial-6.9.2-py3.13.egg-info

Korte Beskrivelser

hg

er Mercurial versjonskontrollsystemet

NASM-2.16.03

Introduksjon til NASM

NASM (Netwide Assembler) er en 80x86 assembler designet for portabilitet og modularitet. Det inkluderer en disassembler også.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-2.16.03-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-2.16.03/html  &&
cp -v doc/html/*.html    /usr/share/doc/nasm-2.16.03/html  &&
cp -v doc/*.{txt,ps,pdf} /usr/share/doc/nasm-2.16.03

Innhold

Installerte Programmer: nasm og ndisasm
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/nasm-2.16.03

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Archive::Zip Avhengigheter
Anbefalt (for testpakken)

libarchive-3.7.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.011

Introduksjon til Business::ISBN

The Business::ISBN modulen gir funksjoner for å arbeide med Internasjonale standard boknumre.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Business::ISBN Avhengigheter
Påkrevd

Business-ISBN-Data-20250205.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.204

Introduksjon til Business::ISMN

Business::ISMN modulen gir funksjoner for å arbeide med Internasjonale standard musikknumre.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Business::ISMN Avhengigheter
Påkrevd

Tie-Cycle-1.229

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Data::Compare Avhengigheter
Påkrevd

Clone-0.47 og File-Find-Rule-0.34

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
DateTime::Calendar::Julian Avhengigheter
Påkrevd

DateTime-1.65

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
DateTime::Format::Builder Avhengigheter
Påkrevd

DateTime-Format-Strptime-1.79 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
HTML::Parser Avhengigheter
Påkrevd

HTML-Tagset-3.24 og HTTP-Message-7.00 (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å.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
HTTP::Daemon Avhengigheter
Påkrevd

HTTP-Message-7.00

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.089

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
IO::Socket::SSL Avhengigheter
Påkrevd

make-ca-1.15 og Net-SSLeay-1.94

Valgfri

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.78)

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.23, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
List::MoreUtils Avhengigheter
Påkrevd

Exporter-Tiny-1.006002 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.78). Når modulen er installert er LWP i stand til å få tilgang til nettsteder ved hjelp av HTTP over SSL/TLS.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
LWP::Protocol::https Avhengigheter
Påkrevd

IO-Socket-SSL-2.089, libwww-perl-6.78, og make-ca-1.15 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.50

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.71

Introduksjon til Test::Differences

Test::Differences tester strenger og datastrukturer og viser forskjeller hvis de ikke stemmer overens.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.05

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.20 og du trenger ikke å installere denne modulen på nytt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.31

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
URI Avhengigheter
Påkrevd

MIME-Base32-1.303

Anbefalt (påkrevd for testpakken)
Valgfri

Business-ISBN-3.011

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.42

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
XML::LibXSLT Avhengigheter
Påkrevd

libxslt-1.1.42 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.16p2 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Alien::Build::Plugin::Download::GitLab Avhengigheter
Påkrevd

Alien-Build-2.84 og URI-5.31

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.19

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.13.6.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Alien::Libxml2 Avhengigheter
Påkrevd

Alien-Build-Plugin-Download-GitLab-0.01, libxml2-2.13.6, og Path-Tiny-0.146

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-20250205.001

Introduksjon til Business-ISBN-Data

Business-ISBN-Data er en datapakke for Business::ISBN.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.65

Introduksjon til DateTime

DateTime er et dato- og klokkeslettobjekt for perl.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
DateTime Avhengigheter
Påkrevd

DateTime-Locale-1.44 og DateTime-TimeZone-2.64

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.79

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
DateTime::Format::Strptime Avhengigheter
Påkrevd

DateTime-1.65

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.44

Introduksjon til DateTime::Locale

DateTime::Locale gir lokaliseringsstøtte for DateTime-1.65.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.64

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
DateTime::TimeZone Avhengigheter
Påkrevd

Class-Singleton-1.6, Module-Runtime-0.016, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Dist::CheckConflicts Avhengigheter
Påkrevd

Module-Runtime-0.016

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.006002

Introduksjon til Exporter::Tiny

Exporter::Tiny er en eksportør med funksjonene til Sub::Exporter men bare kjerneavhengigheter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.34

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.78) objekt vet om.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
HTTP::Cookies Avhengigheter
Påkrevd

HTTP-Message-7.00

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.00

Introduksjon til HTTP::Message

HTTP::Message gir en basisklasse for meldingsobjekter i HTTP stil.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.31

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Module::Implementation Avhengigheter
Påkrevd

Module-Runtime-0.016 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.016

Introduksjon til Module::Runtime

Module::Runtime gir funksjoner for å håndtere kjøretidshåndtering av Perl moduler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.23

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Net::HTTP Avhengigheter
Påkrevd

URI-5.31

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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å.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Params::ValidationCompiler Avhengigheter
Påkrevd

Exception-Class-1.45 og Specio-0.49

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.146

Introduksjon til Path::Tiny

Path::Tiny gir et lite raskt verktøy for å jobbe med filbaner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.49

Introduksjon til Specio

Specio gir klasser for å representere typebegrensninger og tvang, sammen med syntaks for å deklarere dem.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Specio Avhengigheter
Påkrevd

Devel-StackTrace-2.05, Eval-Closure-0.14, Module-Runtime-0.016, Role-Tiny-2.002004, Sub-Quote-2.006008, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.006008

Introduksjon til Sub::Quote

Sub::Quote gir måter å generere subrutiner fra strenger.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.024

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.204

Introduksjon til Test::Deep

Test::Deep gir deg svært fleksible måter å sjekke at resultatet du fikk er resultatet du forventet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.017

Introduksjon til Test::Fatal

Test::Fatal modulen gir enkle hjelpere for å teste kode som kaster unntak.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.994

Introduksjon til Test::File

Test::File gir en samling testverktøy for filattributter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Test::File::ShareDir Avhengigheter
Påkrevd

Class-Tiny-1.008, File-Copy-Recursive-0.45, File-ShareDir-1.118, Path-Tiny-0.146, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.302209

Introduksjon til Test::Simple

Test::Simple inneholder grunnleggende verktøy for å skrive tester.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Test::Simple Avhengigheter
Påkrevd

Term-Table-0.024

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Test2::Plugin::NoWarnings Avhengigheter
Påkrevd

Test-Simple-1.302209

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.60

Introduksjon til Text::CSV_XS

Text::CSV_XS gir fasiliteter for sammensetning og nedbrytning av kommadelte verdier.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.229

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
WWW::RobotRules Avhengigheter
Påkrevd (kjøretid)

libwww-perl-6.78 (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.13.6.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Ytterligere Nedlasting
XML::LibXML Avhengigheter
Påkrevd

Alien-Libxml2-0.19 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.13:

patch -Np1 -i ../XML-LibXML-2.0210-testsuite_fixes-1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
XML::SAX Avhengigheter
Påkrevd

libxml2-2.13.6, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.4.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.php.net/distributions/php-8.4.4.tar.xz

  • Nedlasting MD5 sum: c9aa75fada9f41e9f0e02642b51225cc

  • Nedlastingsstørrelse: 13 MB

  • Estimert diskplass som kreves: 589 MB (med dokumentasjon og tester)

  • Estimert byggetid: 1.3 SBU (med parallellitet=4; legg til 2.5 SBU for tester)

Ytterligere Nedlastinger

PHP Avhengigheter

Anbefalt
Valgfrie Systemverktøy og Biblioteker

Aspell-0.60.8.1, enchant-2.8.2, libxslt-1.1.42, en MTA (som gir en sendmail kommando), pcre2-10.45, AppArmor, Dmalloc, Net-SNMP, oniguruma, OSSP mm, re2c, og XMLRPC-EPI

Valgfrie Grafikkverktøy og Biblioteker

FreeType-2.13.3, libexif-0.6.25, libjpeg-turbo-3.0.1, libpng-1.6.46, libtiff-4.7.0, libwebp-1.5.0, et grafiske miljø, FDF Toolkit, GD, og t1lib

Valgfrie Nettverktøy

cURL-8.12.1, tidy-html5-5.8.0, Caudium, Hyperwave, Roxen WebServer, og WDDX

Valgfrie Databehandlingsverktøy og Biblioteker

lmdb-0.9.31, MariaDB-11.4.5 eller MySQL, OpenLDAP-2.6.9, PostgreSQL-17.4, SQLite-3.49.1, unixODBC-2.3.12, 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, MIT Kerberos V5-1.21.3, 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.13.6 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      \
            --enable-fpm                 \
            --without-pear               \
            --with-fpm-user=apache       \
            --with-fpm-group=apache      \
            --with-fpm-systemd           \
            --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.4.4 &&
install -v -m644    CODING_STANDARDS* EXTENSIONS NEWS README* UPGRADING* \
                    /usr/share/doc/php-8.4.4

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.4.4 &&
gunzip -v /usr/share/doc/php-8.4.4/php_manual_en.html.gz

For «Mange HTML filer» tarball:

tar -xvf ../php_manual_en.tar.gz \
    -C /usr/share/doc/php-8.4.4 --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.

--with-fpm-systemd: Denne parameteren tillater FastCGI Process Manager å integrere med systemd.

--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.

Systemd Enhet

For å starte php-fpm nissen ved oppstart, installer systemd enheten fra blfs-systemd-units-20241211 pakken ved å kjøre følgende kommando som root bruker:

make install-php-fpm

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-20230831
Installerte Mapper: /etc/php-fpm.d, /usr/{include,lib,share}/php, og /usr/share/doc/php-8.4.4

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.13.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Viktig

Hvis du oppgraderer til en ny Python-3 minor versjon (f.eks. fra Python-3.11.x til Python-3.12.0), må du installere på nytt eventuelle Python3 moduler du har installert. Du burde også installer pakker på nytt som genererer Python3 moduler inkludert GLib-2.82.5 (med GObject Introspection), libxml2-2.13.6, opencv-4.11.0, FontForge-20230101, gnome-tweaks-46.1, Samba-4.21.4, og Graphviz-12.2.1 (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, wheel, setuptools, meson, MarkupSafe, og Jinja2.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz

  • Nedlasting MD5 sum: 4c2d9202ab4db02c9d0999b14655dfe5

  • Nedlastingsstørrelse: 22 MB

  • Estimert diskplass som kreves: 649 MB (legg til 65 MB MB for tester)

  • Estimert byggetid: 2.1 SBU (legg til 1.1 SBU for tester; begge bruker parallellisme=4)

Ekstra Valgfri Nedlasting

Python 3 Avhengigheter

Anbefalt
Valgfri

BlueZ-5.79, GDB-16.2 (nødvendig for noen tester), Valgrind-3.24.0, og libmpdec

Valgfri (For Tilleggsmoduler)

libnsl-2.0.1, Tk-8.6.16, 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:

CXX="/usr/bin/g++"               \
./configure --prefix=/usr        \
            --enable-shared      \
            --with-system-expat  \
            --enable-optimizations &&
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 44 000 tester er følgende test kjent for å feile: test_importlib.

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.13.2/html

tar --strip-components=1  \
    --no-same-owner       \
    --no-same-permissions \
    -C /usr/share/doc/python-3.13.2/html \
    -xvf ../python-3.13.2-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.13/config-3.13-<arch>-linux-gnu/libpython3.13.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.13.2 /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: 2to3 (symlenke) og 2to3-3.13, idle3 (symlenke) og idle3.13, pip3 og pip3.13, pydoc3 (symlenke) og pydoc3.13, python3 (symlenke); og python3.13, og python3-config (symlenke) og python3.13-config
Installerte Biblioteker: libpython3.13.so og libpython3.so
Installerte Mapper: /usr/include/python3.13, /usr/lib/python3.13, og /usr/share/doc/python-3.13.2

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.13

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.20 fordi byggesystemet ikke har blitt oppdatert for å støtte Python-3.13.2.

Notat

IKKE installer denne pakken hvis du ikke installerer Seamonkey.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Python 3.11 Avhengigheter

Anbefalt

Installasjon av Python 3.11

Installer Python 3.11 ved å kjøre følgende kommandoer:

CXX="/usr/bin/g++"                     \
./configure --prefix=/opt/python3.11   \
            --disable-shared           \
            --with-system-expat        &&
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 til nyttige objekter til Python språket. Moduler brukt av pakker i hele BLFS er oppført her, sammen med deres avhengigheter.

Notat

Hvis du ønsker å kjøre tester, er flere av de følgende modulene avhengig av sqlite3 kjerne python modul som ikke ble bygget i LFS. Det anbefales derfor å gjenoppbygge Python etter installering av de anbefalte avhengighetene som er oppført i Python-3.13.2.

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.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Asciidoc Avhengigheter
Valgfri (kjøretid)

docbook-xsl-nons-1.79.2, fop-2.10, libxslt-1.1.42, 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.13/site-packages/asciidoc og /usr/lib/python3.13/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

CSSSelect-1.2.0

Introduksjon til CSSSelect Modulen

CSSSelect gir CSS velgere for Python.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
CSSSelect Avhengigheter
Påkrevd

setuptools_scm-8.1.0

Valgfri (for testing)

lxml-5.3.1 og pytest-8.3.4

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.13/site-packages/cssselect

CacheControl-0.14.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
CacheControl Avhengigheter
Påkrevd

msgpack-1.1.0 og requests-2.32.3

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

Denne modulen har ikke 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: doesitcache
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/CacheControl-0.14.2.dist-info og /usr/lib/python3.13/site-packages/cachecontrol
Korte Beskrivelser

doesitcache

er et udokumentert kommandolinjeskript.

Cython-3.0.12

Introduksjon til Cython Modulen

Cython pakken gir en kompilator for å skrive C utvidelser for Python språket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av Cython

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 Cython

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.13/site-packages/Cython, /usr/lib/python3.13/site-packages/Cython-3.0.12.dist-info, og /usr/lib/python3.13/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.34.3

Introduksjon til dbusmock

dbusmock er et Python bibliotek nyttig for å skrive tester for programvare som snakker med D-Bus tjenester.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
dbusmock Avhengigheter
Påkrevd

D-Bus Python-1.3.2

Valgfri

pytest-8.3.4 (kreves for å kjøre testpakken), PyGObject-3.50.0 (kreves for å kjøre testpakken), BlueZ-5.79 (valgfritt for testpakken), og UPower-1.90.7 (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

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.13/site-packages/dbusmock og /usr/lib/python3.13/site-packages/python_dbusmock-0.34.3.dist-info

D-Bus Python-1.3.2

Introduksjon til D-Bus Python Modulen

D-Bus Python gir Python bindinger til D-Bus API grensesnittet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
D-Bus Python Avhengigheter
Påkrevd

dbus-1.16.0, GLib-2.82.5, meson_python-0.17.1, og patchelf-0.18.0

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

Denne pakken kommer ikke med en testpakke.

Installer nå modulen som root bruker:

pip3 install --no-index --find-links dist --no-user dbus-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.13/site-packages/dbus and /usr/lib/python3.13/site-packages/dbus_python-1.3.2.egg-info

docutils-0.21.2

Introduksjon til docutils

docutils er et sett med Python moduler og programmer for å behandle rentekstdokumenter til formater som HTML, XML eller LaTeX.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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. To tester i test_parser pakken 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

Installerte Programmer: docutils, rst2html4, rst2html5, rst2html, rst2latex, rst2man, rst2odt_prepstyles, rst2odt, rst2pseudoxml, rst2s5, rst2xetex, rst2xml, og rstpep2html
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/docutils{,-0.21.2.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Doxypypy Avhengigheter
Påkrevd

chardet-5.2.0 og Doxygen-1.13.2 (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.13/site-packages/doxypypy og /usr/lib/python3.13/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Doxyqml Avhengigheter
Påkrevd (Kjøretid)

Doxygen-1.13.2

Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/doxyqml og /usr/lib/python3.13/site-packages/doxyqml-0.5.3.dist-info
Korte Beskrivelser

doxyqml

er et Doxygen inndatafilter for QML filer.

Gi-DocGen-2025.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Gi-DocGen Avhengigheter
Påkrevd

Markdown-3.7, packaging-24.2, Pygments-2.19.1, og typogrify-2.1.0

Valgfri

Graphviz-12.2.1 (kjøretid, for visualisere klassehierarkigrafer) og pytest-8.3.4 (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.13/site-packages/gidocgen og /usr/lib/python3.13/site-packages/gi_docgen-2025.3.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
html5lib Avhengigheter
Påkrevd

six-1.17.0 og webencodings-0.5.1

Installasjon av html5lib

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

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.13/site-packages/html5lib og /usr/lib/python3.13/site-packages/html5lib-1.1.dist-info

lxml-5.3.1

Introduksjon til lxml Modulen

lxml gir Python bindinger for libxslt-1.1.42 og libxml2-2.13.6.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
lxml Avhengigheter
Påkrevd

libxslt-1.1.42

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.13/site-packages/lxml og /usr/lib/python3.13/site-packages/lxml-5.3.1.dist-info

Mako-1.3.9

Introduksjon til Mako Modulen

Mako er en Python modul som implementerer hyperrask og lett maldesign for Python plattformen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

Tarball navnet har endret seg fra Mako til mako, men likevel installeres modulen som Mako.

Mako Avhengigheter
Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/mako og /usr/lib/python3.13/site-packages/Mako-1.3.9.dist-info
Korte Beskrivelser

mako-render

gjengir en mal

NumPy-2.2.3

Introduksjon til NumPy Modulen

NumPy er den grunnleggende pakken for vitenskapelig databehandling med Python.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
NumPy Avhengigheter
Påkrevd

cython-3.0.12, meson_python-0.17.1, og pyproject-metadata-0.9.0

Valgfri

fortran fra GCC-14.2.0, lapack og cblas, og openblas

Valgfri (for testing)

attrs-25.1.0, pytest-8.3.4, pytz-2025.1, 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 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: f2py, f2py3 og f2py3.13 (3 kopier av samme skript)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/numpy
Korte Beskrivelser

f2py

er Fortran til Python grensesnittgeneratorverktøyet.

Packaging-24.2

Introduksjon til Packaging Modulen

Packaging biblioteket tilbyr verktøy som implementerer interoperabilitetsspesifikasjonene som har en klart riktig oppførsel (PEP440) eller ha stor nytte av å ha en singel delt implementering (PEP425). Dette inkluderer verktøy for versjonshåndtering, spesifikasjoner, markører, tagger og krav.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Packaging Avhengigheter
Valgfri (for testing)

pytest-8.3.4 og pretend

Installasjon av Packaging

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 packaging

Forutsatt pytest-8.3.4 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 pretend                           &&
python3 /usr/bin/pytest
deactivate

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.13/site-packages/packaging og /usr/lib/python3.13/site-packages/packaging-24.2.dist-info

ply-3.11

Introduksjon til ply Modulen

ply pakken er en 100% Python implementering av de vanlige analyseverktøyene 'lex' og 'yacc'.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av ply

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 ply

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: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/ply og /usr/lib/python3.13/site-packages/ply-3.11.dist-info

psutil-7.0.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Pakke Avhengigheter
Valgfri (for testing)

pytest-8.3.4 og pypinfo

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 å teste resultatene, utsted: make test.

To tester, TestSystemAPIs::test_disk_usage og TestNetAPIs::test_net_if_addrs, er kjent for å feile. En test kalt TestAvailProcessAPIs::test_io_counters er kjent for å mislykkes hvis kjernen ikke har CONFIG_TASK_IO_ACCOUNTING aktivert. TestScripts.test_who er kjent for å mislykkes hvis login manager ikke skriver inn i /run/utmp (merk at på grunn av det potensielle år 2037 problemet, har Shadow allerede sluttet å skrive inn i det). TestInternalScripts::test_import_all er kjent for å mislykkes hvis den eksterne modulen pyinfo ikke er installert.

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.13/site-packages/psutil-7.0.0.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.46.1

Introduksjon til PyAtSpi2

PyAtSpi2 pakken inneholder Python bindinger for kjernekomponenter av GNOME Accessibility.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
PyAtSpi2 Avhengigheter
Påkrevd

PyGObject-3.50.0

Anbefalt

Installasjon av PyAtSpi2

For å bygge PyAtSpi2 som en Python 3 modul, kjør følgende kommandoer:

./configure --prefix=/usr --with-python=/usr/bin/python3

Denne pakken kommer ikke med en testpakke.

For å installere Python 3 modulen, kjør følgende kommando som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/pyatspi

PyCairo-1.26.1

Introduksjon til PyCairo Modulen

PyCairo gir Python bindinger til Cairo.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
PyCairo Avhengigheter
Påkrevd

Cairo-1.18.2

Valgfri

Hypothesis og pytest-8.3.4 (for tester)

Installasjon av PyCairo

Installer PyCairo for Python3 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.13/site-packages/cairo, og /usr/lib/python3.13/site-packages/pycairo-1.26.1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.13/site-packages/pygdbmi-0.11.0.0.dist-info

Pygments-2.19.1

Introduksjon til Pygments Modulen

Pygments er en generell syntaksmarkør skrevet i Python, for mer enn 300 språk.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Pygments Avhengigheter

Påkrevd

hatchling-1.27.0

Valgfri (for testing)

pytest-8.3.4 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-8.3.4 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 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: pygmentize
Installert Bibliotek: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/pygments og /usr/lib/python3.13/site-packages/Pygments-2.19.1.dist-info

Korte Beskrivelser

pygmentize

uthever en inndatafil og skriver resultatet til en utdatafil

PyGObject-3.50.0

Introduksjon til PyGObject3 Modulen

PyGObject3 gir Python bindinger til GObject klassen fra GLib.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
PyGObject3 Avhengigheter
Påkrevd

GLib-2.82.5 (med GObject Introspection)

Anbefalt
Valgfri (for testene)

GTK-4.16.12, pep8, pyflakes, og pytest-8.3.4

Installasjon av PyGObject3

Fjern først to defekte 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. En annen runde med tester kan rapportere ERROR hvis GTK-4.16.12 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.

-D pycairo=disabled: bruk denne bryteren hvis du ikke har PyCairo-1.26.1 installert.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: /usr/lib/python3.13/site-packages/gi/_gi{,_cairo}.cpython-313-<arch>-linux-gnu.so
Installerte Mapper: /usr/include/pygobject-3.0 og /usr/lib/python3.13/site-packages/{gi,pygtkcompat}

pyparsing-3.2.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
pyparsing Avhengigheter
Valgfri

railroad-diagrams (også nødvendig for tester)

Valgfri (for testing)

pytest-8.3.4

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-8.3.4 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 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.13/site-packages/pyparsing og /usr/lib/python3.13/site-packages/pyparsing-3.2.1.dist-info

pySerial-3.5

Introduksjon til pySerial Modulen

pySerial modulen innkapsler tilgangen til serieporten.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
pySerial Avhengigheter
Påkrevd

setuptools_scm-8.1.0

Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/pyserial-3.5.dist-info og /usr/lib/python3.13/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-8.3.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Pytest Avhengigheter
Påkrevd

iniconfig-2.0.0, packaging-24.2, og pluggy-1.5.0

Anbefalt
Valgfri (for testing)

attrs-25.1.0, Pygments-2.19.1, requests-2.32.3, 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] xmlschema hypothesis  &&
python3 /usr/bin/pytest
deactivate

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: pytest og py.test (forskjellige filer, men med samme innhold)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/_pytest, /usr/lib/python3.13/site-packages/pytest, og /usr/lib/python3.13/site-packages/pytest-8.3.4.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av PyXDG

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

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.13/site-packages/xdg og /usr/lib/python3.13/site-packages/pyxdg-0.28.dist-info

PyYAML-6.0.2

Introduksjon til PyYAML Modulen

PyYAML er en Python modul som implementerer neste generasjons YAML parser og emitter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
PyYAML Avhengigheter
Påkrevd

cython-3.0.12 og libyaml-0.2.5

Valgfri

pytest-8.3.4 (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.13/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.27.1 avhenger av denne modulen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Recommonmark Avhengigheter
Påkrevd

commonmark-0.9.1 og sphinx-8.2.1

Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/recommonmark og /usr/lib/python3.13/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.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Ytterligere Nedlastinger
Requests Avhengigheter
Påkrevd

charset-normalizer-3.4.1, idna-3.10, og urllib3-2.3.0

Anbefalt
Valgfri

PySocks (også nødvendig for testing)

Valgfri (for testing)

pytest-8.3.4, Flask<2, httpbin, MarkupSafe<2.1, pytest-mock, pytest-httpbin, sphinx<5, trustme, og Werkzeug<2

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-2.32.3-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 pytest-8.3.4 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 --force-reinstall sphinx\<5       &&
pip3 install pytest-mock    \
             werkzeug\<2    \
             flask\<2       \
             pytest-httpbin \
             pysocks        \
             trustme                           &&
pip3 install --force-reinstall Markupsafe\<2.1 &&
python3 /usr/bin/pytest tests
deactivate

Notat

Se make-ca-1.15 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 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.13/site-packages/requests og /usr/lib/python3.13/site-packages/requests-2.32.3.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Scour Avhengigheter
Påkrevd

six-1.17.0

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

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.13/site-packages/scour og /usr/lib/python3.13/site-packages/scour-0.38.2.dist-info

Korte Beskrivelser

scour

er et program for å optimalisere og rense SVG filer

sentry-sdk-2.22.0

Introduksjon til sentry-sdk Modulen

sentry-sdk modulen er den offisielle Python SDK for Sentry.io.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
sentry-sdk Avhengigheter
Påkrevd

certifi-2025.1.31 og urllib3-2.3.0

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.13/site-packages/sentry_sdk-2.22.0.dist-info og /usr/lib/python3.13/site-packages/sentry_sdk

six-1.17.0

Introduksjon til Six Modulen

Six er et Python 2 til 3 kompatibilitetsbibliotek.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av Six

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 six

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.13/site-packages/six-1.17.0.dist-info

Sphinx-8.2.1

Introduksjon til Sphinx Modulen

Sphinx pakken er et sett med verktøy for å oversette noen strukturerte tekstformater til pen dokumentasjon i ulike formater.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinx Avhengigheter
Påkrevd

alabaster-1.0.0, babel-2.17.0, docutils-0.21.2, imagesize-1.4.1, packaging-24.2, Pygments-2.19.1, requests-2.32.3, snowballstemmer-2.2.0, 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.0.12, html5lib-1.1, pytest-8.3.4, texlive-20240312, defusedxml, og typing_extensions

Installasjon av Sphinx

Installer først en ny avhengighet, som root bruker:

pip3 install roman-numerals-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 sphinx

Forutsatt cython-3.0.12 og pytest-8.3.4 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]                      &&
python3 -m pytest
deactivate

En test, test_ext_math.py::test_imgmath_numfig_html, er kjent for å feile.

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: sphinx-apidoc, sphinx-autogen, sphinx-build, og sphinx-quickstart
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/sphinx og /usr/lib/python3.13/site-packages/sphinx-8.2.1.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.0.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinx_rtd_theme Avhengigheter
Påkrevd

sphinx-8.2.1 og sphinxcontrib-jquery-4.1

Valgfri (for tester)

pytest-8.3.4 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-8.3.4 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

Flere tester returnerer advarsler fordi de bruker en utdatert sphinx API.

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.13/site-packages/sphinx_rtd_theme og /usr/lib/python3.13/site-packages/sphinx_rtd_theme-3.0.2.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.13/site-packages/alabaster og /usr/lib/python3.13/site-packages/alabaster-1.0.0.dist-info

Attrs-25.1.0

Introduksjon til Attrs Modulen

Attrs pakken er en pythonmodul som gjør det mulig å skrive attributter uten ekstra boilerplate.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Attrs Avhengigheter
Påkrevd

hatch-fancy-pypi-readme-24.1.0 og hatch_vcs-0.4.0

Avhengigheter (for testing)

pytest-8.3.4, 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 'attrs[tests]'                  &&
PATH=$PWD/testenv/bin:$PATH testenv/bin/python -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.13/site-packages/attr, /usr/lib/python3.13/site-packages/attrs, og /usr/lib/python3.13/site-packages/attrs-25.1.0.dist-info

babel-2.17.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Babel Avhengigheter
Påkrevd

pytz-2025.1

Valgfri (for testing)

pytest-8.3.4, Python-3.13.2 (med sqlite modulen), 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-8.3.4 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 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: pybabel
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/babel og /usr/lib/python3.13/site-packages/Babel-2.17.0.dist-info
Korte Beskrivelser

pybabel

er et kommandolinjegrensesnitt for å jobbe med meldings kataloger

certifi-2025.1.31

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.13/site-packages/certifi og /usr/lib/python3.13/site-packages/certifi-2025.1.31.dist-info

Chardet-5.2.0

Introduksjon til chardet Modulen

Chardet er en universell tegnkodings detektor.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Chardet Avhengigheter
Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/chardet og /usr/lib/python3.13/site-packages/chardet-5.2.0.dist-info
Korte Beskrivelser

chardetect

er en universell tegnkodingsdetektor

Charset-normalizer-3.4.1

Introduksjon til charset-normalizer Modulen

charset-normalizer biblioteket hjelper med å lese tekst fra en ukjent tegnkoding.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Charset-normalizer Avhengigheter
Påkrevd

setuptools_scm-8.1.0

Valgfri (for testing)

pytest-8.3.4, Python-3.13.2 (gjenoppbygg etter installasjonen SQLite-3.49.1), 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-8.3.4 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 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: normalizer
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/charset_normalizer og /usr/lib/python3.13/site-packages/charset_normalizer-3.4.1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Commonmark Avhengigheter
Valgfri (for testing)

pytest-8.3.4, flake8, 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-8.3.4 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 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: cmark
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/commonmark og /usr/lib/python3.13/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.»

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Redigerbare Avhengigheter
Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/editables og /usr/lib/python3.13/site-packages/editables-0.5.dist-info

Hatchling-1.27.0

Introduksjon til Hatchling Modulen

Hatchling er en utvidbar, standard kompatibel byggebakstykke for python moduler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Hatchling Avhengigheter
Påkrevd

editables-0.5, packaging-24.2, pathspec-0.12.1, pluggy-1.5.0, og trove-classifiers-2025.1.15.22

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.13/site-packages/hatchling og /usr/lib/python3.13/site-packages/hatchling-1.27.0.dist-info

Korte Beskrivelser

hatchling

er en python modulbygger

Hatch-Fancy-Pypi-Readme-24.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Hatch-Fancy-Pypi-Readme Avhengigheter
Påkrevd

hatchling-1.27.0

Valgfri (for testing)

pytest-8.3.4 og build

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, sørg for at pytest-8.3.4 er installert og kjør:

python3 -m venv --system-site-packages testenv            &&
testenv/bin/pip3 install 'hatch-fancy-pypi-readme[tests]' &&
testenv/bin/python -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.13/site-packages/hatch_fancy_pypi_readme og /usr/lib/python3.13/site-packages/hatch_fancy_pypi_readme-24.1.0.dist-info

Hatch_vcs-0.4.0

Introduksjon til Hatch-vcs Modulen

Hatch_vcs er et Hatch programtillegg for versjonskontroll med flere versjonskontrollsystemer ( VCS ).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Hatch_vcs Avhengigheter
Påkrevd

hatchling-1.27.0 og setuptools_scm-8.1.0

Valgfri (for testing)

git-2.48.1 og pytest-8.3.4

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.13/site-packages/hatch_vcs og /usr/lib/python3.13/site-packages/hatch_vcs-0.4.0.dist-info

Idna-3.10

Introduksjon til Idna Modulen

Idna modul gir støtte for IDNA protokollen (Internationalized Domain Names in Applications). som spesifisert i RFC 5891.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Idna Avhengigheter
Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/idna og /usr/lib/python3.13/site-packages/idna-3.10.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Imagesize Avhengigheter
Valgfri (for testing)

pytest-8.3.4 og requests-2.32.3

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.13/site-packages/imagesize og /usr/lib/python3.13/site-packages/imagesize-1.4.1.dist-info

Iniconfig-2.0.0

Introduksjon til Iniconfig Modulen

Iniconfig er en liten og enkel INI-fil analysemodul.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Iniconfig Avhengigheter
Påkrevd

hatch_vcs-0.4.0

Installasjon av Iniconfig

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 iniconfig

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.13/site-packages/iniconfig og /usr/lib/python3.13/site-packages/iniconfig-2.0.0.dist-info

Markdown-3.7

Introduksjon til Markdown Modulen

Markdown er en Python analyser for John Grubers Markdown spesifikasjon.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Markdown Avhengigheter
Valgfri (for testing)

pytest-8.3.4, PyYAML-6.0.2, 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-8.3.4 og PyYAML-6.0.2 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 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: markdown_py
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/markdown og /usr/lib/python3.13/site-packages/Markdown-3.7.dist-info

Korte Beskrivelser

markdown_py

konverterer markdown filer til (x)html

Meson_python-0.17.1

Introduksjon til Meson_python Modulen

Meson_python modulen inneholder en Python build backend (PEP 517) for Meson prosjekter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Meson_python Avhengigheter
Påkrevd

pyproject-metadata-0.9.0

Anbefalt (Kjøretid)

patchelf-0.18.0

Valgfri (for testing)

cython-3.0.12, git-2.48.1, pytest-8.3.4, Python-3.13.2 (gjenoppbygg etter installasjon SQLite-3.49.1), build, og pytest-mock

Installasjon av Meson_python

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 meson_python

For å teste installasjonen, sørg for at git-2.48.1, patchelf-0.18.0, og pytest-8.3.4 er installert, og Python-3.13.2 har blitt gjenoppbygd etter installasjonen av SQLite-3.49.1, deretter utsted (HOME= hindrer at .gitconfig filen i hjemmemappen fra å forstyrrer testene):

python3 -m venv --system-site-packages testenv &&
testenv/bin/pip3 install 'meson_python[test]'  &&
HOME= testenv/bin/python -m pytest

To tester navngitt test_missing_version og test_pep621 er kjent for å mislykkes med pyproject-metadata-0.8.0 eller nyere.

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.13/site-packages/meson_python og /usr/lib/python3.13/site-packages/meson_python-0.17.1.dist-info

Msgpack-1.1.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Msgpack Avhengigheter
Påkrevd

cython-3.0.12

Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/msgpack-1.1.0.dist-info og /usr/lib/python3.13/site-packages/msgpack

Pathspec-0.12.1

Introduksjon til Pathspec Modulen

Pathspec er et hjelpebibliotek for mønstermatching av filstier.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Pathspec Avhengigheter
Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/pathspec og /usr/lib/python3.13/site-packages/pathspec-0.12.1.dist-info

Pluggy-1.5.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».

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Pluggy Avhengigheter
Anbefalt
Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/pluggy og /usr/lib/python3.13/site-packages/pluggy-1.5.0.dist-info

Pyproject-Metadata-0.9.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Pyproject-Metadata Avhengigheter
Påkrevd

packaging-24.2

Valgfri (for testing)

pytest-8.3.4

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, 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.13/site-packages/pyproject_metadata og /usr/lib/python3.13/site-packages/pyproject_metadata-0.9.0.dist-info

Pytz-2025.1

Introduksjon til Pytz Modulen

Pytz biblioteket bringer IANA tz databasen inn i Python. Det tillater nøyaktig tidssoneberegning på tvers av plattformer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Pytz Avhengigheter
Valgfri (for testing)

pytest-8.3.4

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.13/site-packages/pytz og /usr/lib/python3.13/site-packages/pytz-2025.1.dist-info

Setuptools_scm-8.1.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Setuptools_scm Avhengigheter
Påkrevd

packaging-24.2

Valgfri (for testing)

git-2.48.1, Mercurial-6.9.2, pytest-8.3.4, Sudo-1.9.16p2, og build

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-8.3.4 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 build                 &&
TZ=UTC HOME= testenv/bin/python -m pytest

Hvis git-2.48.1 og/eller Mercurial-6.9.2 ikke er installert, vil testene avhengig av den(e) som mangler, hoppes over. Noen tester kan påkalle Sudo-1.9.16p2 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.13/site-packages/setuptools_scm og /usr/lib/python3.13/site-packages/setuptools_scm-8.1.0.dist-info

Smartypants-2.0.1

Introduksjon til Smartypants Modulen

Smartypants oversetter vanlig ASCII tegnsetting til «smart» typografisk HTML enheter for tegnsetting.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Smartypants Avhengigheter
Valgfri (for testing)

docutils-0.21.2, Pygments-2.19.1, og pytest-8.3.4

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:

sed 's/assertEquals/assertEqual/' -i tests/test_cli.py &&
cp /usr/bin/smartypants . &&
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: smartypants
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/smartypants-2.0.1.dist-info

Korte Beskrivelser

smartypants

oversetter ASCII tegnsetting til HTML tegnsetting.

Snowballstemmer-2.2.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.13/site-packages/snowballstemmer og /usr/lib/python3.13/site-packages/snowballstemmer-2.2.0.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinxcontrib-applehelp Avhengigheter
Valgfri (for testing)

pytest-8.3.4 og sphinx-8.2.1 (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. Flere advarsler kan utstedes på grunn av bruk av utdaterte funksjoner.

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.13/site-packages/sphinxcontrib og /usr/lib/python3.13/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinxcontrib-devhelp Avhengigheter
Valgfri (for testing)

pytest-8.3.4 og sphinx-8.2.1 (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.

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.13/site-packages/sphinxcontrib og /usr/lib/python3.13/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinxcontrib-htmlhelp Avhengigheter
Valgfri (for testing)

pytest-8.3.4, sphinx-8.2.1 (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

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.13/site-packages/sphinxcontrib og /usr/lib/python3.13/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinxcontrib-jquery Avhengigheter
Påkrevd

sphinx-8.2.1

Valgfri (for testing)

pytest-8.3.4

Installasjon av Sphinxcontrib-jquery

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 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.13/site-packages/sphinxcontrib og /usr/lib/python3.13/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinxcontrib-jsmath Avhengigheter
Valgfri (for testing)

pytest-8.3.4 og sphinx-8.2.1 (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.

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.13/site-packages/sphinxcontrib og /usr/lib/python3.13/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinxcontrib-qthelp Avhengigheter
Valgfri (for testing)

pytest-8.3.4, sphinx-8.2.1 (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

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.13/site-packages/sphinxcontrib og /usr/lib/python3.13/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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Sphinxcontrib-serializinghtml Avhengigheter
Valgfri (for testing)

pytest-8.3.4 og sphinx-8.2.1 (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-8.2.1, deretter 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.13/site-packages/sphinxcontrib og /usr/lib/python3.13/site-packages/sphinxcontrib_serializinghtml-2.0.0.dist-info

Trove-Classifiers-2025.1.15.22

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Trove-Classifiers Avhengigheter
Valgfri (for testing)

pytest-8.3.4

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="2025.1.15.22"' 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.13/site-packages/trove_classifiers og /usr/lib/python3.13/site-packages/trove_classifiers-2025.1.15.22.dist-info

Typogrify-2.1.0

Introduksjon til Typogrify Modulen

Typogrify gir filtre for å forbedre webtypografi, inkludert støtte for Django- og Jinja-maler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Typogrify Avhengigheter
Påkrevd

smartypants-2.0.1

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.13/site-packages/typogrify og /usr/lib/python3.13/site-packages/typogrify-2.1.0.dist-info

Urllib3-2.3.0

Introduksjon til Urllib3 Modulen

Urllib3 modul er en kraftig, brukervennlig HTTP klient for Python. Det bringer mange kritiske funksjoner som mangler fra Python standardbibliotekene.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Urllib3 Avhengigheter
Påkrevd

hatchling-1.27.0

Valgfri (for tester)

pytest-8.3.4, 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-8.3.4 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 trustme         \
             tornado         \
             python-dateutil \
             mock            \
             pysocks         \
             pytest-timeout  \
             trio            \
             hypercorn       \
             quart           \
             quart_trio      \
             httpx           &&
python3 /usr/bin/pytest
deactivate

Så mange som 37 feil er kjent for å oppstå på grunn av små atferdsendringer i de eksterne Python-modulene ovenfor, når de kombineres med Python 3.13.2.

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.13/site-packages/urllib3 og /usr/lib/python3.13/site-packages/urllib3-2.3.0.dist-info

webencodings-0.5.1

Introduksjon til Webencodings Modulen

webencodings modulen er en Python implementering av WHATWG Encoding standard.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.13/site-packages/webencodings og /usr/lib/python3.13/site-packages/webencodings-0.5.1.dist-info

Ruby-3.4.2

Introduksjon til Ruby

Ruby pakken inneholder Ruby utviklingsmiljø. Dette er nyttig for objektorientert skripting.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz

  • Nedlasting MD5 sum: 63a56b170246fcf0198a5eaba57dd46c

  • Nedlastingsstørrelse: 16 MB

  • Estimert diskplass som kreves: 697 MB (med C API dokumenter og tester)

  • Estimert byggetid: 1.0 SBU (med C API dokumenter; legg til 0.5 SBU for tester; alt med bruk av parallellisme=4)

Ruby Avhengigheter

Påkrevd

libyaml-0.2.5

Valgfri

Doxygen-1.13.2, Graphviz-12.2.1, rustc-1.85.0, Tk-8.6.16, Valgrind-3.24.0, Berkeley DB (deprecated) og DTrace

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 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.23, 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-3.4.2 &&
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-3.4.0, /usr/lib/ruby, /usr/share/doc/ruby-3.4.2 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.85.0

Introduksjon til Rust

Rust programmeringsspråket er utformet for å være et trygt, samtidig, praktisk språk.

Denne pakken oppdateres i en seksukers utgivelsessyklus. Fordi den er en så stor og treg pakke å bygge, er for øyeblikket bare nødvendig av noen få pakker i denne boken, og spesielt fordi nyere versjoner har en tendens til å bryte eldre mozilla pakker, mener BLFS redaktørene at den skal bare oppdateres når det er nødvendig (enten for å fikse problemer, eller for å la en ny versjon av en pakke bygges).

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 kan ikke kompilere den uten en Internett tilkobling.

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 forbli, med div hasher i navnene deres, men vil ikke være brukbare og vil kaste bort plass. Redaktører anbefaler å plassere filene i /opt mappen. Spesielt hvis du har grunn til å gjenoppbygge med en modifisert konfigurasjon (f.eks. ved å bruke sendt LLVM etter å ha bygget med delt LLVM, kanskje for å kompilere crates for arkitekturer som BLFS LLVM bygget ikke støtter) det er mulig for installasjonen å etterlate et ødelagt cargo program. I en slik situasjon, fjern enten den eksisterende installasjonen først, eller bruk et annet prefiks som f.eks /opt/rustc-1.85.0-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 den ikke skalerer godt og ofte faller tilbake til bare å bruke én kjerne mens du venter på at et bibliotek skal kompileres. Imidlertid kan det stort sett begrenses til et spesifisert antall prosessorer av en kombinasjon av å legge til bryteren --jobs <N> (f.eks. '--jobs 4' for å begrense til 4 prosessorer) på hver påkalling av ./x.py og ved hjelp av en miljøvariabel CARGO_BUILD_JOBS=<N>. 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 det er tillatt å bruke. Så hvis din maskin mangler DRAM (vanligvis mindre enn 2 GB DRAM per kjerne) som kan være et alternativ til å ta CPUer offline. Les «Bruk Linux Control Group for å begrense ressursbruken» for hvordan du bruker en cgroup.

For øyeblikket Rust gir ingen garantier for en stabil ABI.

Notat

Rustc bygger som standard for ALLE støttede arkitekturer, ved å bruke en sendt kopi av LLVM. I BLFS er bygget bare for X86 arkitektur. Hvis du har tenkt å utvikle rust crates, kan det hende at denne konstruksjonen ikke er bra nok til 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 det kan være noen veldig langsomme avvikere.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://static.rust-lang.org/dist/rustc-1.85.0-src.tar.xz

  • Nedlasting MD5 sum: a0193e0a4925f772bd50f8d12e47860c

  • Nedlastingsstørrelse: 261 MB

  • Estimert diskplass som kreves: 9.4 GB (252 MB installert); legg til 7.4 GB hvis du kjører testene

  • Estimert byggetid: 9.0 SBU (inkludert nedlastingstid; legg til 15 SBU for tester, begge med parallellisme=8)

Rust Avhengigheter

Påkrevd

CMake-3.31.5 og cURL-8.12.1

Notat

En Internett-tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.15 før du bygger denne pakken.

Anbefalt

Notat

Hvis en anbefalt avhengighet ikke er installert, en sendt kopi i Rustc kildetarballen blir bygd og brukt.

Valgfri

GDB-16.2 (brukes av testpakken hvis den er til stede), git-2.48.1 (kreves av testpakken), cranelift, jemalloc, libgccjit (les parameterforklaringer i GCC-14.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.85.0      &&
ln -svfn rustc-1.85.0 /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 config.toml fil som vil konfigurere bygget.

cat << EOF > config.toml
# see config.toml.example for more possible options
# See the 8.4 book for an old example using shipped LLVM
# e.g. if not installing clang, or using a version before 13.0

# Tell x.py 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 us to do such a review.
change-id = 134650

[llvm]
# When using system llvm prefer shared libraries
link-shared = true

# Do not download pre-built LLVM, instead either use the system
# LLVM or build LLVM from the shipped source.
download-ci-llvm = false

# If building the shipped LLVM source, only enable the x86 target
# instead of all the targets supported by LLVM.
targets = "X86"

[build]
# omit docs to save time and space (default is to build them)
docs = false

# install extended tools: cargo, clippy, etc
extended = true

# Do not query new versions of dependencies online.
locked-deps = true

# Specify which extended tools (those from the default install).
tools = ["cargo", "clippy", "rustdoc", "rustfmt"]

[install]
prefix = "/opt/rustc-1.85.0"
docdir = "share/doc/rustc-1.85.0"

[rust]
channel = "stable"
description = "for BLFS 12.3"

# Enable the same optimizations as the official upstream build.
lto = "thin"
codegen-units = 1

[target.x86_64-unknown-linux-gnu]
llvm-config = "/usr/bin/llvm-config"

[target.i686-unknown-linux-gnu]
lvm-config = "/usr/bin/llvm-config"
EOF

Fjern nå noen tester som utløser en fullstendig gjenoppbygging av Rust standarden bibliotek og kompilator:

sed '/MirOpt/d' -i src/bootstrap/src/core/builder/mod.rs

Kompiler Rust ved å kjøre følgende kommandoer:

[ ! -e /usr/include/libssh2.h ] || export LIBSSH2_SYS_USE_PKG_CONFIG=1
[ ! -e /usr/include/sqlite3.h ] || export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
./x.py build

Notat

Testpakken vil generere noen meldinger i systemd journal for feller på ugyldige opkoder, og for segmenteringsfeil. I seg selv er disse ingenting å bekymre seg for, bare en måte for test å avslutte.

Å kjøre testene (igjen ved å bruke alle tilgjengelige CPUer) utsted:

./x.py test --verbose --no-fail-fast | tee rustc-testlog

Seks tester i bootstrap testpakken er kjent for å mislykkes pga at de forventer å kjøre i Rust Git-depotet.

Som med alle store testserier, kan noen tester mislykkes på noen maskiner - hvis antallet ekstra feil er lavt, sjekk loggen for "failures:" og se gjennom linjene over det, spesielt 'stderr:' linjer. Enhver omtale av SIGSEGV eller signal 11 i en sviktende test er en grunn til bekymring.

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 rustc std &&
./x.py install --stage=1 cargo clippy rustfmt

Fortsatt som root bruker, fiks installasjonen av dokumentasjonen, symbolkoble en Zsh fullføringsfilen til riktig plassering, og flytt en Bash fullføringsfil til lokasjonen anbefalt av Bash ferdigstillelse vedlikeholdere:

rm -fv /opt/rustc-1.85.0/share/doc/rustc-1.85.0/*.old   &&
install -vm644 README.md                                \
               /opt/rustc-1.85.0/share/doc/rustc-1.85.0 &&

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.85.0 /opt/rustc: hvis dette ikke er den første bruken av /opt/rustc symbolkobling, overskriv den ved å tvinge, og bruk '-n'-flagget for å unngå å få forvirrende resultater fra f.eks. ls -l.

targets = "X86": dette unngår å bygge alt tilgjengelig linux krysskompilatorer (AArch64, MIPS, PowerPC, SystemZ, etc). Dessverre, rust insisterer på å installere kildefiler for disse nedenfor /opt/rustc/lib/src.

extended = true: dette installerer flere verktøy (spesifisert av tools oppføring) ved siden av rustc.

tools = ["cargo", "clippy", "rustdoc", "rustfmt"]: bygg bare verktøyene fra 'standard' profilen i binær kommando 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 kun stabile funksjoner kan brukes, standard i config.toml er å bruke utviklingsfunksjoner, som ikke passer for en utgitt versjon.

[target.x86_64-unknown-linux-gnu]: syntaksen til config.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 kan utelates hvis du ønsker å bygge mot den sendte llvm, eller ikke har clang, men den resulterende bygget vil være større og ta lengre tid.

export LIBSSH2_SYS_USE_PKG_CONFIG=1: tillat cargo å koble til systemets libssh2.

export LIBSQLITE3_SYS_USE_PKG_CONFIG=1: Tillat cargo for å linke til systemets 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.

--stage=1: denne bryteren løser et problem som forårsaker at noen Rustc komponenter gjenoppbygges unødvendig ./x.py install.

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, libstd-<16-byte-hash>.so, og libtest-<16-byte-hash>.so
Installerte Mapper: ~/.cargo, /opt/rustc, symbolsk lenke til /opt/rustc-1.85.0

Korte Beskrivelser

cargo-clippy

gir 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

gir lint sjekker for rust

rust-gdb

er et innpakningsskript for gdb, som trekker inn Python pretty-printing moduler installert i /opt/rustc-1.85.0/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) rekke 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.71.1

Introduksjon til rust-bindgen

rust-bindgen pakken inneholder et verktøy som genererer rustbindinger fra C/C++ deklarasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

rust-bindgen Avhengigheter

Påkrevd

rustc-1.85.0 og LLVM-19.1.7 (med Clang, kjøretid)

Notat

En Internett-tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.15 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.

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.8.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.8.1, ikke det forventede SCons-4.8.1.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.13/site-packages/SCons{,-4.8.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Slang Avhengigheter

Valgfri

libpng-1.6.46 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 \
            --with-readline=gnu &&
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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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)

Subversion Avhengigheter

Påkrevd

Apr-Util-1.6.3 og SQLite-3.49.1

Anbefalt
Valgfri

Apache-2.4.63, Boost-1.87.0, Cyrus SASL-2.1.28, dbus-1.16.0, Doxygen-1.13.2 (for å generere HTML dokumentasjon), gnome-keyring-46.2, libsecret-0.21.6, Py3c-1.4 (for python bindinger og tester), Python-3.13.2 (med sqlite støtte for testene), Ruby-3.4.2, SWIG-4.3.0, og UTF8proc

Valgfri (for Java bindinger)

En av OpenJDK-23.0.2, Dante eller Jikes, JUnit 4 (for å teste Java bindingene) og apache-ant-1.10.15.

Installasjon av Subversion

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.13.2 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 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.13/site-packages/libsvn \
     swig_pydir_extra=/usr/lib/python3.13/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.13/site-packages/libsvn \
      swig_pydir_extra=/usr/lib/python3.13/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.63 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.40/{,auto/}SVN, /usr/lib/python3.13/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-9.9p2

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 svnserve.service enheten fra blfs-systemd-units-20241211 pakken:

make install-svnserve

I tillegg krever instruksjonene ovenfor at svn serveren bruker umask 002 slik at alle nye filer vil kunne skrives av eier og gruppe. Dette kan oppnås ved å lage en systemd enhetsoverstyringsfil ved å kjøre følgende kommando:

mkdir -p /etc/systemd/system/svnserve.service.d
echo "UMask=0002" > /etc/systemd/system/svnserve.service.d/99-user.conf

Alternativer som sendes til svnserve nissen kan endres i /etc/default/svnserve.

SWIG-4.3.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://downloads.sourceforge.net/swig/swig-4.3.0.tar.gz

  • Nedlasting MD5 sum: 6a0555a2063c78447c5912136f013c43

  • Nedlastingsstørrelse: 8.2 MB

  • Estimert diskplass som kreves: 90 MB (2.2 GB med tester)

  • Estimert byggetid: 0.1 SBU (legg til 8.4 SBU for tester; begge bruker parallellisme=4)

SWIG Avhengigheter

Påkrevd

pcre2-10.45

Valgfri

Boost-1.87.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                      \
            --without-javascript               \
            --without-maximum-compile-warnings &&
make

For å teste resultatene, kjør: make 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.

Nå, som root bruker:

make install &&
cp -v -R Doc -T /usr/share/doc/swig-4.3.0

Parameterforklaringer

--without-maximum-compile-warnings: deaktiverer kompilator ansi samsvarshåndhevelse, som utløser feil i Lua deklarasjonsfiler (startet med Lua 5.3).

--without-<language>: gjør det mulig å deaktivere oppbygging av tester og eksempler for <language>, men alle språk evner til SWIG er alltid bygget. Denne bryteren brukes til JavaScript fordi SWIG implementeringen er ufullstendig og mange tester mislykkes på grunn av API endringer i Node-20.

Innhold

Installerte Programmer: swig og ccache-swig
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/doc/swig-4.3.0 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.16

Introduksjon til Tk

Tk pakken inneholder en TCL GUI Verktøysett.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av unifdef

Installer unifdef ved å kjøre følgende kommandoer:

make

For å teste resultatene, utsted: make test.

Nå, 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.17

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Vala Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection påkrevd for tester)

Anbefalt
Valgfri

dbus-1.16.0 (Nødvendig for tester), libxslt-1.1.42 (Nødvendig for å generere dokumentasjonen), help2man, jing, og weasyprint

Installasjon av Vala

Installer Vala ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

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 vala kjørbare produsert i det første bygget til å regenerere .c filer fra .vala filer om nødvendig. Hvis en vala kjørbar fil ikke er installert ennå og du har endret noen .vala filer i kildetreet, kjør make bootstrap i stedet for make.

--disable-valadoc: Dette alternativet er nødvendig hvis Graphviz-12.2.1 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.24.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://sourceware.org/pub/valgrind/valgrind-3.24.0.tar.bz2

  • Nedlasting MD5 sum: 7ae7ffc6b3cff48fe35076266c128226

  • Nedlastingsstørrelse: 16 MB

  • Estimert diskplass som kreves: 396 MB (legg til 85 MB for tester)

  • Estimert byggetid: 0.4 SBU (legg til 6.5 SBU for tester; begge bruker parallellisme=4)

Valgrind Avhengigheter

Valgfri

docbook-xml-4.5 (for tester), GDB-16.2 (for tester), LLVM-19.1.7 (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.24.0 &&
make

For å teste resultatene, kjør: make regtest. Testene kan henge for alltid hvis GDB-16.2 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

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.24.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-2.16.03 assembleren. Den støtter x86 og AMD64 instruksjonssett, aksepterer NASM og GAS assembler syntakser og binære utdataer, ELF32 og ELF64 objektformater.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

yasm Avhengigheter

Valgfri

cython-3.0.12 og Python2

Installasjon av yasm

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-23.0.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Binær Pakkeinformasjon

Java Binary Kjøretidsavhengigheter

alsa-lib-1.2.13, Cups-2.4.11, giflib-5.2.2, Little CMS-2.17, 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-23.0.2-bin &&
mv -v * /opt/OpenJDK-23.0.2-bin         &&
chown -R root:root /opt/OpenJDK-23.0.2-bin

Den binære versjonen er nå installert. Du kan lage en symbolkobling til den versjonen ved å utstede, som root bruker:

ln -sfn OpenJDK-23.0.2-bin /opt/jdk

Du kan nå gå videre til Konfigurering av Java miljøet, hvor instruksjonene forutsetter at koblingen ovenfor eksisterer.

OpenJDK-23.0.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-23.0.2 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/jdk23u/archive/jdk-23.0.2-ga.tar.gz

  • Nedlasting MD5 sum: 31ff1e9a086626610591efdff44cb7b3

  • Nedlastingsstørrelse: 112 MB

  • Estimert diskplass som kreves: 3.7 GB (legg til 515 MB for tester)

  • Estimert byggetid: 4.8 SBU med 4 jobber (legg til 33 SBU for tester med 4 jobber)

Ytterligere Nedlastinger

Valgfri testpakke

OpenJDK Avhengigheter

Påkrevde Avhengigheter

En eksisterende binær (Java-23.0.2 eller en tidligere bygget versjon av denne pakken. Instruksjonene nedenfor forutsetter at du bruker Konfigurering av Java miljøet), alsa-lib-1.2.13, cpio-2.15, Cups-2.4.11, libarchive-3.7.7, Which-2.23, Xorg Biblioteker, og Zip-3.0

Anbefalt
Valgfri

git-2.48.1, Graphviz-12.2.1, Mercurial-6.9.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:

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="7"     \
               --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-23.0.2+7             &&
cp -Rv build/*/images/jdk/* /opt/jdk-23.0.2+7 &&
chown -R root:root /opt/jdk-23.0.2+7          &&
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 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-23.0.2+7 /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 23.0.2 Runtime
Comment=OpenJDK Java 23.0.2 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 23.0.2 Console
Comment=OpenJDK Java 23.0.2 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.15 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-23.0.2+7/lib/
Installerte Mapper: /opt/jdk-23.0.2+7

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.16p2 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/ssl/java/cacerts. Instruksjonene på make-ca-1.15 siden som tidligere opprettet filen lokalisert i /etc/ssl/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Apache Ant Avhengigheter

Påkrevd

A JDK (Java binær or OpenJDK-23.0.2) og GLib-2.82.5

Notat

En Internett-tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.15 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.

Avansert nettverksoppsett

Nettverksbro

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

Networking support: Y
  Networking options:
    802.1d Ethernet Bridging: M or Y

Sette opp en Nettverksbro

I denne delen skal vi diskutere hvordan du setter opp en nettverksbro ved hjelp av systemd-networkd. I eksemplene under, eth0 representerer det ytre grensesnittet som blir brokoblet, mens br0 representerer brogrensesnittet.

For å lage et brogrensesnitt, lag følgende konfigurasjonsfil ved å kjøre følgende kommando som root bruker:

cat > /etc/systemd/network/50-br0.netdev << EOF
[NetDev]
Name=br0
Kind=bridge
EOF

For å tilordne et nettverksgrensesnitt til en bro, opprett følgende konfigurasjonsfil ved å kjøre følgende kommando som root bruker:

cat > /etc/systemd/network/51-eth0.network << EOF
[Match]
Name=eth0

[Network]
Bridge=br0
EOF

Gjenta prosessen for andre grensesnitt som må brokobles. Merk at det er viktig at ingenting tildeler noen adresser til brokoblede grensesnitt. Hvis du bruker NetworkManager-1.50.0, sørg for at du konfigurerer dem til å ignorere de brokoblede grensesnittene, så vel som selve brogrensesnittet.

Hvis du er på et nettverk som bruker DHCP for å tildele ip adresser, opprett følgende konfigurasjonsfil ved å kjøre følgende kommando som root bruker:

cat > /etc/systemd/network/60-br0.network << EOF
[Match]
Name=br0

[Network]
DHCP=yes
EOF

Alternativt, hvis du bruker et statisk ip oppsett, opprett følgende konfigurasjonsfil ved å kjøre følgende kommando som root bruker:

cat > /etc/systemd/network/60-br0.network << EOF
[Match]
Name=br0

[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=192.168.0.1
EOF

For å få frem brogrensesnittet, ganske enkelt start på nytt systemd-networkd nissen ved å kjøre følgende kommando som root bruker:

systemctl restart systemd-networkd

dhcpcd-10.2.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

dhcpcd Avhengigheter

Valgfri

LLVM-19.1.7 (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

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           \
            --disable-privsep         &&
make

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           \
            --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

Hvis du vil konfigurere nettverksgrensesnitt ved oppstart ved hjelp av dhcpcd, må du installere systemd enheten inkludert i blfs-systemd-units-20241211 pakken ved å kjøre følgende kommando som root bruker:

make install-dhcpcd

Notat

Standardoppførselen til dhcpcd er å stille inn vertsnavn og mtu. Den overskriver også /etc/resolv.conf og /etc/ntp.conf. Disse endringer i systemkonfigurasjonsfiler gjøres av kroker som er lagret i /usr/lib/dhcpcd/dhcpcd-hooks. Du kan endre denne oppførselen ved å fjerne eller legge til kroker fra/til den mappen. Utførelsen av kroker kan deaktiveres ved å bruke --nohook (-C) kommandolinjealternativet eller ved hjelp av nohook alternativet i /etc/dhcpcd.conf filen.

Notat

Pass på at du deaktiverer systemd-networkd tjenesten eller konfigurer den til ikke å administrere grensesnittene du ønsker å administrere med dhcpcd.

På dette tidspunktet kan du teste om dhcpcd oppfører seg som forventet ved å kjøre følgende kommando som root bruker:

systemctl start dhcpcd@eth0

For å starte dhcpcd på et spesifikt grensesnitt ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable dhcpcd@eth0

Erstatt eth0 med det faktiske grensesnittnavnet.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

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.2

Introduksjon til cifs-utils

cifs-utils pakken gir et middel for montering av SMB/CIFS delinger på et Linuxsystem.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

cifs-utils Avhengigheter

Påkrevd

Talloc-2.4.3

Anbefalt
Valgfri

docutils-0.21.2 (for å lage mansidene), keyutils-1.6.3 (kreves for å bygge PAM modulen), Linux-PAM-1.7.0, Samba-4.21.4, og libcap-2.73 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

Installer cifs-utils ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --disable-pam &&
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.0 er installert og du ønsker PAM støtte.

--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.2.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

NcFTP Avhengigheter

Valgfri

LLVM-19.1.7 (med Clang, brukes som standard hvis installert)

Installation of NcFTP

Det er to måter å bygge NcFTP på. Den første (og optimal) måten bygger mesteparten av funksjonaliteten som et delt bibliotek og deretter bygger og installerer programmet koblet mot dette biblioteket. Den andre metoden kobler ganske enkelt all funksjonalitet til binæren statisk. Dette gjør ikke det dynamiske biblioteket tilgjengelig for kobling av andre applikasjoner. Du må velge hvilken metode som passer deg best. Merk at den andre metoden ikke oppretter en helt statisk koblet binær; bare libncftp deler er statisk koblet, i dette tilfellet. Vær oppmerksom på at det å bygge og bruke det delte biblioteket er dekket av Clarified Artistic License; imidlertid å utvikle applikasjoner som bruker det delte biblioteket er underlagt en annen tillatelse.

Først, fiks et problem med konfigureringsskriptet introdusert av gcc-14:

sed -i 's/def HAVE_STDLIB_H/ 1/;s/extern select/extern int select/' configure

For å installere NcFTP ved å bruke den første (og optimale) metoden, 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

For å installere NcFTP ved å bruke den andre metoden (med libncftp funksjonalitet koblet inn statisk) kjør følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

CC=/usr/bin/gcc. Denne miljøvariabelen sikrer at gcc blir brukt hvis LLVM-19.1.7 er installert. Byggeprosedyren er brutt hvis gcc ikke blir brukt.

make -C ... && make -C ...: Disse kommandoene lager og installerer det dynamiske biblioteket libncftp som deretter brukes til å linke mot ved kompilering av hovedprogrammet.

Innhold

Installerte Programmer: ncftp, ncftpbatch, ncftpbookmarks, 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

ncftpbookmarks

er NcFTP Bokmerkeredigerer (NCurses-basert)

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

NFS Utilities Avhengigheter

Påkrevd

libevent-2.1.12, libnl-3.11.0, libtirpc-1.3.6, libxml2-2.13.6, rpcsvc-proto-1.4.4, og SQLite-3.49.1

Valgfri

Cyrus SASL-2.1.28 (for SASL autentisering), libnsl-2.0.1 (for NIS klient støtte), LVM2-2.03.30 (libdevmapper for NFSv4 støtte), OpenLDAP-2.6.9 (for LDAP autentisering), MIT Kerberos V5-1.21.3 eller libgssapi, og librpcsecgss (for GSS og RPC sikkerhetsstøtte), og libcap-2.73 med PAM

Påkrevd (kjøretid)

rpcbind-1.2.7

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          \
            LIBS="-lsqlite3 -levent_core" &&
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 støtte for RPCSEC GSS (RPC Sikkerhet).

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.

Systemd Enheter

Installer NFSv4 server enheter inkludert i blfs-systemd-units-20241211 pakken for å starte serveren ved oppstart.

make install-nfsv4-server

Hvis du har deaktivert NFSv4 støtte, kjør følgende kommando som root bruker for å utelate NFSv4 spesifikke systemenheter:

make install-nfs-server

Du kan redigere /etc/default/nfs-utils filen for å endre oppstartsalternativene for NFS nisser. Standarder bør være greit for de fleste brukstilfeller.

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.

Du må kanskje aktivere autofs v4 i kjernen din, og legge til alternativet comment=systemd.automount. Noen maskiner kan trenge dette fordi systemd prøver å montere de eksterne filsystemene før nettverket er oppe. Et alternativ er å kjøre mount -a som root bruker etter at systemet har startet.

Systemd Enheter

Notat

Følgende systemd enheter er ikke obligatorisk hvis nfs-server enheter er installert.

Installer enheter inkludert i blfs-systemd-units-20241211 pakken for å starte klienttjenestene ved oppstart.

make install-nfs-client

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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ntp Avhengigheter

Påkrevd

IO-Socket-SSL-2.089

Valgfri

libcap-2.73 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 ntpd.service enheten inkludert i blfs-systemd-units-20241211 pakken.

make install-ntpd

Hvis du foretrekker å kjøre ntpd med jevne mellomrom, legg til følgende kommando til root sin crontab:

ntpd -q

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.7

Introduksjon til rpcbind

rpcbind programmet er en erstatning for portmap. Det kreves for import eller eksport av delte mapper for Network File System (NFS).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

rpcbind Avhengigheter

Påkrevd

libtirpc-1.3.6

Installasjon av rpcbind

Det bør være en dedikert bruker og gruppe til å ta kontroll over rpcbind nissen etter at den er startet. Utfør følgende kommandoer som root bruker:

groupadd -g 28 rpc &&
useradd -c "RPC Bind Daemon Owner" -d /dev/null -g rpc \
        -s /bin/false -u 28 rpc

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  \
            --enable-warmstarts \
            --with-rpcuser=rpc  &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--with-rpcuser=rpc: Denne bryteren brukes slik at rpcbind nissen vil kjøre som en uprivilegert bruker i stedet for root bruker.

Konfigurere rpcbind

Systemd Enhet

Aktiver systemd enheten installert med pakken:

systemctl enable 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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)

rsync Avhengigheter

Anbefalt
Valgfri

Doxygen-1.13.2 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

Installer rsync ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-xxhash \
            --without-included-zlib &&
make

Hvis du har Doxygen-1.13.2 installert og ønsker å bygge HTML API dokumentasjon, kjør:

doxygen

For å teste resultatene, kjør: 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-9.9p2 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.

Systemd Enhet

Merk at du bare trenger å starte rsync server hvis du vil tilby et rsync arkiv på din lokale maskin. Du trenger ikke dette enheten for å kjøre rsync klienten.

Installer rsyncd.service enheten inkludert i blfs-systemd-units-20241211 pakken.

make install-rsyncd

Notat

Denne pakken kommer med to typer enheter: En tjenestefil og en socket fil. Tjenestefilen vil starte rsync nissen en gang ved oppstart og den vil fortsette å kjøre til systemet slår seg av. Socket filen vil få systemd til å lytte på rsync porten (standard 873, må redigeres for noe annet) og vil starte rsync nissen når noe prøver å koble til den porten og stoppe nissen når tilkoblingen er avsluttet. Dette kalles socket aktivering og er analogt med å bruke {,x}inetd på et SysVinit basert system.

Som standard brukes den første metoden - rsync nissen startes ved oppstart og stoppet ved avstengning. Hvis socket metoden er ønsket, trenger du å kjøre som root bruker:

systemctl stop rsyncd &&
systemctl disable rsyncd &&
systemctl enable rsyncd.socket &&
systemctl start rsyncd.socket

Merk at socket metoden bare er nyttig for ekstern sikkerhetskopiering. Til lokale sikkerhetskopier trenger du tjenestemetoden.

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.21.4

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere nedlastinger

Samba Avhengigheter

Påkrevd

GnuTLS-3.8.9, libtirpc-1.3.6, Parse-Yapp-1.21, og rpcsvc-proto-1.4.4

Anbefalt
Valgfri

Avahi-0.8, BIND-9.20.6, Cups-2.4.11, Cyrus SASL-2.1.28, GDB-16.2, git-2.48.1, GnuPG-2.4.7 (kreves for ADS og testpakken), libaio-0.3.113, libarchive-3.7.7 (for tar i smbclient), libcap-2.73 med PAM, libgcrypt-1.11.0, libnsl-2.0.1, libunwind-1.8.1, Markdown-3.7, nss-3.108, popt-1.19, Talloc-2.4.3 (brukt av testpakken), Vala-0.56.17, Valgrind-3.24.0 (valgfritt brukt av testpakken), xfsprogs-6.13.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-8.3.4, 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 Pythonmoduler utenfor omfanget av BLFS, og fikse et problem i testrammeverket som får alle tester til å mislykkes på Linux kjernen 6.13 eller nyere:

python3 -m venv --system-site-packages pyvenv         &&
./pyvenv/bin/pip3 install cryptography pyasn1 iso8601 &&
patch -Np1 -i ../samba-4.21.4-testsuite_linux_6_13-1.patch

Installer Samba ved å kjøre følgende kommandoer:

PYTHON=$PWD/pyvenv/bin/python3             \
./configure                                \
    --prefix=/usr                          \
    --sysconfdir=/etc                      \
    --localstatedir=/var                   \
    --with-piddir=/run/samba               \
    --with-pammodulesdir=/usr/lib/security \
    --enable-fhs                           \
    --without-ad-dc                        \
    --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.13/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

--enable-fhs: Tildeler alle andre filbaner på en måte som er i samsvar med Filesystem Hierarchy Standard (FHS).

--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.21.3 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 systemd enheten.

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 systemd enheten. 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 systemd enhet 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.

Systemd Enheter

For å starte Samba nissene ved oppstart, installer systemd enhetene fra blfs-systemd-units-20241211 pakken ved å kjøre følgende kommando som root bruker:

make install-samba

For å starte winbindd nissen ved oppstart, installer systemd enheten fra blfs-systemd-units-20241211 pakken ved å kjøre følgende kommando som root bruker:

make install-winbindd

Notat

Denne pakken kommer med to typer enheter: En tjenestefil og en socket fil. Tjenestefilen vil starte smbd nissen en gang ved oppstart og den vil fortsette å kjøre til systemet slår seg av. Socket filen vil få systemd til å lytte på smbd porten (standard 445, må redigeres for noe annet) og vil starte smbd nissen når noe prøver å koble til den porten og stoppe nissen når forbindelsen er avsluttet. Dette kalles socket aktivering og er analog med å bruke {,x}inetd på et SysVinit basert system.

Som standard brukes den første metoden - smbd nissen startes ved oppstart og stoppet ved avstengning. Hvis socket metoden er ønsket, må du kjøre følgende kommandoer som root bruker:

systemctl stop smbd &&
systemctl disable smbd &&
systemctl enable smbd.socket &&
systemctl start smbd.socket

Merk at bare smbd nissen kan socket aktiveres.

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.13,samba}
Installerte Mapper: /etc/samba, /run/samba, /usr/include/samba-4.0, /usr/lib/python3.13/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/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.9, HTTP-Daemon-6.16 (for testpakken), IO-Socket-SSL-2.089 (for testpakken), libidn2-2.3.7, pcre2-10.45, og Valgrind-3.24.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.9.

--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.13.0 eller lsusb fra usbutils-018 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.9

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

iw Avhengigheter

Påkrevd

libnl-3.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

WPA Supplicant Avhengigheter

Påkrevd (Kjøretid)

Configuring the Linux Kernel for Wireless

Anbefalt
Valgfri

libxml2-2.13.6

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.50.0, legg deretter 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/

Installer systemd støttefiler ved å kjøre følgende kommando som root bruker:

install -v -m644 systemd/*.service /usr/lib/systemd/system/

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.50.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/wpa_supplicant/wpa_supplicant-*.conf

Konfigurasjonsinformasjon

For å koble til et tilgangspunkt som bruker et passord, må du putte den forhåndsdelte nøkkelen inn i /etc/wpa_supplicant/wpa_supplicant-wifi0.conf. SSID er strengen som tilgangspunktet/ruteren sender for å identifisere seg. Kjør følgende kommando som root bruker:

install -v -dm755 /etc/wpa_supplicant &&
wpa_passphrase SSID SECRET_PASSWORD > /etc/wpa_supplicant/wpa_supplicant-wifi0.conf

/etc/wpa_supplicant/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/wpa_supplicant/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

Det er 3 typer systemd enheter som ble installert:

  • wpa_supplicant@.service

  • wpa_supplicant-nl80211@.service

  • wpa_supplicant-wired@.service

Den eneste forskjellen mellom 3 av dem er hvilken driver som brukes for tilkobling (-D-alternativ). Den første bruker standarddriveren, den andre bruker nl80211 driver og den tredje bruker den kablede driveren.

Du kan koble til det trådløse tilgangspunktet ved å kjøre følgende kommando som root bruker:

systemctl start wpa_supplicant@wlan0

For å koble til det trådløse tilgangspunktet ved oppstart, aktiver den aktuelle wpa_supplicant service ved å kjøre følgende kommando som root bruker:

systemctl enable wpa_supplicant@wlan0

Avhengig av oppsettet ditt, kan du erstatte wpa_supplicant@.service med en hvilken som helst annen oppført ovenfor.

For å tilordne en nettverksadresse til det trådløse grensesnittet, se Generell nettverkskonfigurasjon siden i LFS.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Avahi Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt)

Anbefalt
Valgfri

D-Bus Python-1.3.2, libevent-2.1.12, Doxygen-1.13.2, 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-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.

--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-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-qt5: Denne parameteren deaktiverer bruken av Qt5, og tillater bygging uten den.

--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 nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable avahi-daemon

For å starte avahi-dnsconfd nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable avahi-dnsconfd

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.6

Introduksjon til BIND Utilities

BIND Utilities er ikke en separat pakke, det er en samling av klientsideprogrammene som er inkludert med BIND-9.20.6. 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

BIND Utilities Avhengigheter

Påkrevd

liburcu-0.15.1 og libuv-1.50.0

Anbefalt
Valgfri

libcap-2.73 med PAM, libxml2-2.13.6, og sphinx-8.2.1

Installasjon av BIND Utilities

Installer BIND Utilities ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
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

--disable-doh: Bruk dette alternativet hvis du ikke har installert nghttp2-1.64.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-8.2.1 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.6 seksjonen.

NetworkManager-1.50.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Notat

Pass på at du deaktiverer systemd-networkd tjenesten eller konfigurer den til ikke å administrere grensesnittene du vil administrere med NetworkManager.

Pakkeinformasjon

NetworkManager Avhengigheter

Påkrevd

libndp-1.9

Anbefalt
Valgfri

BlueZ-5.79, D-Bus Python-1.3.2 (for testpakken), GnuTLS-3.8.9 (kan brukes i stedet for nss-3.108), GTK-Doc-1.34.0, jansson-2.14, ModemManager-1.18.12, UPower-1.90.7, Valgrind-3.24.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 selinux=false            \
      -D qt=false                 \
      -D session_tracking=systemd \
      -D modem_manager=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 &&
mv -v /usr/share/doc/NetworkManager{,-1.50.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.50.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.34.0 er installert.

-D nmtui=true: Denne bryteren gjør det mulig å bygge nmtui.

-D ovs=false: Denne bryteren deaktiverer Open vSwitch integrasjon fordi den trenger jansson-2.14. Fjern den hvis du har jansson-2.14 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 session_tracking=systemd: Denne bryteren brukes til å sette systemd-logind 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 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).

-D suspend_resume=upower: Bruk denne bryteren hvis du har UPower-1.90.7 installert og ønsker å bruke den (i stedet for Systemd-257.3) for å suspendere og gjenoppta støtte.

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

Systemd Enhet

For å starte NetworkManager nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

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.

systemctl enable NetworkManager

Fra og med versjon 1.11.2 av NetworkManager, en systemd enhet kalt NetworkManager-wait-online.service er aktivert, som brukes til å forhindre tjenester som krever nettverkstilkobling fra å starte inntil NetworkManager oppretter en forbindelse. For å deaktivere denne virkemåten, kjør følgende kommando som root bruker:

systemctl disable NetworkManager-wait-online

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.50.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

NetworkManager Applet Avhengigheter

Påkrevd

GTK-3.24.48, libnma-1.10.6, og libsecret-0.21.6

Anbefalt
Påkrevd (Kjøretid)

Siden denne pakken bruker Polkit-126 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.14, 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.14. 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.18.12 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.95

Introduksjon til Nmap

Nmap er et verktøy for nettverksutforskning og sikkerhetsrevisjon. Den støtter pingskanning, portskanning og TCP/IP fingeravtrykk.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nmap.org/dist/nmap-7.95.tar.bz2

  • Nedlasting MD5 sum: b481d293e53b20278d5370458da9a950

  • Nedlastingsstørrelse: 11 MB

  • Estimert diskplass som kreves: 116 MB (legg til 38 MB for tester)

  • Estimert byggetid: 0.4 SBU (Bruker parallellisme=4; legg til 0.1 SBU for tester)

Nmap Avhengigheter

Anbefalt

Notat

Disse pakkene anbefales fordi hvis de ikke er installert, vil byggeprosessen kompilere og koble mot sin egen (ofte eldre) versjon.

Valgfri

libdnet

Installasjon av Nmap

Først, hvis den ikke allerede er installert, legg til en nødvendig Python modul. Som root bruker:

pip3 install build

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

For å teste resultatene, kjør: make check som root bruker. Tester trenger en grafisk økt.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: ncat, ndiff, nmap, nping, uninstall_ndiff, uninstall_zenmap, zenmap, and 2 symlinks to zenmap: nmapfe og xnmap
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.13/site-packages/{radialnet,zenmapCore,zenmapGUI,zenmap-7.95-py3.13.egg-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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.4.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Whois Avhengigheter

Valgfri

libidn-1.42 eller libidn2-2.3.7

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.4.5

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Wireshark Avhengigheter

Påkrevd

CMake-3.31.5, c-ares-1.34.4, GLib-2.82.5, libgcrypt-1.11.0, Qt-6.8.2, og Speex-1.2.1

Anbefalt
Valgfri

asciidoctor-2.0.23, Brotli-1.1.0, Cups-2.4.11, Doxygen-1.13.2, git-2.48.1, GnuTLS-3.8.9, libnl-3.11.0, libxslt-1.1.42, libxml2-2.13.6, Lua-5.4.7, MIT Kerberos V5-1.21.3, nghttp2-1.64.0, SBC-2.0, Vulkan-Headers-1.4.304, 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.4.5 \
      -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.4.5 &&
install -v -m644    ../README.linux ../doc/README.* ../doc/randpkt.txt \
                    /usr/share/doc/wireshark-4.4.5 &&

pushd /usr/share/doc/wireshark-4.4.5 &&
   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.4.5

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, dumpcap, captype, 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.4.5

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.4

Introduksjon til c-ares

c-ares er et C bibliotek for asynkrone DNS forespørsler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

c-ares Avhengigheter

Påkrevd

CMake-3.31.5

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.12.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://curl.se/download/curl-8.12.1.tar.xz

  • Nedlasting MD5 sum: 7940975dd510399c4b27831165ab62e0

  • Nedlastingsstørrelse: 2.6 MB

  • Estimert diskplass som kreves: 53 MB (legg til 15 MB for tester)

  • Estimert byggetid: 0.2 SBU (med parallellitet=4; legg til 4.9 SBU for tester (uten valgrind, legg til 14 SBU med valgrind))

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.1.0, c-ares-1.34.4, GnuTLS-3.8.9, libidn2-2.3.7, libssh2-1.11.1, MIT Kerberos V5-1.21.3, nghttp2-1.64.0, OpenLDAP-2.6.9, Samba-4.21.4 (kjøretid, for NTLM autentisering), gsasl, impacket, libmetalink, librtmp, ngtcp2, quiche, og SPNEGO

Valgfritt hvis du kjører testpakken

Apache-2.4.63 og stunnel-5.74 (for HTTPS og FTPS tester), OpenSSH-9.9p2, og Valgrind-3.24.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.12.1

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 og curl-config
Installert Bibliotek: libcurl.so
Installerte Mapper: /usr/include/curl og /usr/share/doc/curl-8.12.1

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

libcurl.so

gir API funksjonene som kreves av curl og andre programmer

GeoClue-2.7.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GeoClue Avhengigheter

Påkrevd

JSON-GLib-1.10.6 og libsoup-3.6.4

Anbefalt
Valgfri

GTK-Doc-1.34.0

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    \
            ..                  &&
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 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 nmea-source=false: Denne bryteren deaktiverer NMEA kilde. Bruk den hvis du ikke har installert Avahi 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GLib Networking Avhengigheter

Påkrevd

GLib-2.82.5 og GnuTLS-3.8.9

Anbefalt
Valgfri

libproxy

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.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

kdsoap Avhengigheter

Påkrevd

Qt-6.8.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

kdsoap-ws-discovery-client Avhengigheter

Påkrevd

Doxygen-1.13.2, extra-cmake-modules-6.11.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.8.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ldns Avhengigheter

Valgfri

make-ca-1.15 og libpcap-1.10.5 (for eksempelprogrammer), SWIG-4.3.0 (for Python bindinger), og Doxygen-1.13.2 (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.13.2 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.8.4 &&
install -v -m644 doc/html/* /usr/share/doc/ldns-1.8.4

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))

--disable-dane-ta-usage: Dette alternativet deaktiverer DANE-TA (DNS-Based Authentication of Named Entities) støtte. Det trengs bare hvis OpenSSL-1.1.0 eller nyere ikke er installert.

--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.8.4

Korte Beskrivelser

drill

er et verktøy som dig fra BIND Utilities-9.20.6 designet for å få alle slags informasjon ut av DNS

ldns-config

viser kompilator og linker flagg for ldns bruk

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libevent Avhengigheter

Valgfri

Doxygen-1.13.2 (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.13.2 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libnma Avhengigheter

Valgfri

Doxygen-1.13.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.11.0

Introduksjon til libnl

libnl pakken er en samling av biblioteker som gir APIer til netlink protokollbaserte Linux kjernegrensesnitt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.11.0 &&
tar -xf ../libnl-doc-3.11.0.tar.gz --strip-components=1 --no-same-owner \
    -C  /usr/share/doc/libnl-3.11.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.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libnma Avhengigheter

Påkrevd

Gcr-3.41.2, GTK-3.24.48, ISO Codes-4.17.0, og NetworkManager-1.50.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.34.0 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-47.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libnsl Avhengigheter

Påkrevd

libtirpc-1.3.6

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.5

Introduksjon til libpcap

libpcap gir funksjoner for brukernivå pakkefangst, brukt i nettverksovervåking på lavt nivå.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libpcap Avhengigheter

Valgfri

BlueZ-5.79, libnl-3.11.0, libusb-1.0.27, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libpsl Avhengigheter

Anbefalt
Valgfri

GTK-Doc-1.34.0 (for dokumentasjon), ICU-76.1 (kan brukes i stedet for libidn2), libidn-1.42 (kan brukes i stedet for libidn2), Valgrind-3.24.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.0

Introduksjon til libslirp

Libslirp er et nettverksbibliotek i brukermodus brukt av virtuelle maskiner, containere eller ulike verktøy.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libslirp Avhengigheter

Påkrevd

GLib-2.82.5

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-2.74.3

Introduksjon til libsoup

libsoup er en HTTP klient/server bibliotek for GNOME. Den bruker GObject og GLib hovedsløyfen for å integrere med GNOME applikasjoner og den har også en asynkront API for bruk i trådede applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libsoup Avhengigheter

Påkrevd

glib-networking-2.80.1, libpsl-0.21.5, libxml2-2.13.6, og SQLite-3.49.1

Anbefalt
Valgfri

Apache-2.4.63 (kreves for å kjøre testpakken), Brotli-1.1.0, cURL-8.12.1 (kreves for å kjøre testpakken), MIT Kerberos V5-1.21.3 (kreves for å kjøre testpakken), GTK-Doc-1.34.0, PHP-8.4.4 kompilert med XMLRPC-EPI støtte (bare brukt for XMLRPC regresjonstestene), Samba-4.21.4 (ntlm_auth kreves for å kjøre testpakken), sysprof

Installasjon av libsoup

Installer libsoup ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D vapi=enabled     \
            -D gssapi=disabled  \
            -D sysprof=disabled \
            ..                  &&
ninja

For å teste resultatene, kjør: ninja test. En test navngitt ssl-test er kjent for å feile.

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=disabled: Bruk denne hvis du ikke har installert Vala, f.eks. fordi du ikke bygger GNOME.

-D doc=enabled: Bruk dette alternativet hvis du vil bygge dokumentasjonen. Merk at du må ha GTK-Doc-1.34.0 installert.

-D gssapi=disabled: libsoup bygger som standard med GSSAPI støtte, som krever Kerberos (det samme gjør testpakken). Hvis du bygger GNOME eller har kerberos installert, fjern dette alternativet.

-D sysprof=disabled: libsoup vil automatisk laste ned en git versjon av sysprof hvis git er tilgjengelig eller bruk den installerte versjonen hvis den finnes på systemet. Hvis du trenger profilering, fjern dette alternativet.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libsoup-2.4.so og libsoup-gnome-2.4.so
Installerte Mapper: /usr/include/libsoup-2.4, /usr/include/libsoup-gnome-2.4 og /usr/share/gtk-doc/html/libsoup-2.4

Korte Beskrivelser

libsoup-2.4.so

gir funksjoner for asynkrone HTTP tilkoblinger

libsoup-gnome-2.4.so

gir GNOME spesifikke funksjoner

libsoup-3.6.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libsoup3 Avhengigheter

Påkrevd

glib-networking-2.80.1, libpsl-0.21.5, libxml2-2.13.6, nghttp2-1.64.0, og SQLite-3.49.1

Anbefalt
Valgfri

Apache-2.4.63 (kreves for å kjøre testpakken), Brotli-1.1.0, cURL-8.12.1 (kreves for å kjøre testpakken), Gi-DocGen-2025.3, MIT Kerberos V5-1.21.3 (kreves for å kjøre testpakken), PHP-8.4.4 kompilert med XMLRPC-EPI støtte (bare brukt for XMLRPC regresjonstestene), Samba-4.21.4 (ntlm_auth kreves for å kjøre testpakken), sysprof, og wstest

Installasjon av libsoup3

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-2025.3 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-2025.3 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.4 (Bare installert hvis Gi-docgen er tilgjengelig)

Korte Beskrivelser

libsoup-3.0.so

gir funksjoner for asynkrone HTTP tilkoblinger

libtirpc-1.3.6

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libtirpc Avhengigheter

Valgfri

MIT Kerberos V5-1.21.3 for GSSAPI

Installasjon av libtirpc

Notat

Hvis du oppdaterer denne pakken, må du også oppdatere enhver eksisterende versjon av rpcbind-1.2.7

./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 det ikke er noen GSSAPI installert. Fjern denne bryteren hvis du har en installert (for eksempel MIT Kerberos V5-1.21.3) og du ønsker å bruke den.

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.34.0

Introduksjon til neon

neon er et HTTP og WebDAV klientbibliotek, med et C grensesnitt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://notroj.github.io/neon/neon-0.34.0.tar.gz

  • Nedlasting MD5 sum: 8796f3ef99998f21465f9135b26afd40

  • Nedlastingsstørrelse: 908 KB

  • Estimert diskplass som kreves: 8.7 MB (ytterligere 52 MB for tester)

  • Estimert byggetid: 0.1 SBU (legg til 0.1 SBU for tester)

neon Avhengigheter

Valgfri

GnuTLS-3.8.9, libxml2-2.13.6, MIT Kerberos V5-1.21.3, nss-3.108 (for noen tester), xmlto-0.0.29 (for å regenerere dokumentasjonen), libproxy, 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.

Innhold

Installert Program: neon-config
Installert Bibliotek: libneon.so
Installerte Mapper: /usr/include/neon og /usr/share/doc/neon-0.34.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.64.0

Introduksjon til nghttp2

nghttp2 er en implementering av HTTP/2 og dens deklarasjonskomprimeringsalgoritme, HPACK.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

nghttp2 Avhengigheter

Anbefalt

libxml2-2.13.6

Valgfri

Følgende brukes bare hvis du bygger hele pakken i stedet for bare hovedbibliotekene: Boost-1.87.0, c-ares-1.34.4, cython-3.0.12, jansson-2.14, libevent-2.1.12, sphinx-8.2.1, 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.64.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.64.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.6, sammen med rpcgen programmet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Serf Avhengigheter

Påkrevd

Apr-Util-1.6.3 og SCons-4.8.1

Valgfri

MIT Kerberos V5-1.21.3, (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

uhttpmock-0.11.0

Introduksjon til uhttpmock

uhttpmock pakken inneholder et bibliotek for å lage falske webtjeneste APIer som bruker HTTP eller HTTPS.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

uhttpmock Avhengigheter

Påkrevd

libsoup-3.6.4

Anbefalt
Valgfri

GTK-Doc-1.34.0

Installasjon av uhttpmock

Installer uhttpmock ved å kjøre følgende kommandoer:

mkdir build &&
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

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: libuhttpmock-1.0.so
Installerte Mapper: /usr/include/libuhttpmock-1.0 og /usr/share/gtk-doc/html/libuhttpmock-1.0

Korte Beskrivelser

libuhttpmock-1.0.so

inneholder uhttpmock 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.2.0, libpng-1.6.46, libjpeg-turbo-3.0.1, librsvg-2.59.2, og libtiff-4.7.0

For dekomprimering av nettsider som er komprimert med Brotli, Links kan bruke Brotli-1.1.0

Installasjon av Links

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Valgfri

GnuTLS-3.8.9 (eksperimentell, til å erstatte openssl), libarchive-3.7.7, 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.1166, 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.5.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Fetchmail Avhengigheter

Anbefalt
Valgfri

MIT Kerberos V5-1.21.3 og libgssapi

Valgfri (for kjøring av fetchmailconf)

Python-3.13.2, bygget etter Tk-8.6.16, med py-future pakken

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Heirloom mailx Avhengigheter

Valgfri

nss-3.108, MIT Kerberos V5-1.21.3 (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.2.14

Introduksjon til Mutt

Mutt pakken inneholder en e-postbrukeragent. Dette er nyttig for å lese, skrive, svare på, lagre og slette e-posten din.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Mutt Avhengigheter

Anbefalt (for en tekstversjon av manualen)
Valgfri

Aspell-0.60.8.1, Cyrus SASL-2.1.28, DocBook-utils-0.6.14, GDB-16.2, GnuPG-2.4.7, GnuTLS-3.8.9, GPGME-1.24.2, libidn-1.42, MIT Kerberos V5-1.21.3, en MTA (som gir en sendmail kommando), slang-2.3.3, SQLite-3.49.1, 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.2.14 \
            --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.

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.2.14/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.2.14

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.4.7 verktøy

pgpring

er en nøkkelring dumper for PGP. Det er ikke nødvendig for GnuPG-2.4.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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 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.

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.4 er en GTK2 basert e-postklient.

seamonkey-2.53.20 inkluderer både en e-postklient og nyhetsleser i installasjonen.

Thunderbird-128.7.1esr er en e-post-/nyhetsklient basert på Mozilla kodebase.

Evolution-3.54.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.63

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Apache HTTPD Avhengigheter

Påkrevd

Apr-Util-1.6.3 og pcre2-10.45

Valgfri

Brotli-1.1.0, Doxygen-1.13.2, jansson-2.14, libxml2-2.13.6, Lua-5.4.7, Lynx-2.9.2 eller Links-2.30 eller ELinks, nghttp2-1.64.0, OpenLDAP-2.6.9 (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-2.4.63-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  &&

sed -e '/encoding.h/a # include <libxml/xmlstring.h>' \
    -i modules/filters/mod_xml2enc.c  &&

./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-logfile=/var/log/httpd/suexec.log   \
            --with-suexec-uidmin=100                          \
            --with-suexec-userdir=public_html                 &&
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.

sed -e '/encoding.h/a ...; Fikser bygging mot libxml-2.12.x.

--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.

Systemd Enhet

Hvis du vil at Apache serveren skal starte automatisk når systemet startes opp, installer httpd.service enheten inkludert i blfs-systemd-units-20241211 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.6

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.6.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.isc.org/isc/bind9/9.20.6/bind-9.20.6.tar.xz

  • Nedlasting MD5 sum: 193d9dad97f1fee3127eed7ccd93153f

  • Nedlastingsstørrelse: 5.4 MB

  • Estimert diskplass som kreves: 137 MB (22 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.1 og libuv-1.50.0

Anbefalt
Valgfri

cURL-8.12.1, libidn2-2.3.7, libxml2-2.13.6, lmdb-0.9.31, MIT Kerberos V5-1.21.3, pytest-8.3.4, sphinx-8.2.1 (nødvendig for å bygge dokumentasjon), cmocka, geoip, jemalloc, w3m

Valgfri (for å kjøre testpakken)

Net-DNS-1.50 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.50 ikke er installert. En test, dnssec, er kjent for å mislykkes. Testene krever hypothesis python modul, som ikke er i BLFS. For å omgå dette, instruksjonene nedenfor opprette et Python virtuelt miljø og installer deretter modulen der inne før du kjører testene. For å kjøre testene, som en uprivilegert bruker, kjør:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install 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.64.0 installert og ikke trenger støtte for DNS over HTTPS.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

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

Systemd Enhet

For å starte DNS serveren ved oppstart, installer named.service enheten inmludert i blfs-systemd-units-20241211 pakken:

make install-named

Nå start BIND med følgende kommando:

systemctl start named

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-8.2.1 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.6/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 2.6.1 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://downloads.isc.org/isc/kea/2.6.1/kea-2.6.1.tar.gz

  • Nedlasting MD5 sum: 5f4fe79ed29f5ff2802e2961d1827b25

  • Nedlastingsstørrelse: 9.9 MB

  • Estimert diskplass som kreves: 1.5 GB (332 MB installert; legg til 4 GB for tester)

  • Estimert byggetid: 4.1 SBU (med parallellitet=4; legge til 12 SBU for tester)

Ytterligere nedlastinger

Kea Avhengigheter

Påkrevd

Boost-1.87.0 og log4cplus-2.1.2

Valgfri

MIT Kerberos V5-1.21.3, Valgrind-3.24.0;for dokumentasjon Doxygen-1.13.2, Graphviz-12.2.1, og sphinx_rtd_theme-3.0.2; for tester: GoogleTest

Valgfrie database bakstykker

MariaDB-11.4.5 eller MySQL, og PostgreSQL-17.4

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 bruker du en oppdatering som løser et problem med den nyeste versjon av boost:

patch -Np1 -i ../kea-2.6.1-fix_boost_1_87-1.patch

Installer ISC Kea DHCP Server ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --enable-shell       \
            --with-openssl       \
            --disable-static     \
            --docdir=/usr/share/doc/kea-2.6.1 &&
make

For å teste resultatene må du ha installert GoogleTest og beholdt dens kilde. Du burde også ha sendt --with-gtest-source=/path/to/googletest/sourcedir til configure ovenfor. Kjør testene med make check. Tre tester i TLSTest pakken er kjent for å mislykkes.

For å installere ISC Kea DHCP Server pakken, utsted følgende kommandoer som root bruker:

make -j1 install

Parameterforklaringer

--enable-shell: Tillater bygging av kea-shell, et kommandolinjegrensesnitt for kontrollagenten.

--with-openssl: Tillater bruk av OpenSSL for å kommunisere med kontrollagenten og for DNS-oppdateringer.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-pgsql or --with-mysql: 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.

--enable-generate-docs: Hvis dokumentasjonen skal gjenoppbygges, legg til dette alternativet. Flere avhengigheter må installeres for å generere dokumentasjonen.

make -j1 install:: ISC anbefaler ikke noen form for parallell eller jobbserver alternativer når du utfører installasjonen.

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.

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 fungerer kanskje for små nettverk med noen få klienter og lite trafikk. For større installasjoner med tusenvis av kunder, ISC Kea kan konfigureres til å bruke databaser (mariadb eller postgresql) for å lagre leiekontraktene og bygge en klynge med flere noder. Den kan integreres til ISC Stork som er et administrasjonsdashbord til ISC Kea.

Hvis du vil starte DHCP serveren ved oppstart, installer kea-dhcpd.service enheten inkludert i blfs-systemd-units-20241211 pakken:

make install-kea-dhcpd

Konfigurasjonsfiler

/etc/kea/kea-ctrl-agent.conf, /etc/kea/kea-dhcp4.conf, /etc/kea/kea-dhcp6.conf, og /etc/kea/kea-dhcp-ddns.conf

Kea konfigurasjon ved hjelp av Systemd enheter

Fire tjenesteenheter brukes til å starte forskjellige nisser levert av Kea:

  • Kontrollagent

    Kontrollagenten er en nisse som tillater (om)konfigurering av Kea DHCP tjenesten via REST API. Kjør systemctl enable kea-ctrl-agent hvis denne nissen er nødvendig.

  • IPv4 DHCP server

    Denne nissen håndterer forespørsler om IPv4 adresser. Kjør systemctl enable kea-dhcp4-server for å ha det startet med systemd.

  • IPv6 DHCP server

    Denne nissen håndterer forespørsler om IPv6 adresser. Kjør systemctl enable kea-dhcp6-server for å ha det startet med systemd.

  • Dynamisk DNS

    Denne nissen brukes til å oppdatere en DNS server dynamisk når Kea tildeler en IP adresse til en enhet. Kjør systemctl enable kea-ddns-server for å ha det startet med systemd.

Netconf tjenesten er ikke installert fordi nødvendige avhengigheter dekkes ikke av gjeldende BLFS bok.

Kontrollagentkonfigurasjon

Den oppgitte konfigurasjonen kan brukes uten endringer, men i BLFS er objekter som sockets lagret 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.
  // RESTful interface to 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/kea4-ctrl-socket"
      },
      "dhcp6": {
        "socket-type": "unix",
        "socket-name": "/run/kea6-ctrl-socket"
      },
      "d2": {
        "socket-type": "unix",
        "socket-name": "/run/kea-ddns-ctrl-socket"
      }
    },

    "loggers": [
      {
        "name": "kea-ctrl-agent",
        "output_options": [
          {
            "output": "/var/log/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/kea4-ctrl-socket"
    },

    "lease-database": {
      "type": "memfile",
      "lfc-interval": 3600
    },

    "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 DNS
    "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-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.6 server som kjører, ISC Kea kan oppdatere DNS 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-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-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.6.

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-shell
Installerte Biblioteker: libkea-asiodns.so, libkea-asiolink.so, libkea-cc.so, libkea-cgfclient.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-process.so, libkea-stats.so, libkea-tcp.so, libkea-util.so, and libkea-util-io.so
Installerte Mapper: /etc/kea, /usr/include/kea, /usr/lib/kea, /usr/lib/python3.13/site-packages/kea, /usr/share/kea, /usr/share/doc/kea-2.6.1, and /var/lib/kea

Korte Beskrivelser

keactrl

Verktøy for å kontrollere (starte/stoppe) serverprosessene.

kea-admin

kea-admin er et skallskript som tilbyr databasevedlikehold.

kea-ctrl-agent

Nisse som viser et RESTful kontrollgrensesnitt for å administrere Kea servere.

kea-dhcp4

Servernissen som gir IPv4 adresser.

kea-dhcp6

Servernissen som gir IPv6 adresser.

kea-dhcp-ddns

Servernissen som utfører de dynamiske DNS oppdateringene.

kea-lfc

kea-lfc serviceprosessen fjerner overflødig informasjon fra filene som brukes til å gi vedvarende lagring for memfil database bakstykket. Den drives av Kea DHCP serveren.

keashell

RESTful klient til ISC Kea servicer.

ProFTPD-1.3.8b

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ProFTPD Avhengigheter

Valgfri

libcap-2.73 med PAM, libssh2-1.11.1, Linux-PAM-1.7.0, MariaDB-11.4.5 eller MySQL, pcre2-10.45, PostgreSQL-17.4, 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.8b &&
cp -Rv doc/*     /usr/share/doc/proftpd-1.3.8b

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

Systemd Enhet

Installer proftpd.service enheten inkludert i blfs-systemd-units-20241211 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.8b, 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.0

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..

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Dovecot Avhengigheter

Påkrevd

libtirpc-1.3.6 og Linux-PAM-1.7.0

Valgfri

Cyrus SASL-2.1.28, ICU-76.1, libcap-2.73 med PAM, libunwind-1.8.1, Lua-5.4.7, MariaDB-11.4.5 eller MySQL, OpenLDAP-2.6.9, PostgreSQL-17.4, SQLite-3.49.1, Valgrind-3.24.0, xapian-1.4.27, xfsprogs-6.13.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 kl 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-lua=no                          \
            --docdir=/usr/share/doc/dovecot-2.4.0  \
            --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. Støtten er for øyeblikket brutt med Lua 5.4.

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.0

# 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.0

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.0/ hvis du planlegger å bruke Dovecot i et produksjonsmiljø.

Systemd Enhet

For å starte dovecot nissen ved oppstart, aktiver den tidligere installerte systemd enheten med følgende kommando:

systemctl enable 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.0

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.98.1

Introduksjon til Exim

Exim pakken inneholder en Mail Transport Agent skrevet av University of Cambridge, utgitt under GNU Public License.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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, File-FcntlLock-0.22 og pcre2-10.45

Valgfri

TDB (alternativ til GDBM, bygget i LFS), Cyrus SASL-2.1.28, libidn-1.42, Linux-PAM-1.7.0, MariaDB-11.4.5 eller MySQL, OpenLDAP-2.6.9, GnuTLS-3.8.9, PostgreSQL-17.4, SQLite-3.49.1, 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.98.1 &&
cp      -Rv doc/*   /usr/share/doc/exim-4.98.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.98.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.98.1/doc/html/spec_html/ch45.html.

For å bruke en annen bakstykke database enn GDBM, se instruksjonene på https://exim.org/exim-html-4.98.1/doc/html/spec_html/ch04.html#SECTdb.

For SSL funksjonalitet, se instruksjonene på https://exim.org/exim-html-4.98.1/doc/html/spec_html/ch04.html#SECTinctlsssl og https://exim.org/exim-html-4.98.1/doc/html/spec_html/ch42.html.

For tcpwrappers funksjonalitet, se instruksjoner på https://exim.org/exim-html-4.98.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.98.1/doc/html/spec_html/index.html.

For informasjon om å koble Linux-PAM, se instruksjonene https://exim.org/exim-html-4.98.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.98.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.98.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.98.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

Systemd Enhet

For å automatisk starte exim ved oppstart, installer exim.service enheten inkludert i blfs-systemd-units-20241211 pakken:

make install-exim

Innhold

Installerte Programmer: exicyclog, exigrep, exim, exim-4.98.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.98.1 og /var/spool/exim

Korte Beskrivelser

exicyclog

sirkulerer Exim loggfiler

exigrep

søker Exim loggfiler

exim

er en symbolkobling til exim-4.98.1-2 MTA nissen

exim-4.98.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.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Postfix Avhengigheter

Anbefalt
Valgfri

ICU-76.1 for internasjonalisering av e-postadresser (SMTPUTF8) støtte, MariaDB-11.4.5 or MySQL, OpenLDAP-2.6.9, pcre2-10.45, PostgreSQL-17.4, SQLite-3.49.1, 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 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.1/html \
   readme_directory=/usr/share/doc/postfix-3.10.1/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.

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

Systemd Enhet

For å automatisere kjøringen av Postfix ved oppstart, installer postfix.service enheten inkludert i blfs-systemd-units-20241211 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.1 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

sendmail-8.18.1

Introduksjon til sendmail

sendmail pakken inneholder en post transportagent (MTA).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

sendmail Avhengigheter

Påkrevd

OpenLDAP-2.6.9 (klient)

Anbefalt
Valgfri

ghostscript-10.04.0 (for å lage PDF dokumentasjon), Procmail-3.24 (konfigurasjonen foreslått nedenfor krever at procmail er tilstede ved kjøretid), og nph

Installasjon av sendmail

Før bygging av sendmail, opprette nødvendig bruker, gruppe og mappe med følgende kommandoer utstedt som root bruker:

groupadd -g 26 smmsp                               &&
useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
        -s /bin/false -u 26 smmsp                  &&
chmod -v 1777 /var/mail                            &&
install -v -m700 -d /var/spool/mqueue

Notat

Se kildetreet sin sendmail/README fil for informasjon om kobling av valgfrie pakker til bygget. Bruke eksempelet nedenfor, som legger til støtte for SASL, StartTLS (OpenSSL) og OpenLDAP, som utgangspunkt. Selvfølgelig, endre den for å passe dine spesielle behov.

cat >> devtools/Site/site.config.m4 << "EOF"
APPENDDEF(`confENVDEF',`-D STARTTLS -D SASL -D LDAPMAP -D HASFLOCK')
APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber')
APPENDDEF(`confINCDIRS', `-I/usr/include/sasl')
EOF

Installer sendmail med følgende kommandoer:

cat >> devtools/Site/site.config.m4 << "EOF"
define(`confMANGRP',`root')
define(`confMANOWN',`root')
define(`confSBINGRP',`root')
define(`confUBINGRP',`root')
define(`confUBINOWN',`root')
EOF

sed -i 's|/usr/man/man|/usr/share/man/man|' \
    devtools/OS/Linux           &&

cd sendmail                     &&
sh Build                        &&
cd ../cf/cf                     &&
cp generic-linux.mc sendmail.mc &&
sh Build sendmail.cf

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

install -v -d -m755 /etc/mail &&
sh Build install-cf &&

cd ../..            &&
sh Build install    &&

install -v -m644 cf/cf/{submit,sendmail}.mc /etc/mail &&
cp -v -R cf/* /etc/mail                               &&

install -v -m755 -d /usr/share/doc/sendmail-8.18.1/{cf,sendmail} &&

install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
        /usr/share/doc/sendmail-8.18.1 &&

install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \
        /usr/share/doc/sendmail-8.18.1/sendmail &&

install -v -m644 cf/README /usr/share/doc/sendmail-8.18.1/cf &&

for manpage in sendmail editmap mailstats makemap praliases smrsh
do
    install -v -m644 $manpage/$manpage.8 /usr/share/man/man8
done &&

install -v -m644 sendmail/aliases.5    /usr/share/man/man5 &&
install -v -m644 sendmail/mailq.1      /usr/share/man/man1 &&
install -v -m644 sendmail/newaliases.1 /usr/share/man/man1 &&
install -v -m644 vacation/vacation.1   /usr/share/man/man1

Installer sendmail Installasjon og Driftsveiledning med følgende kommandoer:

Notat

Fjern op.pdf fra make og install kommandoer nedenfor hvis du ikke har Ghostscript installert.

cd doc/op                                       &&
sed -i 's/groff/GROFF_NO_SGR=1 groff/' Makefile &&
make op.txt op.pdf

Nå, som root bruker:

install -v -d -m755 /usr/share/doc/sendmail-8.18.1 &&
install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-8.18.1 &&
cd ../..

Parameterforklaringer

cat > devtools/Site/site.config.m4 << "EOF": Dette oppretter en konfigurasjonsfil som endrer noen av standardinnstillingene.

sed ... devtools/OS/Linux: site.config.m4 respekterer ikke en endring i man mappen, så fiks det i OS definisjoner.

sh Build; sh Build sendmail.cf; sh Build install-cf; sh Build install: sendmail bruker en m4 basert byggeskript for å lage de forskjellige Makefileene. Disse kommandoene bygger og installerer pakken.

for manpage in...;do...;done; install ...: man sidene er allerede installert formatert og man viser dem noe forvrengt. Disse kommandoene erstatter de formaterte sidene med sider man kan vise riktig.

Konfigurere sendmail

Konfigurasjonsfiler

/etc/mail/*

Konfigurasjonsinformasjon

Notat

Sørg for at du har et fullstendig kvalifisert domenenavn definert i /etc/hosts for systemet ditt før du fortsetter.

Opprett /etc/mail/local-host-names og /etc/mail/aliases filene ved hjelp av følgende kommandoer som root bruker:

echo $(hostname) > /etc/mail/local-host-names
cat > /etc/mail/aliases << "EOF"
postmaster: root
MAILER-DAEMON: root

EOF
# Does not work if there is no database backend compiled in:
#newaliases

sendmail sin primære konfigurasjonsfil, /etc/mail/sendmail.cf, er komplisert og ikke ment å redigeres direkte. Den anbefalte metoden for å endre den er å modifisere /etc/mail/sendmail.mc og ulike m4 filer, kjør deretter m4 makroprosessor fra /etc/mail som følgende:

cd /etc/mail &&
m4 m4/cf.m4 sendmail.mc > sendmail.cf

En fullstendig forklaring på filene som skal endres, og de tilgjengelige parametere finner du i /etc/mail/README.

Systemd Enhet

For å automatisere kjøringen av sendmail ved oppstart, installer sendmail.service enheten inkludert i blfs-systemd-units-20241211 pakken:

make install-sendmail

Notat

-qNm alternativet til sendmail, hvor N er antall minutter, kontrollerer hvor ofte sendmail vil behandle postkøen. En standard på 5 minutter brukes i systemd enheten. Individuelle arbeidsstasjonsbrukere vil kanskje sette dette så lavt som 1 minutt, større installasjoner som håndterer mer post vil kanskje sette den høyere.

Innhold

Installerte Programmer: editmap, mailstats, makemap, praliases, sendmail, smrsh, og vacation; symbolkoblinger til /usr/sbin/sendmail: hoststat, mailq, newaliases, og purgestat
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/mail, /usr/share/doc/sendmail-8.18.1, og /var/spool/clientmqueue

Korte Beskrivelser

editmap

spørrer og redigerer sendmail kartfiler

hoststat

skriver ut sendmail sin vedvarende vertsstatus

mailstats

viser sendmail statistikk

mailq

skriver ut et sammendrag av utgående e-postmeldinger som venter på levering

makemap

oppretter sendmail kartfiler

newaliases

bygger om /etc/mail/aliases.db fra innholdet i /etc/mail/aliases

praliases

viser gjeldende sendmail aliaser

purgestat

fører til at sendmail å rydde (rense) all vertsstatusinformasjonen

sendmail

er sendmail posttransportagent

smrsh

er et begrenset skall for sendmail

vacation

er en autosvar på e-post

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.31

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

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av lmdb

Notat

Denne pakken pakker ut til lmdb-LMDB_0.9.31.

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.4.5

Introduksjon til MariaDB

MariaDB er en fellesskapsutviklet gren og en drop-in erstatning for MySQL relasjonelle databasestyringssystem.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

Den installerte størrelsen på MariaDB er 745 MB, men den kan bli redusert med ca. 265 MB, hvis ønskelig, ved å fjerne /usr/share/mariadb/test mappen etter installasjonen.

MariaDB Avhengigheter

Påkrevd

CMake-3.31.5

Anbefalt
Valgfri

Boost-1.87.0, libaio-0.3.113, libxml2-2.13.6, Linux-PAM-1.7.0, LZO-2.10, MIT Kerberos V5-1.21.3, pcre2-10.45, Ruby-3.4.2, sphinx-8.2.1, unixODBC-2.3.12, Valgrind-3.24.0, Groonga, KyTea, Judy, 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

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.4.5        \
      -D INSTALL_DOCREADMEDIR=share/doc/mariadb-11.4.5  \
      -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                                    \                                 \
      .. &&
make

For å teste resultatene, kjør: make test. To tester, my_tzinfo og test-connect, er kjent for å mislykkes.

Notat

Et mer omfattende sett med tester kan kjøres med følgende:

pushd mysql-test
./mtr --parallel <N> --mem --force
popd

Hvor N er antall tester som skal kjøres parallelt. Over 5400 tester kjøres i ca 24 SBU med N=4. Noen få tester kan mislykkes, hovedsakelig på grunn av tegnsettproblemer.

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.

Notat

Det er mange alternativer tilgjengelig for cmake. Sjekk utdataen av cmake . -LH for tilleggs tilpasningsalternativer.

Konfigurere MySQL

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:

install -v -dm 755 /etc/mariadb &&
cat > /etc/mariadb/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

[mariadb]
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

Systemd Enhet

Installer mariadb.service enheten inkludert i blfs-systemd-units-20241211 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.4.5

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-17.4

Introduksjon til PostgreSQL

PostgreSQL er en avansert objektrelasjonelt databasestyringssystem (ORDBMS), avledet fra Berkeley Postgres databasebehandlingssystem.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

PostgreSQL Avhengigheter

Valgfri

ICU-76.1, libxml2-2.13.6, libxslt-1.1.42, OpenLDAP-2.6.9, Linux-PAM-1.7.0, MIT Kerberos V5-1.21.3 og Bonjour

Valgfri (For å regenerere dokumentasjon)

fop-2.10, 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 -i '/DEFAULT_PGSOCKET_DIR/s@/tmp@/run/postgresql@' src/include/pg_config_manual.h &&

./configure --prefix=/usr \
            --docdir=/usr/share/doc/postgresql-17.4 &&
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
systemctl stop postgresql
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      &&
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-17.4/html/index.html.

Systemd Enhet

Installer postgresql.service enheten inkludert i blfs-systemd-units-20241211 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-17.4,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

SQLite-3.49.1

Introduksjon til SQLite

SQLite pakken er et programvarebibliotek som implementerer en selvstendig, serverløs, null-konfigurasjon, transaksjonell SQL databasemotor.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Valgfri dokumentasjon

SQLite Avhengigheter

Valgfri

libarchive-3.7.7 (nødvendig for å pakke ut dokumentasjonen) og libedit

Installasjon av SQLite

Hvis du lastet ned den valgfrie dokumentasjonen, utfør følgende kommando for å installere dokumentasjonen inn i kildetreet:

unzip -q ../sqlite-doc-3490100.zip

Installer SQLite ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --disable-static  \
            --enable-fts{4,5} \
            CPPFLAGS="-D SQLITE_ENABLE_COLUMN_METADATA=1 \
                      -D SQLITE_ENABLE_UNLOCK_NOTIFY=1   \
                      -D SQLITE_ENABLE_DBSTAT_VTAB=1     \
                      -D SQLITE_SECURE_DELETE=1"         &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du lastet ned den valgfrie dokumentasjonen, utfør følgende kommandoer som root bruker for å installere den:

install -v -m755 -d /usr/share/doc/sqlite-3.49.1 &&
cp -v -R sqlite-doc-3490100/* /usr/share/doc/sqlite-3.49.1

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-fts{4,5}: Disse bryterne aktiverer støtte for versjon 3, 4 og 5 av fulltekstsøk (FTS) utvidelsen. Merk at --enable-fts4 bryteren muliggjør støtte for både FTS versjon 4 og FTS versjon 3.

CPPFLAGS="-D SQLITE_ENABLE_COLUMN_METADATA=1 ... : Noen applikasjoner krever at disse alternativene er slått på. Den eneste måten å gjøre dette på er å inkludere dem i CFLAGS eller CPPFLAGS. Vi bruker sistnevnte slik at standardverdien (eller en hvilken som helst verdi satt av brukeren) til CFLAGS ikke vil bli berørt. For ytterligere informasjon om hva som kan spesifiseres se https://www.sqlite.org/compile.html.

Innhold

Installert Program: sqlite3
Installert Bibliotek: libsqlite3.so
Installert Mappe: /usr/share/doc/sqlite-3.49.1

Korte Beskrivelser

sqlite3

er et terminalbasert grensesnitt til SQLite bibliotek som kan evaluere spørringer interaktivt og vise resultatene

libsqlite3.so

inneholder SQLite API funksjoner

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.9

Introduksjon til OpenLDAP

OpenLDAP pakken gir en åpen kildeimplementering av Lightweight Directory Access Protocol.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

OpenLDAP Avhengigheter

Anbefalt
Valgfri

GnuTLS-3.8.9, unixODBC-2.3.12, MariaDB-11.4.5 eller PostgreSQL-17.4 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.9-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.9-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.9 &&
cp      -vfr      doc/{drafts,rfc,guide} \
                  /usr/share/doc/openldap-2.6.9

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:

Systemd Enhet

For å automatisere oppstarten av LDAP serveren ved oppstart av systemet, installer slapd.service enheten inkludert i blfs-systemd-units-20241211 pakken ved å bruke følgende kommando:

make install-slapd

Notat

Du må endre /etc/default/slapd for å inkludere parametrene som trengs for din spesifikke konfigurasjon. Se slapd manside for parameterinformasjon.

Teste Konfigurasjonen

Start LDAP serveren med systemctl:

systemctl start slapd

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.9

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.22.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nlnetlabs.nl/downloads/unbound/unbound-1.22.0.tar.gz

  • Nedlasting MD5 sum: be0e5ae64c6619a638c116addd4da670

  • Nedlastingsstørrelse: 6.4 MB

  • Estimert diskplass som kreves: 151 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.1, Protobuf-c-1.5.1 (for dnstap), sphinx-8.2.1 (for Python bindinger dokumentasjon), SWIG-4.3.0 (for Python bindinger), Doxygen-1.13.2 (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.13.2 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.22.0 &&
install -v -m644 doc/html/* /usr/share/doc/unbound-1.22.0

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.13 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. Opprett denne filen ved å kjøre følgende kommando som root bruker:

unbound-anchor

Systemd Enhet

Hvis du vil at Unbound server skal starte automatisk når systemet startes opp, installer unbound.service enheten inkludert i blfs-systemd-units-20241211 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.22.0 (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.6

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.16p2 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.16p2, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-2024.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xorgproto Avhengigheter

Påkrevd

util-macros-1.20.2

Valgfri

fop-2.10, libxslt-1.1.42, xmlto-0.0.29 og asciidoc-10.2.1 (for å bygge ytterligere dokumentasjon)

Notat

Det er en gjensidig avhengighet med fop-2.10. Hvis du ønsker å bygge dokumentasjonen, må du installere protokolldeklarasjoner på nytt etter at installasjonen er fullført og fop-2.10 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{,-2024.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-2024.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libXau Avhengigheter

Påkrevd

xorgproto-2024.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libXdmcp Avhengigheter

Påkrevd

xorgproto-2024.1

Valgfri

xmlto-0.0.29, fop-2.10, libxslt-1.1.42, og Xorg-SGML-doctools (for dokumentasjon)

Installasjon av libXdmcp

Installer libXdmcp ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG --docdir=/usr/share/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xcb-proto Avhengigheter

Anbefalt
Valgfri

libxml2-2.13.6 (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.13/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libxcb Avhengigheter

Påkrevd

libXau-1.0.12 og xcb-proto-1.17.0

Anbefalt
Valgfri

Doxygen-1.13.2 (for å generere API dokumentasjon) og libxslt-1.1.42

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.13.2 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.16.0 og libxcb-1.17.0

Valgfri

asciidoc-10.2.1, xmlto-0.0.29 med ett eller flere av følgende: fop-2.10, Links-2.30, Lynx-2.9.2, ncompress (for noen tester), og W3m (for å generere ekstra PDF eller tekst dokumentasjon for libXfont pakken).

Anbefalt under kjøring

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
e12f988eb037b978071e21b2d58d1d70  libX11-1.8.11.tar.xz
e59476db179e48c1fb4487c12d0105d1  libXext-1.3.6.tar.xz
c5cc0942ed39c49b8fcd47a427bd4305  libFS-1.0.10.tar.xz
d1ffde0a07709654b20bada3f9abdd16  libICE-1.1.2.tar.xz
ef6167bfcb675f65a790e0f517a87455  libSM-1.2.5.tar.xz
e613751d38e13aa0d0fd8e0149cec057  libXScrnSaver-1.2.4.tar.xz
9acd189c68750b5028cf120e53c68009  libXt-1.3.1.tar.xz
85edefb7deaad4590a03fccba517669f  libXmu-1.2.1.tar.xz
05b5667aadd476d77e9b5ba1a1de213e  libXpm-3.5.17.tar.xz
2a9793533224f92ddad256492265dd82  libXaw-1.0.16.tar.xz
65b9ba1e9ff3d16c4fa72915d4bb585a  libXfixes-6.0.1.tar.xz
af0a5f0abb5b55f8411cd738cf0e5259  libXcomposite-0.4.6.tar.xz
4c54dce455d96e3bdee90823b0869f89  libXrender-0.9.12.tar.xz
5ce55e952ec2d84d9817169d5fdb7865  libXcursor-1.2.3.tar.xz
ca55d29fa0a8b5c4a89f609a7952ebf8  libXdamage-1.1.6.tar.xz
8816cc44d06ebe42e85950b368185826  libfontenc-1.1.8.tar.xz
66e03e3405d923dfaf319d6f2b47e3da  libXfont2-2.0.7.tar.xz
cea0a3304e47a841c90fbeeeb55329ee  libXft-2.3.8.tar.xz
95a960c1692a83cc551979f7ffe28cf4  libXi-1.8.2.tar.xz
228c877558c265d2f63c56a03f7d3f21  libXinerama-1.1.5.tar.xz
24e0b72abe16efce9bf10579beaffc27  libXrandr-1.5.4.tar.xz
66c9e9e01b0b53052bb1d02ebf8d7040  libXres-1.2.2.tar.xz
b62dc44d8e63a67bb10230d54c44dcb7  libXtst-1.2.5.tar.xz
8a26503185afcb1bbd2c65e43f775a67  libXv-1.0.13.tar.xz
a90a5f01102dc445c7decbbd9ef77608  libXvMC-1.0.14.tar.xz
74d1acf93b83abeb0954824da0ec400b  libXxf86dga-1.1.6.tar.xz
d3db4b6dc924dc151822f5f7e79ae873  libXxf86vm-1.1.6.tar.xz
57c7efbeceedefde006123a77a7bc825  libpciaccess-0.18.1.tar.xz
229708c15c9937b6e5131d0413474139  libxkbfile-1.1.3.tar.xz
9805be7e18f858bed9938542ed2905dc  libxshmfence-1.3.3.tar.xz
bdd3ec17c6181fd7b26f6775886c730d  libXpresent-1.0.1.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, installasjonen må 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.16p2 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"

  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* )
      mkdir build
      cd    build
        meson setup --prefix=$XORG_PREFIX --buildtype=release ..
        ninja
        #ninja test
        as_root ninja install
      popd     # $packagedir
      continue # for loop
    ;;

    * )
      ./configure $XORG_CONFIG $docdir
    ;;
  esac

  make
  #make check 2>&1 | tee ../$packagedir-make_check.log
  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

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.10 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.11, $XORG_PREFIX/share/doc/libXaw, $XORG_PREFIX/share/doc/libXext, $XORG_PREFIX/share/doc/libXi, $XORG_PREFIX/share/doc/libXmu-1.2.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xcb-util Avhengigheter

Påkrevd

libxcb-1.17.0

Valgfri

Doxygen-1.13.2 (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 Utilities

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://xcb.freedesktop.org/dist/

  • Nedlastingsstørrelse: 1.1 MB

  • Estimert diskplass som kreves: 13.3 MB

  • Estimert byggetid: 0.1 SBU (ignoring the time to download)

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
bc30cd267b11ac5803fe19929cabd230  xcb-util-cursor-0.1.5.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://xcb.freedesktop.org/dist/ &&
md5sum -c ../xcb-utils.md5

Installasjon av XCB Utilities

Notat

Når du installerer flere pakker i et skript, installasjonen må 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.16p2 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-24.3.4

Introduksjon til Mesa

Mesa er en OpenGL kompatibel 3D grafikk bibliotek.

Notat

Mesa oppdateres relativt ofte. Du kanskje ønsker å bruke den siste tilgjengelige 24.3.x mesa versjonen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://mesa.freedesktop.org/archive/mesa-24.3.4.tar.xz

  • Nedlasting MD5 sum: c64b7e2b4f1c7782c41bf022edbb365c

  • Nedlastingsstørrelse: 30 MB

  • Estimert diskplass som kreves: 1.3 GB (med dokumenter, legg til 569 MB for tester)

  • Estimert byggetid: 3.8 SBU (med dokumenter; legg til 1.2 SBU for tester; begge med parallellitet=4)

Ytterligere Nedlastinger

Mesa Avhengigheter

Påkrevd

Xorg Biblioteker, libdrm-2.4.124, Mako-1.3.9, og PyYAML-6.0.2

Anbefalt

Notat

En Internett tilkobling er nødvendig for å bygge Nouveau Vulkan driveren.

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.13.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

libgcrypt-1.11.0, libunwind-1.8.1, lm-sensors-3-6-0, Nettle-3.10.1, Valgrind-3.24.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 platforms), 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 llvmpipe or softpipe:
      < /*>   Virtual GEM provider     
      # 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.

CONFIG_DRM_RADEON, CONFIG_DRM_AMDGPU, CONFIG_DRM_NOUVEAU, og CONFIG_DRM_I915 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-24.3.4

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-9.2.2 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.304)

-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.

-D legacy-x11="..." Denne parameteren kontrollerer hvilke eldre X11 funksjoner som får innebygd støtte. Tilgjengelige linux alternativer er none (standard) og dri2. Disse funksjonene er sjelden nødvendig lenger.

Innhold

Installerte Programmer: glxgears, glxinfo, mme_fermi_sim_hw_test, og mme_tu104_sim_hw_test
Installerte Biblioteker: libEGL.so, libGL.so, libGLESv1_CM.so, libGLESv2.so, libgbm.so, libglapi.so, libgallium-24.3.4.so, og libxatracker.so
Installerte DRI Driver Stubs: libdril_dri.so og symbolkoblinger til den: crocus_dri.so, i915_dri.so, iris_dri.so, kms_swrast_dri.so, nouveau_dri.so, r300_dri.so, r600_dri.so, r600_drv_video.so, radeonsi_dri.so, swrast_dri.so, virtio_gpu_dri.so, vmwgfx_dri.so, og zink_dri.so
Installerte VA-API Drivers: nouveau_drv_video.so, radeonsi_drv_video.so, og virtio_gpu_drv_video.so,
Installert GBM Bakstykkr: dri_gbm.so
Installerte VDPAU Drivere: libvdpau_nouveau.so, libvdpau_r600.so, libvdpau_radeonsi.so, og libvdpau_virtio_gpu.so (Mange av disse driverne er hardt koblet).
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,vdpau}}, $XORG_PREFIX/share/drirc.d (inneholder løsninger for ulike applikasjoner, spesielt nettlesere og spill), $XORG_PREFIX/share/vulkan, and /usr/share/doc/mesa-24.3.4

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

implementerer Graphics Buffer Management funksjoner som trengs av libgbm på toppen av libdrm

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-24.3.4.so

inneholder alle Gallium3D drivere

libgbm.so

er Mesa Grafikkbuffer behandlingsbiblioteket

libglapi.so

er Mesa implementeringen av OpenGL API

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

libxatracker.so

er XA state tracker for VMWare vmwgfx driveren

xbitmaps-1.1.3

Introduksjon til xbitmaps

xbitmaps pakken inneholder punktgrafikkbilder brukt av flere applikasjoner bygget i Xorg kapittelet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xorg Applikasjoner Avhengigheter

Påkrevd

libpng-1.6.46, Mesa-24.3.4, xbitmaps-1.1.3, og xcb-util-0.4.1

Valgfri

Linux-PAM-1.7.0 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
05423bb42a006a6eb2c36ba10393de23  sessreg-1.1.3.tar.xz
1d61c9f4a3d1486eff575bf233e5776c  setxkbmap-1.3.4.tar.xz
9f7a4305f0e79d5a46c3c7d02df9437d  smproxy-1.0.7.tar.xz
595c941d9aff6f6d6e038c4e42dcff58  xauth-1.1.3.tar.xz
37063ccf902fe3d55a90f387ed62fe1f  xcmsdb-1.0.7.tar.xz
89e81a1c31e4a1fbd0e431425cd733d7  xcursorgen-1.0.8.tar.xz
933e6d65f96c890f8e96a9f21094f0de  xdpyinfo-1.3.4.tar.xz
34aff1f93fa54d6a64cbe4fee079e077  xdriinfo-1.0.7.tar.xz
f29d1544f8dd126a1b85e2f7f728672d  xev-1.2.6.tar.xz
41afaa5a68cdd0de7e7ece4805a37f11  xgamma-1.0.7.tar.xz
45c7e956941194e5f06a9c7307f5f971  xhost-1.0.10.tar.xz
8e4d14823b7cbefe1581c398c6ab0035  xinput-1.6.4.tar.xz
83d711948de9ccac550d2f4af50e94c3  xkbcomp-1.4.7.tar.xz
543c0535367ca30e0b0dbcfa90fefdf9  xkbevd-1.1.6.tar.xz
07483ddfe1d83c197df792650583ff20  xkbutils-1.0.6.tar.xz
f62b99839249ce9a7a8bb71a5bab6f9d  xkill-1.0.6.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, installasjonen må 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.16p2 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-20240910

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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».

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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
79f4c023e27d1db1dfd90d041ce89835  font-alias-1.0.5.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, installasjonen må 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.16p2 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.44

Introduksjon til XKeyboardConfig

XKeyboardConfig pakken inneholder tastaturkonfigurasjons databasen for X Vindussystem.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

XKeyboardConfig Avhengigheter

Påkrevd

Xorg Biblioteker

Valgfri (påkrevd for tester)

libxkbcommon-1.8.0, pytest-8.3.4, 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.

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.6

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.x.org/pub/individual/xserver/xwayland-24.1.6.tar.xz

  • Nedlasting MD5 sum: 78067c218323fe2a496ca5f2145fe7ab

  • Nedlastingsstørrelse: 1.2 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.44.2, wayland-protocols-1.40, Xorg Applikasjoner (kjøretid), og Xorg Fonts (bare font-util)

Anbefalt
Valgfri

git-2.48.1 (for å laste ned pakker som trengs for testene), libei-1.3.0, libgcrypt-1.11.0, Nettle-3.10.1, 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

Hvis Xorg-Server-21.1.16 ikke er installert og du planlegger ikke å 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.16. Fjern denne kommandoen hvis Xorg-Server-21.1.16 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.6 ikke er installert.

Innhold

Installert Program: Xwayland
Installert Bibliotek: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

Xwayland

Lar X klienter kjøre under wayland

Xorg-Server-21.1.16

Introduksjon til Xorg Server

Xorg Server er kjernen av X Vindussystemet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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/12.3/xorg-server-21.1.16-tearfree_backport-1.patch

Xorg Server Avhengigheter

Påkrevd

libxcvt-0.1.3, Pixman-0.44.2, Xorg Fonts (bare font-util), og ved kjøretid: xkeyboard-config-2.44

Anbefalt

Notat

Selv om det er mulig å kjøre Xorg serveren uten Systemd-257.3 (bygget om med PAM) 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 denne avhengigheten. Ikke prøv å gjøre det med mindre du virkelig vet hva gjør du.

Valgfri

acpid-2.0.34 (kjøretid), Doxygen-1.13.2 (for å bygge API dokumentasjon), fop-2.10 (for å bygge dokumentasjon), libunwind-1.8.1, Nettle-3.10.1, libgcrypt-1.11.0, XCB Utilities (for å bygge Xephyr), xmlto-0.0.29 (for å bygge dokumentasjon), xkeyboard-config-2.44 (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-24.3.4 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]
      <*> 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.16-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 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

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.6 ikke er installert.

-D suid_wrapper=true: Bygger suid-root innpakning for eldre driverstøtte på rotløse xserver systemer.

-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.3

Introduksjon til libevdev

libevdev pakken inneholder vanlige funksjoner for Xorg inndatadrivere.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
libevdev Avhengigheter
Valgfri

Doxygen-1.13.2 og Valgrind-3.24.0 (valgfri for tester)

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 &&
ninja

Regresjonstestene kan kjøres som root bruker med ninja test, i en grafisk sesjon. Du må ha aktivert CONFIG_INPUT_UINPUT innstillingen i kjernen for full testdekning. Hvis den er aktivert som en modul, har modulen navnet uinput og må lastes før du kjører testene. Vær oppmerksom på at på noen systemer testene kan forårsake en hard låsing og kreve en omstart. På bærbare datamaskiner vil systemet gå i dvale og må vekkes for å fullføre testpakken.

Nå, som root bruker:

ninja install

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Xorg Evdev Driver Avhengigheter
Påkrevd

libevdev-1.13.3, mtdev-1.1.7, og Xorg-Server-21.1.16

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.27.1

Introduksjon til Libinput

libinput er et bibliotek som håndterer inndataenheter for skjermservere og andre applikasjoner som trenger å håndtere inndataenheter direkte.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
libinput Avhengigheter
Påkrevd

libevdev-1.13.3 og mtdev-1.1.7

Valgfri

Valgrind-3.24.0 (for å kjøre testene), GTK-3.24.48 (for å bygge GUI hendelsesvisningen), libunwind-1.8.1 (nødvendig for tester), libwacom-2.14.0, Doxygen-1.13.2, Graphviz-12.2.1, recommonmark-0.7.1, og sphinx_rtd_theme-3.0.2 (kreves for å bygge dokumentasjon), pyparsing-3.2.1 (for en ikke-root test), og pytest-8.3.4 (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.3, er det standard og mer ekspansive testpakke krever tilstedeværelse av /dev/uinput (samt både Valgrind-3.24.0 og libunwind-1.8.1).

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

Notat

Hvis du vil kjøre standard testpakke, fjerner du -D tests fra meson kommandoen ovenfor. Vennligst les «Kjernekonfigurasjon for å kjøre Libinput Testpakken» (overfor).

Hvis du har bestemt deg for å kjøre standard testpakke, kan du kjøre testene som root bruker ved å kjøre: ninja test. Det er over 30 tester og alle burde bestå hvis du installerte de valgfrie avhengighetene. Du kan imidlertid kjøre 6 mindre tester som vanlig bruker ved å kjøre samme kommando, selv om du ikke trenger å fjerne parameteren -D tests. De testmålinger er basert på disse testene alene.

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.27.1/html &&
cp -rv Documentation/* /usr/share/doc/libinput-1.27.1/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.48 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.2.1 ikke er installert, og en annen hvis pytest-8.3.4 ikke er installert.

-D libwacom=false: Fjern dette alternativet hvis du har libwacom-2.14.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. Du må ha Doxygen-1.13.2 og Graphviz-12.2.1 installert.

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.27.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Xorg Libinput Driver Avhengigheter
Påkrevd

libinput-1.27.1 og Xorg-Server-21.1.16

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Xorg Synaptics Driver Avhengigheter
Påkrevd

libevdev-1.13.3 og Xorg-Server-21.1.16

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.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon
Xorg Wacom Drivere Avhengigheter
Påkrevd

Xorg-Server-21.1.16

Valgfri

Doxygen-1.13.2 og Graphviz-12.2.1

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 &&
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.12

Introduksjon til twm

twm pakken inneholder en veldig minimal vindusbehandler.

Denne pakken er gitt for å teste den fullførte Xorg installasjonen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

twm Avhengigheter

Påkrevd

Xorg-Server-21.1.16

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-397

Introduksjon til xterm

xterm er en terminalemulator for X Vindussystemet.

Denne pakken er gitt for å teste den fullførte Xorg installasjonen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xterm Avhengigheter

Påkrevd

luit-20240910

Påkrevd (ved kjøring)

En monospace TTF eller OTF font som f.eks Dejavu fonts

Valgfri

Emacs-30.1, pcre2-10.45, Valgrind-3.24.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 den fullførte Xorg installasjonen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.3

Introduksjon til xinit

xinit pakken inneholder et brukbart skript for å starte xserveren.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

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.16 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-24.3.4. 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-19.1.7 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-47.0) 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-9.2.2 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.16 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, hvorfor de kanskje ikke alltid fungerer, og for å identifisere nettbasert informasjon som ikke lenger er hensiktsmessig.

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, og AbiWord-3.0.5 som bruker kun den angitte fonten). 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.56.1 og ImageMagick-7.1.1-43 - 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-20240312 putter mange fonter i /opt/texlive/2024/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/2024/texmf-dist/fonts/opentype/arkandis/berenisadf</dir>
  <dir>/opt/texlive/2024/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.16.0/ : 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-46.1 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å font-comparison nettsiden.

Fonter leveres ofte i zip filer, og krever verktøy fra libarchive-3.7.7 or 7zip-24.09 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-20230101, 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 anbefales på det sterkeste.

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 er den foretrukne skriftfamilien for GNOME brukergrensesnittet.

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.7.7. 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-47.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 systemd boken på https://www.linuxfromscratch.org/blfs/view/7.10-systemd/x/x7font.html hvis du ønsker å installere noen av de andre fontene.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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, installasjonen må 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.16p2 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Atkmm Avhengigheter

Påkrevd

at-spi2-core-2.54.1 og GLibmm-2.66.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Atkmm Avhengigheter

Påkrevd

at-spi2-core-2.54.1 og GLibmm-2.82.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.54.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

At-Spi2 Core Avhengigheter

Påkrevd

dbus-1.16.0, GLib-2.82.5 (GObject Introspection påkrevd for GNOME), gsettings-desktop-schemas-47.1 (Kjøretid), og Xorg Biblioteker

Valgfri

Gi-DocGen-2025.3 og sphinx-8.2.1

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 .. &&
ninja

Nå, som root bruker:

ninja install

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 docs=true: Bruk denne bryteren hvis du vil bygge dokumentasjon. Merk at du må ha både Gi-DocGen-2025.3 og sphinx-8.2.1 installert på systemet ditt.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libatk-1.0.so, libatk-bridge-2.0.so, libatspi.so, og /usr/lib/gtk-2.0/modules/libatk-bridge.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.so

inneholder Verktøysett for tilgjengelighet GTK+-2 broen

libatk-bridge-2.0.so

inneholder Verktøysett for tilgjengelighet GTK+ modulen

libatspi.so

inneholder At-Spi2 API funksjoner

Cairo-1.18.2

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.)

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Cairo Avhengigheter

Påkrevd

libpng-1.6.46 og Pixman-0.44.2

Anbefalt
Valgfri

ghostscript-10.04.0, GTK-Doc-1.34.0, libdrm-2.4.124, librsvg-2.59.2, libxml2-2.13.6, LZO-2.10, Poppler-25.02.0, Valgrind-3.24.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

Først, fiks en feil som forårsaker problemer med utskrift av PDF filer:

patch -Np1 -i ../cairo-1.18.2-upstream_fixes-1.patch

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libcairomm-1.0 Avhengigheter

Påkrevd

Cairo-1.18.2 og libsigc++-2.12.1

Anbefalt
Valgfri

Doxygen-1.13.2

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.87.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libcairomm-1.16 Avhengigheter

Påkrevd

Cairo-1.18.2 og libsigc++-3.6.0

Anbefalt
Valgfri

Doxygen-1.13.2

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.87.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Colord GTK Avhengigheter

Påkrevd

colord-1.4.7 og GTK-3.24.48

Anbefalt
Valgfri

docbook-xml-5.0, docbook-xsl-ns-1.79.2, libxslt-1.1.42 (for å bygge manualsider), og GTK-Doc-1.34.0

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.42 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.17 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.16.12 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.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere nedlastinger

FLTK Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

alsa-lib-1.2.13, desktop-file-utils-0.28, Doxygen-1.13.2, GLU-9.0.3, Mesa-24.3.4, og texlive-20240312 (eller install-tl-unx)

Installasjon av FLTK

Notat

Tar sin ekstraksjonsmappe er fltk-1.4.2 og ikke fltk-1.4.2-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.2 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.2 install-linux &&
make -C documentation docdir=/usr/share/doc/fltk-1.4.2 install-linux

Hvis du lastet ned den valgfrie html dokumentasjonen, installer den som root bruker:

tar -C /usr/share/doc/fltk-1.4.2 --strip-components=4 -xf ../fltk-1.4.2-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.2

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.6.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Freeglut Avhengigheter

Påkrevd

CMake-3.31.5 og Mesa-24.3.4

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.42.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gdk Pixbuf Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection påkrevd for GNOME), libjpeg-turbo-3.0.1, libpng-1.6.46, og shared-mime-info-2.4

Anbefalt
Valgfri

Gi-DocGen-2025.3 (for å generere dokumentasjon), libavif-1.2.0 (kjøretidsavhengighet, nødvendig for å laste AVIF bilder), libjxl-0.11.1 (kjøretidsavhengighet, nødvendig for å laste JPEG XL bilder), og webp-pixbuf-loader-0.2.7 (kjøretidsavhengighet, nødvendig for å laste WebP bilder)

Installasjon av Gdk Pixbuf

Installer Gdk Pixbuf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D others=enabled   \
      --wrap-mode=nofallback &&
ninja

Hvis du har Gi-DocGen-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/docs_dir =/s@\$@ / 'gdk-pixbuf-2.42.12'@" -i ../docs/meson.build &&
meson configure -D gtk_doc=true                                        &&
ninja

For å teste resultatene, kjør: ninja test. Testene bruker av disken(e) mye.

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 others=enabled: Aktiver lasterne for ulike bildeformater, for eksempel BMP og XPM.

-D man=false: Bruk dette alternativet hvis du ikke vil generere manualsider, eller hvis du ikke vil installere docutils-0.21.2.

Innhold

Installerte Programmer: gdk-pixbuf-csource, gdk-pixbuf-pixdata, gdk-pixbuf-query-loaders, og gdk-pixbuf-thumbnailer
Installerte Biblioteker: libgdk_pixbuf-2.0.so
Installerte Mapper: /usr/{include,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

gdk-pixbuf-thumbnailer

lager miniatyrbilder av bilder for bruk i andre applikasjoner

libgdk_pixbuf-2.0.so

inneholder funksjoner som brukes til å laste og gjengi bilder

GLEW-2.2.0

Introduksjon til GLEW

GLEW er OpenGL Wrangler Utvidelsebibliotek.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

glew Avhengigheter

Påkrevd

Mesa-24.3.4

Installasjon av GLEW

Installer GLEW ved å kjøre følgende kommandoer:

sed -i 's%lib64%lib%g' config/Makefile.linux &&
sed -i -e '/glew.lib.static:/d' \
       -e '/0644 .*STATIC/d'    \
       -e 's/glew.lib.static//' 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.

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-15.1.0

Introduksjon til Glslang

Glslang Pakken inneholder et grensesnitt og en validator for OpenGL, OpenGL ES og Vulkan shaders.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Glslang Avhengigheter

Påkrevd

CMake-3.31.5 og SPIRV-Tools-1.4.304.1

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.304.1, 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, glslang-validator (symbolkobling til glslang), og spirv-remap
Installerte Biblioteker: libglslang.so, libglslang-default-resource-limits.so, libSPIRV.so, og libSPVRemapper.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

libSPVRemapper.so

gir en remapper for SPIR-V binærfiler

GLU-9.0.3

Introduksjon til GLU

Denne pakken inneholder Mesa OpenGL Verktøy biblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GLU Avhengigheter

Påkrevd

Mesa-24.3.4

Installasjon av GLU

Installer GLU ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..              \
      --prefix=$XORG_PREFIX \
      -D gl_provider=gl     \
      --buildtype=release   &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå som root bruker:

ninja install &&
rm -vf /usr/lib/libGLU.a

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libGLU.so
Installerte Mapper: Ingen

Korte Beskrivelser

libGLU.so

er Mesa OpenGL Verktøy biblioteket

GOffice-0.10.59

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GOffice Avhengigheter

Påkrevd

GTK-3.24.48, libgsf-1.14.53, librsvg-2.59.2, libxslt-1.1.42, og Which-2.23

Valgfri

GLib-2.82.5 (med GObject Introspection), ghostscript-10.04.0, gsettings-desktop-schemas-47.1, GTK-Doc-1.34.0, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Graphene Avhengigheter

Påkrevd

GLib-2.82.5 (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.34.0 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.48

Introduksjon til GTK3

GTK3 pakken inneholder biblioteker som brukes til å lage grafiske brukergrensesnitt for applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GTK3 Avhengigheter

Påkrevd

at-spi2-core-2.54.1, gdk-pixbuf-2.42.12, libepoxy-1.5.10, og Pango-1.56.1

Anbefalt
Anbefalt (Påkrevd hvis GNOME bygges)
Valgfri

colord-1.4.7, Cups-2.4.11, GTK-Doc-1.34.0, libcloudproviders-0.3.6, PyAtSpi2-2.46.1 (for tester), sassc-3.6.2, tinysparql-3.8.2, 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.

Nå, som root bruker:

ninja install

En test navngitt check-cursor-names er kjent for å mislykkes hvis adwaita-icon-theme-47.0 ikke er installert.

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.34.0.

-D tracker3=true: Denne bryteren aktiverer søke funksjonen basert på TinySPARQL i GTK3 filvelgerdialogen. Det krever tinysparql-3.8.2.

-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.16.12

Introduksjon til GTK 4

GTK 4 pakken inneholder biblioteker som brukes til å lage grafiske brukergrensesnitt for applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gnome.org/sources/gtk/4.16/gtk-4.16.12.tar.xz

  • Nedlasting MD5 sum: 0f2b154a0b05e4ca94a05aaeb7e1f3fb

  • Nedlastingsstørrelse: 18 MB

  • Estimert diskplass som kreves: 1.1 GB (med dokumenter; legg til 157 MB for tester)

  • Estimert byggetid: 1.7 SBU (bruker parallellisme=4; med dokumenter; legg til 1.1 SBU for tester eller 3.7 SBU for NVIDIA)

Ytterligere nedlastinger

GTK 4 Avhengigheter

Påkrevd

FriBidi-1.0.16, gdk-pixbuf-2.42.12, graphene-1.10.8, ISO Codes-4.17.0, libepoxy-1.5.10, libxkbcommon-1.8.0, Pango-1.56.1, PyGObject-3.50.0, og wayland-protocols-1.40

Anbefalt
Anbefalt (Påkrevd hvis GNOME bygges)
Valgfri

Avahi-0.8 (for noen tester), colord-1.4.7, Cups-2.4.11, docutils-0.21.2, Gi-DocGen-2025.3, Highlight-4.15 (kjøretid, bare brukt av gtk4-demo for syntaks utheving av demo kildekoden), libcloudproviders-0.3.6, sassc-3.6.2, tinysparql-3.8.2, cpdb, pydbus (for noen tester), og sysprof

Installasjon av GTK 4

Fiks brudd på PNG fargerommets deserialisering med libpng-1.6.45 eller senere:

patch -Np1 -i ../gtk-4.16.12-libpng_1_6_45-1.patch

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-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s@'doc'@& / 'gtk-4.16.12'@" -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,needs-udmabuf}

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 ukjent årsak. 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.8.2 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.7 installert og ønsker å bruke colord med CUPS utskrifts bakstykket.

-D man-pages=true: Bruk denne bryteren hvis du har docutils-0.21.2 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.304 or glslc from shaderc-2024.4 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,needs-udmabuf}: Deaktiver testene som krever den eksterne avhengigheten pydbus, og testene som krever enhetsnoden /dev/udmabuf. Enhetsnoden eksisterer ikke hvis funksjonen ikke er aktivert i kjernekonfigurasjon.

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-icon-browser, gtk4-launch, gtk4-node-editor, gtk4-print-editor, gtk4-query-settings, 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-icon-browser

er et verktøy for å utforske ikonene i det gjeldende ikontemaet. Den viser ikoner i ulike størrelser, deres symbolske varianter når tilgjengelig, samt en beskrivelse av ikonet og dets kontekst

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-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-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.9

Introduksjon til Gtkmm

Gtkmm pakken gir et C++ grensesnitt til GTK+ 3.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gtkmm Avhengigheter

Påkrevd

Atkmm-2.28.4, GTK-3.24.48, og Pangomm-2.46.4

Valgfri

Doxygen-1.13.2

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.9

Parameterforklaringer

-Dbuild-documentation=true: Hvis du har installert Doxygen-1.13.2 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.9}

Korte Beskrivelser

libgdkmm-3.0.so

inneholder GDK API klasser

libgtkmm-3.0.so

inneholder GTK+ 3 API klasser

Gtkmm-4.16.0

Introduksjon til Gtkmm

Gtkmm pakken gir et C++ grensesnitt til GTK-4.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gtkmm Avhengigheter

Påkrevd

GTK-4.16.12 og Pangomm-2.56.1

Valgfri

Doxygen-1.13.2 og Vulkan-Loader-1.4.304

Installasjon av Gtkmm

Installer Gtkmm ved å kjøre følgende kommandoer:

mkdir gtkmm4-build &&
cd    gtkmm4-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.16.0

Parameterforklaringer

-Dbuild-documentation=true: Hvis du har installert Doxygen-1.13.2 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.16.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gtk VNC Avhengigheter

Påkrevd

GnuTLS-3.8.9, GTK-3.24.48, og libgcrypt-1.11.0

Anbefalt
Valgfri

Cyrus SASL-2.1.28, Gi-DocGen-2025.3 (for å generere dokumentasjon), og PulseAudio-17.0

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=false: 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK-3.24.48

Anbefalt
Valgfri

Vala-0.56.17, Valgrind-3.24.0, GTK-Doc-1.34.0, itstool-2.0.7, fop-2.10 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK-3.24.48

Anbefalt
Valgfri

Vala-0.56.17, Valgrind-3.24.0, GTK-Doc-1.34.0, itstool-2.0.7, fop-2.10 (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.14.2

Introduksjon til GtkSourceView

GtkSourceView pakken inneholder et bibliotek som brukes til å utvide GTK tekstfunksjoner for å inkludere syntaksutheving.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK-4.16.12 og pcre2-10.45

Anbefalt
Valgfri

Gi-DocGen-2025.3, Vala-0.56.17, Valgrind-3.24.0, Vulkan-Loader-1.4.304, 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-2025.3 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.3

Introduksjon til imlib2

imlib2 er et grafikkbibliotek for rask fillasting, lagring, gjengivelse og manipulering.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

imlib2 Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

Doxygen-1.13.2 (for API dokumentasjon), highway-1.2.0, libjpeg-turbo-3.0.1, libjxl-0.11.1, libpng-1.6.46, libtiff-4.7.0, libwebp-1.5.0, libheif, 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.3/html &&
install -v -m644    doc/html/* /usr/share/doc/imlib2-1.12.3/html

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-doc-build: Denne bryteren genererer API dokumentasjonen. Doxygen-1.13.2 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.3, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

kColorPicker Avhengigheter

Påkrevd

CMake-3.31.5 og Qt-6.8.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.1

Introduksjon til kImageAnnotator

kImageAnnotator er et verktøy for å kommentere bilder.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

keybinder-3.0 Avhengigheter

Påkrevd

GTK-3.24.48

Anbefalt
Valgfri

GTK-Doc-1.34.0

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.6.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libadwaita Avhengigheter

Påkrevd

AppStream-1.0.4, GTK-4.16.12, og sassc-3.6.2

Anbefalt
Valgfri

Gi-DocGen-2025.3 og xdg-desktop-portal-1.20.0 (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-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "s/apiversion/'1.6.4'/" -i ../doc/meson.build &&
meson configure -D gtk_doc=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.0 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.3.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libei Avhengigheter

Påkrevd

attrs-25.1.0

Valgfri

libevdev-1.13.3, libxkbcommon-1.8.0, libxml2-2.13.6, 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

libgedit-amtk-5.9.0

Introduksjon til libgedit-amtk

libgedit-amtk pakken inneholder en grunnleggende GTKUIManager erstatning basert på GAction.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgedit-amtk Avhengigheter

Påkrevd

GTK-3.24.48

Valgfri

GTK-Doc-1.34.0 (for dokumentasjon) og Valgrind-3.24.0

Installasjon av libgedit-amtk

Installer libgedit-amtk ved å kjøre følgende kommandoer:

mkdir amtk-build &&
cd    amtk-build &&

meson setup ..              \
      --prefix=/usr         \
      --buildtype=release   \
      -D gtk_doc=false      &&
ninja

For å teste resultatene, utsted: ninja test. En test, test-action-map, 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 gtk_doc=false: Denne bryteren forhindrer at byggesystemet genererer og installerer API dokumentasjonen. Utelat denne bryteren hvis du har GTK-Doc-1.34.0 installert og ønsker å generere og installere API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgedit-amtk-5.so
Installerte Mapper: /usr/include/libgedit-amtk-5 og /usr/share/gtk-doc/html/libgedit-amtk-5.0

Korte Beskrivelser

libgedit-amtk-5.so

gir en grunnleggende GTKUIManager erstatnings API basert på GAction

libgedit-gtksourceview-299.4.0

Introduksjon til libgedit-gtksourceview

libgedit-gtksourceview pakken gir et bibliotek som utvider GtkTextView. Dette biblioteket legger til støtte for syntaksutheving, angre/gjør om, fillasting og lagring, søk og erstatt, et kompletteringssystem, utskrift, visning av linjenummer og andre funksjoner som er typiske for en kildekoderedigerer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgedit-gtksourceview Avhengigheter

Påkrevd

GTK-3.24.48 og libxml2-2.13.6

Valgfri

GTK-Doc-1.34.0

Installasjon av libgedit-gtksourceview

Installer libgedit-gtksourceview ved å kjøre følgende kommandoer:

mkdir build-libgedit &&
cd    build-libgedit &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D gtk_doc=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 gtk_doc=false: Deaktiverer bygging av API dokumentasjon. Fjern hvis du har GTK-Doc-1.34.0 installert og ønsker å bygge API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgedit-gtksourceview-300.so
Installerte Mapper: /usr/include/libgedit-gtksourceview-300 og /usr/share/libgedit-gtksourceview-300

Korte Beskrivelser

libgedit-gtksourceview-300.so

inneholder bekvemmelighetsfunksjoner for tekstredigering.

libhandy-1.8.3

Introduksjon til libhandy

libhandy pakken gir ekstra GTK UI skjermelementer for bruk i utvikling av brukergrensesnitt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libhandy Avhengigheter

Påkrevd

GTK-3.24.48

Anbefalt
Valgfri

GTK-Doc-1.34.0 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.34.0 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.124

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libdrm Avhengigheter

Anbefalt
Valgfri

Cairo-1.18.2 (for tester), CMake-3.31.5 (kan brukes til å finne avhengigheter uten pkgconfig filer), docbook-xml-4.5, docbook-xsl-nons-1.79.2, docutils-0.21.2, og libxslt-1.1.42 (for å bygge manual sider), libatomic_ops-7.8.2 (kreves av arkitekturer uten opprinnelige atomoperasjoner), Valgrind-3.24.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libepoxy Avhengigheter

Påkrevd

Mesa-24.3.4

Valgfri

Doxygen-1.13.2 (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.13.2 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.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libnotify Avhengigheter

Påkrevd

GTK-3.24.48

Anbefalt (Nødvendig hvis det skal bygges GNOME)

GLib-2.82.5 (med GObject Introspection)

Valgfri

Gi-DocGen-2025.3 og xmlto-0.0.29

Påkrevd (kjøretid)

notification-daemon-3.20.0, xfce4-notifyd-0.9.7, eller lxqt-notificationd-2.1.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

Denne pakken kommer ikke med en testpakke.

Hvis du har Gi-DocGen-2025.3 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.4
  mv -v  /usr/share/doc/libnotify{,-0.8.4}
fi

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libxklavier Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt), ISO Codes-4.17.0, libxml2-2.13.6 og Xorg Biblioteker

Valgfri

GTK-Doc-1.34.0 og Vala-0.56.17

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.56.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Pango Avhengigheter

Påkrevd

Fontconfig-2.16.0 (må bygges med FreeType-2.13.3 ved bruk av harfBuzz-10.4.0), FriBidi-1.0.16, og GLib-2.82.5 (GObject Introspection påkrevd for GNOME)

Anbefalt
Valgfri

Gi-DocGen-2025.3 (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 Gi-DocGen-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "/docs_dir =/s@\$@ / 'pango-1.56.1'@" -i ../docs/meson.build &&
meson configure -D documentation=true                            &&
ninja

For å teste resultatene, kjør: ninja test. En test kalt testboundaries_ucd er kjent for å mislykkes fordi den forventer Unicode 16.0-støtte fra Glib 2.83 eller nyere.

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.56.1 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Pangomm Avhengigheter

Påkrevd

libcairomm-1.14.5, GLibmm-2.66.7 og Pango-1.56.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Pangomm Avhengigheter

Påkrevd

libcairomm-1.18.0, GLibmm-2.82.0 og Pango-1.56.1

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.8.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Qt6 Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

BlueZ-5.79 (for sdpscanner, og ved kjøretid for QtConnectivity moduler), GTK-3.24.48, ibus-1.5.31, LLVM-19.1.7 (med Clang), MariaDB-11.4.5 eller MySQL, MIT Kerberos V5-1.21.3, pciutils-3.13.0, PostgreSQL-17.4, PulseAudio-17.0, SDL2-2.30.11, unixODBC-2.3.12, assimp, Flite, Firebird, FreeTDS, libproxy, OpenAL, speech-dispatcher, og tslib

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.8.2. For å lage en versjonert Qt6 mappe, du kan gi nytt navn til mappen og lage en symbolkobling:

mkdir -pv /opt/qt-6.8.2
ln -sfnv qt-6.8.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 qca-2.3.9 eller qcoro-0.11.0 har blitt installert og du installerer eller oppdaterer denne pakken på nytt, må disse pakkene installeres på nytt.

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:

if [ "$(uname -m)" == "i686" ]; then
    sed -e "/^#elif defined(Q_CC_GNU_ONLY)/s/.*/& \&\& 0/" \
        -i qtbase/src/corelib/global/qtypes.h
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               \
            -journald               \
            -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.

-journald: Denne bryteren lar deg sende Qt meldinger til journald loggingssystem.

-skip qtwebengine: Denne bryteren deaktiverer bygging av QtWebEngine. BLFS redaksjonen har valgt å bygge qtwebengine-6.8.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.

Konfigurere Qt6

Konfigurasjonsinformasjon

Hvis Sudo-1.9.16p2 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, linguist, 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, libQt6Bodymovin.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, libQt6Gui.so, libQt6Help.so, libQt6HttpServer.so, libQt6InputSupport.a, libQt6JsonRpc.so, libQt6KmsSupport.a, libQt6LabsAnimation.so, libQt6LabsFolderListModel.so, libQt6LabsPlatform.so, libQt6LabsQmlModels.so, libQt6LabsSettings.so, libQt6LabsSharedImage.so, libQt6LabsWavefrontMesh.so, libQt6LanguageServer.a, libQt6Location.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, 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, libQt6QuickTemplates2.so, libQt6QuickTimelineBlendTrees.so, libQt6QuickTest.so, libQt6QuickTestUtils.a, libQt6QuickTimeline.so, libQt6QuickVectorImageGenerator.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, 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.8.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

linguist

gir støtte for å oversette applikasjoner til lokale språk

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.8.2

Introduksjon til QtWebEngine

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.11, html5lib-1.1, nodejs-22.14.0, nss-3.108, pciutils-3.13.0, og Qt-6.8.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.21.3, pipewire-1.2.7, Poppler-25.02.0, jsoncpp, libsrtp, og snappy

Installasjon av qtwebengine

Først fikser du en byggefeil som oppstår fordi BLFS bygget til ffmpeg ikke bruker OpenH264:

sed -e '189 s/=/& false/' \
    -e '190 d'            \
    -i.orig src/3rdparty/chromium/third_party/webrtc/webrtc.gni

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           \
      -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 (som skjer i noen enhetsfiler, for økt sikkerhet) 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.304

Introduksjon til Vulkan-Headers

Vulkan-Headers pakken inneholder et sett med deklarasjonsfiler som er nødvendige for å bygge og koble applikasjoner mot Vulkan API.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Vulkan-Headers Avhengigheter

Påkrevd

CMake-3.31.5

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.304

Introduksjon til Vulkan-Loader

Vulkan-Loader pakken inneholder et bibliotek som gir Vulkan API og gir kjernestøtte for grafikkdrivere for Vulkan.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Vulkan-loader Avhengigheter

Påkrevd

CMake-3.31.5, Vulkan-Headers-1.4.304, og Xorg Biblioteker

Anbefalt
Anbefalt (Kjøretid)

Mesa-24.3.4 (for Vulkan drivere)

Valgfri (for testing)

git-2.48.1

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 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-24.3.4 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.48.1 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.23.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.46.6

Introduksjon til WebKitGTK

WebKitGTK pakken er en overføring av flyttbar nettgjengivelsesmotor WebKit til GTK+ 3 og GTK 4 plattformer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://webkitgtk.org/releases/webkitgtk-2.46.6.tar.xz

  • Nedlasting MD5 sum: 10b5b88ffe8611202c45cfdc10a2bd72

  • Nedlastingsstørrelse: 41 MB

  • Estimert diskplass som kreves: 1.4 GB (163 MB installert, legg til 157 MB for GTK-4)

  • Estimert byggetid: 32 SBU (for GTK-3, bruk parallellisme=8, legg til 32 SBU for GTK-4)

WebKitGTK Avhengigheter

Påkrevd

Cairo-1.18.2, CMake-3.31.5, gst-plugins-base-1.24.12, gst-plugins-bad-1.24.12, GTK-3.24.48, GTK-4.16.12, ICU-76.1, Little CMS-2.17, libgudev-238, libsecret-0.21.6, libsoup-3.6.4, libtasn1-4.20.0, libwebp-1.5.0, Mesa-24.3.4, OpenJPEG-2.5.3, Ruby-3.4.2, SQLite-3.49.1, unifdef-2.12, og Which-2.23

Anbefalt
Valgfri

Gi-DocGen-2025.3, harfBuzz-10.4.0, Wayland-1.23.0, WOFF2-1.0.2, ccache, Hyphen, libbacktrace, libmanette, og sysprof

Installasjon av WebKitGTK

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-47.3.1. Andre pakker, som f.eks Balsa-2.6.4 eller Evolution-3.54.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

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_BUBBLEWRAP_SANDBOX=ON  \
      -D USE_SYSPROF_CAPTURE=NO        \
      -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 GTK4 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_BUBBLEWRAP_SANDBOX=ON     \
      -D USE_SYSPROF_CAPTURE=NO           \
      -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-2025.3 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-2025.3 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 USE_SYSPROF_CAPTURE=NO: Denne bryteren deaktiverer en hard avhengighet av sysprof.

-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.7.2.

-D USE_AVIF=OFF: Bruk denne bryteren hvis du ikke vil installere libavif-1.2.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.1 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.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xdg-desktop-portal Avhengigheter

Påkrevd

Fuse-3.16.2, gdk-pixbuf-2.42.12, JSON-GLib-1.10.6, pipewire-1.2.7, og dbus-1.16.0 (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.2 eller xdg-desktop-portal-gnome-47.3 eller xdg-desktop-portal-lxqt-1.1.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.7.2 (for «lokasjons» portal), og pytest-8.3.4 med libportal-0.9.1, dbusmock-0.34.3, og umockdev-0.19.1 (for å kjøre tester)

Valgfri (for å bygge dokumentasjonen)

sphinx-8.2.1 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

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.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xdg-desktop-portal-gtk Avhengigheter

Påkrevd

GTK-3.24.48 og xdg-desktop-portal-1.20.0

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

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-47.0

Introduksjon til GDM

GDM er en systemtjeneste som er ansvarlig for å gi grafiske pålogginger og administrere lokale og eksterne skjermer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GDM Avhengigheter

Påkrevd

AccountsService-23.13.9, DConf-0.40.0, libcanberra-0.30 (bygget etter GTK-3.24.48), og Linux-PAM-1.7.0

Valgfri

keyutils-1.6.3

Kjøretids Avhengigheter

gnome-session-47.0.1, gnome-shell-47.4, og Systemd-257.3

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:

mkdir build &&
cd    build &&

meson setup ..             \
      --prefix=/usr        \
      --buildtype=release  \
      -D gdm-xsession=true \
      -D run-dir=/run/gdm  &&
ninja

Denne pakken kommer ikke med en brukbar 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 initial-vt=7: Bruk denne bryteren for at GDM skal starte på VT7 i stedet for den første ledige VT.

-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 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, applikasjon krasjer, strømstyringsproblemer og grafiske nedganger. Hvis du har en NVIDIA GPU og vil fortsatt prøve å kjøre Wayland økter uansett, utfør følgende kommando som root bruker:

ln -s /dev/null /etc/udev/rules.d/61-gdm.rules

Systemd Enhet

For å starte gdm nissen ved oppstart, muliggjøre den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable gdm

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 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

lightdm-1.32.0

Introduksjon til Lightdm

lightdm pakken inneholder en lettvekt skjermbehandler basert på GTK.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.11.0, itstool-2.0.7, Linux-PAM-1.7.0, og Xorg-Server-21.1.16 (Kjøretid)

Anbefalt
Valgfri

AccountsService-23.13.9 (kjøretid), at-spi2-core-2.54.1, GTK-Doc-1.34.0, 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

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.

Systemd Enhet

Installer lightdm.service enheten inkludert i blfs-systemd-units-20241211 pakken:

make install-lightdm

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

SDDM Avhengigheter

Påkrevd

CMake-3.31.5, extra-cmake-modules-6.11.0, og Qt-6.8.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 RUNTIME_DIR=/run/sddm     \
      -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 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

Aktiver den forhåndsinstallerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable 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

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..

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Package Information

Fluxbox Avhengigheter

Påkrevd

et grafiske miljø

Valgfri

dbus-1.16.0 (kjøretid), FriBidi-1.0.16, og imlib2-1.12.3 (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-47.0 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-47.0 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.3 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-3.7.1

Introduksjon til IceWM

IceWM er en vindusbehandler med mål om hastighet, enkelhet og ikke å komme i brukeren' sin vei.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

IceWM Avhengigheter

Påkrevd

CMake-3.31.5, imlib2-1.12.3, 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.59.2, libao-1.2.0, libsndfile-1.2.2, alsa-lib-1.2.13 (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-3.7.1  \
      .. &&
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-3.7.1, /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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere nedlastinger

Openbox Avhengigheter

Påkrevd

et grafiske miljø og Pango-1.56.1 (kompilert med støtte for libXft)

Valgfri

dbus-1.16.0 (kjøretid), imlib2-1.12.3 (for å aktivere ikoner i høyreklikkmenyen), ImageMagick-7.1.1-43 (for å vise skrivebordsbakgrunner som vist i Konfigurasjonsinformasjonsdelen nedenfor), PyXDG-0.28, startup-notification-0.12, og librsvg-2.59.2

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.3 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.0:

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-47.0

Introduksjon til Adwaita Ikontema

Adwaita Ikontema pakken inneholder et ikontema for GTK+ 3 og GTK 4 applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Adwaita Ikontema Avhengigheter

Påkrevd

GTK-3.24.48 eller GTK-4.16.12, og librsvg-2.59.2

Valgfri

git-2.48.1, Inkscape-1.4, og Ikonverktøy

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.11.0

Introduksjon til Breeze Ikoner

Breeze Ikoner pakken inneholder standardikoner for KDE Plasma applikasjoner, men den kan brukes til andre vindusmiljøer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Breeze Ikoner Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0 og Qt-6.8.2

Valgfri

KDE Frameworks-6.11.0, libxml2-2.13.6, og lxml-5.3.1

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 ..

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.11.0.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: Ingen
Installert Mappe: /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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Ikon Tema Avhengigheter

Påkrevd

GTK-3.24.48, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Ekstra Temaikon Avhengigheter

Påkrevd

gnome-icon-theme-3.12.0

Valgfri

git-2.48.1 og Inkscape-1.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Symbolsk Temaikon Avhengigheter

Påkrevd

gnome-icon-theme-3.12.0

Valgfri

git-2.48.1 og Inkscape-1.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Ekstra Temaer Avhengigheter

Påkrevd

GTK-3.24.48 med librsvg-2.59.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

LXDE Ikontema Avhengigheter

Valgfri

GTK-3.24.48 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

oxygen-icons Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0 og Qt-6.8.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.11.0

Introduksjon til Ekstra Cmake Moduler

Ekstra Cmake Moduler pakken inneholder ekstra CMake moduler brukt av KDE Frameworks og andre pakker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ekstra Cmake Moduler Avhengigheter

Påkrevd

CMake-3.31.5

Anbefalt
Valgfri

sphinx-8.2.1 (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 .. &&
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.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Phonon Avhengigheter

Påkrevd

CMake-3.31.5, extra-cmake-modules-6.11.0, GLib-2.82.5, og Qt-6.8.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Phonon-backend-vlc Avhengigheter

Påkrevd

phonon-4.12.0 og VLC-3.0.21 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Polkit-Qt Avhengigheter

Påkrevd

CMake-3.31.5, Polkit-126, og Qt-6.8.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.16.0

Introduksjon til Plasma-wayland-protocols

Denne pakken gir et tilpasset sett med protokolldefinisjoner for KDE.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Plasma-wayland-protocols Avhengigheter

Påkrevd

extra-cmake-modules-6.11.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.16p2 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.13/site-packages PYTHONPATH

pathappend $KF6_PREFIX/include          CPLUS_INCLUDE_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 KDE Plasma pakker installeres filer i D-Bus, Polkit, og systemd mappene. Når installering av KDE 6 på et annet sted enn /usr, D-Bus, Polkit, og systemd 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       &&
install -v -dm755           $KF6_PREFIX/lib         &&
ln -sfv /usr/lib/systemd    $KF6_PREFIX/lib

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.11.0. Etter installasjon av KDE Rammeverk, du kan gi nytt navn til mappen og lage en symbolkobling:

mv /opt/kf6{,-6.11.0}
ln -sfv kf6-6.11.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.11.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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.11

  • Nedlasting MD5 sum: Se Under

  • Nedlastingsstørrelse: 658 MB

  • Estimert diskplass som kreves: 2.8 GB (184 MB installert)

  • Estimert byggetid: 15 SBU (bruker parallellisme=8)

KF6 Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0, breeze-icons-6.11.0, docbook-xml-4.5, docbook-xsl-nons-1.79.2, libcanberra-0.30, libgcrypt-1.11.0, libical-3.0.19, libxslt-1.1.42, lmdb-0.9.31, qca-2.3.9, qrencode-4.1.1, plasma-wayland-protocols-1.16.0, PyYAML-6.0.2, shared-mime-info-2.4, URI-5.31, og Wget-1.25.0 (kreves for å laste ned pakkene)

Anbefalt
Valgfri

BlueZ-5.79 (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.2.0, libjxl-0.11.1, libraw-0.21.3, libheif, OpenEXR

Valgfrie avhengigheter for Solid

UDisks-2.10.1, UPower-1.90.7 og media-player-info (kjøretid)

Valgfri avhengighet for KWallet

GPGME-1.24.2, bygget med C++ bindinger (som er standard).

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.11/
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.11.0.md5 << "EOF"
1284908164349599c949e753de5a6d6d  attica-6.9.0.tar.xz
#00a4cc351b7afd3b3b07c0126169e2e1  extra-cmake-modules-6.9.0.tar.xz
b0ebbba9a9dadd0e650c9ce23e1c432f  kapidox-6.9.0.tar.xz
275bf8f81ca2f262be42f7961b268661  karchive-6.9.0.tar.xz
3585bec3e70c52cccef7933bd7049181  kcodecs-6.9.0.tar.xz
76532887baaa2e71f2664dcf1aa93a1f  kconfig-6.9.0.tar.xz
602d06cf7d08288508030b21f3ad4d16  kcoreaddons-6.9.0.tar.xz
f191c8a34877abd844a8339cabdfdd85  kdbusaddons-6.9.0.tar.xz
8e09d864edea99280fbcaecab3f677ac  kdnssd-6.9.0.tar.xz
61b916ad258f3300b7ac22b74722a465  kguiaddons-6.9.0.tar.xz
3f25a1194975d2a230897baf0c8bc1a9  ki18n-6.9.0.tar.xz
66b947e46d49cd20afdf06f915944b24  kidletime-6.9.0.tar.xz
25b6d8ae40363e34678ea462b00e81cf  kimageformats-6.9.0.tar.xz
c820dda0e6e5ed0e7c844dba49f8490e  kitemmodels-6.9.0.tar.xz
cc27422fa66aee13edaf24950d2512be  kitemviews-6.9.0.tar.xz
12f538cae926f90c2a48be1a084fc232  kplotting-6.9.0.tar.xz
36129d8a2593c107eeb5345b0a5c23df  kwidgetsaddons-6.9.0.tar.xz
a801e9e90e55f8f711b8ec60c5e11927  kwindowsystem-6.9.0.tar.xz
a711e22e0ec601665df090198c9070b9  networkmanager-qt-6.9.0.tar.xz
#34907a72aabb12938a8c8a800c76386f  solid-6.9.0.tar.xz
a7bb41720c68c99d5cbdbc897f92adcb  solid-6.9.1.tar.xz
7c4bfa13beb9d5da152d4e3873912c06  sonnet-6.9.0.tar.xz
36f9482fcb0a8fd9472f1477e86dd22e  threadweaver-6.9.0.tar.xz
947db8522af3194b79a0e0990f4c3fb2  kauth-6.9.0.tar.xz
1d9d4ab3913d01c0530a943d46ffd3ca  kcompletion-6.9.0.tar.xz
c553ffe92701e1ac633bc0f1a4ed72b6  kcrash-6.9.0.tar.xz
9355d1d08b080a8639578ddf1d4ecd50  kdoctools-6.9.0.tar.xz
3f4f5bb5d9c5c8dcd720db6de1374919  kpty-6.9.0.tar.xz
d6412fb879b9922977a1a1bea435025c  kunitconversion-6.9.0.tar.xz
a1f718b0fd5faf41cc5617402a906dfa  kcolorscheme-6.9.0.tar.xz
3a413d4e1cd22e3a80e0f653cba7def1  kconfigwidgets-6.9.0.tar.xz
2500cedd04d6e592f5d4e0cb57b8e49c  kservice-6.9.0.tar.xz
acf36c1fe26bc2e0b6b26d286ba140dd  kglobalaccel-6.9.0.tar.xz
4dad1e73f5252d22087e3de83da0e470  kpackage-6.9.0.tar.xz
8b0788cbd802e949c80033ddb5f8b364  kdesu-6.9.0.tar.xz
718e07ca8214a229de38eb27e4560a4e  kiconthemes-6.9.0.tar.xz
bfd86fa2b0bfc16b7429022ac2f8686a  knotifications-6.9.0.tar.xz
f11e2091224fbcd2d2ca95c62dabeda5  kjobwidgets-6.9.0.tar.xz
26d6e3d1f1e8a03b3aa4a8ca81d86138  ktextwidgets-6.9.0.tar.xz
9dc1eba92e27e79a32e755496bf0fdf5  kxmlgui-6.9.0.tar.xz
1827b538317bafda4ac7caf73ad00634  kbookmarks-6.9.0.tar.xz
0963b1826e513942ecd02a2093ba160b  kwallet-6.9.0.tar.xz
4fe3615ad2486f242a89a622aba38b1e  kded-6.9.0.tar.xz
491ca7098ab93c572ab83684cd60765b  kio-6.9.0.tar.xz
99771d46badb6e049402464d6123877e  kdeclarative-6.9.0.tar.xz
73a0058e48764b5480e8ec237433d5a3  kcmutils-6.9.0.tar.xz
bc47bffe9cc73e737cc8fe69413c5d1e  kirigami-6.9.0.tar.xz
dd820209e12b6175191ba8509c74332f  syndication-6.9.0.tar.xz
f7457a27689e058b3b622a49cdafea69  knewstuff-6.9.0.tar.xz
7ff3a5b883167f46fba596bea8d2ed16  frameworkintegration-6.9.0.tar.xz
83a2e4abbb432d910f0e646fd6dda70b  kparts-6.9.0.tar.xz
1c57f4041924bfb0a007ea50ed0389bd  syntax-highlighting-6.9.0.tar.xz
f74d680ebf93be5bc49acc26ddd2b15c  ktexteditor-6.9.0.tar.xz
61c04052ceb54d90581d0b4d99579034  modemmanager-qt-6.9.0.tar.xz
0991036bd6744b6ae2182c523dfe20b6  kcontacts-6.9.0.tar.xz
08bcba782e7881bba2e3edce4104e82d  kpeople-6.9.0.tar.xz
309074d9163a67888c6768d502283ca2  bluez-qt-6.9.0.tar.xz
4ed593f44f5d88511fcaf09cbd79002a  kfilemetadata-6.9.0.tar.xz
4dced99e9936d878a8b7d7e991148ed1  baloo-6.9.0.tar.xz
#bb8695140746485f0356724c20e567d6  breeze-icons-6.9.0.tar.xz
e0b22d5ad601c21da658182ed94d0252  krunner-6.9.0.tar.xz
96ebc74cc951d17dc765dc82324d9c53  prison-6.9.0.tar.xz
4e69194596a3b482b46b828f833e0b1a  qqc2-desktop-style-6.9.0.tar.xz
a79b2468003674484c32be9bbc17fe66  kholidays-6.9.0.tar.xz
e6e75c72051127278b515f1551dcb7f2  purpose-6.9.0.tar.xz
3cab6f7e09660ec088dfa3dca8f0126f  kcalendarcore-6.9.0.tar.xz
a278856e690e6dcde1e322e8bacc7fa0  kquickcharts-6.9.0.tar.xz
c49c2433b6dec144f659d201436adedc  knotifyconfig-6.9.0.tar.xz
db4d737f094f12533132100a426f89fb  kdav-6.9.0.tar.xz
a73a6ce52be97b76303eac82b8a03dd4  kstatusnotifieritem-6.9.0.tar.xz
56ccf59e0c517b007dfab58473f037e6  ksvg-6.9.0.tar.xz
e11d0d565c8f1ea35aaf87b0c0a93538  ktexttemplate-6.9.0.tar.xz
0c735c3a4b07b38d5aef8d79b8727b68  kuserfeedback-6.9.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.11.0.

  • Det er en pakke lastet ned som er erstattet av en senere versjon: solid-6.9.1. Denne utgivelsen fikser et krasj som kan oppstå ved innsetting eller fjerning av en USB-stasjon eller annen flyttbar enhet.

Installasjon av KDE Rammeverk

Notat

Når du installerer flere pakker i et skript, installasjonen må 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.16p2 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       &&
install -v -dm755           $KF6_PREFIX/lib         &&
ln -sfv /usr/lib/systemd    $KF6_PREFIX/lib

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                \
            -W no-dev ..
      make
      as_root make install
    popd

  as_root rm -rf $packagedir
  as_root /sbin/ldconfig

done < frameworks-6.11.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.

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.11.0
ln -sfvn kf6-6.11.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.

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.11.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-24.12.2

Introduksjon til Ark

Ark pakken er et KF6 arkivverktøy. Det er et grafisk grensesnitt til tar og lignende verktøy.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ark Avhengigheter

Påkrevd

KDE Frameworks-6.11.0 og libarchive-3.7.7

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-24.12.2

Introduksjon til dolphin

dolphin pakken er en KF6 filbehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

dolphin Avhengigheter

Påkrevd

KDE Frameworks-6.11.0 og phonon-4.12.0

Valgfri

baloo-widgets (for metadatafunksjonene til Dolphin) og packagekit-qt

Valgfri (Kjøretid)

kio-extras-24.12.2 (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-24.12.2

Introduksjon til dolphin-plugins

dolphin-plugins pakken gir ekstra programtillegg for filbehandleren dolphin.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

dolphin-plugins Avhengigheter

Påkrevd

dolphin-24.12.2

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-24.12.2

Introduksjon til Kdenlive

Kdenlive pakken er en KF6 basert video redigerer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Kdenlive Avhengigheter

Påkrevd

KDE Frameworks-6.11.0, mlt-7.30.0, og v4l-utils-1.28.1 (kjøretid)

Anbefalt

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

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-24.12.2

Introduksjon til KMix

KMix Pakken inneholder en KF6 basert lydmikser applikasjon.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

KMix Avhengigheter

Påkrevd

KDE Frameworks-6.11.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-24.12.2

Introduksjon til Khelpcenter

Khelpcenter er en applikasjon for å vise dokumentasjonen til KDE applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Khelpcenter Avhengigheter

Påkrevd

KDE Frameworks-6.11.0, libxml2-2.13.6, og xapian-1.4.27

Anbefalt
Valgfri (Kjøretid)

kio-extras-24.12.2 (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-24.12.2

Introduksjon til Konsole

Konsole pakken er en KF6 basert terminal emulator.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Konsole Avhengigheter

Påkrevd

KDE Frameworks-6.11.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-24.12.2-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-24.12.2

Introduksjon til konversation

konversation pakken er en KF6 basert IRC klient.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

konversation Avhengigheter

Påkrevd

KDE Frameworks-6.11.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-24.12.2

Introduksjon til libkexiv2

Libkexiv2 er en KDE innpakning rundt Exiv2 biblioteket for å manipulere bildemetadata.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libkexiv2 Avhengigheter

Påkrevd

KDE Frameworks-6.11.0 og Exiv2-0.28.5

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.3.2

Introduksjon til plasma-activities-6.3.2

plasma-activities-6.3.2 applikasjon gir kjernekomponenter for KDE aktiviteter. Den bygges normalt med Plasma-6.3.2 men er inkludert her fordi det trengs for okular-24.12.2 og kio-extras-24.12.2 hvis Plasma-6.3.2 ikke er bygget ennå.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

plasma-activities Avhengigheter

Påkrevd

Boost-1.87.0 og KDE Frameworks-6.11.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.3.2

Introduksjon til plasma-activities-stats-6.3.2

plasma-activities-stats-6.3.2 biblioteket gir tilgang til bruksdataene som samles inn av systemets KDE aktiviteter. Den bygges normalt med Plasma-6.3.2 men er inkludert her fordi det trengs for kio-extras-24.12.2.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

plasma-activities Avhengigheter

Påkrevd

plasma-activities-6.3.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-24.12.2

Introduksjon til kio-extras

kio-extras pakken inneholder ekstra komponenter for å øke funksjonaliteten til KDE ressurser og nettverkstilgang abstraksjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

kio-extras Avhengigheter

Påkrevd

KDE Frameworks-6.11.0, kdsoap-ws-discovery-client-0.4.0, plasma-activities-stats-6.3.2, og qcoro-0.11.0

Anbefalt
Valgfri

libtirpc-1.3.6, Samba-4.21.4, taglib-2.0.2, 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-24.12.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Okular Avhengigheter

Påkrevd

KDE Frameworks-6.11.0 og plasma-activities-6.3.2

Anbefalt
Valgfri

qca-2.3.9, 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-24.12.2

Introduksjon til libkdcraw

Libkdcraw er en KDE innpakning rundt libraw-0.21.3 bibliotek for å manipulere bildemetadata.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libkdcraw Avhengigheter

Påkrevd

KDE Frameworks-6.11.0 og libraw-0.21.3

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-24.12.2

Introduksjon til Gwenview

Gwenview er en rask og enkel å bruke bildeviser for KDE.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gwenview Avhengigheter

Påkrevd

Exiv2-0.28.5, kimageannotator-0.7.1, KDE Frameworks-6.11.0, og Little CMS-2.17

Anbefalt
Valgfri

plasma-activities-6.3.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-24.12.2

Introduksjon til libkcddb

libkcddb pakken inneholder et bibliotek som brukes til å hente lyd-CD metadata fra internett.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libkcddb Avhengigheter

Påkrevd

KDE Frameworks-6.11.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-24.12.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

K3b Avhengigheter

Påkrevd

KDE Frameworks-6.11.0, libkcddb-24.12.2, libsamplerate-0.2.2, og shared-mime-info-2.4

CD/DVD stasjonen oppdages ved kjøretid ved hjelp av UDisks-2.10.1, som derfor må installeres før kjøring av k3b.

Anbefalt
Valgfri Kjøretid

FFmpeg-7.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/24.12.2/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.4.0

Introduksjon til kirigami-addons

Denne pakken inneholder qml tilleggsfiler for Kirigami rammeverket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

kirigami-addons Avhengigheter

Påkrevd

KDE Frameworks-6.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Konsole Avhengigheter

Påkrevd

KDE Frameworks-6.11.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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Instruksjonene nedenfor bygger alle Plasma pakkene i et trinn ved å bruke et bashskript.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.kde.org/stable/plasma/6.3.2

  • Nedlasting MD5 sum: Se Under

  • Nedlastingsstørrelse: 242 MB

  • Estimert diskplass som kreves: 2.2 GB (495 MB installert)

  • Estimert byggetid: 15 SBU (bruke parallellisme=8)

Plasma Avhengigheter

Påkrevd

Boost-1.87.0, FFmpeg-7.1, GTK-3.24.48, KDE Frameworks-6.11.0, kirigami-addons-1.4.0, libdisplay-info-0.2.0, libpwquality-1.4.5, libqalculate-5.5.1, libnl-3.11.0, libxcvt-0.1.3, libxkbcommon-1.8.0, Mesa-24.3.4 bygget med Wayland-1.23.0, opencv-4.11.0, phonon-4.12.0, pipewire-1.2.7, pulseaudio-qt-1.7.0, qca-2.3.9, qcoro-0.11.0, sassc-3.6.2, taglib-2.0.2, xdotool-3.20211022.1, og Xorg Evdev Driver-2.11.0

Anbefalt
Anbefalt (kjøretid)
Valgfri

AppStream-1.0.4 (bygget med -qt=true), GLU-9.0.3, ibus-1.5.31, qtwebengine-6.8.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.3.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.3.2.md5 << "EOF"
f457b6a25bb62ce4484f4fe6937e04b2  kdecoration-6.3.1.tar.xz
e36b1fe40265264b69e38d6da747e3fe  libkscreen-6.3.1.tar.xz
b6e7d97a2b8c09d5488f07eac0d56321  libksysguard-6.3.1.tar.xz
f61c91832bf663ac744bb3fa5b65770b  breeze-6.3.1.tar.xz
e9cf405630dfcaf7381c1eb6d680284a  breeze-gtk-6.3.1.tar.xz
7ac4451498b1512122e9c46f4aa2bcce  layer-shell-qt-6.3.1.tar.xz
90d3672a3dc690677bcc3fcda066a337  plasma-activities-6.3.1.tar.xz
7605cfffb92952473bb733adc91e7667  libplasma-6.3.1.tar.xz
38e975671178b73c3c3ed83cd0219bee  kscreenlocker-6.3.1.tar.xz
e742da872e4990e461fe44feb0de082f  kinfocenter-6.3.1.tar.xz
f9bbe103def746835e5735c878d6c585  kglobalacceld-6.3.1.tar.xz
920b07854eea746b98b6e9e3fe9f77fa  kwayland-6.3.1.tar.xz
f96a6108403d9aa4d53c340af4ac5351  kwin-6.3.1.tar.xz
603a146778ad1740fd4f501455a841da  plasma5support-6.3.1.tar.xz
c003c98ec0e7dc9be7eb755e83c2f810  plasma-activities-stats-6.3.1.tar.xz
da8576da2b91234d5e9dbabe91dcf13d  kpipewire-6.3.1.tar.xz
4be76b0953ba81434a40a87cd7a597e3  plasma-workspace-6.3.1.tar.xz
9cc99c1338c9e15c673a9a2d62332530  plasma-disks-6.3.1.tar.xz
4c200248ae382bceca14c759f0d8fed4  bluedevil-6.3.1.tar.xz
4d641ad97613c7b40655b0f1a95620d1  kde-gtk-config-6.3.1.tar.xz
b889f80a338d9f15ac2057e1152155f5  kmenuedit-6.3.1.tar.xz
3202752435aa046b3d4300e808af52a1  kscreen-6.3.1.tar.xz
2e781230ee8421db7737d46800eb7d6c  kwallet-pam-6.3.1.tar.xz
ba99fb62f638e9452ee68b0627f46d0b  kwrited-6.3.1.tar.xz
fe88abc8fab6435f8d1862b11d6f26df  milou-6.3.1.tar.xz
156dd0d85243bea20624bcd02362517b  plasma-nm-6.3.1.tar.xz
fefca5d29050cd17aa817786c3fbda45  plasma-pa-6.3.1.tar.xz
1908c07514fef650cba0d6cff55b35c5  plasma-workspace-wallpapers-6.3.1.tar.xz
d6aea3ae9c494a46c02ca531e67d42f9  polkit-kde-agent-1-6.3.1.tar.xz
5f8b1988ffb0020888a3c26bc8ca63d2  powerdevil-6.3.1.tar.xz
#c6386020a228097ee78258a8d5fe5dab  plasma-desktop-6.3.1.tar.xz
9ac590433fea8df9a2c217595cd0cb79  plasma-desktop-6.3.1.1.tar.xz
3fd579e8b0c684a78fe0d3098d422865  kgamma-6.3.1.tar.xz
fda1a5f28d5ce691b09cbb790e7e2560  ksshaskpass-6.3.1.tar.xz
#25ac25faec816415682fba5d948a7320  plasma-sdk-6.3.1.tar.xz
1f376a296da2b784476eb5f8446cef40  sddm-kcm-6.3.1.tar.xz
#754ef5141d6fb170ae8418904db3d03a  discover-6.3.1.tar.xz
#d34eac4bf3480b7f39159f685a849dd5  breeze-grub-6.3.1.tar.xz
#7288423bb744c96df7a129551425ad89  breeze-plymouth-6.3.1.tar.xz
8c6a986211453246fc12c0a98c12caa4  kactivitymanagerd-6.3.1.tar.xz
f7521fd31ab491d208674d0156cc1557  plasma-integration-6.3.1.tar.xz
#f7552b59e8237e5b44ea589a8f54f5cc  plymouth-kcm-6.3.1.tar.xz
1aa7a0c424cb8406932ad0d497f2ffae  xdg-desktop-portal-kde-6.3.1.tar.xz
70506bb6259199e15b4b1476c5e79ba2  drkonqi-6.3.1.tar.xz
ae413ca5e76166653567cc6920a96629  plasma-vault-6.3.1.tar.xz
#a4b75ebf127844148e3ffab2411da591  plasma-browser-integration-6.3.1.tar.xz
71e83b1ed122a78f76f89417bf345697  kde-cli-tools-6.3.1.tar.xz
7a4863475ebcc248ccfe6cdded367f1f  systemsettings-6.3.1.tar.xz
e2c791092a2d9909640357b101b66183  plasma-thunderbolt-6.3.1.tar.xz
#a9008d2ca0da990b0e25fbad3fec372e  plasma-mobile-6.3.1.tar.xz
#4db44b13d684683a2d21a5be3ad53290  plasma-nano-6.3.1.tar.xz
0ee19ce7e8d6f35b38a83704ad48fcc8  plasma-firewall-6.3.1.tar.xz
716fb6178aa0ff9643fc3066d8a4529e  plasma-systemmonitor-6.3.1.tar.xz
d1c5e3afc8ec036afa33a907c7106e04  qqc2-breeze-style-6.3.1.tar.xz
8e6d8ef4c8eecbad2ae09fda0752399b  ksystemstats-6.3.1.tar.xz
1d53c89f6ec73d61e56deaf4ca378766  oxygen-sounds-6.3.1.tar.xz
9a0d78943b5362f0b05c844d6d9d5691  kdeplasma-addons-6.3.1.tar.xz
#303fa95a22217b0047357be11fcf5802  flatpak-kcm-6.3.1.tar.xz
256de866431e8e3de113a37187c797e6  plasma-welcome-6.3.1.tar.xz
5a2849ea3ea641429d34902ba6a97b93  ocean-sound-theme-6.3.1.tar.xz
2cb454377480e2b71e20c1b1e0a15d18  print-manager-6.3.1.tar.xz
f73600e5c197adce31367fa0e2b96d57  wacomtablet-6.3.1.tar.xz
#ae8f4e3a4ac994bb23ccd2a32b5c0339  kwayland-integration-6.3.1.tar.xz
#ee166c0d411fd1eda375ec12e11c7d5a  krdp-6.3.1.tar.xz
c2bd79b97cc93b09135a3ae16ea081c0  oxygen-6.3.1.tar.xz
#05269c38a62ee4b4e0915238b52e3aa5  plasma-dialer-6.3.1.tar.xz
#1371fd24c8d63a4f38154f4f3348f07c  spacebar-6.3.1.tar.xz
#c49c92329109f5ac30209435e81a31bd  spectacle-6.3.1.tar.xz
88d142a9d2666e7dc734c74aee825135  spectacle-6.3.1.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.0.4 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.

  • Det er oppdateringer til plasma-desktop og spectacle hvor eldre versjoner også ble lastet ned, men er kommentert ut for fullstendighet.

Installasjon av Plasma

Notat

Når du installerer flere pakker i et skript, installasjonen må 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.16p2 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
    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.3.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

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 en TTY, ved hjelp av xinit-1.4.3.

For å starte Plasma ved bruk av xinit-1.4.3, 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.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gcr Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt), libgcrypt-1.11.0, og p11-kit-0.25.5

Anbefalt
Valgfri

Gi-DocGen-2025.3 og Valgrind-3.24.0

Installasjon av Gcr

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-2025.3 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: Forhindre en konflikt med Gcr-4.3.1. Utelat denne bryteren hvis du ikke planlegger å installere Gcr-4.3.1 og du vil bruke gcr-ssh-agent.

-D gtk=false: Bruk denne bryteren hvis du ikke har installert GTK-3.24.48. Merk at gcr-viewer vil ikke bli installert hvis dette sendes til meson.

-D gtk_doc=true: Tillat å bygge denne pakken uten Gi-DocGen-2025.3 installert. Hvis du har Gi-DocGen-2025.3 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.3.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gcr Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt), libgcrypt-1.11.0, og p11-kit-0.25.5

Anbefalt
Valgfri

Gi-DocGen-2025.3, GnuTLS-3.8.9, og Valgrind-3.24.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-47.4 og Epiphany-47.3.1.

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-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed -e "/install_dir/s@,\$@ / 'gcr-4.3.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.16.12. Merk at gcr-viewer-gtk4 vil ikke bli installert hvis dette sendes til meson.

-D ssh_agent=false: Bruk denne bryteren hvis du ikke har installert OpenSSH-9.9p2, og ønsker å deaktivere ssh kapasiteter.

-D gtk_doc=true: Tillat å bygge denne pakken uten Gi-DocGen-2025.3 installert. Hvis du har Gi-DocGen-2025.3 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.9 installert og ønsker å bruke den i stedet for libgcrypt-1.11.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-47.1

Introduksjon til GSettings Skrivebordsskjemaer

GSettings Skrivebordsskjemaer pakken inneholder en samling av GSettings skjemaer for innstillinger som deles av forskjellige komponenter av GNOME Skrivebordet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GSettings Skrivebordsskjemaer Avhengigheter

Påkrevd

GLib-2.82.5 (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.6

Introduksjon til libsecret

libsecret pakken inneholder en GObject basert bibliotek for tilgang til Secret Service API.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libsecret Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt)

Anbefalt
Valgfri

Gi-DocGen-2025.3 og docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.42 (for å bygge manualsider), og Valgrind-3.24.0 (kan bli brukt i tester)

Valgfri (Nødvendig for testpakken)

D-Bus Python-1.3.2, Gjs-1.82.1, PyGObject-3.50.0 (Python 3 modul), og tpm2-tss

Kjøretids Avhengighet

gnome-keyring-46.2

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-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s/api_version_major/'0.21.6'/"            \
    -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-2025.3 installert. Hvis du har Gi-DocGen-2025.3 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.42 og DocBook pakker.

-D crypto=gnutls: Bruk denne bryteren hvis du vil bruke GnuTLS-3.8.9 for kryptografi i stedet for libgcrypt-1.11.0.

-D crypto=disabled: Bruk denne bryteren hvis du ikke har GnuTLS-3.8.9 eller libgcrypt-1.11.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.6

Korte Beskrivelser

secret-tool

er et kommandolinjeverktøy som kan brukes til å lagre og hente passord

libsecret-1.so

inneholder libsecret API funksjoner

rest-0.9.1

Introduksjon til rest

rest pakken inneholder et bibliotek som ble 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

rest Avhengigheter

Påkrevd

JSON-GLib-1.10.6, libsoup-3.6.4, og make-ca-1.15

Anbefalt
Valgfri

Gi-DocGen-2025.3, libadwaita-1.6.4 og gtksourceview5-5.14.2 (for å bygge demoen), og Vala-0.56.17

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 før du tester denne pakken.

Installasjon av rest

Installer rest 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-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/output/s/librest-1.0/rest-0.9.1/" -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-2025.3 installert. Hvis du har Gi-DocGen-2025.3 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.6.4 og gtksourceview5-5.14.2 er installert og du ønsker å bygge demonstrasjonsapplikasjonen som følger med denne pakken.

-D vapi=true: Bruk denne bryteren hvis Vala-0.56.17 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/rest-1.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Totem PL Analyser Avhengigheter

Anbefalt
Valgfri

CMake-3.31.5, GTK-Doc-1.34.0, Gvfs-1.56.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 til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 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.78.4

Introduksjon til VTE

VTE pakken inneholder en virtuell terminal skjermelement for GTK applikasjoner..

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

VTE Avhengigheter

Påkrevd

GTK-3.24.48, libxml2-2.13.6, og pcre2-10.45

Anbefalt
Valgfri

Gi-DocGen-2025.3

Installasjon av VTE

Installer VTE ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Hvis du har Gi-DocGen-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed -e "/docdir =/s@\$@/ 'vte-0.78.4'@" \
    -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 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.78.4

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-42.1

Introduksjon til Yelp XSL

Yelp XSL pakken inneholder XSL stilark som brukes av Yelp for å hjelpe nettleseren til å formatere Docbook og Mallard dokumenter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Yelp XSL Avhengigheter

Påkrevd

libxslt-1.1.42 og itstool-2.0.7

Installasjon av Yelp XSL

Installer Yelp XSL ved å kjøre følgende kommandoer:

./configure --prefix=/usr

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make 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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Geocode GLib Avhengigheter

Påkrevd

JSON-GLib-1.10.6 og libsoup-3.6.4

Anbefalt
Valgfri

GTK-Doc-1.34.0

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.34.0. Fjern denne parameteren hvis GTK-Doc-1.34.0 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.82.1

Introduksjon til Gjs

Gjs er et sett med Javascript bindinger for GNOME.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gjs Avhengigheter

Påkrevd

Cairo-1.18.2, dbus-1.16.0, GLib-2.82.5 (med GObject Introspection), og SpiderMonkey from Firefox-128.7.0

Påkrevd (påkrevd for GNOME)
Valgfri

Valgrind-3.24.0 (for tester), 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, 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.

-Dprofiler=disabled: hindrer bygging av profilerings 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

gnome-autoar Avhengigheter

Påkrevd

libarchive-3.7.7 og GTK-3.24.48

Anbefalt
Valgfri

GTK-Doc-1.34.0 (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.1

Introduksjon til GNOME Skrivebord

GNOME Skrivebord pakken inneholder et bibliotek som gir en API som deles av flere applikasjoner på GNOME Skrivebordet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Skrivebord Avhengigheter

Påkrevd

gsettings-desktop-schemas-47.1, GTK-3.24.48, GTK-4.16.12, ISO Codes-4.17.0, itstool-2.0.7, libseccomp-2.6.0, libxml2-2.13.6, og xkeyboard-config-2.44

Anbefalt
Valgfri

GTK-Doc-1.34.0

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 \
            ..                  &&
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 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}

Korte Beskrivelser

libgnome-desktop-3.so

inneholder funksjoner som deles av flere GNOME applikasjoner

gnome-menus-3.36.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Menyer Avhengigheter

Påkrevd

GLib-2.82.5 (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.52.3.1

Introduksjon til GNOME Nettkontoer

GNOME Nettkontoer pakken inneholder en rammeverk som brukes for å få tilgang til brukerens nettkontoer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Nettkontoer Avhengigheter

Påkrevd

Gcr-4.3.1, JSON-GLib-1.10.6, libadwaita-1.6.4, rest-0.9.1, og Vala-0.56.17

Anbefalt
Valgfri

Gi-DocGen-2025.3, MIT Kerberos V5-1.21.3, og Valgrind-3.24.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-2025.3 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.21.3 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/gtk-doc/html/goa (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

libgdata-0.18.1

Introduksjon til libgdata

libgdata pakken er et GLib-basert bibliotek for å få tilgang til online tjeneste APIer ved å bruke GData protokollen, spesielt Googles tjenester. Den gir APIer for å få tilgang til de vanlige Google tjenester og har full asynkron støtte.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgdata Avhengigheter

Påkrevd

libsoup-2.74.3, gnome-online-accounts-3.52.3.1, GTK-3.24.48, JSON-GLib-1.10.6, og Vala-0.56.17

Anbefalt
Valgfri

GTK-Doc-1.34.0 (for dokumentasjon) og liboauth-1.0.3 (for OAuth v1 støtte)

Installasjon av libgdata

Installer libgdata ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr               \
            --buildtype=release         \
            -D gtk_doc=false            \
            -D always_build_tests=false \
            ..                          &&
ninja

Denne pakken kommer ikke med en funksjonell 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 gtk_doc=false: Fjern denne hvis du har GTK-Doc-1.34.0 installert og ønsker å gjenoppbygge dokumentasjon med det.

-D oauth1=enabled: Bruk dette alternativet hvis du ønsker å bygge støtte for OAuth v1. Merk at du må ha liboauth-1.0.3 installert for å aktivere dette alternativet.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgdata.so
Installerte Mapper: /usr/include/libgdata og /usr/share/gtk-doc/html/gdata

Korte Beskrivelser

libgdata.so

inneholder libgdata API funksjoner

libgee-0.20.8

Introduksjon til libgee

libgee pakken er et samlingsbibliotek som gir GObject baserte grensesnitt og klasser for ofte brukte datastrukturer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgee Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt) og Vala-0.56.17

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 GNOME top biblioteker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgtop Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection anbefalt) og Xorg Biblioteker

Valgfri

GTK-Doc-1.34.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgweather Avhengigheter

Påkrevd

geocode-glib-3.26.4, GTK-3.24.48, libsoup-3.6.4, og PyGObject-3.50.0

Anbefalt
Valgfri

Gi-DocGen-2025.3 (gi-docgen leveres også som meson delprosjekt, som vil bli brukt hvis -D gtk_doc=false ikke er overført til meson), LLVM-19.1.7 (for clang-format), og pylint

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 før du tester denne pakken.

Installasjon av libgweather

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-2025.3 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-2025.3 installert. Hvis du har Gi-DocGen-2025.3 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libpeas Avhengigheter

Påkrevd

GLib-2.82.5 (med GObject Introspection) og GTK-3.24.48

Anbefalt
Valgfri

Gi-DocGen-2025.3, Glade, embed, LGI (for LUA bindinger, bygget med LUA-5.1), med enten luajit-20250212 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 \
            ..                     &&
ninja

Hvis du har Gi-DocGen-2025.3 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 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.3.2

Introduksjon til libshumate

libshumate pakken inneholder et GTK-4 skjermelement for å vise kart.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libshumate Avhengigheter

Påkrevd

GTK-4.16.12, libsoup-3.6.4, og Protobuf-c-1.5.1

Anbefalt
Valgfri

Gi-DocGen-2025.3, Valgrind-3.24.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-2025.3 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.3.2 (valgfri)

Korte Beskrivelser

libshumate-1.0.so

inneholder funksjoner som gir et GTK-4 skjermelement for å vise kart

evolution-data-server-3.54.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å.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Evolution Dataserver Avhengigheter

Påkrevd

libical-3.0.19, libsecret-0.21.6, nss-3.108, og SQLite-3.49.1

Anbefalt
Valgfri

GTK-Doc-1.34.0, MIT Kerberos V5-1.21.3, en MTA (som gir en sendmail kommando), OpenLDAP-2.6.9, 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               \
      -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.17 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_LIBDB=OFF: Denne bryteren tillater bygging av denne pakken uten Berkeley DB (deprecated). SQLite-3.49.1 brukes til normal drift.

-D ENABLE_OAUTH2_WEBKITGTK4=OFF: Bruk denne bryteren hvis du ikke bygde WebKitGTK-2.46.6 med GTK-4.

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.8.2

Introduksjon til Tinysparql

Tinysparql er en RDF trippellagring med lavt fotavtrykk med et SPARQL 1.1-grensesnitt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Tinysparql Avhengigheter

Påkrevd

JSON-GLib-1.10.6 og Vala-0.56.17

Anbefalt
Valgfri

asciidoc-10.2.1, Avahi-0.8, Graphviz-12.2.1, og bash-completion

Installasjon av Tinysparql

Advarsel

Hvis du oppgraderer denne pakken fra en versjon som var fra da denne pakken var kjent som Tracker, fjerne en fil som vil forårsake en konflikt som root bruker:

rm -fv /usr/lib/systemd/user/tracker-xdg-portal-3.service

Fiks plasseringen hvor dokumentasjonen vil installeres i:

mv docs/reference/libtracker-sparql/doc/{Tsparql-3.0,tinysparql-3.8.2} &&
sed '/docs_name/s/Tsparql-3.0/tinysparql-3.8.2/' \
    -i docs/reference/libtracker-sparql/meson.build

Installer Tinysparql ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D man=false        \
            ..                  &&
ninja

Nå, som root bruker:

ninja install

For å teste resultatene, utsted: meson configure -D debug=true && LC_ALL=C ninja test. Testpakken skal kjøres fra en grafisk sesjon. En test er kjent for å mislykkes på grunn av at manualsidene ikke blir generert.

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.

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.8.2 (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.8.2

Introduksjon til Localsearch

Localsearch pakken inneholder et filsystem indekserer samt en metadatauttrekker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Localsearch Avhengigheter

Påkrevd

Exempi-2.6.5, gexiv2-0.14.3, gst-plugins-base-1.24.12, og tinysparql-3.8.2

Anbefalt
Valgfri

asciidoc-10.2.1, CMake-3.31.5, DConf-0.40.0, FFmpeg-7.1, libgsf-1.14.53, NetworkManager-1.50.0, taglib-2.0.2, totem-pl-parser-3.26.6, libcue, libgrss, 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 man=false        \
            -D miner_rss=false  \
            ..                  &&
ninja

For å teste resultatene, utsted (juster den individuelle testtidsavbruddet til en verdi som passer for din maskin, se merknaden ovenfor):

dbus-run-session env LC_ALL=C.UTF-8 TRACKER_TESTS_AWAIT_TIMEOUT=20 \
                 ninja test &&
rm -rf ~/tracker-tests

Nå, som root bruker:

ninja install

Notat

Testene lager filer i user mappen (opptil 24 MB), så de må fjernes etterpå.

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 miner_rss=false: Denne bryteren forhindrer bruk av libgrss for å indeksere RSS feeder fordi libgrss er usikker og ikke lenger i BLFS.

-D seccomp=false: Dette alternativet deaktiverer seccomp systemet anropsfilter. På noen arkitekturer, som i686 og ARM, funksjonene som tracker-miners bruker ikke er bevoktet ordentlig, og tracker-miners vil bli drept med en SIGSYS som resultat. 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.

-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.

-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.

Innhold

Installerte Programmer: localsearch
Installerte Biblioteker: Flere moduler under /usr/lib/localsearch-3.0
Installerte Mapper: /usr/lib/localsearch-3.0 og /usr/share/localsearch

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

gsound Avhengigheter

Påkrevd

libcanberra-0.30

Anbefalt
Valgfri

GTK-Doc-1.34.0 (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-47.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xdg-desktop-portal-gnome Avhengigheter

Påkrevd

gnome-desktop-44.1, GTK-4.16.12, libadwaita-1.6.4, xdg-desktop-portal-1.20.0, og xdg-desktop-portal-gtk-1.15.2 (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 .. &&
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

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.40.0 / DConf-Editor-45.0.1

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.82.5 gir lignende funksjonalitet på kommandolinjen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

DConf Avhengigheter

Påkrevd

dbus-1.16.0, GLib-2.82.5, GTK-3.24.48 (for redigeringsprogrammet), libhandy-1.8.3 (for redigeringsprogrammet), og libxml2-2.13.6 (for redigeringsprogrammet)

Anbefalt
Valgfri

GTK-Doc-1.34.0 og bash-completion

Installasjon av DConf

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: ninja test

Some root bruker:

ninja install

Nå kan du eventuelt installere redigeringsprogrammet:

cd ..              &&
tar -xf ../dconf-editor-45.0.1.tar.xz &&
cd dconf-editor-45.0.1                &&

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-47.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Bakgrunn Avhengigheter

Påkrevd ved kjøretid

libjxl-0.11.1

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.56.1

Introduksjon til Gvfs

Gvfs pakken er et virtuelt brukerrom filsystem designet for å fungere med I/O-abstraksjonene til GLibs GIO biblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gvfs Avhengigheter

Påkrevd

dbus-1.16.0, GLib-2.82.5, Gcr-4.3.1, libusb-1.0.27, og libsecret-0.21.6

Anbefalt
Valgfri

Apache-2.4.63, Avahi-0.8, BlueZ-5.79, Fuse-3.16.2, gnome-online-accounts-3.52.3.1, GTK-Doc-1.34.0, libarchive-3.7.7, libgcrypt-1.11.0, libgdata-0.18.1, libxml2-2.13.6, libxslt-1.1.42, OpenSSH-9.9p2, Samba-4.21.4, gnome-desktop-testing (for tester), libbluray, 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 dnssd=false      \
      -D goa=false        \
      -D google=false     .. &&
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. Onedrive støtten krever libmsgraph pakken.

-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.3

Introduksjon til gexiv2

gexiv2 er en GObject basert innpakning rundt Exiv2 biblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

gexiv2 Avhengigheter

Påkrevd

Exiv2-0.28.5

Anbefalt
Valgfri

GTK-Doc-1.34.0 (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-47.2

Introduksjon til Nautilus

Nautilus pakken inneholder GNOME filbehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Nautilus Avhengigheter

Påkrevd

bubblewrap-0.11.0, gexiv2-0.14.3, gnome-autoar-0.4.5, gnome-desktop-44.1, libadwaita-1.6.4, libnotify-0.8.4, libportal-0.9.1, libseccomp-2.6.0, og tinysparql-3.8.2

Anbefalt
Valgfri (for å generere dokumentasjon)

Gi-DocGen-2025.3

Anbefalt (Kjøretid)

Installasjon av Nautilus

Installer Nautilus ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            ..                  &&

ninja

Hvis du har Gi-DocGen-2025.3 installert og du ønsker å generere og installere API dokumentasjonen, utsted følgende kommandoer:

sed "/docdir =/s@\$@ / 'nautilus-47.2'@" -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.8.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.

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-47.2 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Bluetooth Avhengigheter

Påkrevd

GTK-4.16.12, gsound-1.0.3, libnotify-0.8.4, og UPower-1.90.7

Anbefalt
Valgfri

GTK-Doc-1.34.0 og dbusmock-0.34.3

Kjøretids Avhengigheter

BlueZ-5.79

Installasjon av GNOME Bluetooth

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-46.2

Introduksjon til GNOME Nøkkelring

GNOME Nøkkelring pakken inneholder en nisse som holder passord og andre hemmeligheter for brukere.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Nøkkelring Avhengigheter

Påkrevd

dbus-1.16.0 og Gcr-3.41.2

Anbefalt
Valgfri

GnuPG-2.4.7, Valgrind-3.24.0, LCOV, og libcap-ng

Installasjon av GNOME Nøkkelring

Installer GNOME Nøkkelring ved å kjøre følgende kommandoer:

sed -i 's:"/desktop:"/org:' schema/*.xml &&

./configure --prefix=/usr      \
            --sysconfdir=/etc  \
            --enable-ssh-agent &&
make

En sesjonsbussadresse er nødvendig for å kjøre testene. For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

sed ... schema/*.xml: Denne kommandoen fikser en utdatert oppføring i skjemamalen.

--enable-ssh-agent: Denne bryteren aktiverer SSH agenten innebygd i gnome nøkkelringen i stedet for den i GCR. Dette har blitt gjort på grunn av feil i gcr som gjør at agenten ikke fungerer som den skal.

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-47.2

Introduksjon til GNOME Innstillingsnisse

GNOME Innstillingsnisse er ansvarlig for å stille inn ulike parametere for en GNOME Økt og applikasjonene som kjører under den.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Innstillingsnisse Avhengigheter

Påkrevd

alsa-lib-1.2.13, Fontconfig-2.16.0, Gcr-4.3.1, GeoClue-2.7.2, geocode-glib-3.26.4, gnome-desktop-44.1, libcanberra-0.30, libgweather-4.4.4, libnotify-0.8.4, libwacom-2.14.0, PulseAudio-17.0, og UPower-1.90.7

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.

Valgfri

gnome-session-47.0.1, Mutter-47.5, dbusmock-0.34.3, umockdev-0.19.1, og Xvfb (for tester, fra Xorg-Server-21.1.16 eller Xwayland-24.1.6)

Installasjon av GNOME Innstillingsnisse

Installer GNOME Innstillingsnisse ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å sjekke resultatene, kjør: ninja test. Merk at du må ha python-dbusmock installert for at testene skal fullføres. Noen tester kan mislykkes avhengig av init systemet som brukes.

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-47, /usr/lib/gnome-settings-daemon-47, og /usr/share/gnome-settings-daemon

Tecla-47.0

Introduksjon til Tecla

Tecla pakken inneholder et tastaturoppsett visning.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Tecla Avhengigheter

Påkrevd

libadwaita-1.6.4 og libxkbcommon-1.8.0

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-47.4

Introduksjon til GNOME Kontrollsenter

GNOME Kontrollsenter pakken inneholder GNOME innstillingsbehandling.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Kontrollsenter Avhengigheter

Påkrevd

AccountsService-23.13.9, colord-gtk-0.3.1, Cups-2.4.11, gnome-bluetooth-47.1, gnome-online-accounts-3.52.3.1, gnome-settings-daemon-47.2, gsound-1.0.3, libadwaita-1.6.4, libgtop-2.41.3, libnma-1.10.6, libpwquality-1.4.5, MIT Kerberos V5-1.21.3, ModemManager-1.18.12, Samba-4.21.4, shared-mime-info-2.4, Tecla-47.0, og UDisks-2.10.1

Anbefalt
Valgfri

Xvfb (fra Xorg-Server-21.1.16 eller Xwayland-24.1.6) og dbusmock-0.34.3 (begge for tester)

Valgfrie Kjøretids Avhengigheter

cups-pk-helper-0.2.7 (Skriverpanel), gnome-color-manager-3.36.2 (Fargepanel), gnome-shell-47.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.

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-47.5

Introduksjon til Mutter

Mutter er vindusbehandleren for GNOME. Den påberopes ikke direkte, men fra GNOME Økt (på en maskin med en maskinvareakselererte videodrivere).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Mutter Avhengigheter

Påkrevd

gnome-settings-daemon-47.2, graphene-1.10.8, libei-1.3.0, libxcvt-0.1.3, libxkbcommon-1.8.0, og pipewire-1.2.7

Anbefalt
Anbefalt (Påkrevd for å bygge Wayland sammensetteren)
Valgfri

dbusmock-0.34.3 (påkrevd for tester), Xorg-Server-21.1.16 (for X11 økter), sysprof, Xvfb (fra Xorg-Server-21.1.16 eller Xwayland-24.1.6), xvfb-run, og zenity (X11 testene ville bare kjøre med alle de tre siste)

Installasjon av Mutter

Installer Mutter ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D tests=disabled   \
            -D profiler=false   \
            ..                  &&
ninja

Hvis du vil kjøre testpakken, sørg for at dbusmock-0.34.3 er installert og utsted:

meson configure -D tests=enabled -D clutter_tests=false &&
ninja test

Testene krever en aktiv X eller wayland økt. Noen tester er ustabile (spesielt under høy systembelastning), så hvis en test mislykkes kan du prøve å kjøre den på nytt alene med meson test <test name> 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 den.

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: Tillat å bygge pakken uten dbusmock-0.34.3 installert. Det blir overstyrt av meson configure hvis testpakken kjøres.

-D clutter_tests=false: Deaktiver testene for den sendte Clutter biblioteket. Clutter test er kjent for å feile med --buildtype=release.

-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 libdisplay_info=disabled: Dette tillater bygging av denne pakken uten libdisplay-info-0.2.0 installert.

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: mutter
Installerte Biblioteker: libmutter-15.so og libmutter-test-15.so (valgfri)
Installerte Mapper: /usr/{lib,include,libexec/installed-tests,share/{,installed-tests}}/mutter-15

Korte Beskrivelser

mutter

er Clutter basert sammensetnings GTK+ Vindusbehandler

libmutter-15.so

inneholder Mutter API funksjoner

libmutter-test-15.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-47.4

Introduksjon til GNOME Skallet

GNOME Skallet er kjernebrukergrensesnittet for GNOME Skrivebordsmiljøet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Skallet Avhengigheter

Påkrevd

evolution-data-server-3.54.3, Gcr-4.3.1, Gjs-1.82.1, gnome-desktop-44.1, ibus-1.5.31, Mutter-47.5, Polkit-126, og startup-notification-0.12

Anbefalt
Valgfri

GTK-Doc-1.34.0 og bash-completion

Nødvendige Kjøretids Avhengigheter

adwaita-icon-theme-47.0, DConf-0.40.0, GDM-47.0, gnome-control-center-47.4, libgweather-4.4.4 , og Systemd-257.3

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 tests=false      \
            ..                  &&
ninja

For å kjøre testene, sørge for at Mutter er installert etter å ha kjørt testpakken til den og utsted: meson configure -D tests=true && ninja test.. Du må kjører en X økt for å kjøre testene. Noen vil mislykkes hvis GDM-47.0 ikke er installert. En test navngitt CSS styling support er kjent for mislykkes med noen flerskjermskonfigurasjoner.

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 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-prefs, 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-47.4

Introduksjon til GNOME Skallutvidelser

GNOME Skallutvidelser pakken inneholder en samling utvidelser som gir ekstra og valgfrie funksjonaliteter til GNOME Skallet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/gnome-shell/extensions

gnome-session-47.0.1

Introduksjon til GNOME Økt

GNOME Økt pakken inneholder GNOME øktbehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Økt Avhengigheter

Påkrevd

gnome-desktop-44.1, JSON-GLib-1.10.6, Mesa-24.3.4, Systemd-257.3 (kjøretid), og UPower-1.90.7

Valgfri

xmlto-0.0.29, og libxslt-1.1.42 med docbook-xml-4.5 og docbook-xsl-nons-1.79.2 (for å bygge dokumentasjonen)

Installasjon av GNOME Økt

Når du kjører GNOME under Wayland-1.23.0, miljøinnstillinger importeres ikke for brukeren som bruker systemprofilen. Wayland Utviklere er foreløpig usikre på en standardmetode for å tilby systemet miljøinnstillinger for brukerøkter. For å omgå denne begrensningen, kjør følgende kommando for at gnome-session skal bruke et påloggingsskall:

sed 's@/bin/sh@/bin/sh -l@' -i gnome-session/gnome-session.in

Installer GNOME Økt 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

Flytt dokumentasjonen til en versjonert mappe:

mv -v /usr/share/doc/gnome-session{,-47.0.1}

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 -v /usr/share/xsessions/gnome.desktop &&
rm -v /usr/share/wayland-sessions/gnome.desktop

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Starte GNOME

Den enkleste måten å starte GNOME på er å bruke en skjermbehandler. GDM-47.0 er den anbefalte skjermbehandleren.

Det er også mulig å starte GNOME fra kommandolinjen. Du må imidlertid fortsatt ha GDM-47.0 installert for at noen deler av skrivebordet skal fungere. En grunn til å starte fra kommandolinjen er hvis du vil ha Wayland støtte på et system som har proprietær NVIDIA driver installert, siden GDM ikke vil vise Wayland økttype på et slikt system.

For å starte GNOME ved hjelp av xinit-1.4.3, kjør følgende kommandoer:

cat > ~/.xinitrc << "EOF"
dbus-run-session gnome-session
EOF

startx

Alternativt, for å starte GNOME med Wayland støtte, kjør følgende kommando:

XDG_SESSION_TYPE=wayland dbus-run-session gnome-session

Innhold

Installerte Programmer: gnome-session, gnome-session-inhibit, og gnome-session-quit
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/gnome-session-47.0.1 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-46.1

Introduksjon til GNOME Tweaks

GNOME Tweaks er et enkelt program som brukes til å finjustere avanserte GNOME innstillinger.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Tweaks Avhengigheter

Påkrevd

GTK-4.16.12, gsettings-desktop-schemas-47.1, libadwaita-1.6.4, libgudev-238, PyGObject-3.50.0, 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.13/site-packages/gtweak og /usr/share/gnome-tweaks

Korte Beskrivelser

gnome-tweaks

brukes til å justere avanserte GNOME innstillinger

gnome-user-docs-47.0

Introduksjon til GNOME Brukerdokumenter

GNOME Brukerdokumenter pakken inneholder dokumentasjon for GNOME.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Brukerdokumenter Avhengigheter

Påkrevd

itstool-2.0.7 og libxml2-2.13.6

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-42.2

Introduksjon til Yelp

Yelp pakken inneholder en hjelpe nettleser som brukes til å vise hjelpefiler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Yelp Avhengigheter

Påkrevd

gsettings-desktop-schemas-47.1, WebKitGTK-2.46.6 og yelp-xsl-42.1

Anbefalt
Valgfri

GTK-Doc-1.34.0

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:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make 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

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: gnome-help (symbolkobling) og yelp
Installert Bibliotek: libyelp.so
Installerte Mapper: /usr/include/libyelp, /usr/share/gtk-doc/html/libyelp (valgfri), og /usr/{lib,share}/yelp

Korte Beskrivelser

yelp

er GNOME Hjelpe nettleser

libyelp.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-47.0

Introduksjon til Baobab

Baobab pakken inneholder en grafisk mappetre analysator.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Baobab Avhengigheter

Påkrevd

adwaita-icon-theme-47.0, GTK-4.16.12, itstool-2.0.7, libadwaita-1.6.4, og Vala-0.56.17

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Brasero Avhengigheter

Påkrevd

gst-plugins-base-1.24.12, itstool-2.0.7, libcanberra-0.30, og libnotify-0.8.4

Anbefalt
Valgfri

GTK-Doc-1.34.0

Anbefalt (Kjøretid)
Valgfri (Kjøretid)

Cdrdao-1.2.4, libdvdcss-1.4.3, 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

EOG-47.0

Introduksjon til EOG

EOG er en applikasjon som brukes til visning og katalogisering av bildefiler på GNOME Skrivebordet. Den har også grunnleggende redigerings kapasiteter..

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

EOG Avhengigheter

Påkrevd

adwaita-icon-theme-47.0, Exempi-2.6.5, gnome-desktop-44.1, libhandy-1.8.3, libjpeg-turbo-3.0.1, libpeas-1.36.0, og shared-mime-info-2.4

Anbefalt
Valgfri

GTK-Doc-1.34.0 og libportal-0.9.1

Installasjon av EOG

Installer EOG ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D libportal=false   \
            ..                  &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Enda som root bruker, gjenoppbygg cache-databasen til MIME-typer håndtert av skrivebordsfiler så Nautilus-47.2 vil kunne åpne bildefiler med EOG.

update-desktop-database

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D libportal=false: Denne parameteren deaktiverer bygging av EOG med støtte for flatpak portaler. Fjern denne parameteren hvis du har libportal-0.9.1 installert og ønsker å ha støtte for flatpak portaler.

-D gtk_doc=true: Bruk dette alternativet hvis GTK-Doc-1.34.0 er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen.

Innhold

Installert Program: eog
Installert Bibliotek: libeog.so
Installerte Mapper: /usr/include/eog-3.0, /usr/lib/eog, /usr/share/eog, /usr/share/gtk-doc/html/eog (valgfri), og /usr/share/help/*/eog

Korte Beskrivelser

eog

er en rask og funksjonell bildeviser samt en bildekatalogiseringsprogram. Den har grunnleggende redigeringsmuligheter

Evince-46.3.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Evince Avhengigheter

Påkrevd

adwaita-icon-theme-47.0, gsettings-desktop-schemas-47.1, GTK-3.24.48, itstool-2.0.7, libhandy-1.8.3, libxml2-2.13.6, og OpenJPEG-2.5.3

Anbefalt
Valgfri

Cups-2.4.11 (for å aktivere utskrift hvis støtte er bygd inn i GTK+ 3), gnome-desktop-44.1, gspell-1.14.0, gst-plugins-base-1.24.12, Gi-DocGen-2025.3, libgxps-0.3.2, libtiff-4.7.0, texlive-20240312 (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/2024/include" \
meson setup --prefix=/usr                \
            --buildtype=release          \
            -D gtk_doc=false             \
            --wrap-mode=nodownload       \
            ..                           &&
ninja

Hvis du har Gi-DocGen-2025.3 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/docs_dir/s@\$@ / 'evince-46.3.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/2024/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-2025.3 installert. Hvis du har Gi-DocGen-2025.3 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.82.5 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.54.3

Introduksjon til Evolution

Evolution pakken inneholder en integrert post, kalender og adressebok pakke designet for GNOME miljøet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Evolution Avhengigheter

Påkrevd

adwaita-icon-theme-47.0, evolution-data-server-3.54.3, Gcr-4.3.1, gnome-autoar-0.4.5, shared-mime-info-2.4, og WebKitGTK-2.46.6

Anbefalt
Valgfri

GeoClue-2.7.2, geocode-glib-3.26.4, og GTK-Doc-1.34.0, 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.9.

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.5

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.16.12 og itstool-2.0.7

Anbefalt
Valgfri (for API dokumentasjonen)

Gi-DocGen-2025.3

Valgfri (Kjøretid)

UnRar-7.1.5, libarchive-3.7.7, og Zip-3.0

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.48 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-2025.3 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-47.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Kalkulator Avhengigheter

Påkrevd

gtksourceview5-5.14.2, itstool-2.0.7, libadwaita-1.6.4, libgee-0.20.8, og libsoup-3.6.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Fargebehandler Avhengigheter

Påkrevd

colord-1.4.7, GTK-3.24.48, itstool-2.0.7, og Little CMS-2.17

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-46.0

Introduksjon til gnome-connections

gnome-connections er en VNC og RDP klient for GNOME Skrivebordet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

gnome-connections Avhengigheter

Påkrevd

AppStream-1.0.4, FreeRDP-3.12.0, gtk-vnc-1.5.0, itstool-2.0.7, libhandy-1.8.3, libsecret-0.21.6, og Vala-0.56.17

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Diskverktøy Avhengigheter

Påkrevd

gnome-settings-daemon-47.2, itstool-2.0.7, libdvdread-6.1.3, libhandy-1.8.3, libpwquality-1.4.5, libsecret-0.21.6, og UDisks-2.10.1

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 .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

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-logs-45.0

Introduksjon til GNOME Logger

GNOME Logger pakken inneholder en loggviser for systemd journaler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Logger Avhengigheter

Påkrevd

GTK-4.16.12, gsettings-desktop-schemas-47.1, itstool-2.0.7, og libadwaita-1.6.4

Valgfri

appstream-glib-0.8.3, desktop-file-utils-0.28 (for testpakken), og docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.42 (for å bygge manual sider), og dogtail

Installasjon av GNOME Logger

Installer GNOME Logger 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-logs
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/gnome-logs og /usr/share/help/*/gnome-logs

Korte Beskrivelser

gnome-logs

er GNOME loggviser for systemd journaler

gnome-maps-47.4

Introduksjon til GNOME Kart

GNOME Kart er en kartapplikasjon for GNOME.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Kart Avhengigheter

Påkrevd

desktop-file-utils-0.28, GeoClue-2.7.2, geocode-glib-3.26.4, Gjs-1.82.1, libadwaita-1.6.4, libportal-0.9.1, libshumate-1.3.2, libgweather-4.4.4, og rest-0.9.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

GNOME Nettverktøy Avhengigheter

Påkrevd

GTK-3.24.48, itstool-2.0.7, og libgtop-2.41.3

Kjøretids Avhengigheter

BIND Utilities-9.20.6, Nmap-7.95, Net-tools-2.10, Traceroute-2.1.6, og Whois-5.4.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Strømstyring Avhengigheter

Påkrevd

GTK-3.24.48 og UPower-1.90.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Skjermbilde Avhengigheter

Påkrevd

GTK-3.24.48, 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-47.1

Introduksjon til GNOME Systemovervåking

GNOME Systemovervåking pakken inneholder GNOME sin erstatning for gtop.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Systemovervåking Avhengigheter

Påkrevd

adwaita-icon-theme-47.0, Gtkmm-4.16.0, itstool-2.0.7, libgtop-2.41.3, libadwaita-1.6.4, og librsvg-2.59.2

Valgfri

appstream-glib-0.8.3, desktop-file-utils-0.28, og uncrustify

Installasjon av GNOME Systemovervåking

Installer GNOME Systemovervåking 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-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.54.2

Introduksjon til GNOME Terminal

GNOME Terminal pakken inneholder terminalemulator for GNOME Skrivebordet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Terminal Avhengigheter

Påkrevd

DConf-0.40.0, gnome-shell-47.4, gsettings-desktop-schemas-47.1, itstool-2.0.7, libhandy-1.8.3, pcre2-10.45, og VTE-0.78.4

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

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-47.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GNOME Vær Avhengigheter

Påkrevd

GeoClue-2.7.2, Gjs-1.82.1, libadwaita-1.6.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-16.0.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Gucharmap Avhengigheter

Påkrevd

desktop-file-utils-0.28, gsettings-desktop-schemas-47.1, GTK-3.24.48, itstool-2.0.7, libarchive-3.7.7, og pcre2-10.45

Anbefalt
Valgfri

appstream-glib-0.8.3 og GTK-Doc-1.34.0

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.82.5 (med GObject Introspection).

-D vapi=false: Bruk denne hvis du ikke har installert Vala-0.56.17.

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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Seahorse Avhengigheter

Påkrevd

Gcr-3.41.2, GnuPG-2.4.7, GPGME-1.24.2, itstool-2.0.7, libhandy-1.8.3, libpwquality-1.4.5, libsecret-0.21.6, og Vala-0.56.17

Anbefalt
Valgfri

Avahi-0.8

Kjøretids Avhengigheter

gnome-keyring-46.2

Installasjon av Seahorse

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

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.

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

Snapshot-47.1

Introduksjon til Snapshot

Snapshot pakken inneholder et program som tar bilder og videoer fra et webkamera.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Snapshot Avhengigheter

Påkrevd

libadwaita-1.6.4, gst-plugins-bad-1.24.12, og rustc-1.85.0

Påkrevd ved kjøretid

libgstgtk4 from gst-plugins-rs-1.24.12, pipewire-1.2.7, og xdg-desktop-portal-gnome-47.3

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.0

Introduksjon til libxfce4util

libxfce4util pakken er et grunnleggende verktøy bibliotek for Xfce skrivebordsmiljøet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libxfce4util Avhengigheter

Påkrevd

GLib-2.82.5 (med GObject Introspection)

Anbefalt
Valgfri

GTK-Doc-1.34.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfconf Avhengigheter

Påkrevd

libxfce4util-4.20.0

Valgfri

GTK-Doc-1.34.0 og Vala-0.56.17

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.0

Introduksjon til libxfce4ui

libxfce4ui pakken inneholder GTK+ 3 skjermelementer som brukes av andre Xfce applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libxfce4ui Avhengigheter

Påkrevd

GTK-3.24.48 og Xfconf-4.20.0

Anbefalt
Valgfri

GTK-Doc-1.34.0, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Exo Avhengigheter

Påkrevd

GTK-3.24.48, libxfce4ui-4.20.0, og libxfce4util-4.20.0

Valgfri

GTK-Doc-1.34.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Garcon Avhengigheter

Påkrevd

libxfce4ui-4.20.0 og GTK-3.24.48

Valgfri

GTK-Doc-1.34.0

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.2

Introduksjon til libwnck

libwnck pakken inneholder Vindusnavigator konstruksjonssett.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libwnck Avhengigheter

Påkrevd

GTK-3.24.48

Anbefalt
Valgfri

GTK-Doc-1.34.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfce4 Utviklingsverktøy Avhengigheter

Påkrevd

GLib-2.82.5

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.2

Introduksjon til libxfce4windowing

libxfce4windowing pakken inneholder en vindukonseptabstraksjonsbibliotek for X11 og Wayland.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libxfce4windowing Avhengigheter

Påkrevd

GTK-3.24.48, libdisplay-info-0.2.0, libwnck-43.2 og xfce4-dev-tools-4.20.0

Valgfri

GTK-Doc-1.34.0

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.3

Introduksjon til Xfce4 Panel

Xfce4 Panel pakken inneholder Xfce4 Panel.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfce4 Panel Avhengigheter

Påkrevd

Cairo-1.18.2, Exo-4.20.0, Garcon-4.20.0, libwnck-43.2, og libxfce4windowing-4.20.2

Valgfri

GTK-Doc-1.34.0 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.2

Introduksjon til thunar

Thunar er Xfce sin filbehandler, en GTK+ 3 GUI for å organisere filene på datamaskinen din.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Thunar Avhengigheter

Påkrevd

Exo-4.20.0

Påkrevd (Kjøretid)

hicolor-icon-theme-0.18

Anbefalt
Valgfri

GTK-Doc-1.34.0 (for dokumentasjon), Gvfs-1.56.1 (for fjernsurfing og automontering), libexif-0.6.25 og tumbler-4.20.0 (kjøretid)

Installasjon av Thunar

Installer Thunar ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/thunar-4.20.2 &&
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.2, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Tumbler Avhengigheter

Påkrevd

GLib-2.82.5

Valgfri

cURL-8.12.1, FreeType-2.13.3, gdk-pixbuf-2.42.12, gst-plugins-base-1.24.12, GTK-Doc-1.34.0, libjpeg-turbo-3.0.1, libgsf-1.14.53, libpng-1.6.46, Poppler-25.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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfce4 Strømbehandler Avhengigheter

Påkrevd

libnotify-0.8.4, UPower-1.90.7, og xfce4-panel-4.20.3

Anbefalt
Valgfri

NetworkManager-1.50.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.1

Introduksjon til Xfce4 Innstillinger

Xfce4 Innstillinger pakken inneholder en samling av programmer som er nyttige for å justere dine Xfce preferanser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.7, libinput-1.27.1, og UPower-1.90.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfdesktop Avhengigheter

Påkrevd

Exo-4.20.0, libxfce4windowing-4.20.2, og libwnck-43.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfwm4 Avhengigheter

Påkrevd

libwnck-43.2 og libxfce4ui-4.20.0

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.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfce4 Økter Avhengigheter

Påkrevd

libwnck-43.2, libxfce4windowing-4.20.2, og libxfce4ui-4.20.0

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.0, GnuPG-2.4.7, hicolor-icon-theme-0.18 OpenSSH-9.9p2 og xinit-1.4.3

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 en TTY ved bruk av xinit-1.4.3, eller fra en grafisk skjermbehandler, som f.eks lightdm-1.32.0.

For å starte Xfce4 ved bruk av xinit-1.4.3, 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

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.18.2

Introduksjon til Parole

Parole er en DVD/CD/musikk spiller for Xfce som bruker GStreamer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.112, gst-plugins-base-1.24.12, gst-plugins-good-1.24.12, og libxfce4ui-4.20.0

Anbefalt
Valgfri

GTK-Doc-1.34.0

Installasjon av Parole

Installer Parole ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make 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.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfce4 Terminal Avhengigheter

Påkrevd

libxfce4ui-4.20.0 og VTE-0.78.4

Installasjon av Xfce4 Terminal

Installer Xfce4 Terminal 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-terminal
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/xfce4/terminal

Korte Beskrivelser

xfce4-terminal

er en GTK+ 3 terminalemulator

Xfburn-0.7.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfburn Avhengigheter

Påkrevd

Exo-4.20.0, libburn-1.5.6, libisofs-1.5.6, og libxfce4ui-4.20.0

Valgfri

gst-plugins-base-1.24.12 og Cdrdao-1.2.4 (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.3

Introduksjon til Ristretto

Ristretto er en rask og lett bildeviser for Xfce skrivebordet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ristretto Avhengigheter

Påkrevd

libexif-0.6.25 og libxfce4ui-4.20.0

Valgfri

tumbler-4.20.0 (kjøretid)

Installasjon av Ristretto

Installer Ristretto 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: 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

The Xfce4 Varslingsnisse Avhengigheter

Påkrevd

libnotify-0.8.4, libxfce4ui-4.20.0, libcanberra-0.30, SQLite-3.49.1, xfce4-dev-tools-4.20.0, og xfce4-panel-4.20.3

Installasjon av Xfce4 Varslingsnissen

Installer Xfce4 Varslingsnissen 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

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.4.9

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Xfce4 Pulseaudio Programtillegg Avhengigheter

Påkrevd

libnotify-0.8.4, PulseAudio-17.0, og xfce4-panel-4.20.3

Anbefalt

Installasjon av Xfce4 Pulseaudio Programtillegget

Installer Xfce4 Pulseaudio Programtillegg 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: 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.8.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.1.0 er anbefalt.

KF6, Plasma og Diverse Avhengigheter

kwindowsystem-6.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.11.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

kwindowsystem Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0, plasma-wayland-protocols-1.16.0, Qt-6.8.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.11.0 for lxqt

Introduksjon til kconfig

kconfig pakken gir tilgang til konfigurasjonsfiler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.11.0 er bygget, IKKE bygg denne pakken som er presentert her også.

Pakkeinformasjon

kconfig Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0 og Qt-6.8.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.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.11.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

solid Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0 og Qt-6.8.2

Valgfri (kjøretid)

UDisks-2.10.1, UPower-1.90.7, 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.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.11.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

kidletime Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0, plasma-wayland-protocols-1.16.0, og Qt-6.8.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.3.2 for lxqt

Introduksjon til kwayland

kwayland er en Qt stil API å samhandle med wayland-client og wayland-server API.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Viktig

Denne pakken er hentet fra KF6 settet med pakker. Hvis KDE Frameworks-6.11.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

kwayland Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0, Mesa-24.3.4 (bygget med Wayland-1.23.0 støtte), plasma-wayland-protocols-1.16.0, og Qt-6.8.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.3.2 for lxqt

Introduksjon til libkscreen

libkscreen pakken inneholder KDE Skjermbehandlingsbiblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Viktig

Denne pakken er trukket ut fra plasma settet med pakker. Hvis Plasma-6.3.2 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

libkscreen Avhengigheter

Påkrevd

kwayland-6.3.2 for lxqt, plasma-wayland-protocols-1.16.0, og Qt-6.8.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

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.3.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Viktig

Denne pakken er hentet fra plasmasettet med pakker. Hvis Plasma-6.3.2 er bygget, IKKE bygg også denne pakken som presentert her.

Pakkeinformasjon

layer-shell-qt Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0 og Qt-6.8.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++.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

muparser Avhengigheter

Påkrevd

CMake-3.31.5

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.1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-build-tools Avhengigheter

Påkrevd

CMake-3.31.5 og Qt-6.8.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

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.2.0

Introduksjon til libdbusmenu-lxqt

libdbusmenu-lxqt pakken gir en Qt implementering av DBusMenu protokollen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libdbusmenu-lxqt Avhengigheter

Påkrevd

CMake-3.31.5

Valgfri

Doxygen-1.13.2 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.13.2 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.1.0

Introduksjon til libqtxdg

libqtxdg pakken inneholder en Qt implementering av freedesktop.org XDG spesifikasjonene.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libqtxdg Avhengigheter

Påkrevd

CMake-3.31.5 og Qt-6.8.2

Valgfri (kjøretid)

GTK-3.24.48 (for gtk-update-icon-cache) og xterm-397

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.1.0

Introduksjon til lxqt-menu-data

lxqt-menu-data pakken inneholder kompatible menyfiler for LXQt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-menu-data Avhengigheter

Påkrevd

lxqt-build-tools-2.1.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.1.0

Introduksjon til liblxqt

liblxqt er kjerneverktøysbiblioteket for alle LXQt komponenter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

liblxqt Avhengigheter

Påkrevd

libqtxdg-4.1.0, kwindowsystem-6.11.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libsysstat Avhengigheter

Påkrevd

lxqt-build-tools-2.1.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.1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

qtxdg-tools Avhengigheter

Påkrevd

libqtxdg-4.1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libfm-extra Avhengigheter

Påkrevd

GLib-2.82.5

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Meny Cache Avhengigheter

Påkrevd

libfm-extra-1.3.2

Valgfri

GTK-Doc-1.34.0 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.1.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libfm-qt Avhengigheter

Påkrevd

CMake-3.31.5, libexif-0.6.25, menu-cache-1.1.1, og Qt-6.8.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.1.0

Introduksjon til lxqt-globalkeys

lxqt-globalkeys pakken inneholder en nisse som brukes til å registrere globale hurtigtaster samt et redigeringsprogram for tastatursnarveier.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-globalkeys Avhengigheter

Påkrevd

liblxqt-2.1.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.1.0

Introduksjon til lxqt-qtplugin

lxqt-qtplugin pakken gir en LXQt Qt plattform integrerings programtillegg.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-qtplugin Avhengigheter

Påkrevd

libfm-qt-2.1.0, liblxqt-2.1.0, og libdbusmenu-lxqt-0.2.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.1.4

Introduksjon til lxqt-panel

lxqt-panel pakken inneholder en lettvekts X11 skrivebordspanel.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-panel Avhengigheter

Påkrevd

layer-shell-qt-6.3.2 for lxqt, libdbusmenu-lxqt-0.2.0, liblxqt-2.1.0, lxqt-globalkeys-2.1.0, lxqt-menu-data-2.1.0, solid-6.11.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.1.0

Introduksjon til pcmanfm-qt

pcmanfm-qt er en filbehandler og skrivebord ikonbehandler (en Qt overføring av pcmanfm og libfm).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

pcmanfm-qt Avhengigheter

Påkrevd

layer-shell-qt-6.3.2 for lxqt, liblxqt-2.1.0, libfm-qt-2.1.0, og lxqt-menu-data-2.1.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.1.0

Introduksjon til lxqt-powermanagement

lxqt-powermanagement pakken gir strømstyringsmodul for LXQt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-powermanagement Avhengigheter

Påkrevd

liblxqt-2.1.0, kidletime-6.11.0 for lxqt, solid-6.11.0 for lxqt, og UPower-1.90.7

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.1.2

Introduksjon til lxqt-runner

lxqt-runner pakken gir et verktøy som brukes for å starte programmer raskt ved å skrive inn navnene deres.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-runner Avhengigheter

Påkrevd

lxqt-globalkeys-2.1.0, kwindowsystem-6.11.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.1.0

Introduksjon til lxqt-themes

lxqt-themes pakken gir en rekke grafikkfiler og temaer for LXQt skrivebordet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-themes Avhengigheter

Påkrevd

lxqt-build-tools-2.1.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.1.0

Introduksjon til lxqt-admin

lxqt-admin pakken inneholder to GUI verktøy for å justere innstillingene for operativsystemet LXQt kjører på.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-admin Avhengigheter

Påkrevd

liblxqt-2.1.0 og Polkit-126

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.1.0

Introduksjon til lxqt-about

lxqt-about pakken gir den frittstående LXQt «Om» dialogen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-about Avhengigheter

Påkrevd

liblxqt-2.1.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.1.1

Introduksjon til lxqt-config

lxqt-config pakken gir LXQt Konfigurasjonssenter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-config Avhengigheter

Påkrevd

liblxqt-2.1.0, kconfig-6.11.0 for lxqt, libkscreen-6.3.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.1.0

Introduksjon til lxqt-policykit

lxqt-policykit pakken er LXQt sin Regelsettagent.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-policykit Avhengigheter

Påkrevd

liblxqt-2.1.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.1.0

Introduksjon til lxqt-sudo

lxqt-sudo pakken er et grafisk grensesnitt for sudo og su henholdsvis.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-sudo Avhengigheter

Påkrevd

liblxqt-2.1.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.1.0

Introduksjon til lxqt-openssh-askpass

lxqt-openssh-askpass pakken er en GUI for å spørre om legitimasjon på vegne av andre programmer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-openssh-askpass Avhengigheter

Påkrevd

liblxqt-2.1.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.1.1

Introduksjon til lxqt-session

lxqt-session pakken inneholder standard øktbehandler for LXQt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-session Avhengigheter

Påkrevd

liblxqt-2.1.0, qtxdg-tools-4.1.0, og Xdg-user-dirs-0.18

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-3.7.1 er ikke en god erstatning. Fluxbox fungerer, skjønt i denne sammenhengen (med lxqt-config-2.1.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

xdg-desktop-portal-lxqt-1.1.0

Introduksjon til xdg-desktop-portal-lxqt

xdg-desktop-portal-lxqt er et bakstykke for xdg-desktop-portal, som bruker Qt biblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xdg-desktop-portal-lxqt Avhengigheter

Påkrevd

libfm-qt-2.1.0, kwindowsystem-6.11.0 for lxqt, og xdg-desktop-portal-1.20.0 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

obconf-qt Avhengigheter

Påkrevd

hicolor-icon-theme-0.18, lxqt-build-tools-2.1.0, openbox-3.6.1, og Qt-6.8.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.3.2. Merk at IceWM-3.7.1 er ikke egnet for LXQt.

Anbefalt
Valgfri

lightdm-1.32.0 eller en annen Skjermbehandler, f.eks. sddm-0.21.0, eller XScreenSaver-6.09

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

Du kan starte LXQt fra en TTY, ved hjelp av xinit-1.4.3, eller ved å bruke en grafisk skjermbehandler som f.eks lightdm-1.32.0.

For å starte LXQt ved hjelp av xinit-1.4.3, 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

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.1.1

Introduksjon til lximage-qt

lximage-qt pakken inneholder en lettvekts bildeviser og skjermbildeprogram.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lximage-qt Avhengigheter

Påkrevd

libfm-qt-2.1.0

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.1.0

Introduksjon til lxqt-archiver

lxqt-archiver pakken er en enkel og lettvekts skrivebordagnostisk Qt filarkiver.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-archiver Avhengigheter

Påkrevd

libfm-qt-2.1.0, liblxqt-2.1.0, og JSON-GLib-1.10.6

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.1.1

Introduksjon til lxqt-notificationd

lxqt-notificationd pakken er LXQt varslingsnisse.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

lxqt-notificationd Avhengigheter

Påkrevd

liblxqt-2.1.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.1.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

pavucontrol-qt Avhengigheter

Påkrevd

liblxqt-2.1.0 og PulseAudio-17.0 (bygget med GLib-2.82.5 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.10.0

Introduksjon til qps

qps pakken inneholder en Qt prosessbehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

qps Avhengigheter

Påkrevd

liblxqt-2.1.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.1.0

Introduksjon til qtermwidget

Som navnet tilsier, qtermwidget pakke er et terminalskjermelement for Qt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

qtermwidget Avhengigheter

Påkrevd

Qt-6.8.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.1.0

Introduksjon til qterminal

qterminal pakken inneholder et Qt skjermelement basert terminalemulator for Qt med støtte for flere faner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

qterminal Avhengigheter

Påkrevd

qtermwidget-2.1.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-2.9.0

Introduksjon til screengrab

screengrab pakken er et kryssplattformverktøy for å lage skjermbilder raskt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

screengrab Avhengigheter

Påkrevd

kwindowsystem-6.11.0 for lxqt og libqtxdg-4.1.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.

AbiWord-3.0.5

Introduksjon til AbiWord

AbiWord er en tekstbehandler som er nyttig for å skrive rapporter, brev og andre formaterte dokumenter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

AbiWord Avhengigheter

Påkrevd

Boost-1.87.0, cURL-8.12.1, FriBidi-1.0.16, GOffice-0.10.59, og wv-1.2.9

Anbefalt
Valgfri

dbus-glib-0.112, evolution-data-server-3.54.3, GLib-2.82.5 (med GObject Introspection), libgcrypt-1.11.0, libical-3.0.19, libsoup-2.74.3, Redland-1.0.17, Valgrind-3.24.0. Aiksaurus, GtkMathView, libchamplain, libwmf, libwpd, libwpg, libwps, Link Grammar Parser, Loudmouth, OTS, Psiconv, og telepathy-glib

Notat

For å aktivere mange av de valgfrie avhengighetene, se gjennom informasjonen fra ./configure --help for nødvendige brytere du må gi til configure skriptet.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/abiword

Installasjon av AbiWord

Først må du fikse en byggefeil når du bruker libxml-2.12.x:

sed -e '/libxml/a #include <libxml/xmlmemory.h>' \
    -i src/af/util/xp/ut_stringbuf.cpp

Installer AbiWord ved å kjøre følgende kommandoer:

sed -e "s/free_suggestions/free_string_list/" \
    -e "s/_to_personal//"                     \
    -e "s/in_session/added/"                  \
    -i src/af/xap/xp/enchant_checker.cpp      &&

./configure --prefix=/usr &&
make

Dette programmet kommer ikke med en funksjonell testpakke.

Nå, som root bruker:

make install

Notat

For å installere de lokale hjelpefilene, en grafisk økt anbefales.

Hvis du ønsker å installere de lokale hjelpefilene, må du først pakke dem ut og bygge dem:

Notat

Den nåværende versjonen av dokumentene utvides til abiword-docs-3.0.1 og ikke det forventede abiword-docs-3.0.2.

tar -xf ../abiword-docs-3.0.2.tar.gz &&
cd abiword-docs-3.0.1                &&
./configure --prefix=/usr            &&
make

og deretter, som root bruker:

make install

Parameterforklaringer

sed ...: Denne kommandoen korrigerer kilden for endringer i avhengigheten enchant-2.8.2.

--enable-plugins="collab openxml goffice grammar": Bygg noen eller alle programtilleggene. Openxml programtillegget aktiverer Abiword til å åpne noen .docx filer. Grammar programtillegget krever Link Grammar Parser

Konfigurere AbiWord

Konfigurasjonsfil

~/.AbiSuite/templates/normal.awt

Konfigurasjonsinformasjon

Velg riktig mal for ditt språk og lokalitet fra listen produsert av følgende kommando:

ls /usr/share/abiword-3.0/templates

Opprett mappen ~/.AbiSuite/templates kopier deretter normal.awt du vil ha inn i den:

install -v -m750 -d ~/.AbiSuite/templates &&
install -v -m640    /usr/share/abiword-3.0/templates/normal.awt-<lang> \
                    ~/.AbiSuite/templates/normal.awt

Forandre <lang> i kommandoen ovenfor til å passe til navnet på filen du ønsker.

Hvis du bruker flere språk, må du kanskje redigere malen til å bruke en font med større dekning (f.eks. en Dejavu fonts, fordi Abiword ikke bruker fontconfig og kan bare vise glyfer som er gitt i den valgte fonten.

Hvis du har desktop-file-utils-0.28 installert, bør du kjøre update-desktop-database kommandoen for å oppdatere mimeinfo hurtiglageret og la hjelpesystemet fungere.

Hvis du har xdg-utils-1.2.1 installert, bør du kjøre xdg-icon-resource forceupdate --theme hicolor kommando, for at det installerte ikonet skal vises i menyelementet.

Innhold

Installert Program: abiword
Installert Bibliotek: libabiword-3.0.so
Installerte Mapper: /usr/include/abiword-3.0, /usr/lib/abiword-3.0, og /usr/share/abiword-3.0

Korte Beskrivelser

abiword

er tekstbehandleren, en innpakning for funksjonene i libabiword-3.0 - den kan også brukes på kommandolinjen, se man 1 abiword

libabiword-3.0.so

gir funksjoner for å få tilgang til MS Word dokumenter

Gnumeric-1.12.59

Introduksjon til Gnumeric

Gnumeric pakken inneholder et regnearkprogram som er nyttig for matematisk analyse.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gnumeric Avhengigheter

Påkrevd

GOffice-0.10.59 og itstool-2.0.7

Anbefalt Kjøretid
Valgfri

DConf-0.40.0 (for å forhindre noen testfeil), GLib-2.82.5 (med GObject Introspection), PyGObject-3.50.0, Valgrind-3.24.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.40.0 bør være installert for å forhindre noen feil. To 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.59, 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.59

gnumeric-1.12.59

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.2.1

Introduksjon til LibreOffice

LibreOffice er en fullverdig kontorpakke. Den er stort sett kompatibel med Microsoft Office og nedstammer fra OpenOffice.org.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Kjernenedlasting: https://download.documentfoundation.org/libreoffice/src/25.2.1/libreoffice-25.2.1.2.tar.xz

  • Kjernenedlasting MD5 sum: 048d0354e6cfdb61c39e7f06cd0ad16c

  • Kjerne Nedlastingsstørrelse: 268 MB

  • Estimert diskplass som kreves: 11.0 GB inkludert tilleggsfilene hvis de ble lastet ned under byggingen (776 MB installert). Å installere hele settet med språk krever mer enn 25 GB (rundt 3 GB installert)

  • Estimert byggetid: 35 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.7.7, 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.15 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-20250127.0, Avahi-0.8, BlueZ-5.79, DConf-0.40.0, desktop-file-utils-0.28, Doxygen-1.13.2 (ikke relevant ved bruk av --disable-odk), evolution-data-server-3.54.3, GDB-16.2, GnuTLS-3.8.9, GTK-4.16.12, KDE Frameworks-6.11.0, libpaper-2.2.6, MariaDB-11.4.5 eller MySQL, MIT Kerberos V5-1.21.3, NASM-2.16.03, Qt-6.8.2, SANE-1.2.1, Valgrind-3.24.0, VLC-3.0.21, Apache Commons Codec, Apache Commons HttpClient, Apache Commons Lang, Apache Commons Logging, BeanShell, box2d, CoinMP, Cppunit, Dragonbox, Firebird, frozen, glyphy, Gnome VFS, hamcrest, Hunspell, Hyphen, iwyu, Java-WebSocket, junit4, libabw, libcdr, libcmis, libebook, libepubgen, libetonyek, libexttextcat, libfixmath, libfreehand, liblangtag, libmspub, libmwaw, libnumbertext, libodfgen, libpagemaker, libqrcodegen, libqxp, librevenge (WordPerfect Document importer), libstaroffice, libvisio, libwpd, libwpg, libwps, libzmf, lp_solve, mdds, MyThes, odfvalidator, officeotron, OpenCOLLADA, Orcus, SystemTap, og VIGRA

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 ICU:

patch -Np1 -i ../libreoffice-25.2.1.2-icu76_fixes-1.patch

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.2.1.2.tar.xz external/tarballs/ &&
ln -sv ../../../libreoffice-help-25.2.1.2.tar.xz         external/tarballs/ &&
ln -sv ../../../libreoffice-translations-25.2.1.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.2.1.2/helpcontent2/ &&
ln -sv src/libreoffice-dictionaries-25.2.1.2/dictionaries/ &&
ln -sv src/libreoffice-translations-25.2.1.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.2.1.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                 \
             --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-jpeg          \
             --with-system-lcms2         \
             --with-system-libatomic_ops \
             --with-system-libpng        \
             --with-system-libxml        \
             --with-system-nss           \
             --with-system-odbc          \
             --with-system-openldap      \
             --with-system-openssl       \
             --with-system-poppler       \
             --with-system-postgresql    \
             --with-system-redland       \
             --with-system-libtiff       \
             --with-system-libwebp       \
             --with-system-icu           \
             --with-system-zlib

Bygg pakken:

make build

Nå, som root bruker:

make distro-pack-install

Hvis installert i /opt/libreoffice-25.2.1.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: Uten denne bryteren, hjelpefilene blir ikke 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.21.3.

--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.24.12.

--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.2 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.8.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.8.2 og/eller KDE Frameworks-6.11.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 systemversjonen av Abseil C++ bibliotekene i stedet for den medfølgende kopien. Legg til denne bryteren hvis Abseil-cpp-20250127.0 er installert og du ønsker å 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-47.3.1

Introduksjon til Epiphany

Epiphany er en enkel, men kraftig GNOME nettleser rettet mot ikke-tekniske brukere. Prinsippene er enkelhet og overholdelse av standarder.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Epiphany Avhengigheter

Påkrevd

Gcr-4.3.1, gnome-desktop-44.1, ISO Codes-4.17.0, JSON-GLib-1.10.6, libadwaita-1.6.4, libportal-0.9.1, Nettle-3.10.1, og WebKitGTK-2.46.6 (bygget med GTK-4)

Valgfri

appstream-glib-0.8.3 og Granite

Kjøretids Avhengigheter

gnome-keyring-46.2 (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-24.12.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

falkon Avhengigheter

Påkrevd

extra-cmake-modules-6.11.0, KDE Frameworks-6.11.0 (for karchive), og qtwebengine-6.8.2

Notat

Strengt tatt er det bare karchive og ki18n som kreves for å bygge falkon, men flere andre pakker i KDE Frameworks-6.11.0 kan brukes hvis de er tilstede. For å bygge kun karchive og ki18n, last ned disse pakkene fra mappen spesifisert i KDE Frameworks-6.11.0 og bruk byggeinstruksjonene på den side, endre $KF6_PREFIX til /usr.

Valgfri

gnome-keyring-46.2, 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-128.7.0esr

Introduksjon til Firefox

Firefox er en frittstående nettleser basert på Mozilla kodebasen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

Mappenavnet er firefox-128.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.28.0, GTK-3.24.48, libnotify-0.8.4, libarchive-3.7.7, LLVM-19.1.7 (med clang, brukes til bindgen selv om man bruker gcc), nodejs-22.14.0, PulseAudio-17.0 (eller alsa-lib-1.2.13 hvis du redigerer mozconfig; nå avviklet av mozilla), i begge tilfeller vennligst les Konfigurasjonsinformasjon, Python-3.13.2 (etter installasjonen av SQLite-3.49.1), 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.12.1, Doxygen-1.13.2, FFmpeg-7.1 (kjøretid, for å spille mov, mp3 eller mp4 files), GeoClue-2.7.2 (kjøretid), liboauth-1.0.3, pciutils-3.13.0 (kjøretid), Valgrind-3.24.0, Wget-1.25.0, Wireless Tools-29, yasm-1.3.0, libproxy

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/firefox

Installasjon av Firefox

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

# startup-notification is required since firefox-78

# 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-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

# The libdav1d library (av1 decoder) requires nasm. Uncomment this
# if nasm has not been installed. Do not uncomment this if you have
# ffmpeg installed.
#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
EOF

Hvis du bygger med systemets ICU, tilpasser du linjeskiftkartleggingen for ICU 74 eller senere. Denne konstruksjonen legger til fem oppføringer til en c++ matrise.

for i in {43..47}; do
   sed -i '/ZWJ/s/}/,CLASS_CHARACTER&/' intl/lwbrk/LineBreaker.cpp 
done

Hvis du bygger med systemets ICU, tilpasse byggesystemet til å bruke riktig bibliotek

sed -i 's/icu-i18n/icu-uc &/' js/moz.configure

Kompiler Firefox ved å kjøre følgende kommandoer:

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

Påkall nå Python mach skript for å kompilere pakken.

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
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=journald& (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.20

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-128.7.0 og Thunderbird-128.7.1esr.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Notat

Tarballen seamonkey-2.53.20.source.tar.xz vil pakke ut i seamonkey-2.53.20 mappen.

Seamonkey Avhengigheter

Påkrevd

Cbindgen-0.28.0, GTK-3.24.48, libarchive-3.7.7, Python-3.11.1, yasm-1.3.0, 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.13, dbus-glib-0.112, nodejs-22.14.0, Valgrind-3.24.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

# 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 the following option

# 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..47}; do
   sed '/ZWJ/s/$/,CLASS_CHARACTER/' -i intl/lwbrk/LineBreaker.cpp || exit $?
done) &&

patch -Np1 -i ../seamonkey-2.53.20-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 &&
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, deaktiver PATH_PY311 variabelen:

unset PATH_PY311

Parameterforklaringer

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.4

Introduksjon til Balsa

Balsa pakken inneholder en GNOME-2 basert e-postklient.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Balsa Avhengigheter

Påkrevd

Aspell-0.60.8.1, enchant-2.8.2, GMime-3.2.7, GPGME-1.24.2, GTK-3.24.48, og libnotify-0.8.4

Påkrevd (Kjøretid)

MTA (som gir en sendmail kommando)

Valgfri

Compface-1.5.2, Gcr-3.41.2, gtksourceview-3.24.11, libcanberra-0.30, libsecret-0.21.6, MIT Kerberos V5-1.21.3, OpenLDAP-2.6.9, Procmail-3.24, SQLite-3.49.1, WebKitGTK-2.46.6, html2text, osmo, rubrica, yelp-tools

Installasjon av Balsa

Først, fiks byggeproblemer når du konfigurerer uten WebKitGTK, eller når det brukes WebKitGTK-2.38 eller nyere.

patch -Np1 -i ../balsa-2.6.4-upstream_fixes-2.patch

Installer Balsa ved å kjøre følgende kommandoer:

./configure --prefix=/usr            \
            --sysconfdir=/etc        \
            --localstatedir=/var/lib \
            --without-html-widget    &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--without-html-widget: Dette alternativet deaktiverer bygging av HTML gjengiveren. Hvis du vil at HTML gjengiveren skal bygges, bekreft at du har WebKitGTK-2.46.6 installert, og fjern så dette alternativet.

--with-canberra: Aktiver libcanberra støtte.

--with-compface: Aktiver compface støtte.

--with-gcr: Bruk libgcr for TLS støtte.

--with-gss: Aktiver GSSAPI støtte.

--with-ldap: Bruk dette alternativet for å aktivere LDAP adressebokstøtte hvis OpenLDAP er installert.

--with-libsecret: Aktiver sterkt passord støtte og støtte for gnome-keyring til å lagre passord.

--with-sqlite: Bruk dette alternativet for å aktivere SQLite adressebokstøtte hvis SQLite 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 glib-basert e-postklient

balsa-ab

er adressebokapplikasjonen som brukes av balsa

feh-3.10.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://feh.finalrewind.org/feh-3.10.3.tar.bz2

  • Nedlasting MD5 sum: 4f9e2c6ecc120852ba86dc41df366aba

  • 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.46 og imlib2-1.12.3 (bygget med giflib-5.2.2 støtte, for tester)

Anbefalt
Valgfri

libexif-0.6.25

Valgfri (kjøretid)

libjpeg-turbo-3.0.1 (for tapsfri bilderotasjon) og ImageMagick-7.1.1-43 (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.10.3:" 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.10.3:" 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.10.3 og /usr/share/feh

Korte Beskrivelser

feh

er en bildeviser og katalogiser

FontForge-20230101

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

FontForge Avhengigheter

Påkrevd

libspiro-20220722 og libxml2-2.13.6

Anbefalt
Valgfri

giflib-5.2.2, git-2.48.1, libjpeg-turbo-3.0.1, libtiff-4.7.0, sphinx-8.2.1 (for å bygge html dokumentasjon), og WOFF2-1.0.2

Installasjon av FontForge

Først, fiks to sikkerhetssårbarheter i Splinefont-funksjonaliteten:

patch -Np1 -i ../fontforge-20230101-security_fixes-1.patch

Deretter løser du et problem med gamle oversettelser som er eksponert av gettext-0.22:

sed -i.orig 's/\(%[^%[:space:]]*\)hs/\1s/g' \
 fontforgeexe/searchview.c po/de.po po/ca.po \
 po/hr.po po/it.po po/pl.po po/uk.po po/en_GB.po \
 po/fr.po po/vi.po po/ko.po po/ja.po

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-20230101

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.

-D ENABLE_X11=ON: bruk et X11 bakstykke i stedet for GDK3 (gtk+-3) for grunnleggende Xorg grafikk.

Innhold

Installerte Programmer: fontforge, fontimage, fontlint og sfddiff
Installert Bibliotek: libfontforge.so og /usr/lib/python3.13.2/site-packages/{fontforge,psMat}.so
Installerte Mapper: /usr/share/fontforge og valgfri /usr/share/doc/fontforge{,-20230101}

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.12.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

FreeRDP Avhengigheter

Påkrevd

FFmpeg-7.1, ICU-76.1, og Xorg Biblioteker

Anbefalt
Valgfri

Cups-2.4.11, faac-1.31, FAAD2-2.11.1, fdk-aac-2.0.3, LAME-3.100, Linux-PAM-1.7.0, PulseAudio-17.0, cJSON, GSM, ocl-icd, mbedTLS, openh264, pcsclite, SDL_ttf, 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.0-RC3

Introduksjon til Gimp

Gimp pakken inneholder GNU Image Manipulation Program som er nyttig for fotoretusjering, bildekomposisjon og bildeforfatting.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Notat

Engelsk versjon av hjelpefilene er fullført, men store deler av teksten for mange andre språk er ennå ikke oversatt.

Gimp Avhengigheter

Påkrevd

appstream-glib-0.8.3, gegl-0.4.54, gexiv2-0.14.3, glib-networking-2.80.1, GTK-3.24.48, harfBuzz-10.4.0, libmypaint-1.6.1, librsvg-2.59.2, libtiff-4.7.0, libxml2-2.13.6 (for å bygge de oversatte hjelpefilene), Little CMS-2.17, mypaint-brushes-1.3.1, og Poppler-25.02.0 (inkludert poppler-data)

Anbefalt
Valgfri

AAlib-1.4rc5, alsa-lib-1.2.13, AppStream-1.0.4 (for en test), Gi-DocGen-2025.3, Gjs-1.82.1, libjxl-0.11.1, libmng-2.0.3, libunwind-1.8.1, libwebp-1.5.0, Lua-5.4.7, OpenJPEG-2.5.3, cfitsio, libbacktrace, libiff, libilbm, libheif med libde265 (begge trengtes for å lese macOS heic bilder), 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. Hvis du kjører testene i en Wayland-økt, en deltest navngitt keyboard_zoom_focus i ui testen er kjent for å mislykkes.

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.48 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 ../../gimp3-help-20240711.tar.xz &&
cd gimp3-help-20240711

automake --add-missing

ALL_LINGUAS="ca cs da de en en_GB es fa fr hr ko lt nl nn pt pt_BR ro sl sv uk zh_CN" \
./configure --prefix=/usr

Fjern fra ALL_LINGUAS kodene for alle språk som du ikke ønsker å installere. Alternativt kan du fjerne linjen som begynner med ALL_LINGUAS, hvis du ønsker å bygge alle språk.

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.

ALL_LINGUAS="ca cs da de en en_GB es fa...": som standard vil hjelpefilene gjengis på alle tilgjengelige språk. Fjern kodene for alle språk du ikke ønsker å bygge.

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.7.0

Introduksjon til Gparted

Gparted er Gnome Partisjonsredigering, en Gtk 3 GUI for andre kommandolinje verktøy som kan opprette, omorganisere eller slette diskpartisjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gparted Avhengigheter

Påkrevd

Gtkmm-3.24.9 og parted-3.6

Valgfri

btrfs-progs-6.13 (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.13, dosfstools-4.2, e2fsprogs (installert som del av LFS), jfsutils-1.1.15, xfsprogs-6.13.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-9.9p2.

ssh-askpass

Til valgfritt å bruke ssh-askpass-9.9p2 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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Notat

Tarballen inkscape-1.4.tar.xz vil pakke ut til mappen inkscape-1.4_2024-10-09_e7c3feb100/.

Inkscape Avhengigheter

Påkrevd

Boost-1.87.0, double-conversion-3.3.1, GC-8.2.8, gsl-2.8, Gtkmm-3.24.9, libsoup-2.74.3, libxslt-1.1.42, Poppler-25.02.0, og popt-1.19

Anbefalt
Valgfri

Aspell-0.60.8.1, dbus-1.16.0 (for å kjøre inkscape fra skript), Doxygen-1.13.2, gspell-1.14.0, GraphicsMagick, libcdr, libvisio, libwpg (eller libwpd)

Installasjon av Inkscape

Først, fiks byggefeil med nyere versjoner av poppler:

patch -Np1 -i ../inkscape-1.4-poppler_fixes-2.patch

Installer Inkscape 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 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.48 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.

-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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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 og check hvor tester bruker dette signalet vil mislykkes.

Pakkeinformasjon

rxvt-unicode Avhengigheter

Påkrevd

libptytty-2.0 og et grafiske miljø

Valgfri

gdk-pixbuf-2.42.12 (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-128.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Thunderbird Avhengigheter

Påkrevd

Cbindgen-0.28.0, GTK-3.24.48, libarchive-3.7.7, LLVM-19.1.7 inkludert clang, nodejs-22.14.0, PulseAudio-17.0 (eller alsa-lib-1.2.13 hvis du redigerer mozconfig; selv om det nå er avviklet av mozilla), Python-3.13.2 (gjenoppbygd med sqlite modulen), 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

pciutils-3.13.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

# 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-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

# 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

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.15.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-3.31.5, FLTK-1.4.2, GnuTLS-3.8.9, libgcrypt-1.11.0, libjpeg-turbo-3.0.1, Pixman-0.44.2, Systemd-257.3 (med Linux-PAM-1.7.0), Xorg Applikasjoner, xinit-1.4.3, og Xorg Legacy Fonts

Anbefalt

Installasjon av Tigervnc

Først må du justere konfigurasjonsfilene for å gjøre dem kompatibel med LFS systemer:

patch -Np1 -i ../tigervnc-1.15.0-configuration_fixes-1.patch

Nå, gjør pakken i samsvar med fltk-1.4.1 og senere:

sed -i "s/maximize)/::&/"         vncviewer/DesktopWindow.cxx &&
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.16.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  \
      -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.15.0

#Install server
( cd unix/xserver/hw/vnc && make install ) &&

[ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc

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

Server Konfigurasjon

På systemd systemer er en annen metode for konfigurasjon tilgjengelig. Denne konfigurasjonen gir den ekstra fordelen ved å lage tigervnc systemd klar for VNC økter og tillater skrivebordsmiljøer som GNOME å autostarte tjenester når VNC økten er startet. Denne konfigurasjonen gir også den ekstra fordelen av å starte VNC økter ved systemoppstart. For å sette opp VNC serveren på denne måten, følg disse instruksjonene.

Installer først en rudimentær Xsession fil slik at VNC serveren kan initialisere X økter riktig:

install -vdm755 /etc/X11/tigervnc &&
install -v -m755 ../Xsession /etc/X11/tigervnc

Deretter setter du opp en brukertilordning i /etc/tigervnc/vncserver.users. Dette forteller VNC Server hvilken økt som er tildelt til en bruker.

echo ":1=$(whoami)" >> /etc/tigervnc/vncserver.users

Deretter setter du opp en konfigurasjonsfil for å fortelle vncserver hvilket skrivebordsmiljø skal bli brukt og hvilken skjermgeometri som skal brukes. Det er flere andre alternativer som kan defineres i denne filen, men de er utenfor omfanget av BLFS.

install -vdm 755 ~/.vnc &&
cat > ~/.vnc/config << EOF
# Begin ~/.vnc/config
# The session must match one listed in /usr/share/xsessions.
# Ensure that there are no spaces at the end of the lines.

session=lxqt
geometry=1024x768

# End ~/.vnc/config
EOF

For å starte VNC Server, kjør følgende kommando:

systemctl start vncserver@:1

For å starte VNC Server når systemet starter opp, kjør følgende kommando:

systemctl enable vncserver@:1

Innhold

Installerte Programmer: Xvnc, vncconfig, vncpasswd, vncserver, vncviewer, og x0vncserver
Installerte Biblioteker: libvnc.so
Installerte Mapper: /usr/share/doc/tigervnc-1.15.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.0.6

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Transmission Avhengigheter

Påkrevd

cURL-8.12.1

Anbefalt
Anbefalt (for å bygge en GUI)
Valgfri

nodejs-22.14.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

Først, fiks en byggefeil på grunn av feil utsagn i CMakeLists.txt:

patch -Np1 -i ../transmission-4.0.6-build_fix-1.patch

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.0.6 \
      .. &&

make

Nå, som root bruker:

make install

Neste, hvis Gtkmm-4.16.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.8.2 er installert.

-D ENABLE_GTK=OFF: Denne bryteren deaktiverer bygging av GTK-4 grensesnittet. Standard er å bygge den hvis Gtkmm-4.16.0 er installert.

-D ENABLE_WEB=OFF: Denne bryteren deaktiverer bygging av nettklienten. Standard er å bygge den hvis nodejs-22.14.0 er installert.

-D REBUILD_WEB=ON: Denne bryteren tvinger ombygging av nettklienten. Dette alternativet trenger nodejs-22.14.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.0.6

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.23

Introduksjon til xarchiver

XArchiver er en GTK+ arkivbehandler med støtte for tar, xz, bzip2, gzip, zip, 7z, rar, lzo og mange andre arkivformater.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.48

Valgfri (Kjøretid)

7zip-24.09, cpio-2.15, LZO-2.10, UnRar-7.1.5, Zip-3.0, og unzip

Installasjon av xarchiver

BLFS gir unzip som en symbolkobling til bsdunzip fra libarchive-3.7.7, men det fungerer ikke for xarchiver. Tilpass xarchiver til å bruke 7zip-24.09 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.23 &&
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.48 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.2 er installert.

Innhold

Installert Program: xarchiver
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/xfce4/thunar-archive-plugin, /usr/share/doc/xarchiver-0.5.4.23, 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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.0

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.09

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

XSkjermsparer Avhengigheter

Påkrevd

GTK-3.24.48 og Xorg Applikasjoner

Anbefalt
Valgfri

GDM-47.0, FFmpeg-7.1, Linux-PAM-1.7.0, MIT Kerberos V5-1.21.3, og GLE

Installasjon av XSkjermsparer

Installer XSkjermsparer ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
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.13

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

ALSA Bibliotekets Avhengigheter

Anbefalt (Kjøretid)

Systemd-257.3

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.13.2 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.13.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.13/html/search &&
install -v -m644 doc/doxygen/html/*.* \
                /usr/share/doc/alsa-lib-1.2.13/html &&
install -v -m644 doc/doxygen/html/search/* \
                /usr/share/doc/alsa-lib-1.2.13/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.13

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ALSA Plugins Avhengigheter

Påkrevd

alsa-lib-1.2.13

Valgfri

FFmpeg-7.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.13

Introduksjon til ALSA Verktøy

ALSA Verktøy pakken inneholder ulike verktøy som er nyttige for å kontrollere lydkort.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ALSA Verktøy Avhengigheter

Påkrevd

alsa-lib-1.2.13

Valgfri

docutils-0.21.2, fftw-3.3.10, libsamplerate-0.2.2, xmlto-0.0.29, og Dialog

Installasjon av ALSA Verktøy

Rett først et problem i de distribuerte udev reglene:

sed -e 's/acp-pdm-dmic/acp-dmic-codec/'                   \
    -e '/LABEL="alsa_restore_go"/s/go/std/'               \
    -e '/^ENV.ALSA_CARD_NUMBER/i LABEL="alsa_restore_go"' \
    -i alsactl/90-alsa-restore.rules.in

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

Innhold

Installerte Programmer: aconnect, alsactl, alsaloop, alsamixer, alsatplg, alsaucm, alsa-info.sh, amidi, amixer, aplay, aplaymidi, arecord (symlink), arecordmidi, aseqdump, aseqnet, axfer, iecset, og speaker-test
Installerte Biblioteker: Ingen
Installerte Mapper: /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

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

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

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

speaker-test

er en kommandolinje høyttalertest tonegenerator for ALSA

alsa-tools-1.2.11

Introduksjon til ALSA Verktøy

ALSA Verktøy pakken inneholder avanserte verktøy for enkelte lydkort.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ALSA Verktøy Avhengigheter

Påkrevd

alsa-lib-1.2.13

Valgfri

GTK-3.24.48 (for å bygge hdajackretask), FLTK-1.4.2 (for å bygge hdspconf og hdspmixer), og GTK+-2 (for å bygge echomixer, envy24control, og rmedigicontrol)

Installasjon av ALSA Verktøy

Notat

Når du installerer flere pakker i et skript, installasjonen må 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.16p2 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 envy24control 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, 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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ALSA Firmware Avhengigheter

Påkrevd

alsa-tools-1.2.11

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

AudioFile Avhengigheter

Påkrevd

alsa-lib-1.2.13

Anbefalt
Valgfri

asciidoc-10.2.1 og Valgrind-3.24.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

faac-1.31

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

På GitHub har vi splittet oppstrømsdepotet til vårt eget lfs-book navneområde og gjenskapte en tag for utgivelsen. Dette gjøres for å sikre at det nedlastede tarball filnavnet er korrekt og konsistent (dvs. det skal ikke endres når du bruker nettleseren i stedet for et verktøy som f.eks. 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åkatalogen (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.13 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.1 pakken og spill av den dekodede filen (krever aplay programmet fra alsa-utils-1.2.13 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.1

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

FAAD2 Avhengigheter

Påkrevd

CMake-3.31.5

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.13 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

FLAC Avhengigheter

Valgfri

libogg-1.3.5, DocBook-utils-0.6.14, Doxygen-1.13.2, og Valgrind-3.24.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-plugins-1.8.0

Introduksjon til Frei0r-plugins

Frei0r er en minimalistisk programtillegg API for videoeffekter. Merk at 0-en i navnet er en null, ikke en stor bokstav o.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Frei0r-plugins Avhengigheter

Anbefalt

gavl-1.4.0

Valgfri

Doxygen-1.13.2 og opencv-4.11.0

Installasjon av Frei0r-plugins

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 130 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gavl Avhengigheter

Påkrevd

libpng-1.6.46

Valgfri

Doxygen-1.13.2

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.24.12

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.24.12 og en av God, Dårlig, Stygg eller Libav programtillegg.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

gstreamer Avhengigheter

Påkrevd

GLib-2.82.5 (GObject Introspection påkrevd for GNOME)

Valgfri

GTK-3.24.48 (for eksempler), gsl-2.8 (brukes av en test hvis installert), libunwind-1.8.1, rustc-1.85.0 (for IEEE 1588:2008 PTP klokke støtte), Valgrind-3.24.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.24.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GStreamer Grunnleggende Programtillegg Avhengigheter

Påkrevd

gstreamer-1.24.12

Anbefalt
Valgfri

graphene-1.10.8, GTK-3.24.48 (for eksempler), Opus-1.5.2, SDL2-2.30.11, Valgrind-3.24.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. Fem tester kan gi tidsavbrudd på enkelte systemer avhengig av grafikkmaskinvare og hastighet. En test, elements_appsrc, er kjent for å mislykkes på enkelte systemer.

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.24.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GStreamer Gode Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.24.12

Anbefalt
Valgfri

AAlib-1.4rc5, GTK-3.24.48 (for eksempler), libdv-1.0.0, Qt-6.8.2, Speex-1.2.1, taglib-2.0.2, Valgrind-3.24.0, v4l-utils-1.28.1, Wayland-1.23.0, alsa-oss, hotdoc, JACK, libcaca, libavc1394, libiec61883, libraw1394, libshout, 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.24.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GStreamer Dårlige Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.24.12

Anbefalt
Valgfri

BlueZ-5.79, cURL-8.12.1, faac-1.31, FAAD2-2.11.1, fdk-aac-2.0.3, GTK-3.24.48 (for eksempler), gst-plugins-good-1.24.12 (for en test), JSON-GLib-1.10.6, Little CMS-2.17, libaom-3.12.0, libass-0.17.3, libexif-0.6.25 (for en test), librsvg-2.59.2, libsoup-2.74.3 (for en test), libsndfile-1.2.2, libssh2-1.11.1, libusb-1.0.27, libwebp-1.5.0, libxkbcommon-1.8.0, neon-0.34.0, Nettle-3.10.1 eller libgcrypt-1.11.0 (for SSL støtte i hls programtillegget, hvis begge ikke er installert vil OpenSSL brukes i stedet), opencv-4.11.0 (med tilleggsmoduler), OpenJPEG-2.5.3, Opus-1.5.2, qrencode-4.1.1, SBC-2.0, sdl12-compat-1.2.68, Valgrind-3.24.0, både Vulkan-Loader-1.4.304 og glslc from shaderc-2024.4 (for Vulkan programtillegg), Wayland-1.23.0 (GTK-3.24.48 må bli kompilert med wayland støtte), x265-4.1, zxing-cpp-2.3.0, bs2b, Chromaprint, dssim, Flite, FluidSynth, Game Music Emu, GSM, hotdoc, LADSPA, ldacBT, libajantv2, libavtp, libdc1394-2, libdca, libde265, libkate, libmfx, libmms, libmodplug, libnice, libofa, libopenmpt, libopenni, 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. En test, elements_dash_mpd, er kjent for å mislykkes. Hvis gst-plugins-good-1.24.12 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.24.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GStreamer Stygge Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.24.12

Anbefalt
Valgfri

libmpeg2-0.5.1, libcdio-2.1.0 (for CD-ROM tilgang til stasjonen), Valgrind-3.24.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-libav-1.24.12

Introduksjon til GStreamer Libav

GStreamer Libav pakken inneholder GStreamer programtillegg for Libav (en forgrening av FFmpeg).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

GStreamer Libav Avhengigheter

Påkrevd

FFmpeg-7.1 og gst-plugins-base-1.24.12

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-24.4.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. Dette inkluderer støtte for en rekke kodeker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

På GitHub har vi splittet oppstrømsdepotet til vårt eget lfs-book navneområde og gjenskapte en tag for utgivelsen. Dette gjøres for å sikre at det nedlastede tarball filnavnet er korrekt og konsistent (dvs. det skal ikke endres når du bruker nettleseren i stedet for et verktøy som f.eks. 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åkatalogen (som Git ikke sporer).

intel-media-driver Avhengigheter

Påkrevd

CMake-3.31.5, gmmlib-22.5.5, libva-2.22.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]

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,XE2_HPG}=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,LNG,BMG,XE2_HPG}=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.13.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 INSTALL_DRIVER_SYSCONF=OFF        \
      -D BUILD_TYPE=Release                \
      -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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

intel-vaapi-driver Avhengigheter

Påkrevd

libva-2.22.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]

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Libao Avhengigheter

Valgfri

et grafiske miljø, alsa-lib-1.2.13, 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.12.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libaom Avhengigheter

Anbefalt
Valgfri

Doxygen-1.13.2

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 før du tester denne pakken.

Installasjon av libaom

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

For å teste resultatene, utsted: ninja testdata && ninja runtests. Merk at testene tar ekstremt lang tid å kjøre.

Nå, som root bruker:

ninja install &&
rm -v /usr/lib/libaom.a

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.13.2.

-D ENABLE_NASM=yes: Bruk denne bryteren hvis du har både yasm-1.3.0 og NASM-2.16.03 installert og ønsker å bruke nasm i stedet for yasm.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libaom.so
Installerte Mapper: /usr/include/aom

Korte Beskrivelser

libaom.so

inneholder funksjoner som gir en referanseimplementering av AV1 kodeken

libass-0.17.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libass Avhengigheter

Påkrevd

FreeType-2.13.3 og FriBidi-1.0.16

Anbefalt
Valgfri

harfBuzz-10.4.0 og libunibreak

Installasjon av libass

Installer libass 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.

--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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/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

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

libdvdcss-1.4.3

Introduksjon til libdvdcss

libdvdcss er et enkelt bibliotek designet for å få tilgang til DVDer som en blokkenhet uten å måtte bry deg om dekrypteringen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libdvdcss Avhengigheter

Valgfri (for å lage dokumentasjon)

Doxygen-1.13.2

Installasjon av libdvdcss

Installer libdvdcss ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libdvdcss-1.4.3 &&
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: libdvdcss.so
Installerte Mapper: /usr/include/dvdcss og /usr/share/doc/libdvdcss-1.4.3

Korte Beskrivelser

libdvdcss.so

gir funksjonaliteten som kreves for transparent DVD-tilgang med CSS-dekryptering

Libdvdread-6.1.3

Introduksjon til Libdvdread

libdvdread er et bibliotek som gir et enkelt grunnlag for lesing av DVDer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av Libdvdread

Installer libdvdread ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libdvdread-6.1.3 &&
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: libdvdread.so
Installerte Mapper: /usr/include/dvdread og /usr/share/doc/libdvdread-6.1.3

Korte Beskrivelser

libdvdread.so

gir funksjonalitet som kreves for å få tilgang til DVDer

Libdvdnav-6.1.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Libdvdnav Avhengigheter

Påkrevd

libdvdread-6.1.3

Installasjon av Libdvdnav

Installer libdvdnav ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libdvdnav-6.1.1 &&
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: libdvdnav.so
Installerte Mapper: /usr/include/dvdnav og /usr/share/doc/libdvdnav-6.1.1

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Libdv Avhengigheter

Valgfri

popt-1.19, sdl12-compat-1.2.68, og et grafiske miljø

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

libgstgtk4 fra gst-plugins-rs-1.24.12

Introduksjon til libgstgtk4

libgstgtk4 pakken inneholder et bibliotek som binder gstreamer multimedia rammeverket til GTK-4.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libgstgtk4 Avhengigheter

Påkrevd

git-2.48.1, gst-plugins-base-1.24.12, GTK-4.16.12, og rustc-1.85.0

Notat

En Internett-tilkobling er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.15 før du bygger denne pakken.

Installasjon av libgstgtk4

Installer libgstgtk4 ved å kjøre følgende kommandoer:

cd video/gtk4 &&
cargo build --release

Denne pakken kommer ikke med en testpakke, men grunnleggende funksjonalitet kan testes etter installasjon.

Nå, som root bruker:

install -vm755 ../../target/release/libgstgtk4.so /usr/lib/gstreamer-1.0

For å teste den grunnleggende funksjonaliteten til pakken, 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: libgstgtk4.so
Installerte Mapper: Ingen

Korte Beskrivelser

libgstgtk4.so

gir en binding mellom GTK-4 og gstreamer multimedia rammeverket

libmad-0.15.1b

Introduksjon til libmad

libmad er en høy kvalitet MPEG lyddekoder med 24-bits utdata.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libmpeg2 Avhengigheter

Valgfri

et grafiske miljø og sdl12-compat-1.2.68

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

libmusicbrainz Avhengigheter

Påkrevd

CMake-3.31.5, libxml2-2.13.6 og neon-0.34.0

Valgfri

Doxygen-1.13.2

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 .. &&
make

Hvis du har installert Doxygen-1.13.2, 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.5

Introduksjon til libogg

libogg pakken inneholder Ogg fil struktur. Dette er nyttig for å lage (koding) eller spille (dekoding) en enkelt fysisk bitstrøm.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av libogg

Installer libogg ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libogg-1.3.5 &&
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.5

Korte Beskrivelser

libogg.so

gir funksjonene som kreves for at programmer skal lese eller skrive Ogg formaterte bitstrømmer

libplacebo-7.349.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libplacebo Avhengigheter

Påkrevd

FFmpeg-7.1 og Glad-2.0.8

Anbefalt
Valgfri

Little CMS-2.17 libunwind-1.8.1, dovi_tool, Nuklear, og xxHash

Installasjon av libplacebo

Først må du fikse en byggefeil som oppstår med glslang-15.0.0:

sed -e "20s/$/,/"                                         \
    -e "21i cxx.find_library('glslang', required: false)" \
    -i src/glsl/meson.build

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libsamplerate Avhengigheter

Valgfri

alsa-lib-1.2.13, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libsndfile Avhengigheter

Anbefalt
Valgfri

alsa-lib-1.2.13, LAME-3.100, mpg123-1.32.10, Speex-1.2.1, og SQLite-3.49.1

Installasjon av libsndfile

Installer libsndfile ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --docdir=/usr/share/doc/libsndfile-1.2.2 &&
make

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.22.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libva Avhengigheter

Påkrevd

Xorg build environment og libdrm-2.4.124

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-24.4.4 (for Intel GPUer som følger med Broadwell CPUer og senere), og Mesa-24.3.4 (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.13.2, Wayland-1.23.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

libvdpau-1.5

Introduksjon til libvdpau

libvdpau pakken inneholder et bibliotek som implementerer VDPAU biblioteket.

VDPAU (Video Decode and Presentation API for Unix) er et åpen kildekode bibliotek (libvdpau) og API opprinnelig designet av NVIDIA for GeForce 8 serien og senere GPU maskinvare rettet mot X vindussytemet. Denne VDPAU API lar videoprogrammer laste ned deler av videoen dekodingsprosess og videoetterbehandling til GPU videomaskinvaren.

For øyeblikket er delene som kan lastes av VDPAU til GPUen er bevegelseskompensasjon (mo comp), invers diskret cosinustransformasjon (iDCT), VLD (dekoding med variabel lengde) og deblokkering for MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4 del 2), H.264/MPEG-4 AVC og VC-1, WMV3/WMV9-kodet videoer. Hvilke spesifikke kodeker av disse som kan lastes ned til GPU avhenger av versjonen av GPU maskinvaren; nærmere bestemt, for også å dekode MPEG-4 ASP (MPEG-4 del 2), Xvid/OpenDivX (DivX 4), og DivX 5-formater, en GeForce 200M (2xxM) Series (den ellevte generasjon av NVIDIA sin GeForce grafikkbehandlingsenheter) eller nyere GPU maskinvare er nødvendig.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libvdpau Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt (Kjøretid)

VDPAU driveren som passer for maskinvaren i systemet ditt: libvdpau-va-gl-0.4.2 (for Intel GPUer) og Mesa-24.3.4 (gir r600, radeonsi, og nouveau VDPAU driverre, for ATI/AMD Radeon HD 2xxx GPUs og senere, og støttede NVIDIA GPUer; Mesa må bygges etter denne pakken for disse drivere)

Valgfri

Doxygen-1.13.2, Graphviz-12.2.1, og texlive-20240312 eller install-tl-unx

Installasjon av libvdpau

Installer libvdpau ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=$XORG_PREFIX .. &&
ninja

For å teste resultatene, utsted: ninja test. Det er bare én test for denne pakken, dlclose, og den er kjent for å feile på noen systemer.

Nå, som root bruker:

ninja install

Hvis doxygen er tilstede på byggetidspunktet plasser dokumentasjonen i en versjonert mappe som root bruker:

[ -e $XORG_PREFIX/share/doc/libvdpau ] && mv -v $XORG_PREFIX/share/doc/libvdpau{,1.5}

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libvdpau.so
Installerte Mapper: $XORG_PREFIX/{include,lib}/vdpau

Korte Beskrivelser

libvdpau.so

inneholder funksjoner for å avlaste deler av videodekodings prosessen og video etterbehandling til GPU videomaskinvaren

libvdpau-va-gl-0.4.2

Introduksjon til libvdpau-va-gl

libvdpau-va-gl pakken inneholder et bibliotek som implementerer VDPAU biblioteket. Libvdpau_va_gl bruker OpenGL under panseret for å akselerere tegning og skalering og VA-API (hvis tilgjengelig) til å akselerere videodekoding. Foreløpig er VA-API tilgjengelig på enkelte Intel brikker, og på noen AMD skjermkort ved hjelp av libvdpau driver.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libvdpau-va-gl Avhengigheter

Påkrevd

CMake-3.31.5, libvdpau-1.5, libva-2.22.0, og Mesa-24.3.4

Valgfri

Doxygen-1.13.2, Graphviz-12.2.1, og texlive-20240312 eller install-tl-unx

Installasjon av libvdpau-va-gl

Installer libvdpau-va-gl ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=$XORG_PREFIX .. &&
make

For å teste resultatene, utsted: make check. Testene må kjøres fra et Xorg miljø.

Nå, som root bruker:

make install

Konfigurasjon

For å la libvdpau finne libvdpau-va-gl, sett en miljøvariabel. Som root bruker:

echo "export VDPAU_DRIVER=va_gl" >> /etc/profile.d/xorg.sh

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libvdpau_va_gl.so
Installerte Mapper: Ingen

Korte Beskrivelser

libvdpau_va_gl.so

inneholder funksjoner for å implementere OpenGL bakstykket til VDPAU (Video Decode and Presentation API for Unix) API

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libvorbis Avhengigheter

Påkrevd

libogg-1.3.5

Valgfri

Doxygen-1.13.2 og texlive-20240312 (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.15.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libvpx Avhengigheter

Anbefalt
Valgfri

cURL-8.12.1 (for å laste ned testfiler) og Doxygen-1.13.2 (for å bygge dokumentasjon)

Notat

En Internett-tilkobling er nødvendig for noen tester til denne pakken. Systemsertifikatlageret må kanskje settes opp med make-ca-1.15 før du tester denne pakken.

Installasjon av libvpx

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.30.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

mlt Avhengigheter

Påkrevd

frei0r-plugins-1.8.0 og Qt-6.8.2

Valgfri

Doxygen-1.13.2, fftw-3.3.10, libexif-0.6.25, SDL2-2.30.11, JACK, MOVEit, 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_QT=OFF                \
      -D MOD_QT6=ON                \
      -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

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.5.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Valgfri

Doxygen-1.13.2 og texlive-20240312 (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.5.2 &&
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.5.2

Korte Beskrivelser

libopus.so

gir funksjonene som brukes til å lese og skrive Opus formatet

Pipewire-1.2.7

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Pipewire Avhengigheter

Anbefalt
Valgfri

alsa-lib-1.2.13, Avahi-0.8, fdk-aac-2.0.3, FFmpeg-7.1, libcanberra-0.30, libdrm-2.4.124 (for ett eksempel og libcamera støtte), libxcb-1.17.0, libsndfile-1.2.2, libusb-1.0.27, Opus-1.5.2, SDL2-2.30.11 (for noen eksempler), Valgrind-3.24.0, Vulkan-Loader-1.4.304, Xorg Biblioteker, Doxygen-1.13.2 og Graphviz-12.2.1 (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.8, 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-47.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

PulseAudio Avhengigheter

Påkrevd

libsndfile-1.2.2

Anbefalt
Valgfri

Avahi-0.8, BlueZ-5.79, Doxygen-1.13.2 (for dokumentasjon), fftw-3.3.10, gst-plugins-base-1.24.12, GTK-3.24.48, libsamplerate-0.2.2, SBC-2.0 (Bluetooth støtte), Valgrind-3.24.0, 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  \
            ..                  &&
ninja

For å teste resultatene, kjør: ninja test. En test mislykkes hvis testene ikke kjøres som root bruker, men dette kan ignoreres.

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.8, 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.0 og SBC-2.0 er begge installert men BlueZ-5.79 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.13.2 ikke er installert. Fjern dette hvis du har installert dette og ønsker å bygge dokumentasjonen.

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.0

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

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

sdl12-compat-1.2.68

Introduksjon til sdl12-compat

The Simple DirectMedia Layer (SDL for kort) er et bibliotek på tvers av plattformer designet for å gjøre det enkelt å skrive multimedieprogramvare, som spill og emulatorer. Denne koden er en kompatibilitetslag; det gir en binær og kildekompatibel API for programmer skrevet mot SDL 1.2, men den bruker SDL 2.0 bak kulissene.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

SDL Avhengigheter

Påkrevd

CMake-3.31.5, GLU-9.0.3, og SDL2-2.30.11

Installasjon av sdl12-compat

Installer sdl12-compat ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=RELEASE  \
      ..  &&
make

Nå, som root bruker:

make install &&
rm -vf /usr/lib/libSDLmain.a

Teste SDL

Hvis du ønsker det, test installasjonen av sdlcompat pakken ved hjelp av de inkluderte testprogrammene. Det er ikke nødvendig å installere noen av de resulterende binære filene for å validere installasjonen.

Du må kjøre alle testprogrammene manuelt (de er oppført i README filen i denne mappen). Mange av dem må stoppes manuelt, og du må skru høyttalerne på med volumet på et passende nivå.

Innhold

Installert Program: sdl-config
Installerte Biblioteker: libSDL.so
Installerte Mapper: /usr/include/SDL

Korte Beskrivelser

sdl-config

bestemmer kompilerings- og linkerflaggene som skal brukes til å kompilere og koble programmer som bruker libSDL

libSDL.so

inneholder funksjoner som gir kompatibilitetslenker til SDL2 lavnivåfunksjoner for lyd, tastatur, mus, joystick, 3D-maskinvare via OpenGL, og 2D rammebuffer på tvers av flere plattformer

SDL2-2.30.11

Introduksjon til SDL2

The Simple DirectMedia Layer Version 2 (SDL2 for kort) er et bibliotek på tvers av plattformer designet for å gjøre det enkelt å skrive multimedieprogramvare, som spill og emulatorer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.libsdl.org/release/SDL2-2.30.11.tar.gz

  • Nedlasting MD5 sum: bea190b480f6df249db29eb3bacfe41e

  • Nedlastingsstørrelse: 7.2 MB

  • Estimert diskplass som kreves: 188 MB (med dokumenter)

  • Estimert byggetid: 0.5 SBU (bruker parallellisme=4; med dokumenter)

SDL2 Avhengigheter

Anbefalt
Valgfri

alsa-lib-1.2.13, Doxygen-1.13.2 (å lage dokumentasjon), ibus-1.5.31, libsamplerate-0.2.2, libunwind-1.8.1, NASM-2.16.03, pipewire-1.2.7, PulseAudio-17.0, et grafiske miljø, DirectFB, fcitx, jack, og sndio

Installasjon av SDL2

Installer SDL2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Hvis du har Doxygen-1.13.2 installert og ønsker å bygge html dokumentasjon, kjør følgende kommandoer:

pushd docs  &&
  doxygen   &&
popd

Notat

Hvis du ønsker å bygge og kjøre pakkeregresjon tester, ikke slett de statiske bibliotekene nedenfor før etter at testene er bygget.

Nå, som root bruker:

make install              &&
rm -v /usr/lib/libSDL2*.a

Hvis du har laget dokumentasjonen, installer den som root bruker:

install -v -m755 -d        /usr/share/doc/SDL2-2.30.11/html &&
cp -Rv  docs/output/html/* /usr/share/doc/SDL2-2.30.11/html

Teste SDL2

Hvis du ønsker det, test installasjonen av SDL2 ved hjelp av de inkluderte testprogrammene. Ingen av de resulterende binære filene trenger å installeres. Utfør følgende kommandoer for å bygge test programmer:

cd test &&
./configure &&
make

Hvert av testprogrammene (de er oppført i README filen i denne mappen) må kjøres individuelt. Mange av dem må stoppes manuelt. I tillegg, høyttalere må være på med volumet på et passende nivå.

Parameterforklaringer

rm -v /usr/lib/libSDL2*.a: Normalt statiske biblioteker kan deaktiveres med en --disable-static alternativet til configure, men det bryter bygningen i denne pakken.

Innhold

Installert Program: sdl2-config
Installerte Biblioteker: libSDL2.so
Installerte Mapper: /usr/include/SDL2, /usr/lib/cmake/SDL2, og /usr/share/doc/SDL-2.30.11

Korte Beskrivelser

sdl2-config

bestemmer kompilerings- og linkerflaggene som skal brukes til å kompilere og koble programmer som bruker libSDL2

libSDL2.so

inneholder funksjoner som gir lavnivå tilgang til lyd, tastatur, mus, joystick, 3D-maskinvare via OpenGL, og 2D rammebuffer på tvers av flere plattformer

sound-theme-freedesktop-0.8

Introduksjon til Sound Theme Freedesktop

Sound Theme Freedesktop pakken inneholder lydtemaer for skrivebordet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.3.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Installasjon av SoundTouch

Notat

Tarballen utvider seg til 'soundtouch' i stedet for det forventede 'soundtouch-2.3.3'

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.3.3 &&
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.3.3

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Speex Avhengigheter

Påkrevd

libogg-1.3.5

Valgfri

Valgrind-3.24.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

Taglib-2.0.2

Introduksjon til Taglib

Taglib er et bibliotek som brukes til å lese, skrive og manipulere lydfil tagger og brukes av applikasjoner som for eksempel VLC.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://taglib.org/releases/taglib-2.0.2.tar.gz

  • Nedlasting MD5 sum: 95edea13107ac4cc07b7ad4bd1cb5cd1

  • Nedlastingsstørrelse: 1.4 MB

  • Estimert diskplass som kreves: 16 MB

  • Estimert byggetid: 0.1 SBU (Bruker parallellisme=4)

Taglib Avhengigheter

Påkrevd

CMake-3.31.5 og utfcpp-4.0.6

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.28.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

v4l-utils Avhengigheter

Anbefalt
Valgfri

Doxygen-1.13.2, Qt-6.8.2 (for qv4l2 og qvidcap), SDL2-2.30.11, både LLVM-19.1.7 (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.8

Introduksjon til Wireplumber

Wireplumber pakken inneholder en økt og regel behandler for Pipewire.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Wireplumber Avhengigheter

Påkrevd

GLib-2.82.5, pipewire-1.2.7, og Systemd-257.3 (kjøretid, gjenoppbygd med Linux-PAM-1.7.0)

Anbefalt
Valgfri

Doxygen-1.13.2, lxml-5.3.1, sphinx-8.2.1, sphinx_rtd_theme-3.0.2, 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.8}

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

Deretter konfigurerer du Wireplumber til å starte når et skrivebordsmiljø er startet. Kjør følgende kommandoer som root bruker for å aktivere systemd brukerenheter:

systemctl enable --global pipewire.socket       &&
systemctl enable --global pipewire-pulse.socket &&
systemctl enable --global wireplumber

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.8

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-20250212

Introduksjon til x264

x264 pakken gir et bibliotek for koding av videostrømmer til H.264/MPEG-4 AVC formatet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

x265 Avhengigheter

Påkrevd

CMake-3.31.5

Anbefalt
Valgfri

numactl

Installasjon av x265

Installer x265 ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

cmake -D CMAKE_INSTALL_PREFIX=/usr \
      -D GIT_ARCHETYPE=1           \
      -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

-W no-dev: Denne bryteren brukes til å undertrykke advarsler beregnet på pakkens utviklere.

-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.48.1 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.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Xine Biblioteker Avhengigheter

Påkrevd

et grafiske miljø, FFmpeg-7.1, og minst en av: alsa-lib-1.2.13, PulseAudio-17.0, eller JACK

Anbefalt
Valgfri

AAlib-1.4rc5, FAAD2-2.11.1, FLAC-1.5.0, gdk-pixbuf-2.42.12, GLU-9.0.3, ImageMagick-7.1.1-43, liba52-0.8.0, libdvdcss-1.4.3, libmad-0.15.1b, libmng-2.0.3, libnsl-2.0.1, libva-2.22.0 (krever GLU-9.0.3), libvdpau-1.5, libvorbis-1.3.7, libvpx-1.15.0, Mesa-24.3.4, Samba-4.21.4, sdl12-compat-1.2.68, Speex-1.2.1, Doxygen-1.13.2 (for å lage API dokumentasjonen), v4l-utils-1.28.1 DirectFB, libbluray, libcaca, libdca, libFAME, libmodplug, libtheora, musepack, 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

Installer Xine Libraries ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --disable-vcd          \
            --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.

--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.22.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

XviD Avhengigheter

Valgfri

yasm-1.3.0 eller NASM-2.16.03

Installasjon av XviD

Notat

Denne pakken sin tarball utvides til xvidcore, ikke det forventede xvidcore-1.3.7.

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.4.2

Introduksjon til Audacious

Audacious er en lydspiller.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Nødvendige programtillegg

Audacious Avhengigheter

Påkrevd

GTK-3.24.48 og Qt-6.8.2

Anbefalt

libarchive-3.7.7

Valgfri

Valgrind-3.24.0

Anbefalt (for programtillegg)
Valgfri (for programtillegg)

alsa-lib-1.2.13, cURL-8.12.1, FAAD2-2.11.1, FLAC-1.5.0, LAME-3.100, libxml2-2.13.6, libcdio-2.1.0 (for å identifisere og spille av CDer), libnotify-0.8.4, libsndfile-1.2.2, libvorbis-1.3.7, pipewire-1.2.7, PulseAudio-17.0, SDL2-2.30.11, 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.4.2.tar.bz2 &&
cd audacious-plugins-4.4.2                    &&

mkdir build &&
cd    build &&

meson setup           \
  --prefix=/usr       \
  --buildtype=release \
  -D gtk=true         \
  -D qt=true          \
  ..                  &&

+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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-24.12.2

Introduksjon til KWave

KWave pakken inneholder en KDE Rammeverk basert lyd redigeringsapplikasjon.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

KWave Avhengigheter

Påkrevd

AudioFile-0.3.6, fftw-3.3.10, id3lib-3.8.3, og KDE Frameworks-6.11.0

Anbefalt
Valgfri

Doxygen-1.13.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

LAME Avhengigheter

Valgfri

Dmalloc, Electric Fence, libsndfile-1.2.2 og NASM-2.16.03

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-2.16.03 å 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.32.10

Introduksjon til mpg123

mpg123 pakken inneholder en konsollbasert MP3 spiller. Den hevder å være den raskeste MP3 dekoderen for Unix.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

mpg123 Avhengigheter

Anbefalt
Valgfri

PulseAudio-17.0, SDL2-2.30.11, 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.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

pavucontrol Avhengigheter

Påkrevd

Gtkmm-4.16.0, JSON-GLib-1.10.6, 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=false .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
mv /usr/share/doc/pavucontrol /usr/share/doc/pavucontrol-6.1

Parameterforklaringer

-D lynx=false: 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.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Pnmixer Avhengigheter

Påkrevd

alsa-utils-1.2.13, GTK-3.24.48, og libnotify-0.8.4

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.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Vorbis Tools Avhengigheter

Påkrevd

libvorbis-1.3.7

Valgfri (påkrevd for å bygge ogg123 programmet)

libao-1.2.0

Valgfri

cURL-8.12.1, FLAC-1.5.0, Speex-1.2.1, og libkate

Installasjon av Vorbis Tools

Først bruker du en sed for å fikse et problem med gcc-14 og nyere:

sed -i '/i18n.h/i #include "utf8.h"' ogginfo/codec_skeleton.c

Deretter bruker du en sed for å fikse en sikkerhetssårbarhet i 'oggenc':

sed -i 's/start+1,/start + strspn(start, PATH_SEPS),/' oggenc/platform.c

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.2/ogg123rc-example.

Innhold

Installerte Programmer: ogg123, oggdec, oggenc, ogginfo, vcut, og vorbiscomment
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/vorbis-tools-1.4.2

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-7.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ffmpeg.org/releases/ffmpeg-7.1.tar.xz

  • Nedlasting MD5 sum: 623aa63a72139a82ccb99cd6ee477b94

  • Nedlastingsstørrelse: 11 MB

  • Estimert diskplass som kreves: 205 MB (legg til 1.5 GB for FATE pakke/tester, legg til 869 MB for dokumentasjon)

  • Estimert byggetid: 1.2 SBU (bruker parallellisme=4; legg til 3.2 SBU (med THREADS=4) for å kjøre FATE pakken etter at eksempelfiler er lastet ned; legg til 0,2 SBU for doxygen dokumenter)

Ytterligere Nedlastinger

FFmpeg Avhengigheter

Anbefalt
Anbefalt for skrivebordsbruk
Anbefalt for systemer med Intel Video
Valgfri

Doxygen-1.13.2, Fontconfig-2.16.0, FriBidi-1.0.16, frei0r-plugins-1.8.0, libcdio-2.1.0 (å identifisere og spille av CDer), libdrm-2.4.124 (for «kmsgrab» inndata), libwebp-1.5.0, libjxl-0.11.1, OpenJPEG-2.5.3, GnuTLS-3.8.9, PulseAudio-17.0, Samba-4.21.4, Speex-1.2.1, texlive-20240312 (eller install-tl-unx) for PDF og PS dokumentasjon, v4l-utils-1.28.1, Vulkan-Loader-1.4.304, XviD-1.3.7, et grafiske miljø, dav1d, Flite, GSM, libaacplus, libbluray, libcaca, libcelt, libdc1394, libdca, libiec61883, libilbc, libmodplug, libnut (Git checkout), librtmp, libssh, libtheora, OpenAL, OpenCore AMR, 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-7.1-chromium_method-1.patch

Deretter løser du et problem forårsaket av nyeste versjonen av x265-4.1:

sed -e 's/X265_BUILD >= 210/(&) \&\& (X265_BUILD < 213)/' \
    -i libavcodec/libx265.c

Deretter løser du et problem forårsaket av Texinfo 7.2:

patch -Np1 -i ../ffmpeg-7.1-texinfo_fix-1.patch

Installer FFmpeg ved å kjøre følgende kommandoer:

sed -i 's/-lflite"/-lflite -lasound"/' configure &&

./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-libtheora   \
            --enable-libvorbis   \
            --enable-libvpx      \
            --enable-libx264     \
            --enable-libx265     \
            --enable-openssl     \
            --ignore-tests=enhanced-flv-av1 \
            --docdir=/usr/share/doc/ffmpeg-7.1 &&

make &&

gcc tools/qt-faststart.c -o tools/qt-faststart

HTML dokumentasjon ble bygget i forrige trinn. Hvis du har texlive-20240312 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.13.2 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-7.1 &&
install -v -m644    doc/*.txt /usr/share/doc/ffmpeg-7.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-7.1 &&
install -v -m644 doc/*.ps  /usr/share/doc/ffmpeg-7.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-7.1/api                     &&
cp -vr doc/doxy/html/* /usr/share/doc/ffmpeg-7.1/api                  &&
find /usr/share/doc/ffmpeg-7.1/api -type f -exec chmod -c 0644 \{} \; &&
find /usr/share/doc/ffmpeg-7.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 3800 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 og totalt antall på slutten.

Parameterforklaringer

find ... ;: Retter tillatelser for dokumentasjonsfiler og mapper.

--enable-libfreetype: Aktiverer Freetype støtte.

--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 audio og video dekoding via libaom.

--enable-libass: Aktiverer ASS/SSA undertekstformat gjengivelse via libass.

--enable-libdrm: Bruk denne bryteren hvis libdrm-2.4.124 er installert for å bygge «kmsgrab» inndatamodul som er nyttig for skjermopptak eller strømming.

--enable-libfdk-aac: Aktiverer AAC lydkoding via libfdk-aac.

--enable-libmp3lame: Aktiverer MP3 lydkoding via libmp3lame.

--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.13.2 er installert og du ikke ønsker å bygge html dokumentasjonen.

--enable-libpulse: Aktiverer støtte for Pulseaudio for lydutdata.

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-7.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.39.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

mpv Avhengigheter

Påkrevd

alsa-lib-1.2.13, FFmpeg-7.1, libass-0.17.3, libplacebo-7.349.0, Mesa-24.3.4, og PulseAudio-17.0

Anbefalt
Valgfrie Inndata Drivere og Biblioteker

libdvdcss-1.4.3, libdvdread-6.1.3, libdvdnav-6.1.1, og libbluray

Valgfrie Lydutdata Drivere og Biblioteker

pipewire-1.2.7, SDL2-2.30.11, JACK, og OpenAL

Valgfrie Videoutdata Drivere og Biblioteker

libcaca og SVGAlib

Valgfri (for dokumentasjon)

docutils-0.21.2

Installasjon av mpv

Legg til en løsning for å bygge med FFMpeg > 7.0

sed -i 's/AV_OPT_TYPE_CHANNEL_LAYOUT/AV_OPT_TYPE_CHLAYOUT/' filters/f_lavfi.c

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.48 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.21

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere nedlastinger

VLC Avhengigheter

Anbefalt
Valgfrie funksjoner og pakker

dbus-1.16.0, libidn-1.42, og libssh2-1.11.1

Valgfrie inndata programtillegg

libarchive-3.7.7, libcddb-1.3.2, libdv-1.0.0, libdvdcss-1.4.3, libdvdread-6.1.3, libdvdnav-6.1.1, opencv-4.11.0, Samba-4.21.4, v4l-utils-1.28.1, libbluray, libdc1394, libnfs, libproxy, libraw1394, Live555, og VCDImager (krever libcdio-2.1.0)

Valgfrie mux/demux programtillegg

libogg-1.3.5, Game Music Emu, libdvbpsi, libshout, libmatroska (krever libebml), libmodplug, Musepack, og sidplay-libs

Valgfrie kodek programtillegg

FAAD2-2.11.1, FLAC-1.5.0, libaom-3.12.0, libass-0.17.3, libmpeg2-0.5.1, libpng-1.6.46, libva-2.22.0, libvorbis-1.3.7, Opus-1.5.2, Speex-1.2.1, libvpx-1.15.0, x264-20250212, aribb24, dav1d, Dirac, FluidLite, FluidSynth, libdca, libkate, libtheora, OpenMAX, Schroedinger, Shine, SoX, Tremor, Twolame, og Zapping VBI

Valgfrie video programtillegg

AAlib-1.4rc5, Fontconfig-2.16.0, FreeType-2.13.3, FriBidi-1.0.16, libplacebo-7.349.0 (for øyeblikket ødelagt), librsvg-2.59.2, libvdpau-1.5, sdl12-compat-1.2.68, libcaca, og libmfx

Valgfrie lyd programtillegg

PulseAudio-17.0, libsamplerate-0.2.2, spatialaudio, og JACK

Valgfrie grensesnitt programtillegg

FreeRDP-3.12.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.9, libnotify-0.8.4, libxml2-2.13.6, Protobuf-29.3, taglib-2.0.2, xdg-utils-1.2.1 (kjøretid), AtmoLight, libmicrodns, og Srt

Installasjon av VLC

Først legger du til rettelser for problemer med taglib-2.0 og ffmpeg-7 og senere:

patch -Np1 -i ../vlc-3.0.21-taglib-1.patch         &&
patch -Np1 -i ../vlc-3.0.21-fedora_ffmpeg7-1.patch

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.21 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.48 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

--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, rvlc, svlc, 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.21

Korte Beskrivelser

cvlc

er et skript for å kjøre VLC med dummy grensesnittet

nvlc

er et skript for å kjøre VLC med ncurses grensesnittet

rvlc

er et skript for å kjøre VLC med en kommandolinje grensesnitt

svlc

er et skript for å kjøre VLC med skinn grensesnittet

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.12.1, AAlib-1.4rc5, LIRC, og libcaca

Installasjon av Xine Brukergrensesnitt

Installer xine Brukergrensesnitt ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

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.48 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.4

Introduksjon til Cdrdao

Cdrdao pakken inneholder CD opptaksverktøy. Disse er nyttige for å brenne en CD i disk-at-once modus.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -m755 -d /usr/share/doc/cdrdao-1.2.4 &&
install -v -m644 README /usr/share/doc/cdrdao-1.2.4

Parameterforklaringer

--mandir=/usr/share/man: Installer manualsider i /usr/share/man instead of /usr/man.

Innhold

Installerte Programmer: cdrdao, cue2toc, toc2cddb, toc2cue og valgfri toc2mp3
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/cdrdao, /usr/share/doc/cdrdao-1.2.4

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

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Cdrtools Avhengigheter

Påkrevd

alsa-lib-1.2.13

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

dvd+rw-tools Avhengigheter

Påkrevd

Cdrtools-3.02a09 (kjøretid)

Installasjon av dvd+rw-tools

Installer dvd+rw-tools ved å kjøre følgende kommandoer:

sed -i '/stat.h/a #include <sys/sysmacros.h>' growisofs.c &&
sed -i '/stdlib/a #include <limits.h>' transport.hxx &&
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

sed -i '/stdlib/a #include <limits.h>' ...: Denne sed inkluderer limits.h, en av kjernedeklarasjonene. Dette er nødvendig på grunn av en endring i 2.6.23 kjernedeklarasjonene.

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libburn Avhengigheter

Valgfri

Doxygen-1.13.2 (for å generere HTML dokumentasjon)

Installasjon av libburn

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libisoburn Avhengigheter

Påkrevd

libburn-1.5.6 og libisofs-1.5.6

Valgfri

Doxygen-1.13.2 (for å generere HTML dokumentasjonen), Tk-8.6.16 (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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libisofs Avhengigheter

Valgfri

Doxygen-1.13.2 (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.11

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Cups Avhengigheter

Påkrevd

GnuTLS-3.8.9

Anbefalt
Valgfri

Avahi-0.8, libpaper-2.2.6, MIT Kerberos V5-1.21.3, PHP-8.4.4, og Python2

Påkrevd (Etter installasjon)

cups-filters-2.0.1

Valgfri (Etter installasjon)

Gutenprint-5.3.4 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.4) 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-rundir=/run/cups      \
            --with-system-groups=lpadmin \
            --with-docdir=/usr/share/cups/doc-2.4.11 &&
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.11 /usr/share/doc/cups-2.4.11

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.48 installert og utstede følgende kommando som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor

Parameterforklaringer

--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.27, 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.04.0 for å konvertere PostScript til rasterbilder og en driver (f.eks. fra Gutenprint-5.3.4) for å konvertere det resulterende rasterbildet til en form som skriveren forstår. Foomatic drivere bruker ghostscript-10.04.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

Systemd Enhet

For å starte cupsd nissen når noe prøver få tilgang til den, aktiver de tidligere installerte systemd enhetene ved å kjøre følgende kommando som root bruker:

systemctl enable 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.11, /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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

cups-browsed Avhengigheter

Påkrevd

Avahi-0.8, libcupsfilters-2.1.1 og libppd-2.1.1

Valgfri

OpenLDAP-2.6.9

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

Installer systemd enheten ved å kjøre følgende kommando som root bruker:

install -v -m644 daemon/cups-browsed.service /lib/systemd/system/cups-browsed.service

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.

Konfigurere cups-browsed

Systemd Enhet

For å starte cups-browsed nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable cups-browsed

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

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

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.04.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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Hvis du ønsker det, kan du laste ned flere fonter.

Standard Fonter

Andre Fonter

Ghostscript Avhengigheter

Anbefalt
Valgfri

Cairo-1.18.2, GTK-3.24.48, libidn-1.42, libpaper-2.2.6, libwebp-1.5.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   &&
make

Notat

Det delte biblioteket avhenger av GTK-3.24.48. Den brukes kun av eksterne programmer som asymptote-3.01, dvisvgm-3.4.3, og ImageMagick-7.1.1-43.

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.04.0 /usr/share/doc/ghostscript-10.04.0 &&
rmdir /usr/share/doc/ghostscript &&
cp -r examples/ -T /usr/share/ghostscript/10.04.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.04.0/examples . For å gjøre dette, kjør følgende kommando (i en X Windows-skjerm):

gs -q -dBATCH /usr/share/ghostscript/10.04.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.0.

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.04.0 /usr/share/doc/ghostscript-10.04.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.11 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.04.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.4

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.11. Se en liste over støttede skrivere på https://gutenprint.sourceforge.net/p_Supported_Printers.php.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Gutenprint Avhengigheter

Anbefalt
Anbefalt (ved kjøretid)
Valgfri (å regenerere dokumentasjonen)

ImageMagick-7.1.1-43, texlive-20240312 (eller install-tl-unx), Doxygen-1.13.2, 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.2.15 i juni 2019) dette trengte 75 SBU og 13,5 GB for å fullføre testene (en test, rastertogutenprint mislyktes fordi CUPS ppds er for en tidligere versjon. Kanskje genppds bør kjøres før testene). Merk at testene bare brukte en CPU.

Nå, som root bruker:

make install &&
install -v -m755 -d /usr/share/doc/gutenprint-5.3.4/api/gutenprint{,ui2} &&
install -v -m644    doc/gutenprint/html/* \
                    /usr/share/doc/gutenprint-5.3.4/api/gutenprint &&
install -v -m644    doc/gutenprintui2/html/* \
                    /usr/share/doc/gutenprint-5.3.4/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):

systemctl restart cups

Pek deretter nettleseren til http://localhost:631/ for å legge til en ny skriver til CUPS.

Innhold

Installerte Programmer: cups-calibrate, cups-genppd.5.2, cups-genppdupdate, escputil, og testpattern
Installerte Biblioteker: libgutenprint.so, libgutenprintui2.so og eventuelt forskjellige CUPS filtre og bakstykke drivere under /usr/lib/gutenprint/5.2/modules/
Installerte Mapper: /usr/{include,lib,share}/gutenprint, /usr/include/gutenprintui2 og /usr/share/doc/gutenprint-5.3.4

Korte Beskrivelser

cups-calibrate

kalibrerer fargeutskriften til skrivere ved hjelp av Gutenprint, CUPS eller ESP Print Pro drivere

cups-genppd.5.2

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

libcupsfilters Avhengigheter

Påkrevd

Cups-2.4.11, GLib-2.82.5, ghostscript-10.04.0 eller mupdf-1.25.4, Little CMS-2.17, Poppler-25.02.0, og Qpdf-11.10.1

Anbefalt

Installasjon av libcupsfilters

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.2.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.11, libjpeg-turbo-3.0.1, libtiff-4.7.0, libusb-1.0.27, v4l-utils-1.28.1, Net-SNMP, libieee1284, libgphoto2, og texlive-20240312 (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.27 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.27, 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.2.1" &&
 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.

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.2.1

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-46.0

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Simple-scan Avhengigheter

Påkrevd

colord-1.4.7, itstool-2.0.7, libgusb-0.4.9, libadwaita-1.6.4, libwebp-1.5.0, og SANE-1.2.1

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.docbook.org/sgml/3.1/docbk31.zip

  • Nedlasting MD5 sum: 432749c0c806dbae81c8bcb70da3b5d3

  • Nedlastingsstørrelse: 55 KB

  • Estimert diskplass som kreves: 676 KB

  • Estimert byggetid: mindre enn 0.1 SBU

DocBook-3.1 SGML DTD Avhengigheter

Påkrevd

libarchive-3.7.7 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

DocBook-4.5 SGML DTD Avhengigheter

Påkrevd

libarchive-3.7.7 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

DocBook-4.5 XML DTD Avhengigheter

Påkrevd

libarchive-3.7.7 og libxml2-2.13.6

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 docbook.cat *.dtd ent/ *.mod \
    /usr/share/xml/docbook/xml-dtd-4.5

Opprett (eller oppdater) og fyll ut /etc/xml/docbook katalogfil ved å kjøre følgende kommandoer som root bruker:

if [ ! -e /etc/xml/docbook ]; then
    xmlcatalog --noout --create /etc/xml/docbook
fi &&
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V4.5//EN" \
    "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/4.5" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/4.5" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /etc/xml/docbook

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:///etc/xml/docbook" \
    /etc/xml/catalog &&
xmlcatalog --noout --add "delegatePublic" \
    "-//OASIS//DTD DocBook XML" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog &&
xmlcatalog --noout --add "delegateSystem" \
    "http://www.oasis-open.org/docbook/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
    "http://www.oasis-open.org/docbook/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog

Konfigurere DocBook-4.5 XML DTD

Konfigurasjonsfiler

/etc/xml/catalog og /etc/xml/docbook

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" \
    /etc/xml/docbook
  xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /etc/xml/docbook
  xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /etc/xml/docbook
  xmlcatalog --noout --add "delegateSystem" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog
  xmlcatalog --noout --add "delegateURI" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog
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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

DocBook XML DTD og skjemaer 5.0 Avhengigheter

Påkrevd

libarchive-3.7.7 og libxml2-2.13.6

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/schema/{dtd,rng,sch,xsd}/5.0 &&
install -vm644  dtd/* /usr/share/xml/docbook/schema/dtd/5.0         &&
install -vm644  rng/* /usr/share/xml/docbook/schema/rng/5.0         &&
install -vm644  sch/* /usr/share/xml/docbook/schema/sch/5.0         &&
install -vm644  xsd/* /usr/share/xml/docbook/schema/xsd/5.0

Fortsatt som root bruker, lag de individuelle mappene:

xmlcatalog --noout --create /usr/share/xml/docbook/schema/dtd/5.0/catalog.xml &&

xmlcatalog --noout --add "public" \
  "-//OASIS//DTD DocBook XML 5.0//EN" \
  "docbook.dtd" /usr/share/xml/docbook/schema/dtd/5.0/catalog.xml &&
xmlcatalog --noout --add "system" \
  "http://www.oasis-open.org/docbook/xml/5.0/dtd/docbook.dtd" \
  "docbook.dtd" /usr/share/xml/docbook/schema/dtd/5.0/catalog.xml &&

xmlcatalog --noout --create /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/rng/docbook.rng" \
  "docbook.rng" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" \
  "docbook.rng" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/rng/docbookxi.rng" \
  "docbookxi.rng" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" \
  "docbookxi.rng" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/rng/docbook.rnc" \
  "docbook.rnc" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rnc" \
  "docbook.rnc" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/rng/docbookxi.rnc" \
  "docbookxi.rnc" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rnc" \
  "docbookxi.rnc" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml &&

xmlcatalog --noout --create /usr/share/xml/docbook/schema/sch/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/sch/docbook.sch" \
  "docbook.sch" /usr/share/xml/docbook/schema/sch/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/sch/docbook.sch" \
  "docbook.sch" /usr/share/xml/docbook/schema/sch/5.0/catalog.xml &&

xmlcatalog --noout --create /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/xsd/docbook.xsd" \
  "docbook.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/xsd/docbook.xsd" \
  "docbook.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/xsd/docbookxi.xsd" \
  "docbookxi.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/xsd/docbookxi.xsd" \
  "docbookxi.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/xsd/xlink.xsd" \
  "xlink.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
   "http://www.oasis-open.org/docbook/xml/5.0/xsd/xlink.xsd" \
   "xlink.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
   "http://docbook.org/xml/5.0/xsd/xml.xsd" \
   "xml.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml &&
xmlcatalog --noout --add "uri" \
   "http://www.oasis-open.org/docbook/xml/5.0/xsd/xml.xsd" \
   "xml.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml

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/schema/dtd/5.0/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateSystem" \
  "http://docbook.org/xml/5.0/dtd/" \
  "file:///usr/share/xml/docbook/schema/dtd/5.0/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
  "http://docbook.org/xml/5.0/dtd/" \
  "file:///usr/share/xml/docbook/schema/dtd/5.0/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
  "http://docbook.org/xml/5.0/rng/"  \
  "file:///usr/share/xml/docbook/schema/rng/5.0/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
  "http://docbook.org/xml/5.0/sch/"  \
  "file:///usr/share/xml/docbook/schema/sch/5.0/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
  "http://docbook.org/xml/5.0/xsd/"  \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/catalog.xml" \
  /etc/xml/catalog

Konfigurere DocBook XML DTD og skjemaer 5.0

Konfigurasjonsfiler

/etc/xml/catalog og /etc/xml/docbook-5.0

Innhold

Installerte Filer: DTD, RNC, RNG, SCH and XSD filer
Installerte Mapper: /etc/xml and /usr/share/xml/docbook/schema/{dtd,rng,sch,xsd}/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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.42 (eller en hvilken som helst annen XSLT prosessor), for å behandle Docbook dokumenter, Ruby-3.4.2 (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):

if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi &&
if [ ! -f /etc/xml/catalog ]; then
    xmlcatalog --noout --create /etc/xml/catalog
fi &&

xmlcatalog --noout --add "rewriteSystem" \
           "http://cdn.docbook.org/release/xsl-nons/1.79.2" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "https://cdn.docbook.org/release/xsl-nons/1.79.2" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "http://cdn.docbook.org/release/xsl-nons/1.79.2" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "https://cdn.docbook.org/release/xsl-nons/1.79.2" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "http://cdn.docbook.org/release/xsl-nons/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "https://cdn.docbook.org/release/xsl-nons/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "http://cdn.docbook.org/release/xsl-nons/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "https://cdn.docbook.org/release/xsl-nons/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "http://docbook.sourceforge.net/release/xsl/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "http://docbook.sourceforge.net/release/xsl/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \
    /etc/xml/catalog

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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.42 (eller en hvilken som helst annen XSLT prosessor), for å behandle Docbook dokumenter, Ruby-3.4.2 (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):

if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi &&
if [ ! -f /etc/xml/catalog ]; then
    xmlcatalog --noout --create /etc/xml/catalog
fi &&

xmlcatalog --noout --add "rewriteSystem" \
           "http://cdn.docbook.org/release/xsl/1.79.2" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "https://cdn.docbook.org/release/xsl/1.79.2" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "http://cdn.docbook.org/release/xsl/1.79.2" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "https://cdn.docbook.org/release/xsl/1.79.2" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "http://cdn.docbook.org/release/xsl/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "https://cdn.docbook.org/release/xsl/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "http://cdn.docbook.org/release/xsl/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "https://cdn.docbook.org/release/xsl/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "http://docbook.sourceforge.net/release/xsl-ns/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "http://docbook.sourceforge.net/release/xsl-ns/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.79.2" \
    /etc/xml/catalog

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).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Itstool Avhengigheter

Påkrevd

docbook-xml-4.5

Installasjon av itstool

Først, fiks noen kompatibilitetsproblemer med Python-3.12 og nyere:

sed -i 's/re.sub(/re.sub(r/'         itstool.in &&
sed -i 's/re.compile(/re.compile(r/' itstool.in

Installer itstool ved å kjøre følgende kommandoer:

PYTHON=/usr/bin/python3 ./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

xmlto Avhengigheter

Påkrevd

docbook-xml-4.5, docbook-xsl-nons-1.79.2, og libxslt-1.1.42

Valgfri (for DVI, PDF, og postscript bakstykke etterbehandling)

fop-2.10, 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-20240312 (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 &&

pushd docs &&
  makeinfo --plaintext -o enscript.txt enscript.texi &&
popd

Hvis du har texlive-20240312 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

ePDFView Avhengigheter

Påkrevd

GTK-3.24.48 og Poppler-25.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.13.2 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.48 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.10

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Påkrevd Ytterligere Nedlastinger:

Anbefalte pakker

fop Avhengigheter

Påkrevd

apache-ant-1.10.15

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.4-bin.tar.gz -C /tmp

Installere fop Komponenter

Først, fiks en byggefeil forårsaket av Java-23:

patch -Np1 -i ../fop-2.10-upstream_fixes-1.patch

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.4/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.10 &&
cp -vR build conf examples fop* javadocs lib /opt/fop-2.10 &&
chmod a+x /opt/fop-2.10/fop                                &&
ln -v -sfn fop-2.10 /opt/fop

Til slutt fjerner du den midlertidige kopien av Apache Maven:

rm -rf /tmp/apache-maven-3.9.4

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.10 /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.10

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.25.4

Introduksjon til MuPDF

MuPDF er en lettvekts PDF og XPS visningsprogram.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

MuPDF Avhengigheter

Påkrevd

GLU-9.0.3 og 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 # need lcms2-art fork
USE_SYSTEM_LIBJPEG := yes
USE_SYSTEM_MUJS := no # build needs source anyway
USE_SYSTEM_OPENJPEG := yes
USE_SYSTEM_ZLIB := yes
USE_SYSTEM_GLUT := no # need freeglut2-art fork
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.25.4 \
     install                            &&

ln -sfv libmupdf.so.25.4 /usr/lib/libmupdf.so   &&
ln -sfv libmupdf.so.25.4 /usr/lib/libmupdf.so.4 &&
chmod 755 /usr/lib/libmupdf.so.25.4             &&

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.25.4

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

paps Avhengigheter

Påkrevd

fmt-11.1.4 og Pango-1.56.1

Valgfri

Doxygen-1.13.2

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-20240312 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.01, biber-2.20, dvisvgm-3.4.3, 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/2024.

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/')

cat > /etc/profile.d/texlive.sh << EOF
# Begin texlive setup
TEXLIVE_PREFIX=/opt/texlive/2024
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

Notat

Omvendt skråstrek før dollartegn i skriptet ovenfor er for å lette en kopiering/lim inn operasjon. Omvendt skråstrek bør ikke vises i selve skriptet.

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-20240312 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 2024/ 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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: 85 MB for vanlig TeX, typisk 320 MB for latex og senere motorer, 8,6 GB hvis alt er inkludert

  • Estimert byggetid: varierer, avhengig av nettverkshastighet og trafikk

Anbefalt
Anbefalt (vwd kjøring)

Den binære versjonen av asy er koblet til libGLX.so.0 fra libglvnd, men installasjon som vil bryte fremtidige oppdateringer av BLFS pakker som f.eks Mesa-24.3.4. Omgå det ved å lage en symbolkobling som root bruker:

ln -sv libGL.so.1 /usr/lib/libGLX.so.0

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-3.4.2 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.16 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.04.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 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 bruker kan chown /opt/texlive/2024 til den brukeren før brukeren starter installasjonen. Hvis noen senere endring i den mapen gjøres av root bruker, det vil endre eieskapet, som bryter bruken av vanlige brukere.

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 130 filer og bruk ca 320 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. Hvis stien er angitt ovenfor, kjør som root bruker:

cat > /etc/profile.d/texlive.sh << EOF
# Begin texlive setup
TEXLIVE_PREFIX=/opt/texlive/2024
export TEXLIVE_PREFIX

pathappend $TEXLIVE_PREFIX/bin/x86_64-linux
# End texlive setup
EOF

Umiddelbart etter installasjonen, oppdater gjeldende PATH for ditt nåværende skall som en vanlig bruker:

source /etc/profile.d/texlive.sh

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 2024/texmf-dist/. Ved bruk av texdoc pdflatex ( erstatt pdflatex med kommandonavnet ) kan også være nyttig

texlive-20240312-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/2024 eller systems/texlive/2024 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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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-3.4.2 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.16 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.04.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.

Rett opp en byggefeil som oppstår på noen plattformer på grunn av mer strenge kompilator advarsler:

sed -e '182 s/internal_font_number/boolean/' \
    -e '301 s/internal_font_number/boolean/' \
    -i texk/web2c/pdftexdir/pdftex.ch

Nå, som en vanlig bruker:

export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

patch -Np1 -i ../texlive-20240312-source-upstream_fixes-1.patch &&

mkdir texlive-build &&
cd    texlive-build &&

../configure -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-libgs                           \
    --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.

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-20240312-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-20240312-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-46.3.1 or dvisvgm-3.4.3 å 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.01, biber-2.20, dvisvgm-3.4.3 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-20240312-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.

--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.

fmtutil-sys --all: Dette initialiserer TeX formatene, Metafont baser og Metapost mems.

mtxrun --generate: Dette initialiserer ConTeXt systemet.

Innhold

Installerte Programmer: Over 300 binærfiler og symbolkoblinger til skript
Installerte Biblioteker: libkpathsea.so, libptexenc.so, libsynctex.so, libtexlua52.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 2024/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

libtexlua52.so

gir Lua 5.2, modifisert for bruk med LuaTeX

libtexluajit.so

gir LuaJIT, modifisert for bruk med LuaJITTeX

asymptote-3.01

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://downloads.sourceforge.net/asymptote/asymptote-3.01.src.tgz

  • Nedlasting MD5 sum: f2286eec207c03e9b5d378e77a6b43a2

  • Nedlastingsstørrelse: 30 MB

  • Estimert diskplass som kreves: 338 MB (56 MB installert etter å ha overskrevet filer i $TEXLIVE_PREFIX/texmf-dist/, med alle avhengighetene som er i BLFS)

  • Estimert byggetid: 1.0 SBU (bruke parallellisme=4)

asymptote Avhengigheter

Påkrevd

ghostscript-10.04.0 og texlive-20240312

Anbefalt
Anbefalt ved kjøring
Valgfri

fftw-3.3.10, gsl-2.8, libsigsegv-2.14, både Boost-1.87.0 og rapidjson for å bruke LSP som kan brukes med emacs, click, og eigen

Valgfri (ved kjøring)

ImageMagick-7.1.1-43 å 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.20

Introduksjon til biber

Biber er en BibTeX erstatning for brukere av biblatex, skrevet i Perl, med full Unicode støtte.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

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/2024 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.011, Business-ISMN-1.204, 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.05, 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.4.3

Introduksjon til dvisvgm

dvisvgm pakken konverterer DVI, EPS og PDF filer til SVG formatet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://github.com/mgieseki/dvisvgm/releases/download/3.4.3/dvisvgm-3.4.3.tar.gz

  • Nedlasting MD5 sum: 1b354023a504a72bba35a639a0987d76

  • 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.1.0, ghostscript-10.04.0, Potrace-1.16, og texlive-20240312

Anbefalt
Valgfri

asciidoc-10.2.1 med xmlto-0.0.29 og libxslt-1.1.42 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:

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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.3 plattform.

Pakkeinformasjon

Påkrevd Ytterligere Nedlastinger

Xindy Avhengigheter

Påkrevd

Clisp-2.49 og texlive-20240312

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-20240312 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-2025 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