Beyond Linux® From Scratch (systemd Utgave)

Versjon 12.0

The BLFS Development Team

Copyright © 1999-2023, 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 2023-09-01

Revision History
Revision 12.0 01.09.2023 Tjueåttende Utgivelse
Revision 11.3 01.03.2023 Tjuesjuende Utgivelse
Revision 11.2 01.09.2022 Tjueseksende Utgivelse
Revision 11.1 01.03.2022 Tjuefemte Utgivelse
Revision 11.0 01.09.2021 Tjuefjerde Utgivelse
Revision 10.1 01.03.2021 Tjuetredje Utgivelse
Revision 10.0 01.09.2020 Tjueandre Utgivelse
Revision 9.1 01.03.2020 Tjueførste Utgivelse
Revision 9.0 01.09.2019 Tjuende Utgivelse
Revision 8.4 01.03.2019 Nittende Utgivelse
Revision 8.3 01.09.2018 Attende Utgivelse
Revision 8.2 02.03.2018 Syttende Utgivelse
Revision 8.1 01.09.2017 Sekstende Utgivelse
Revision 8.0 25.02.2017 Femtende Utgivelse
Revision 7.10 07.09.2016 Fjortende Utgivelse
Revision 7.9 08.03.2016 Trettende Utgivelse
Revision 7.8 01.10.2015 Tolvte Utgivelse
Revision 7.7 06.03.2015 Ellevte Utgivelse
Revision 7.6 23.09.2014 Tiende Utgivelse
Revision 7.5 05.03.2014 Niende Utgivelse
Revision 7.4 14.09.2013 Åttende Utgivelse
Revision 6.3 24.08.2008 Syvende Utgivelse
Revision 6.2 24.02.2007 Sjette Utgivelse
Revision 6.1 14.08.2005 Femte Utgivelse
Revision 6.0 02.04.2005 Fjerde Utgivelse
Revision 5.1 05.06.2004 Tredje Utgivelse
Revision 5.0 06.11.2003 Andre Utgivelse
Revision 1.0 25.04.2003 Første Utgivelse

Abstract

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

Table of Contents

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 - LXDE

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.

Part I. Introduksjon

Chapter 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 Chapter 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 (Chapter 4, Sikkerhet), Filsystemer (Chapter 5, Filsystemer og Diskbehandling -- inkludert GRUB for UEFI), Tekstredigerere (Chapter 6, Redigeringsprogrammer), og Skall (Chapter 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 Chapter 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 (Chapter 14, Koble til et Nettverk) ved hjelp av en rekke metoder som DHCP og PPP, og med elementer som nettverksbiblioteker (Chapter 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 (Chapter 25, Grafiske Miljøbiblioteker). Etter det, KDE, GNOME, Xfce, og LXDE 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-1.2.7 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

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.17

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 (ikke som modul) alternativet kan være innebygd, en modul eller ikke valgt (tri-state): den må velges som innebygd
Required parameter (kan være en modul) alternativet kan være innebygd, en modul eller ikke valgt: den må velges, enten som innebygd eller som modul
Required parameter (som en modul) 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 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 (selv som modul) 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.0 datert September 1st, 2023. Dette er 12.0-systemd gren av BLFS boken, for øyeblikket rettet mot LFS 12.0-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.0 – September 1st, 2023

Endringsloggoppføringer:

  • 1. september 2023

    • [bdubbs] - Utgivelse av BLFS-12.0.

  • 31. August, 2023

    • [renodr] - Oppdatert til Thunderbird-115.2.0 (Sikkerhetsoppdatering). Fikser #18479.

  • 30. August, 2023

    • [renodr] - Arkiver LXDM på grunn av problemer med PAM og elogind.

    • [pierre] - Oppdatert til blocaled-0.5. Fikser #18480.

  • 29. August, 2023

    • [renodr] - Oppdatert til intel-media-driver-23.3.2. Fikser #18472.

    • [ken] - Oppdatert til firefox-115.2.0 (Sikkerhetsoppdatering). Fikser #18468.

  • 28. August, 2023

    • [renodr] - Oppdatert til libreoffice-7.6.0.3. Fikser #18435.

  • 24. August, 2023

    • [bdubbs] - Oppdatert til kf5-apps-23.08.0, kate, kwave, falkon. Fikser #18152.

  • 23. August, 2023

    • [renodr] - Oppdatert til Thunderbird-115.1.1 (Sikkerhetsoppdatering). Fikser #18323.

    • [renodr] - Oppdatert til gnome-system-monitor-45.0. Fikser #18430.

    • [bdubbs] - Oppdatert til qemu-8.1.0. Fikser #18408.

    • [bdubbs] - Oppdatert til plasma5-5.27.7. Fikser #18189.

    • [bdubbs] - Oppdatert til kf5-109.0. Fikser #18164.

  • 22. August, 2023

    • [renodr] - Oppdatert til gnome-bluetooth-42.6. Fikser #18414.

    • [renodr] - Oppdatert til samba-4.18.6. Fikser #18416.

    • [bdubbs] - Oppdatert til xfce4-terminal-1.1.0. Fikser #18443.

    • [bdubbs] - Oppdatert til xfce4-appfinder-4.18.1. Fikser #18444.

    • [bdubbs] - Oppdatert til fop-2.9. Fikser #18441.

    • [bdubbs] - Oppdatert til apache-ant-1.10.14. Fikser #18433.

    • [renodr] - Oppdatert til WebKitGTK+-2.41.91. Fikser #18432.

  • 21. August, 2023

    • [ken]- Oppdatert til mutt-2.2.11. Fikser #18431.

    • [bdubbs]- MPlayer-1.5 FTBFS med binutils-2.41. Fikser #18381.

  • 20. August, 2023

    • [bdubbs] - Oppdatert til imlib2-1.12.0. Fikser #18428.

    • [renodr] - Flytt Kea fra nettverkskapittelet til Hovedserver Kapittel.

  • 19. August, 2023

    • [bdubbs] - Oppdatert til ImageMagick-7.1.1-15. Adresserer #16962.

    • [bdubbs] - Oppdatert til php-8.2.9 (Sikkerhetsoppdatering). Fikser #18423.

  • 17. August, 2023

    • [bdubbs] - Oppdatert til xwayland-23.2.0. Fikser #18415.

    • [bdubbs] - Oppdatert til mesa-23.1.6. Fikser #18417.

    • [bdubbs] - Oppdatert til libxcb-1.16. Fikser #18419.

    • [bdubbs] - Oppdatert til xcb-proto-1.16.0. Fikser #18418.

    • [renodr] - Oppdatert til screen-4.9.1. Fikser #18425.

    • [renodr] - Oppdatert til krb5-1.21.2 (Sikkerhetsoppdatering). Fikser #18420.

    • [renodr] - Oppdatert til bind-9.18.18. Fikser #18424.

    • [renodr] - Dokumenter en test som er kjent for å henge på enkelte systemer i rustc.

    • [renodr] - Deaktiver opprettelsen av /tmp/hsperfdata_[brukernavn] mappe i Java. På et BLFS system er ikke denne mappen vanligvis behov for.

  • 16. August, 2023

    • [renodr] - Arkiver SUPER Perl modulen. Det var tidligere bare brukt av Arkiv::TestMockModule, som nettopp ble arkivert.

    • [renodr] - Arkiver Test::MockModule. Den ble tidligere kun brukt i Arkiv::Zip, men den brukes ikke lenger der.

    • [renodr] - Oppdatert til blfs-systemd-units-20230816. Denne fikser advarsler når du bruker sendmail tjenesten.

  • 14. August, 2023

    • [renodr] - Oppdatert til vala-0.56.11. Fikser #18412.

    • [renodr] - Oppdatert til VIM-9.0.1677 (synkronisere til LFS).

    • [renodr] - Oppdatert til libsndfile-1.2.2. Fikser #18411.

    • [renodr] - Oppdatert til mc-4.8.30. Fikser #18410.

    • [renodr] - Oppdatert til libadwaita-1.3.4. Fikser #18409.

    • [timtas] - Oppdatert til openldap-2.6.6. Fikser #18361.

  • 13. August, 2023

    • [thomas] - Oppdatert til openssh-9.4p1 og ssh-askpass-9.4p1. Fikser #18397.

    • [renodr] - Oppdatert til gtkmm-3.24.8. Fikser #18402.

    • [renodr] - Oppdatert til libcloudproviders-0.3.2. Fikser #18399.

    • [renodr] - Oppdatert til cmake-3.27.2. Fikser #18400.

    • [renodr] - Oppdatert til JSON-C-0.17. Fikser #18407.

    • [renodr] - Oppdatert til libsecret-0.21.0. Fikser #18406.

    • [renodr] - Oppdatert til Text-CSV-2.03 (Perl Modul). Fikser #18405.

    • [renodr] - Oppdatert til Text-CSV_XS-1.51 (Perl Modul). Fikser #18405.

    • [renodr] - Oppdatert til boost-1.83.0. Fikser #18404.

  • 12. August, 2023

    • [ken] - Endre kontekstnotatet i texlive-kilden til å si fiks for 'mkiv' vil bli fjernet når texlive neste gang krever en oppdatering. Adresserer #18349.

    • [renodr] - Oppdatert til WebKitGTK+-2.41.90. Fikser #18403.

  • 11. August, 2023

    • [renodr] - Oppdatert til node.js-18.17.1 (Sikkerhetsoppdatering). Fikser #18395.

    • [renodr] - Oppdatert til postgresql-15.4 (Sikkerhetsoppdatering). Fikser #18401.

    • [renodr] - Oppdatert til NetworkManager-1.44.0. Fikser #18396.

    • [renodr] - Oppdatert til intel-gmmlib-22.3.10. Fikser #18398.

  • 9. August, 2023

    • [renodr] - Oppdatert til unixODBC-2.3.12. Fikser #18394.

    • [renodr] - Oppdatert til fuse-3.16.1. Fikser #18393.

  • 8. August, 2023

    • [renodr] - Aktiver bubblewrap sandkassen i WebKitGTK+. Dette bør redusere virkningen av fremtidige sikkerhetssårbarheter i denne pakken. Fikser #18391.

    • [renodr] - Legg til xdg-user-proxy for å tillate sandkasse i WebKitGTK+.

    • [ken] - Fiks fontforge ftbfs med gettext-0.22. Fikser #18392.

    • [renodr] - Oppdatert til mercurial-6.5.1. Fikser #18389.

    • [bdubbs] - Oppdatert til gtk-4.12.0. Fikser #18386.

    • [renodr] - Oppdatert til intel-media-driver-23.3.1. Fikser #18390.

  • 7. August, 2023

    • [renodr] - Oppdatert til gvfs-1.50.6. Fikser #18387.

    • [renodr] - Oppdatert til vala-0.56.10. Fikser #18385.

    • [renodr] - Oppdatert til Pygments-2.16.1 (Python Modul). Fikser #18384.

    • [renodr] - Oppdatert til gedit-46.1. Fikser #18383.

    • [renodr] - Oppdatert til rustc-1.71.1 (Sikkerhetsoppdatering). Fikser #18382.

    • [ken] - Oppdatert til qtwebengine-5.15.15 (sikkerhetsfiks). Fikser #18331.

  • 6. August, 2023

    • [renodr] - Oppdatert til gnome-terminal-3.48.2. Fikser #18378.

    • [renodr] - Fiks sikkerhetssårbarheter i WebKitGTK+ og kjøretids problemer i VMer. Fikser #18375.

    • [bdubbs] - Legg til en oppdatering fra oppstrøms som tillater ffmpeg-6.0 å bygge med binutils-2.41. Fikser #18367.

  • 5. August, 2023

    • [bdubbs] - Oppdatert til pipewire-0.3.77. Fikser #18379.

    • [bdubbs] - Oppdatert til mesa-23.1.5. Fikser #18372.

  • 4. August, 2023

    • [bdubbs] - Oppdatert til gnutls-3.8.1. Fikser #18377.

    • [bdubbs] - Oppdatert til SDL2-2.28.2. Fikser #18373.

    • [bdubbs] - Oppdatert til unrar-6.2.10. Fikser #18371.

    • [bdubbs] - Oppdatert til sg3_utils-1.48. Fikser #18370.

    • [bdubbs] - Oppdatert til LVM2.2.03.22. Fikser #18369.

    • [renodr] - Oppdatert til seamonkey-2.53.17 (Sikkerhetsoppdatering). Fikser #18362.

    • [renodr] - Oppdatert til mariadb-10.11.4 (Sikkerhetsoppdatering). Fikser #18374.

  • 3. August, 2023

    • [bdubbs] - Oppdatert til polkit-123. Fikser #18345.

    • [renodr] - Oppdatert til poppler-23.08.0. Fikser #18364.

    • [renodr] - Oppdatert til smartmontools-7.4. Fikser #18363.

    • [renodr] - Oppdatert til harfbuzz-8.1.1. Fikser #18359.

    • [renodr] - Oppdatert til emacs-29.1. Fikser #18356.

    • [renodr] - Oppdatert til sphinx-7.1.2. Fikser #18365.

  • 2. August, 2023

    • [renodr] - Oppdatert til gedit-46.0. Fikser #18350.

    • [renodr] - Oppdatert til tepl-6.8.0. Fikser #18357.

    • [renodr] - Oppdatert til libgedit-amtk-5.8.0. Fikser #18366.

    • [renodr] - Oppdatert til libgedit-gtksourceview-299.0.4. Fikser #18353.

  • 1. August, 2023

    • [renodr] - Oppdatert til epiphany-44.6. Fikser #18352.

    • [renodr] - Oppdatert til libArkiv-3.7.1. Fikser #18351.

    • [bdubbs] - Oppdatert til numpy-1.25.2 (Python modul). Fikser #18360.

    • [bdubbs] - Oppdatert til pyparsing-3.1.1 (Python modul). Fikser #18355.

    • [renodr] - Dokumenter noe av GDMs oppførsel med NVIDIA GPUer, og en mulig løsning hvis brukere ønsker å prøve det. Fikser #18266.

    • [ken] - Oppdatert til firefox-115.1.0esr (Sikkerhetsoppdatering). Fikser #18310.

  • 31. Juli, 2023

    • [ken] - Oppdatert til Net-HTTP-6.23 (perl module). Fikser #18358.

  • 30. Juli, 2023

    • [ken] - Oppdatert til dvisvgm-3.1. Fikser #18265.

    • [bdubbs] - Oppdatert til pipewire-0.3.76. Fikser #18348.

    • [bdubbs] - Oppdatert til mlt-7.18.0. Fikser #18347.

    • [bdubbs] - Oppdatert til gspell-1.12.2. Fikser #18346.

    • [bdubbs] - Oppdatert til gcc-13.2.0. Fikser #18341.

  • 28. Juli, 2023

    • [xry111] - Oppdatert til systemd-254 (synkronisere med LFS). Fikser #18344.

    • [bdubbs] - Oppdatert til btrfs-progs-v6.3.3. Fikser #18340.

    • [renodr] - Oppdatert til nss-3.92. Fikser #18339.

    • [renodr] - Oppdatert til sphinx-7.1.1 (Python Modul). Fikser #18343.

    • [renodr] - Oppdatert til python-dbusmock-0.29.1 (Python Modul). Fikser #18342.

  • 27. Juli, 2023

    • [bdubbs] - Oppdatert til umockdev-0.17.18. Fikser #18338.

  • 26. Juli, 2023

    • [renodr] - Oppdatert til gexiv2-0.14.2. Fikser #18337.

    • [renodr] - Oppdatert til cmake-3.27.1. Fikser #18336.

    • [renodr] - Oppdatert til curl-8.2.1 (Sikkerhetsoppdatering). Fikser #18315.

  • 25. Juli, 2023

    • [bdubbs] - Oppdatert til qca-2.3.7. Fikser #18334.

    • [bdubbs] - Oppdatert til sudo-1.9.14p3. Fikser #18333.

    • [bdubbs] - Oppdatert til sphinx-7.1.0 (Python modul). Fikser #18335.

  • 24. Juli, 2023

    • [bdubbs] - Oppdatert til inkscape-1.3. Fikser #18332.

  • 23. Juli, 2023

    • [renodr] - Oppdatert til pipewire-0.3.75. Fikser #18330.

    • [renodr] - Oppdatert til icewm-3.4.1. Fikser #18329.

    • [renodr] - Oppdatert til glu-9.0.3. Fikser #18328.

    • [renodr] - Oppdatert til mesa-23.1.4. Fikser #18325.

    • [bdubbs] - Oppdatert til libreoffice-7.5.5.2. Fikser #18322.

    • [renodr] - Oppdater gstreamer og programtillegg til 1.22.5 (Sikkerhetsoppdatering). Fikser #18318.

    • [renodr] - Oppdatert til librsvg-2.56.3 (Sikkerhetsoppdatering). Fikser #18327.

    • [renodr] - Oppdatert til libblockdev-3.0.2. Fikser #18319.

    • [renodr] - Oppdatert til talloc-2.4.1. Fikser #18320.

    • [renodr] - Oppdatert til libshumate-1.0.5. Fikser #18321.

    • [renodr] - Oppdatert til unrar-6.2.9. Fikser #18324.

  • 22. Juli, 2023

    • [renodr] - Oppdatert til OpenJDK-20.0.2 (Sikkerhetsoppdatering). Fikser #18317.

  • 21. Juli, 2023

    • [renodr] - Oppdatert til WebKitGTK+-2.41.6 (Sikkerhetsoppdatering). Fikser #18255.

    • [renodr] - Oppdatert til samba-4.18.5 (Sikkerhetsoppdatering). Fikser #18257.

    • [renodr] - Oppdatert til dhcpcd-10.0.2. Fikser #18314.

    • [renodr] - Oppdatert til fuse3-3.15.1. Fikser #18306.

    • [rahul] - Legg til TearFree oppdateringen til xorg-server. Fikser #18316.

  • 20. Juli, 2023

    • [bdubbs] - Oppdatert til bind-9.18.17. Fikser #18313.

    • [bdubbs] - Oppdatert til xfsprogs-6.4.0. Fikser #18312.

    • [bdubbs] - Oppdatert til openssh-9.3p2 (Sikkerhetsoppdatering). Fikser #18311.

    • [bdubbs] - Oppdatert til cmake-3.27.0. Fikser #18309.

    • [bdubbs] - Oppdatert til node-18.17.0. Fikser #18308.

  • 19. Juli, 2023

    • [bdubbs] - Oppdatert til libArkiv-3.7.0. Fikser #18307.

    • [bdubbs] - Oppdatert til PyYAML-6.0.1. Fikser #18304.

    • [bdubbs] - Oppdatert til highlight-4.7. Fikser #18302.

    • [bdubbs] - Oppdatert til sudo-1.9.14p2. Fikser #18300.

    • [bdubbs] - Oppdatert til stunnel-5.70. Fikser #18296.

    • [bdubbs] - Oppdatert til nghttp2-1.55.1 (Sikkerhetsoppdatering). Fikser #18295.

    • [bdubbs] - Oppdatert til wireshark-4.0.7 (Sikkerhetsoppdatering). Fikser #18294.

    • [bdubbs] - Oppdatert til libva-2.19.0. Fikser #18293.

  • 18. Juli, 2023

    • [bdubbs] - Oppdatert til LWP (libwww-perl-6.72). Fikser #18305.

    • [bdubbs] - Oppdatert til krb5-1.21.1 (Sikkerhetsoppdatering). Fikser #18288.

    • [bdubbs] - Legg til LXQt Skrivebord og applikasjoner kapitler.

    • [bdubbs] - Legg til sddm (skjermbehandler) side.

    • [bdubbs] - Legg til sddm qt-alternate og qt-components sider.

    • [renodr] - Oppdatert til cheese-44.1. Fikser #18301.

    • [renodr] - Oppdatert til epiphany-44.5. Fikser #18263.

    • [renodr] - Oppdatert til intel-media-driver-23.3.0. Fikser #18299.

    • [renodr] - Oppdatert til intel-gmmlib-22.3.9. Fikser #18298.

  • 17. Juli, 2023

    • [bdubbs] - Oppdatert til liblinear-247. Fikser #18281.

    • [bdubbs] - Oppdatert til libbytesize-2.9. Fikser #18259.

    • [bdubbs] - Oppdatert til libblockdev-3.0.1. Fikser #18256.

    • [bdubbs] - Oppdatert til gnupg-2.4.3. Fikser #18250.

    • [xry111] - Arkiv xf86-video-*. Fikser #18267.

    • [bdubbs] - Oppdatert til LMDB_0.9.31. Fikser #18290.

    • [bdubbs] - Oppdatert til qpdf-11.5.0. Fikser #18282.

    • [bdubbs] - Oppdatert til harfbuzz-8.0.1. Fikser #18278.

    • [bdubbs] - Oppdatert til xapian-core-1.4.23. Fikser #18270.

    • [bdubbs] - Oppdatert til exempi-2.6.4. Fikser #18269.

  • 15. Juli, 2023

    • [xry111] - Oppdatert til rustc-1.71.0. Fikser #18297.

  • 12. Juli, 2023

    • [timtas] - Oppdatert til thunderbird-115.0. Fikser #18275.

    • [pierre] - Oppdatert til mercurial-6.5. Fikser #18261.

    • [pierre] - Oppdatert til glib-2.76.4. Fikser #18291.

    • [pierre] - Oppdatert til sudo-1.9.14p1. Fikser #18289.

    • [pierre] - Oppdatert til graphviz-8.1.0. Fikser #18271.

    • [pierre] - Oppdatert til gpgme-1.21.0. Fikser #18268.

    • [pierre] - Oppdatert til pipewire-0.3.74. Fikser #18264.

    • [pierre] - Oppdatert til inih-57. Fikser #18260.

    • [ken] - Oppdatert til firefox-115.0.2esr (Sikkerhetsfiks). Fikser #18276.

  • 11. Juli, 2023

    • [renodr] - Oppdatert til libgudev-238. Fikser #18287.

    • [rahul] - Oppdatert til upower-1.90.2. Fikser #18251.

    • [pierre] - Oppdatert til qemu-8.0.3. Fikser #18277.

    • [rahul] - Oppdatert til libshumate-1.0.4. Fikser #18284.

    • [timtas] - Oppdatert til openldap-2.6.5. Fikser #18285.

    • [thomas] - Oppdatert til xterm-384. Fikser #18286.

    • [thomas] - Oppdatert til php-8.2.8. Fikser #18262.

  • 10. Juli, 2023

    • [renodr] - Oppdatert til LWP-Protocol-https-6.11 (Perl Modul, Sikkerhetsoppdatering). Fikser #18283.

    • [renodr] - Oppdatert til Test-Differences-0.70 (Perl Modul). Fikser #18272.

    • [renodr] - Oppdatert til numpy-1.25.1 (Python Modul). Fikser #18279.

    • [renodr] - Oppdatert til lxml-4.9.3 (Python Modul). Fikser #18253.

    • [renodr] - Oppdatert til Cython-0.29.36 (Python Modul). Fikser #18252.

  • 9. Juli, 2023

    • [pierre] - Oppdatert til mutter-44.3. Fikser #18274.

    • [pierre] - Oppdatert til gnome-shell-44.3. Fikser #18273.

  • 8. Juli, 2023

    • [thomas] - Legg til ISC-Kea DHCP Server 2.4.0 (og dens avhengighet log4cplus) som er etterfølgeren til ISC dhcpd. Fikser #18160.

  • 6. Juli, 2023

    • [renodr] - Oppdatert til gnome-maps-44.3. Fikser #18239.

    • [renodr] - Oppdatert til evince-44.3. Fikser #18238.

    • [renodr] - Oppdatert til eog-44.3. Fikser #18237.

    • [renodr] - Oppdatert til gnome-user-docs-44.3. Fikser #18236.

    • [renodr] - Oppdatert til gvfs-1.50.5. Fikser #18235.

    • [renodr] - Oppdatert til evolution og evolution-data-server 3.48.4. Fikser #18232.

    • [renodr] - Oppdatert til epiphany-44.4. Fikser #18228.

    • [renodr] - Oppdatert til gnome-control-center-44.3. Fikser #18227.

    • [renodr] - Oppdatert til tepl-6.6.0. Fikser #18226.

    • [renodr] - Oppdatert til opencv-4.8.0. Fikser #18213.

    • [renodr] - Oppdatert til gstreamer og programtillegg 1.22.4 (Sikkerhetsoppdatering). Fikser #18190.

    • [renodr] - Oppdatert til jdk-20.0.1 (Sikkerhetsoppdatering). Fikser #18192.

  • 5. Juli, 2023

    • [renodr] - Oppdatert til intel-media-driver-23.2.4. Fikser #18254.

    • [ken] - Oppdatert til ImageMagick-7.1.1-12 (Sikkerhetsfiks). Fikser #18204.

  • 4. Juli, 2023

    • [ken] - Oppdatert til JS-102.13.0 (Sikkerhetsfiks). Fikser #18248.

    • [ken] - Oppdatert til firefox-115.0esr (Sikkerhetsfiks). Fikser #18220. Vær så snill les den billetten eller redaktørnotatene for informasjon om minimum avhengigheter ved oppdatering av eldre systemer.

    • [timtas] - Oppdatert til xfce4-settings-4.18.3. Fikser #18249.

    • [renodr] - Fiks bygging av xfsprogs-6.3.0 med gettext-0.22.

    • [bdubbs] - Oppdatert til wayland-protocols-1.32. Fikser #18247.

    • [bdubbs] - Oppdatert til libqalculate-4.7.0. Fikser #18246.

    • [bdubbs] - Oppdatert til vala-0.56.9. Fikser #18245.

    • [bdubbs] - Oppdatert til poppler-23.07.0. Fikser #18244.

    • [bdubbs] - Oppdatert til libjpeg-turbo-3.0.0. Fikser #18243.

  • 3. Juli, 2023

    • [bdubbs] - Oppdatert til taglib-1.13.1. Fikser #18234.

    • [bdubbs] - Oppdatert til SDL2-2.28.1. Fikser #18233.

    • [bdubbs] - Oppdatert til bluez-5.68. Fikser #18229.

    • [bdubbs] - Oppdatert til libuv-v1.46.0. Fikser #18225.

    • [bdubbs] - Oppdatert til libpaper-2.1.1. Fikser #18224.

    • [bdubbs] - Oppdatert til p11-kit-0.25.0. Fikser #18219.

    • [bdubbs] - Oppdatert til glib-networking-2.76.1. Fikser #18217.

    • [bdubbs] - Oppdatert til NetworkManager-1.42.8. Fikser #18215.

  • 1. Juli, 2023

    • [xry111] - Oppdatert til librsvg-2.56.2. Fikser #18231.

    • [timtas] - Oppdatert til nss-3.91. Fikser #18218.

  • 30. Juni, 2023

    • [bdubbs] - Oppdatert til udisks-2.10.0. Fikser #18214.

    • [bdubbs] - Oppdatert til libblockdev-3.0. Fikser #18216.

    • [bdubbs] - Legg til libnvme-1.5 i støtte av libblockdev.

  • 29. Juni, 2023

    • [bdubbs] - Oppdatert til libwebp-1.3.1. Fikser #18212.

    • [bdubbs] - Oppdatert til xterm-383. Fikser #18210.

    • [timtas] - Nevn hvordan man bygger samba uten dbus.

    • [timtas] - Oppdatert til sudo-1.9.14. Fikser #18209.

  • 27. Juni, 2023

    • [renodr] - Fiks bygging av gexiv2 på i686 systemer. Fikser #18208.

    • [renodr] - Oppdater systemd-units tarball til 20230627.

    • [bdubbs] - Oppdatert til pipewire-0.3.72. Fikser #18207.

  • 26. Juni, 2023

    • [bdubbs] - Oppdatert til gedit-45.0. Fikser #18202.

    • [bdubbs] - Oppdatert til tepl-6.5.1 i støtte av gedit.

    • [bdubbs] - Legg til libgedit-gtksourceview i støtte av tepl og gedit.

    • [bdubbs] - Oppdatert til flac-1.4.3. Fikser #18201.

    • [bdubbs] - Oppdatert til mercurial-6.4.5. Fikser #18196.

    • [renodr] - Oppdatert til ghostscript-10.01.2. Fikser #18194.

    • [renodr] - Oppdatert til libpng-1.6.40. Fikser #18195.

    • [renodr] - Oppdatert til freetype-2.13.1. Fikser #18203.

    • [renodr] - Oppdatert til pytest-7.4.0 (Python Modul). Fikser #18200.

    • [rahul] - Oppdatert til gegl-0.4.46. Fikser #18206.

  • 25. Juni, 2023

    • [renodr] - Fiks bygging av ncftp med GCC-13/clang-16. Fikser #18205.

    • [timtas] - Oppdatert til mesa-23.1.3. Fikser #18197.

  • 23. Juni, 2023

    • [renodr] - Oppdatert til BIND-9.18.16 (Sikkerhetsoppdatering). Fikser #18193.

    • [renodr] - Oppdatert til node.js-18.16.1 (Sikkerhetsoppdatering). Fikser #18187.

    • [renodr] - Oppdatert til cups-2.4.6 (Sikkerhetsoppdatering). Fikser #18198.

    • [ken] - Fjern foreldet valgfri exiv2 avhengighet fra gegl-0.4.44. Fikser #18199.

    • [thomas] - Oppdatert til libburn-1.5.6, libisofs-1.5.6 og libisoburn-1.5.6. Fikser #18191.

  • 22. Juni, 2023

    • [renodr] - Oppdatert til libksba-1.6.4. Fikser #18185.

    • [renodr] - Oppdatert til libassuan-2.5.6. Fikser #18184.

    • [renodr] - Oppdatert til libwww-perl-6.71 (Perl Modul). Fikser #18188.

    • [renodr] - Oppdatert til pycairo-1.24.0 (Python Modul). Fikser #18186.

    • [renodr] - Oppdatert til SDL2-2.28.0. Fikser #18172.

  • 19. Juni, 2023

    • [renodr] - Oppdatert til evince-44.2. Fikser #18183.

    • [renodr] - Oppdatert til pyparsing-3.1.0 (Python Modul). Fikser #18182.

    • [renodr] - Oppdatert til NumPy-1.25.0 (Python Modul). Fikser #18181.

    • [bdubbs] - Oppdatert til btrfs-progs-v6.3.2. Fikser #18176.

  • 17. Juni, 2023

    • [renodr] - Oppdatert til gnome-video-effects-0.6.0. Fikser #18171.

    • [renodr] - Oppdatert til tiff-4.5.1. Fikser #18170.

    • [renodr] - Fiks CVE-2023-24805 i cups-filters. Fikser #18180.

    • [pierre] - Oppdatert til mupdf-1.22.2. Fikser #18178

    • [pierre] - Oppdatert til xorgproto-2023.2. Fikser #18177

    • [pierre] - Oppdatert til gjs-1.76.2. Fikser #18175

  • 16. Juni, 2023

    • [rahul] - Oppdater libX11 til 1.8.6 (Sikkerhetsoppdatering). Fikser #18174

  • 15. Juni, 2023

    • [renodr] - Oppdatert til Thunderbird-102.12.0 (Sikkerhetsoppdatering). Fikser #18036.

    • [renodr] - Oppdatert til WebKitGTK+-2.41.5 for å fikse problemer med skjermflimmer på Intel GPUer. Fikser #18051.

  • 14. Juni, 2023

    • [bdubbs] - Oppdatert til cups-2.4.5. Fikser #18169.

    • [bdubbs] - Oppdatert til icu4c-73_2. Fikser #18168.

  • 13. Juni, 2023

    • [ken] - Oppdatert til asymptote-2.86. Fikser #18148.

    • [pierre] - Oppdatert til qt5-5.15.10. Fikser #18144.

  • 12. Juni, 2023

    • [bdubbs] - Oppdatert til gjs-1.76.1. Fikser #18166.

    • [bdubbs] - Oppdatert til xkeyboard-config-2.39. Fikser #18165.

    • [bdubbs] - Oppdatert til pytest-7.3.2 (Python modul). Fikser #18162.

    • [bdubbs] - Oppdatert til libreoffice-7.5.4.2. Fikser #18153.

  • 11. Juni, 2023

    • [renodr] - Oppdatert til fuse-3.15.0. Fikser #18159.

    • [renodr] - Oppdatert til libadwaita-1.3.3. Fikser #18163.

  • 10. Juni, 2023

    • [bdubbs] - Oppdatert til libgusb-0.4.6. Fikser #18155.

    • [bdubbs] - Oppdatert til mesa-23.1.2. Fikser #18154.

    • [bdubbs] - Oppdatert til cachecontrol-0.13.1. Fikser #18151.

    • [bdubbs] - Oppdatert til php-8.2.7. Fikser #18150.

    • [bdubbs] - Oppdatert til mercurial-6.4.4. Fikser #18149.

    • [bdubbs] - Oppdatert til nghttp2-1.54.0. Fikser #18147.

    • [thomas] - Legg til en sed til poppler for å fikse et byggeproblem på 32-bits systemer.

  • 9. Juni, 2023

    • [bdubbs] - Oppdatert til python3-3.11.4. Fikser #18145.

    • [bdubbs] - Oppdatert til dbus-1.14.8. Fikser #18141.

    • [renodr] - Oppdatert til intel-gmmlib-22.3.7. Fikser #18140.

    • [renodr] - Oppdatert til sendmail-8.17.2. Fikser #18131.

    • [renodr] - Oppdatert til gucharmap-15.0.4. Fikser #17815.

    • [renodr] - Oppdatert til gnome-weather-44.0. Fikser #17840.

    • [renodr] - Oppdatert til gnome-terminal-3.48.1. Fikser #17814.

    • [renodr] - Legg til en oppdatering til Desktop File Utils for å håndtere SingleMainWindow nøkkel. Fikser #17925.

    • [renodr] - Oppdatert til gnome-system-monitor-44.0. Fikser #17813.

    • [renodr] - Oppdatert til gnome-maps-44.2. Fikser #17827.

    • [renodr] - Oppdatert til gnome-disk-utility-44.0. Fikser #17802.

    • [renodr] - Oppdatert til gnome-calculator-44.0. Fikser #17812.

    • [renodr] - Oppdatert til evolution-3.48.3. Fikser #17808.

    • [renodr] - Oppdatert til evolution-data-server-3.48.3. Fikser #17808.

    • [renodr] - Oppdatert til evince-44.1. Fikser #17826.

    • [renodr] - Oppdatert til eog-44.2. Fikser #17825.

    • [renodr] - Oppdatert til cheese-44.0.1. Fikser #17920.

    • [renodr] - Oppdatert til baobab-44.0. Fikser #17839.

    • [renodr] - Oppdatert til gdm-44.1. Fikser #18013.

    • [renodr] - Oppdatert til gnome-user-docs-44.1. Fikser #18158.

    • [renodr] - Oppdatert til gnome-session-44.0. Fikser #18157.

    • [renodr] - Oppdatert til gnome-shell-extensions-44.0. Fikser #17836.

    • [renodr] - Oppdatert til gnome-shell-44.2. Fikser #17836.

    • [renodr] - Oppdatert til mutter-44.2. Fikser #17835.

    • [renodr] - Oppdatert til gnome-control-center-44.2. Fikser #17811.

    • [renodr] - Oppdatert til gnome-settings-daemon-44.1. Fikser #17834.

  • 8. Juni, 2023

    • [bdubbs] - Oppdatert til sphinx_rtd_theme-1.2.2. Fikser #18146.

    • [bdubbs] - Oppdatert til gtk-4.10.4. Fikser #18143.

    • [bdubbs] - Oppdatert til xwayland-23.1.2. Fikser #18142.

    • [bdubbs] - Oppdatert til krb5-1.21. Fikser #18139.

    • [bdubbs] - Oppdatert til poppler-23.06.0. Fikser #18137.

    • [bdubbs] - Oppdatert til xorgproto-2023.1. Fikser #18136.

    • [bdubbs] - Oppdatert til nss-3.90. Fikser #18135.

    • [bdubbs] - Oppdatert til icewm-3.4.0. Fikser #18134.

    • [bdubbs] - Oppdatert til bluefish-2.2.14. Fikser #18129.

    • [bdubbs] - Oppdatert til cups-2.4.4. Fikser #18125.

    • [timtas] - Oppdatert til nettle-3.9.1. Fikser #18119.

    • [thomas] - Oppdatert til postFiks-3.8.1. Fikser #18138.

  • 7. Juni, 2023

    • [bdubbs] - Oppdatert til librsvg-2.56.1. Fikser #18118.

    • [bdubbs] - Oppdatert til rustc-1.70.0. Fikser #18122.

    • [bdubbs] - Oppdatert til llvm-16.0.5. Fikser #18127.

    • [renodr] - Oppdatert til nautilus-44.2.1. Fikser #17810.

    • [renodr] - Oppdatert til gvfs-1.50.4. Fikser #17809.

    • [renodr] - Oppdatert til gnome-backgrounds-44.0. Fikser #17833.

  • 6. Juni, 2023

    • [bdubbs] - Oppdatert til vte-0.70.2. Fikser #18124.

    • [bdubbs] - Oppdatert til ntp-4.2.8p17. Fikser #18123.

    • [bdubbs] - Oppdatert til tree-2.1.1. Fikser #18117.

    • [bdubbs] - Oppdatert til cachecontrol-0.13.0.tar.gz (Python modul). Fikser #18115.

    • [bdubbs] - Oppdatert til unrar-6.2.8. Fikser #18114.

    • [ken] - Oppdatert til firefox-102.12.0 (Sikkerhetsoppdatering) og JS-102.12.0. Fikser #18110.

  • 5. Juni, 2023

    • [bdubbs] - Oppdatert til serf-1.3.10. Fikser #18113.

    • [bdubbs] - Oppdatert til gnupg-2.4.2. Fikser #18106.

    • [bdubbs] - Oppdatert til gc-8.2.4. Fikser #18103.

    • [bdubbs] - Oppdatert til xfce4-pulseaudio-plugin-0.4.7. Fikser #18111.

    • [bdubbs] - Oppdatert til xfce4-session-4.18.3. Fikser #18100.

    • [renodr] - Oppdatert til intel-media-driver-23.2.3. Fikser #18064.

  • 4. Juni, 2023

    • [bdubbs] - Oppdatert til xwd-1.0.9 (Xorg App). Fikser #18133.

    • [bdubbs] - Oppdatert til xrdb-1.2.2 (Xorg App). Fikser #18132.

    • [bdubbs] - Slett utdatert Xorg bibliotek libdmx. Fikser #18128.

    • [bdubbs] - Oppdatert til xtrans-1.5.0 (Xorg Bibliotek). Fikser #18128.

    • [bdubbs] - Oppdatert til libX11-1.8.5 (Xorg Bibliotek). Fikser #18112.

    • [bdubbs] - Oppdatert til MarkupSafe-2.1.3 (Python Modul). Fikser #18126.

    • [bdubbs] - Oppdatert til Net-DNS-1.39 (Perl Modul). Fikser #18120.

    • [bdubbs] - Oppdatert til xterm-382. Fikser #18107.

    • [bdubbs] - Oppdatert til curl-8.1.2. Fikser #18104.

    • [bdubbs] - Oppdatert til btrfs-progs-v6.3.1. Fikser #18101.

  • 2. Juni, 2023

    • [timtas] - Oppdatert til git-2.41.0. Fikser #18121.

  • 1. Juni, 2023

    • [timtas] - Oppdatert til qemu-8.0.2. Fikser #18102.

    • [renodr] - Oppdatert til tracker-miners-3.5.2. Fikser #17832.

    • [renodr] - Oppdatert til tracker-3.5.3. Fikser #17832.

    • [renodr] - Oppdatert til evolution-data-server-3.48.2. Delvis fikser #17808.

    • [renodr] - Oppdatert til libpeas-1.36.0. Fikser #17807.

    • [xry111] - Oppdatert til libssh2-1.11.0. Fikser #18105.

  • 31. Mai, 2023

    • [timtas] - Oppdatert til xfce4-power-manager-4.18.2. Fikser #18108.

    • [timtas] - Oppdatert til samba-4.18.3. Fikser #18109.

    • [pierre] - Fiks bygging av gwenview og libkexiv2 mot exiv2-0.28.

  • 30. Mai, 2023

    • [bdubbs] - Oppdatert til webkitgtk-2.40.2. Fikser #18099.

  • 29. Mai, 2023

    • [pierre] - Oppdatert til at-spi2-core-2.48.3. Fikser #18098.

    • [pierre] - Oppdatert til xterm-381. Fikser #18097.

    • [pierre] - Oppdatert til gdb-13.2. Fikser #18096.

    • [pierre] - Oppdatert til epiphany-44.3. Fikser #18095.

    • [pierre] - Oppdatert til vala-0.56.8. Fikser #18094.

    • [bdubbs] - Oppdatert til vim-9.0.1503. Adresserer #12241.

  • 28. Mai, 2023

    • [bdubbs] - Oppdatert til glib-2.76.3. Fikser #18092.

    • [bdubbs] - Oppdatert til mesa-23.1.1. Fikser #18091.

  • 27. Mai, 2023

    • [pierre] - Oppdatert til gexiv2-0.14.1 (med en oppdatering for exiv2-0.28). Fikser #18020.

  • 26. Mai, 2023

    • [bdubbs] - Oppdatert til sdl12-compat-release-1.2.64. Fikser #18090.

    • [bdubbs] - Oppdatert til exiv2-0.28.0. Fikser #18093.

    • [bdubbs] - Oppdatert til Cython-0.29.35 (Python modul). Fikser #18089.

    • [ken] - Oppdaterer hvordan liste alle konfigureringsalternativer for firefox og thunderbird.

  • 25. Mai, 2023

    • [bdubbs] - Oppdatert til wireshark-4.0.6 (Sikkerhetsfiks). Fikser #18088.

  • 24. Mai, 2023

    • [renodr] - Oppdatert til grilo-0.3.16. Fikser #18035.

    • [renodr] - Oppdatert til gnome-online-accounts-3.48.0. Fikser #17806.

    • [renodr] - Oppdatert til gnome-desktop-44.0. Fikser #17831.

    • [renodr] - Oppdatert til gnome-autoar-0.4.4. Fikser #17805.

    • [bdubbs] - Oppdatert til sphinx_rtd_theme-1.2.1. Fikser #18087.

    • [bdubbs] - Oppdater python sphinx avhengigheter til sphinxcontrib-jquery-4.1, sphinxcontrib-applehelp-1.0.4, og sphinxcontrib-htmlhelp-2.0.1.

    • [pierre] - Oppdatert til requests-2.31.0 (python modul, sikkerhetsoppdatering). Fikser #18084.

    • [pierre] - Oppdatert til enchant-2.5.0. Fikser #18082.

    • [pierre] - Oppdatert til xfsprogs-6.3.0. Fikser #18081.

    • [pierre] - Oppdatert til nmap-7.94. Fikser #18076.

    • [pierre] - Oppdatert til qpdf-11.4.0. Fikser #18075.

    • [bdubbs] - Oppdatert til highlight-4.6. Fikser #18086.

  • 23. Mai, 2023

    • [bdubbs] - Oppdatert til curl-8.1.1. Fikser #18085.

    • [bdubbs] - Oppdatert til gtk+3-3.24.38. Fikser #18083.

    • [timtas] - Oppdatert til xfce4-panel-4.18.4. Fikser #18079.

    • [timtas] - Oppdatert til libxfce4ui-4.18.4. Fikser #18078.

    • [bdubbs] - Oppdatert til gstreamer-1.22.3 og gst-plugins. Fikser #18073.

  • 22. Mai, 2023

    • [bdubbs] - Oppdatert til libuv-1.45.0. Fikser #18074.

    • [bdubbs] - Oppdatert til pycryptodome-3.18.0 (Python modul). Fikser #18072.

    • [bdubbs] - Oppdatert til double-conversion-3.3.0. Fikser #18071.

    • [ken] - Oppdatert til c-ares-1.19.1 (Sikkerhetsfiks). Fikser #18077.

    • [bdubbs] - Oppdatert til icewm-3.3.5. Fikser #18068.

    • [bdubbs] - Oppdatert til doxygen-1.9.7. Fikser #18068.

    • [ken] - Perl moduler - Legg til Test::Deep, Test::Requires og URI for testavhengigheter for HTTP::CookieJar. Fikser #18080.

  • 21. Mai, 2023

    • [bdubbs] - Oppdatert til cmake-3.26.4. Fikser #18067.

    • [bdubbs] - Oppdatert til libwacom-2.7.0. Fikser #18066.

    • [bdubbs] - Oppdatert til pipewire-0.3.71. Fikser #18065.

    • [bdubbs] - Oppdatert til bind og bind utilities 9.18.15. Fikser #18063.

    • [bdubbs] - Oppdatert til llvm-16.0.4. Fikser #18061.

  • 19. Mai, 2023

    • [bdubbs] - Oppdatert til IO-Socket-SSL-2.083 (Perl Modul). Fikser #18062.

    • [bdubbs] - Oppdatert til dos2unix-7.5.0. Fikser #18060.

    • [bdubbs] - Oppdatert til asciidoctor-2.0.20. Fikser #18059.

    • [bdubbs] - Oppdatert til docutils-0.20.1 (Python modul). Fikser #18057.

    • [bdubbs] - Oppdatert til libcap-2.69. Fikser #18054.

    • [bdubbs] - Oppdatert til fribidi-1.0.13. Fikser #18055.

    • [bdubbs] - Oppdatert til unrar-6.2.7. Fikser #18049.

    • [bdubbs] - Oppdatert til lua-5.4.6. Fikser #18048.

    • [bdubbs] - Oppdatert til setxkbmap-1.3.4 (Xorg App). Fikser #18047.

  • 17. Mai, 2023

    • [bdubbs] - Oppdatert til nettle-3.9. Fikser #18046.

    • [bdubbs] - Oppdatert til at-spi2-core-2.48.2. Fikser #18041.

    • [bdubbs] - Oppdatert til php-8.2.6. Fikser #18039.

    • [timtas] - Oppdatert til curl-8.1.0. Fikser #18058.

    • [xry111] - Oppdatert til sqlite-autoconf-3420000 (3.42.0). Fikser #18056.

  • 16. Mai, 2023

    • [pierre] - Oppdatert til sphinx-7.0.1 (Python modul). Fikser #18043.

    • [pierre] - Oppdatert til mupdf-1.22.1. Fikser #18038.

    • [pierre] - Oppdatert til docutils-0.20 (Python modul). Fikser #18050.

  • 15. Mai, 2023

    • [bdubbs] - Oppdatert til mesa-23.1.0. Fikser #18034.

    • [timtas] - Oppdatert til ristretto-0.13.1. Fikser #18045.

  • 14. Mai, 2023

    • [bdubbs] - Oppdatert til plasma-5.27.5. Fikser #17685.

    • [bdubbs] - Oppdatert til kf5-gear-23.04.1 inkludert kate, kwave, og falkon. Fikser #17741.

    • [bdubbs] - Oppdatert til kf5-5.106.0. Fikser #17778.

    • [xry111] - Oppdatert til llvm-16.0.3. Fikser #17861.

  • 13. Mai, 2023

    • [pierre] - Legg til HTTP::CookieJar-0.014 (perl modul avhengighet) trengs av libwww-perl-6.70.

    • [pierre] - Oppdatert til Business::ISBN::Data-20230426.001 (perl modul avhengighet) fordi en nyere versjon er nødvendig av Business::ISBN-3.008. Fikser #18044.

  • 12. Mai, 2023

    • [ken] - Oppdatert til qtwebengine-5.15.14 (Sikkerhetsfikser). Fikser #18024.

    • [timtas] - Oppdatert til postgresql-15.3. Fikser #18040.

    • [bdubbs] - Oppdatert til libaom-3.6.1. Fikser #18037.

    • [bdubbs] - Oppdatert til rpcsvc-proto-1.4.4. Fikser #18033.

    • [bdubbs] - Oppdatert til nghttp2-1.53.0. Fikser #18032.

    • [bdubbs] - Oppdatert til wget-1.21.4. Fikser #18031.

  • 11. Mai, 2023

    • [bdubbs] - Oppdatert til xterm-380. Fikser #18030.

    • [bdubbs] - Oppdatert til Net-DNS-1.38 (Perl modul). Fikser #18029.

    • [bdubbs] - Oppdatert til harfbuzz-7.3.0. Fikser #18028.

  • 9. Mai, 2023

    • [timtas] - Oppdatert til Linux-PAM-1.5.3. Fikser #18025.

    • [ken] - Oppdatert til firefox-102.11.0 (med en sed for GCC-13) og JS-102.11.0 (begge er sikkerhetsfikser). Fikser #18022.

    • [ken] - Bruk en sed for å fikse libvdpau-va-gl-0.4.0 FTBFS med GCC-13. Fikser #18027.

    • [ken] - Oppdater texlive kilde for en sikkerhetsfiks. #18006.

    • [bdubbs] - Oppdatert til libxslt-1.1.38. Fikser #18026.

  • 8. Mai, 2023

    • [ken] - Bruk en sed for å fikse pango-1.50.14 FTBFS med GCC-13. Fikser #18023.

    • [bdubbs] - Oppdatert til mlt-7.16.0. Fikser #18021.

  • 7. Mai, 2023

    • [pierre] - Bruk en sed for å fikse QT5-FTBFS med GCC-13. Fikser #18019.

    • [bdubbs] - Oppdatert til libwww-perl-6.70 (Perl modul). Fikser #18018.

    • [bdubbs] - Oppdatert til nss-3.89.1. Fikser #18017.

    • [bdubbs] - Oppdatert til graphviz-8.0.5. Fikser #18015.

    • [bdubbs] - Oppdatert til babl-0.1.106. Fikser #18014.

    • [bdubbs] - Oppdatert til mercurial-6.4.3. Fikser #18007.

    • [bdubbs] - Oppdatert til libreoffice-7.5.3.2. Fikser #18011.

  • 6. Mai, 2023

    • [bdubbs] - Oppdatert til libevdev-1.13.1 (Xorg driver). Fikser #18010.

    • [bdubbs] - Oppdatert til libXi-1.8.1 (Xorg Bibliotek). Fikser #18009.

    • [timtas] - Oppdatert til intel-media-23.2.1. Fikser #18016.

  • 5. Mai, 2023

    • [bdubbs] - Oppdatert til requests-2.30.0 (Python modul). Fikser #18008.

    • [bdubbs] - Oppdatert til urllib3-2.0.2 (Python modul). Påkrevd for requests-2.30.0.

    • [timtas] - Oppdatert til alsa-lib alsa-utils 1.2.9. Fikser #18012.

    • [timtas] - Oppdatert til xArkivr-0.5.4.21. Fikser #18005.

  • 4. Mai, 2023

    • [bdubbs] - Oppdatert til icewm-3.3.4. Fikser #18004.

  • 3. Mai, 2023

    • [bdubbs] - Oppdatert til imlib2-1.11.1. Fikser #18003.

    • [bdubbs] - Oppdatert til poppler-23.05.0. Fikser #18002.

    • [bdubbs] - Oppdatert til qca-2.3.6. Fikser #18001.

    • [bdubbs] - Oppdatert til pciutils-3.10.0. Fikser #18000.

    • [bdubbs] - Oppdatert til cpio-2.14. Fikser #17999.

    • [bdubbs] - Oppdatert til libsoup3-3.4.2. Fikser #17998.

    • [bdubbs] - Oppdatert til gspell-1.12.1. Fikser #17997.

    • [bdubbs] - Oppdatert til audacious og audacious-plugins 4.3.1. Fikser #17995.

    • [bdubbs] - Oppdatert til sphinx-7.0.0 (Python modul). Fikser #17994.

  • 2. Mai, 2023

    • [bdubbs] - Oppdatert til iso-codes-4.15.0. Fikser #17992.

    • [bdubbs] - Oppdatert til valgrind-3.21.0. Fikser #17990.

    • [bdubbs] - Oppdatert til gnupg-2.4.1. Fikser #17989.

    • [bdubbs] - Oppdatert til btrfs-progs-v6.3. Fikser #17988.

  • 1. Mai, 2023

    • [bdubbs] - Oppdatert til gcc-13.1. Fikser #17983.

  • 30. April, 2023

    • [timtas] - Oppdatert til thunar-4.18.6. Fikser #17996.

  • 29. April, 2023

    • [timtas] - Oppdatert til thunar-4.18.5. Fikser #17991.

  • 28. April, 2023

    • [bdubbs] - Oppdatert til xinput-1.6.4 (xorg app). Fikser #17987.

    • [bdubbs] - Oppdatert til xdpyinfo-1.3.4 (xorg app). Fikser #17986.

    • [timtas] - Oppdatert til git-2.40.1. Fikser #17980.

  • 27. April, 2023

    • [ken] - in texlive (source) create config.cache. Dette sparer betydelig tid i et parallellbygg.

    • [renodr] - Oppdatert til xf86-video-ati-22.0.0 (Xorg Driver). Fikser #17981.

    • [bdubbs] - Oppdatert til harfbuzz-7.2.0. Fikser #17984.

    • [bdubbs] - Oppdatert til requests-2.29.0 (Python modul). Fikser #17985.

    • [bdubbs] - Oppdatert til sphinx-6.2.1 (Python modul). Fikser #17982.

  • 24. April, 2023

    • [timtas] - Oppdatert til thunderbird-102.10.1. Fikser #17979.

    • [bdubbs] - Oppdatert til glib-2.76.2. Fikser #17978.

  • 23. April, 2023

    • [bdubbs] - Oppdatert til sphinx-6.2.0 (Python modul). Fikser #17977.

    • [renodr] - Oppdatert til gsettings-desktop-schemas-44.0. Fikser #17830.

    • [renodr] - Oppdatert til vte-0.72.1. Fikser #17804.

    • [bdubbs] - Oppdatert til rustc-1.69.0. Fikser #17965.

    • [bdubbs] - Oppdatert til numpy-1.24.3 (Python modul). Fikser #17974.

    • [renodr] - Oppdatert til libadwaita-1.3.2. Fikser #17976.

    • [renodr] - Oppdatert til gtk-4.10.3. Fikser #17975.

    • [renodr] - Oppdatert til NetworkManager-1.42.6. Fikser #17967.

    • [renodr] - Legg til webp-pixbuf-loader i støtte av EOG. Fikser #17923.

  • 22. April, 2023

    • [bdubbs] - Oppdatert til LVM2.2.03.21. Fikser #17973.

    • [bdubbs] - Oppdatert til libsoup-3.4.1. Fikser #17972.

    • [bdubbs] - Oppdatert til Data-Compare-1.29 (Perl Modul). Fikser #17971.

    • [bdubbs] - Oppdatert til gpgme-1.20.0. Fikser #17970.

  • 21. April, 2023

    • [renodr] - Oppdatert til epiphany-44.2. Fikser #17816.

    • [renodr] - Oppdatert til WebKitGTK+-2.40.1 (Sikkerhetsoppdatering). Fikser #17801.

    • [bdubbs] - Oppdatert til pipewire-0.3.70. Fikser #17969.

    • [bdubbs] - Oppdatert til dhcpcd-10.0.1. Fikser #17966.

    • [timtas] - Oppdatert til mesa-23.0.3. Fikser #17968.

    • [bdubbs] - Oppdatert til python-dbusmock-0.29.0 (Python modul). Fikser #17964.

    • [bdubbs] - Oppdatert til babl-0.1.104. Fikser #17963.

  • 20. April, 2023

    • [bdubbs] - Oppdatert til qemu-8.0.0. Fikser #17962.

    • [bdubbs] - Oppdatert til bind9 og bind 9.18.14. Fikser #17961.

    • [bdubbs] - Oppdatert til nfs-utils-2.6.3. Fikser #17960.

    • [bdubbs] - Oppdatert til vala-0.56.7. Fikser #17959.

    • [renodr] - Legg til libavif i støtte av WebKitGTK+. Fikser #17952.

    • [renodr] - Legg til libaom i støtte av libavif. Fikser #17953.

  • 19. April, 2023

    • [bdubbs] - Oppdatert til Pygments-2.15.1 (Python modul). Fikser #17956.

    • [bdubbs] - Oppdatert til libqalculate-4.6.1. Fikser #17950.

    • [renodr] - Legg til unifdef inn i boka. Fikser #17924.

    • [renodr] - Oppdatert til gtksourceview5-5.8.0. Fikser #17817.

    • [renodr] - Oppdatert til libadwaita-1.3.1. Fikser #17818.

    • [renodr] - Oppdatert til sysprof-3.48.0. Fikser #17820.

    • [renodr] - Oppdatert til libsoup-3.4.0. Fikser #17821.

    • [renodr] - Oppdatert til gjs-1.76.0. Fikser #17824.

    • [renodr] - Oppdatert til pygobject-3.44.1 (Python Modul). Fikser #17841.

    • [renodr] - Oppdatert til at-spi2-core-2.48.0. Fikser #17842.

    • [renodr] - Oppdatert til intel-media-driver-23.2.0. Fikser #17957.

    • [renodr] - Oppdater gstreamer stack til 1.22.2. Inkluderer basispakken og alle programtilleggene. Fikser #17921.

    • [timtas] - Oppdatert til transmission-4.0.3. Fikser #17937.

    • [renodr] - Oppdatert til network-manager-applet-1.32.0. Fikser #17951.

    • [renodr] - Oppdatert til samba-4.18.2. Fikser #17958.

  • 18. April, 2023

    • [pierre] - Oppdater qtwebengine for ICU-73. Fikser #17941.

    • [bdubbs] - Oppdatert til libXpm-3.5.16 (Xorg Bibliotek). Fikser #17949.

    • [bdubbs] - Oppdatert til libXft-2.3.8 (Xorg Bibliotek). Fikser #17948.

    • [bdubbs] - Oppdatert til umockdev-0.17.17. Fikser #17945.

    • [bdubbs] - Oppdatert til apr-1.7.4. Fikser #17944.

    • [bdubbs] - Oppdatert til postFiks-3.8.0. Fikser #17943.

    • [bdubbs] - Oppdatert til graphviz-8.0.3. Fikser #17942.

    • [timtas] - Oppdatert til tumbler-4.18.1. Fikser #17947.

    • [timtas] - Oppdatert til xfconf-4.18.1. Fikser #17946.

  • 17. April, 2023

    • [bdubbs] - Oppdatert til php-8.2.5. Fikser #17935.

    • [bdubbs] - Oppdatert til mercurial-6.4.2. Fikser #17934.

  • 15. April, 2023

    • [bdubbs] - Oppdatert til dhcpcd-10.0.0. Fikser #17940.

    • [bdubbs] - Oppdatert til boost-1.82.0. Fikser #17939.

    • [bdubbs] - Oppdatert til mupdf-1.22.0. Fikser #17938.

    • [bdubbs] - Oppdatert til node-18.16.0. Fikser #17928.

    • [bdubbs] - Oppdatert til libpaper-2.1.0. Fikser #17927.

    • [bdubbs] - Oppdatert til icu4c-73.1. Fikser #17926.

    • [bdubbs] - Oppdatert til tcsh-6.24.10. Fikser #17933.

    • [bdubbs] - Oppdatert til pipewire-0.3.69. Fikser #17932.

    • [bdubbs] - Oppdatert til pytest-7.3.1 (Python modul). Fikser #17936.

    • [bdubbs] - Oppdatert til packaging-23.1 (Python modul). Fikser #17929.

  • 14. April, 2023

    • [bdubbs] - Oppdatert til Python-3.11.3. Fikser #17895.

  • 13. April, 2023

    • [renodr] - Oppdatert til Wireshark-4.0.5 (Sikkerhetsoppdatering). Fikser #17930.

    • [renodr] - Oppdatert til libxml2-2.10.4 (Sikkerhetsoppdatering). Fikser #17922.

    • [renodr] - Oppdatert til Thunderbird-102.10.0 (Sikkerhetsoppdatering). Fikser #17931.

  • 11. April, 2023

    • [ken] - Fjern unødvendig mtxrun --generert fra texlive. Fikser #17919.

    • [ken] - Oppdatert til firefox-102.10.0 og JS-102.10.0 (begge er sikkerhetsfikser). Fikser #17913.

    • [ken] - Patch libwebp-1.0.3 (Sikkerhetsfiks). Fikser #17918.

  • 10. April, 2023

    • [bdubbs] - Oppdatert til Pygments-2.15.0 (Python Modul). Fikser #17917.

    • [bdubbs] - Oppdatert til graphviz-8.0.2. Fikser #17916.

    • [bdubbs] - Oppdatert til tcsh-6.24.08. Fikser #17915.

    • [bdubbs] - Oppdatert til parted-3.6. Fikser #17914.

  • 10. April, 2023

    • [renodr] - Oppdatert til intel-media-driver-23.1.6. Fikser #17912.

    • [bdubbs] - Oppdatert til xwininfo-1.1.6 (Xorg app). Fikser #17911.

    • [bdubbs] - Oppdatert til libXFikser-6.0.1 (Xorg Bibliotek). Fikser #17910.

    • [bdubbs] - Oppdatert til libXt-1.3.0 (Xorg Bibliotek). Fikser #17909.

    • [bdubbs] - Oppdatert til icewm-3.3.3. Fikser #17908.

    • [pierre] - Oppdatert til Qt-5.15.9. Fikser #17900.

    • [renodr] - Oppdatert til xf86-input-wacom-1.2.0 (Xorg Driver). Fikser #17897.

    • [renodr] - Oppdatert til vala-0.56.6. Fikser #17896.

    • [renodr] - Oppdatert til graphviz-8.0.1. Fikser #17885.

    • [renodr] - Oppdatert til wayland-1.22.0. Fikser #17892.

    • [renodr] - Fikser flere feil og inkompatibiliteter med nyere kjerner i pm-utils.

  • 9. April, 2023

    • [bdubbs] - Oppdatert til libgcrypt-1.10.2. Fikser #17903.

    • [bdubbs] - Oppdatert til mesa-23.0.2. Fikser #17906.

    • [bdubbs] - Oppdatert til libpcap-1.10.4. Fikser #17905.

    • [bdubbs] - Oppdatert til pytest-7.3.0 (Python modul). Fikser #17907.

  • 8. April, 2023

    • [renodr] - Oppdatert til libreoffice-7.5.2.2. Fikser #17883.

    • [renodr] - Oppdatert til libva-2.18.0. Fikser #17879.

  • 7. April, 2023

    • [bdubbs] - Oppdatert til pipewire-0.3.68. Fikser #17902.

    • [timtas] - Oppdatert til httpd-2.4.57. Fikser #17899.

    • [bdubbs] - Oppdatert til libgpg-error-1.47. Fikser #17904.

    • [bdubbs] - Oppdatert til feh-3.10. Fikser #17901.

    • [renodr] - Oppdatert til Seamonkey-2.53.16 (Sikkerhetsoppdatering). Fikser #17884.

    • [bdubbs] - Endre SDL-1.2 til sdl12-compat-release-1.2.60. Fikser #17898.

  • 6. April, 2023

    • [renodr] - Oppdatert til ruby-3.2.2 (Sikkerhetsoppdatering). Fikser #17887.

    • [pierre] - Oppdatert til accountsservice-23.13.9. Fikser #17789.

    • [bdubbs] - Oppdatert til SDL2-2.26.5. Fikser #17894.

    • [bdubbs] - Oppdatert til xf86-input-libinput-1.3.0 (Xorg Driver). Fikser #17893.

    • [pierre] - Oppdater firefox for ffmpeg-6.0

  • 4. April, 2023

    • [bdubbs] - Oppdatert til poppler-23.04.0. Fikser #17890.

    • [bdubbs] - Oppdatert til cracklib-2.9.11. Fikser #17889.

    • [bdubbs] - Oppdatert til cmake-3.26.3. Fikser #17886.

  • 3. April , 2023

    • [bdubbs] - Oppdatert til Cython-0.29.34 (Python modul). Fikser #17891.

    • [bdubbs] - Oppdatert til libatomic_ops-7.8.0. Fikser #17876.

    • [bdubbs] - Oppdatert til libcap-2.68. Fikser #17865.

    • [bdubbs] - Oppdatert til libbytesize-2.8. Fikser #17854.

    • [renodr] - Oppdatert til intel-media-driver-23.1.5. Fikser #17878.

    • [bdubbs] - Oppdatert til sqlite-autoconf-3410200 (3.41.2). Fikser #17849.

    • [bdubbs] - Oppdatert til Business-ISBN-3.008 (Perl Modul). Fikser #17855.

    • [bdubbs] - Oppdatert til SCons-4.5.2. Fikser #17848.

    • [bdubbs] - Oppdatert til links-2.29. Fikser #17847.

    • [renodr] - Fiks bygging av Thunderbird med rustc-1.68.x.

  • 2. April, 2023

    • [bdubbs] - Oppdatert til wpebackend-fdo-1.14.2. Fikser #17846.

    • [bdubbs] - Oppdatert til adwaita-icon-theme-44.0. Fikser #17838.

    • [bdubbs] - Oppdatert til mpg123-1.31.3. Fikser #17828.

    • [pierre] - Oppdatert til xwayland-23.1.1 (Sikkerhetsoppdatering). Fikser #17850.

    • [ken] - Oppdatert til mutt-2.2.10. Fikser #17863.

    • [ken] - Oppdatert til biber-2.19. Fikser #17757.

    • [ken] - Oppdatert til dvisvgm-3.0.4. Fikser #17775.

    • [ken] - Legg til en løsning for å støtte (mkiv) kontekst i texlive-2023. Adresserer #17843.

    • [ken] - Oppdatert til texlive-2023 og 2023 install-tl-unx. Fikser #17823.

    • [ken] - Flytt opprettelse av symlink for libkpathsea fra forhåndskonfigurere i dvisvgm til slutten av texlive (fra kilden) sånn at en eksisterende evince knyttet til forrige års texlive har en sjanse til å virke.

  • 1. April, 2023

    • [pierre] - Fjern flit_core fra python avhengigheter; den er nå i LFS.

    • [bdubbs] - Oppdatert til gpgme-1.19.0. Fikser #17803.

    • [bdubbs] - Oppdatert til glib-networking-2.76.0. Fikser #17800.

    • [bdubbs] - Oppdatert til php-8.2.4. Fikser #17798.

    • [bdubbs] - Oppdatert til gtk-4.10.1. Fikser #17792.

    • [timtas] - Oppdatert til apr-1.7.3. Fikser #17888.

  • 31. Mars, 2023

    • [pierre] - Oppdatert til glib-2.76.1. Fikser #17779.

  • 30. Mars, 2023

    • [renodr] - Oppdatert til rustc-1.68.2. Fikser #17877.

    • [renodr] - Oppdatert til Thunderbird-102.9.1 (Sikkerhetsoppdatering). Fikser #17880.

    • [renodr] - Oppdatert til xorg-server-21.1.8 (Sikkerhetsoppdatering). Fikser #17882.

    • [renodr] - Oppdatert til xfce4-pulseaudio-plugins-0.4.6. Fikser #17875.

    • [renodr] - Oppdatert til vala-0.56.5. Fikser #17868.

    • [renodr] - Oppdatert til gegl-0.4.44. Fikser #17867.

    • [renodr] - Oppdatert til fuse-3.14.1. Fikser #17866.

    • [renodr] - Oppdatert til gobject-introspection-1.76.1. Fikser #17853.

    • [renodr] - Oppdatert til Samba-4.18.1 (Sikkerhetsoppdatering). Fikser #17881.

    • [renodr] - Oppdatert til gimp-2.10.34 og tilhørende nye gimp-help som ble utgitt ved siden av den. Fikser #17776.

    • [renodr] - Oppdatert til NetworkManager-1.42.4. Fikser #17771.

    • [timtas] - Virkelig fikser transmission-4.0.2 webclient.

    • [timtas] - Oppdatert til transmission-4.0.2. Fikser #17795.

    • [pierre] - Oppdatert til libinput-1.23.0. Fikser #17869.

    • [pierre] - Oppdatert til btrfs-progs-6.2.2. Fikser #17862.

    • [pierre] - Oppdatert til xfsprogs-6.2.0. Fikser #17858.

    • [pierre] - Oppdatert til ghostscript-10.01.1 (Sikkerhetsoppdatering). Fikser #17851.

    • [pierre] - Oppdatert til xwayland-23.1.0. Fikser #17850.

    • [pierre] - Oppdatert til lvm2-2.03.19. Fikser #17844.

    • [pierre] - Oppdatert til mesa-23.0.1. Fikser #17740.

  • 28. Mars, 2023

    • [ken] - Den binære versjonen av asy har blitt kompilert mot libGLX siden 2020 - omgå i tilfelle noen ønsker å bruke det i fremtiden. Delvis adresserer #17823.

  • 27. Mars, 2023

    • [timtas] - Oppdatert til libxfce4ui-4.18.3. Fikser #17872.

    • [timtas] - Oppdatert til garcon-4.18.1. Fikser #17873.

    • [timtas] - Oppdatert til xfce4-panel-4.18.3. Fikser #17874.

    • [timtas] - Oppdatert til xfce4-session-4.18.2. Fikser #17871.

    • [renodr] - Oppdatert til curl-8.0.1 (Sikkerhetsoppdatering). Fikser #17829.

  • 26. Mars, 2023

    • [renodr] - Oppdatert til mercurial-6.4. Fikser #17857.

    • [renodr] - Oppdatert til librsvg-2.56.0. Fikser #17819.

    • [renodr] - Oppdatert til rust-1.68.1. Fikser #17860.

    • [renodr] - Oppdatert til Thunderbird-102.9.0 (Sikkerhetsoppdatering). Fikser #17794.

    • [renodr] - Fiks krasjer i gdb ved feilsøking av rust programmer. Fikser #17864.

  • 25. Mars, 2023

    • [renodr] - Gå tilbake til LLVM-15. Forlater fortsatt siden modifikasjoner for LLVM-16 på plass, bare kommentert å gjøre enklere å oppgradere tilbake til LLVM-16. Tilbakemeldingen skyldes LLVM-feil som fører til feilkompilering i Thunderbird og Firefox. Fikser #17859.

  • 24. Match, 2023

    • [thomas] - Oppdatert til cmake-3.26.1. Fikser #17856.

  • 23. Match, 2023

    • [renodr] - Fiks bygging av Seamonkey med LLVM-16. Fikser #17852.

    • [renodr] - Oppdatert til intel-media-driver-23.1.4. Fikser #17768.

    • [renodr] - Oppdatert til intel-gmmlib-22.3.5. Fikser #17845.

  • 19. Mars, 2023

    • [renodr] - Fiks bygging av Firefox med LLVM-16.

    • [thomas] - Oppdatert til bind-9.18.13, bind-utils-9.18.13. Fikser #17790.

    • [xry111] - Oppdatert til rustc-1.68.0. Fikser #17822.

    • [xry111] - Oppdatert til llvm-16.0.0. Fikser #17799.

  • 17. Mars, 2023

    • [bdubbs] - Oppdatert til openssh-9.3p1. Fikser #17796.

    • [bdubbs] - Oppdatert til Business-ISMN-1.203 (Perl modul). Fikser #17797.

    • [bdubbs] - Oppdatert til kImageAnnotator-0.6.1. Fikser #17793.

    • [bdubbs] - Oppdatert til libXaw-1.0.15 (Xorg Bibliotek). Fikser #17791.

    • [bdubbs] - Oppdatert til highlight-4.5. Fikser #17788.

    • [bdubbs] - Oppdatert til gobject-introspection-1.76.0. Fikser #17787.

    • [bdubbs] - Oppdatert til cracklib-2.9.10. Fikser #17748.

  • 16. Mars, 2023

    • [bdubbs] - Oppdatert til cmake-3.26.0. Fikser #17785.

    • [bdubbs] - Oppdatert til git-2.40.0. Fikser #17783.

    • [bdubbs] - Oppdatert til icewm-3.3.2. Fikser #17784.

    • [bdubbs] - Oppdatert til Data-Compare-1.28 (Perl modul). Fikser #17786.

    • [bdubbs] - Oppdatert til Net-DNS-1.37 (Perl modul). Fikser #17782.

    • [bdubbs] - Oppdatert til imlib2-1.11.0. Fikser #17777.

    • [bdubbs] - Oppdatert til pipewire-0.3.67. Fikser #17772.

  • 14. Mars, 2023

    • [ken] - Oppdatert til firefox-102.9.0esr og JS-102.9.0esr (begge inneholder sikkerhetsfikser). Fikser #17781.

    • [thomas] - Oppdatert til sqlite-3.41.1. Fikser #17774.

  • 13. Mars, 2023

    • [timtas] - Oppdatert til samba-4.18.0. Fikser #17767.

  • 12. Mars, 2023

    • [ken] - Oppdatert til nss-3.89. Fikser #17773.

  • 9. Mars, 2023

    • [ken] - Oppdatert til qtwebengine-5.15.13 (Sikkerhetsoppdatering). Fikser #17769.

    • [bdubbs] - Oppdatert til libpaper-2.0.10. Fikser #17770.

    • [bdubbs] - Oppdatert til cmake-3.25.3. Fikser #17766.

  • 8. Mars, 2023

    • [bdubbs] - Oppdatert til node-18.15.0. Fikser #17765.

    • [pierre] - Oppdatert til btrfs-progs-6.2.1. Fikser #17734.

    • [thomas] - Legg til en oppdatering for å fikse gcc-go versjonsstreng (del av gcc-12.2.0).

  • 7. Mars, 2023

    • [renodr] - Oppdatert til SCons-4.5.1. Fikser #17752.

    • [renodr] - Oppdatert til httpd-2.4.56 (Sikkerhetsoppdatering). Fikser #17764.

    • [bdubbs] - Oppdatert til mlt-7.14.0. Fikser #17760.

    • [bdubbs] - Oppdatert til libqalculate-4.6.0. Fikser #17763.

    • [bdubbs] - Oppdatert til SDL2-2.26.4. Fikser #17761.

    • [bdubbs] - Oppdatert til gcr4-4.1.0. Fikser #17758.

    • [bdubbs] - Fjern bruk av den eksterne ffmpeg fra mplayer. Fikser #17751.

    • [thomas] - Oppdatert til sudo-1.9.13p3. Fikser #17762.

    • [thomas] - Oppdatert til tigervnc-1.13.1. Fikser #17759.

  • 6. Mars, 2023

    • [xry111] - Oppdatert til systemd-253. Fikser #17659.

    • [bdubbs] - Oppdatert til gstreamer-1.22.1 og programtillegg. Fikser #17747.

    • [renodr] - Oppdatert til libhandy-1.8.2. Fikser #17755.

    • [renodr] - Oppdatert til libadwaita-1.2.3. Fikser #17754.

    • [renodr] - Oppdatert til SCons-4.5.0. Fikser #17752.

    • [renodr] - Oppdatert til xfburn-0.7.0. Fikser #17446.

    • [bdubbs] - Oppdatert til audacious-4.3 og audacious-plugins-4.3. Fikser #17756.

    • [bdubbs] - Oppdatert til gtk-4.10.0. Fikser #17753.

    • [bdubbs] - Oppdatert til stunnel-5.69. Fikser #17749.

  • 5. Mars, 2023

    • [bdubbs] - Oppdatert til wpebackend-fdo-1.14.1. Fikser #17750.

    • [bdubbs] - Oppdatert til pango-1.50.14. Fikser #17745.

    • [bdubbs] - Oppdatert til gtk+-3.24.37. Fikser #17744.

    • [bdubbs] - Oppdatert til pytest-7.2.2 (Python modul). Fikser #17743.

    • [bdubbs] - Oppdatert til mercurial-6.3.3. Fikser #17738.

    • [bdubbs] - Oppdatert til harfbuzz-7.1.0. Fikser #17737.

  • 4. Mars, 2023

    • [bdubbs] - Oppdatert til libreoffice-7.5.1.2. Fikser #17742.

  • 3. Mars, 2023

    • [bdubbs] - Oppdatert til ffmpeg-6.0. Fikser #17729.

    • [bdubbs] - Oppdatert til raptor2-2.0.16. Fikser #17736.

    • [bdubbs] - Oppdatert til poppler-23.03.0. Fikser #17735.

    • [bdubbs] - Oppdatert til qpdf-11.3.0. Fikser #17710.

    • [bdubbs] - Oppdatert til node.js-18.14.2. Fikser #17694.

    • [bdubbs] - Oppdatert til LVM2.2.03.19. Fikser #17693.

    • [thomas] - Oppdatert til wireshark-4.0.4. Fikser #17739.

    • [timtas] - Oppdatert til v4l-utils-1.24.1. Fikser #17705.

  • 2. Mars, 2023

    • [timtas] - Oppdatert til xfce4-notifyd-0.8.2. Fikser #17732.

    • [timtas] - Oppdatert til v4l-utils-1.24.0. Fikser #17705.

    • [timtas] - Oppdatert til libnotify-0.8.2. Fikser #17678.

    • [bdubbs] - Oppdatert til sudo-1.9.13p2. Fikser #17727.

    • [bdubbs] - Oppdatert til pango-1.50.13. Fikser #17688.

    • [bdubbs] - Oppdatert til ibus-1.5.28. Fikser #17686.

    • [bdubbs] - Oppdatert til gegl-0.4.42. Fikser #17682.

    • [bdubbs] - Oppdatert til babl-0.1.102. Fikser #17681.

    • [bdubbs] - Oppdatert til enchant-2.3.4. Fikser #17680.

    • [bdubbs] - Oppdatert til liblinear-246. Fikser #17676.

    • [renodr] - Oppdatert til glib-2.74.6. Fikser #17709.

    • [renodr] - Oppdatert til fetchmail-6.4.37. Fikser #17711.

    • [renodr] - Oppdatert til libass-0.17.1. Fikser #17712.

    • [renodr] - Oppdatert til bubblewrap-0.8.0. Fikser #17730.

    • [renodr] - Oppdatert til iso-codes-4.13.0. Fikser #17731.

    • [renodr] - Oppdatert til fuse-3.14.0. Fikser #17675.

    • [renodr] - Oppdatert til NetworkManager-1.42.2. Fikser #17703.

    • [renodr] - Oppdatert til gjs-1.74.2. Fikser #17704.

    • [renodr] - Oppdatert til bluefish-2.2.13. Fikser #17706.

    • [renodr] - Oppdatert til font-adobe-utopia-type1-1.0.5 (Xorg Font). Fikser #17715.

    • [renodr] - Oppdatert til font-alias-1.0.5 (Xorg Font). Fikser #17716.

    • [renodr] - Oppdatert til encodings-1.0.7 (Xorg Font). Fikser #17717.

    • [renodr] - Oppdatert til font-bh-ttf-1.0.4 (Xorg Font). Fikser #17718.

    • [renodr] - Oppdatert til font-bh-type1-1.0.4 (Xorg Font). Fikser #17719.

    • [renodr] - Oppdatert til font-ibm-type1-1.0.4 (Xorg Font). Fikser #17720.

    • [renodr] - Oppdatert til font-misc-ethiopic-1.0.5 (Xorg Font). Fikser #17725.

    • [renodr] - Oppdatert til font-xfree86-type1-1.0.5 (Xorg Font). Fikser #17726.

    • [renodr] - Oppdatert til bdftopcf-1.1.1 (Xorg Arv). Fikser #17708.

    • [renodr] - Oppdatert til font-adobe-100dpi-1.0.4 (Xorg Arv). Fikser #17713.

    • [renodr] - Oppdatert til font-adobe-75dpi-1.0.4 (Xorg Arv). Fikser #17714.

    • [renodr] - Oppdatert til font-isas-misc-1.0.4 (Xorg Arv). Fikser #17721.

    • [renodr] - Oppdatert til font-jis-misc-1.0.4 (Xorg Arv). Fikser #17722.

    • [renodr] - Oppdatert til font-daewoo-misc-1.0.4 (Xorg Arv). Fikser #17723.

    • [renodr] - Oppdatert til font-misc-misc-1.1.3 (Xorg Arv). Fikser #17724.

    • [renodr] - Oppdatert til xbitmaps-1.1.3. Fikser #17702.

    • [renodr] - Oppdatert til xcursor-themes-1.0.7. Fikser #17701.

    • [renodr] - Oppdatert til harfbuzz-7.0.1. Fikser #17683.

    • [renodr] - Oppdatert til libwww-perl-6.68 (Perl Modul). Fikser #17728.

    • [renodr] - Arkiv libdiscird. Fikser #17733.

    • [renodr] - Oppdatert til HTTP-Daemon-6.16 (Perl Modul). Fikser #17707.

    • [timtas] - Oppdatert til mesa-22.3.6. Fikser #17697.

    • [thomas] - Upgrade sqlite-3.41.0. Fikser #17687.

  • 1. Mars, 2023

    • [xry111] - Skille intel-vaapi-driver fra libva inn i sin egen seksjon, og klargjør at den brukes for "gamle" Intel GPUer.

    • [bdubbs] - Utgivelse av BLFS-11.3.

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.

Note

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.0),

  • 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,

  • 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.)

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

  • Bruce Dubbs

  • Pierre Labastie

  • DJ Lucas

  • Ken Moffat

  • Douglas Reno

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

  • Chris Lynn

  • Andrew McMurry

  • Randy McMurchy

  • 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

  • Thomas Trepl

  • 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.

Chapter 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

Note

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.12 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:

Note

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.3 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 hvor mange prosessorer som er tilgjengelige. For eksempel kan en Core2Duo støtte to samtidige prosesser med:

export MAKEFLAGS='-j2'

eller bare bygge med:

make -j2

Hvis du har brukt den valgfrie sed når du bygget ninja i LFS, kan du bruke:

export NINJAJOBS=2

når en pakke bruker ninja, eller bare:

ninja -j2

men for ninja er standard antall jobber N + 2, hvis antall logiske prosessorer 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 prosessorer er å holde alle logiske prosessorer opptatt selv om noen jobber utfører I/O operasjoner.

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.

Important

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.

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. Noen endringer eller løsninger kan være nødvendige hvis disse pakker ikke er installert. 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. En valgfri avhengighet kan automatisk plukkes opp av målpakken hvis avhengigheten er installert, men en annen er valgfri avhengighet kan også trenge flere konfigurasjonsalternativer for å aktivere dem 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:

Note

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 -Dstrip=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 -DNDEBUG. Spesielt hvis Mesa-23.1.6 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 -DNDEBUG 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 -DNDEBUG
RelWithDebInfo -O2 -g -DNDEBUG
MinSizeRel -Os -DNDEBUG

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.

-DNDEBUG flagget antydes av utgivelsen byggetype for noen pakker (for eksempel Mesa-23.1.6). Det kan også gis eksplisitt ved å sende -Db_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 prosessorer. 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-13.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.

Note

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.11.4), 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, det er tre alternativer som 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. Det som dekkes her er annerledes - for det første må du forsikre deg om at pakken faktisk bruker flaggene du har lagt til og ikke overstyre 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 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 viktigste distroene bruker mye mer, for eksempel RELRO (Relocation Read Only) og kanskje -fstack-clash-protection. 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.

Note

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-15, 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-115.2.0 og ghostscript-10.01.2 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.40 hvis det brukes til Firefox-115.2.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. For den nyeste informasjonen om lokalitetsrelaterte problemer for individuelle pakker, sjekk Redaktørens notater i BLFS Wiki.

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.29. 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-7.2 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 (se BLFS Wiki ID3v1Coding side for flere detaljer). 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-7.2, JOE-4.6, og alle mediespillere unntatt Audacious-4.3.1.

Et annet problem i denne kategorien er når noen ikke kan lese dokumentene du har sendt dem fordi deres operativsystem er satt opp til å håndtere tegnkodinger annerledes. Dette kan skje ofte når den andre personen bruker Microsoft Windows, som kun gir en tegnkoding for et gitt land. For eksempel, dette forårsaker problemer med UTF-8 kodede TeX dokumenter opprettet i Linux. På Windows vil de fleste applikasjoner anta at disse dokumentene har blitt opprettet med standard Windows 8-bits koding.

I ekstreme tilfeller kan problemer med Windows kodingskompatibilitet kun løses ved å kjøre Windows programmer under Wine.

Programmet Bruker eller Oppretter Filnavn med Feil Koding

Alvorlighet: Kritisk

POSIX standarden krever at filnavnkodingen er kodingen implisert av gjeldende LC_CTYPE lokalekategori. Denne informasjon er godt skjult på siden som spesifiserer atferden av Tar og Cpio programmer. Noen programmer tar feil som standard (eller har rett og slett ikke nok informasjon til å få det riktig). Resultatet er at de oppretter filnavn som senere ikke vises riktig av ls, eller de nekter å godta filnavn som ls vises ordentlig. For GLib-2.76.4 biblioteket, kan problemet rettes ved å stille inn G_FILENAME_ENCODING miljøvariabel til den spesielle "@locale" verdien. Glib2 baserte programmer som ikke respekter den miljøvariabelen er buggy.

Zip-3.0 og UnZip-6.0 har dette problemet fordi de hardkoder den forventede filnavnkodingen. UnZip inneholder en hardkodet konverteringstabell mellom kodingene CP850 (DOS) og ISO-8859-1 (UNIX) og bruker denne tabellen når du trekker ut arkiver opprettet under DOS eller Microsoft Windows. Men, denne antagelsen fungerer bare for de i USA og ikke for alle som bruker en UTF-8 lokalitet. Ikke-ASCII tegn vil bli ødelagt i de utpakkede filnavn.

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.4p1). 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.

Pakken Installerer Manualsider i Feil eller Ikke-visbar Koding

Alvorlighet: Lav

LFS forventer at manuelle sider er på det språkspesifikke (vanligvis 8-bit) koding, som spesifisert på LFS Man DB side. Men, noen pakker installerer oversatte manualsider i UTF-8 koding (f.eks. Shadow, allerede behandlet), eller manualsider på språk som ikke er i tabellen. Ikke alle BLFS pakker har blitt revidert for samsvar med krav satt i LFS (de aller fleste er sjekket, og fikser plassert i boken for pakker som er kjent for å installere ikke-konform manualsider). Hvis du finner en manualside installert av noen av BLFS pakkene, dvs åpenbart i feil koding, vennligst fjern eller konverter den etter behov, og rapporter dette til BLFS teamet som en feil.

Du kan enkelt sjekke systemet for eventuelle ikke-konforme manualsider ved å kopiere følgende korte shell skript til et tilgjengelig sted,

#!/bin/sh
# Begin checkman.sh
# Usage: find /usr/share/man -type f | xargs checkman.sh
for a in "$@"
do
    # echo "Checking $a..."
    # Pure-ASCII manual page (possibly except comments) is OK
    grep -v '.\\"' "$a" | iconv -f US-ASCII -t US-ASCII >/dev/null 2>&1 \
        && continue
    # Non-UTF-8 manual page is OK
    iconv -f UTF-8 -t UTF-8 "$a" >/dev/null 2>&1 || continue
    # Found a UTF-8 manual page, bad.
    echo "UTF-8 manual page: $a" >&2
done
# End checkman.sh

og deretter utstede følgende kommando (endre kommandoen nedenfor hvis checkman.sh skriptet ikke er i din PATH miljøvariabel):

find /usr/share/man -type f | xargs checkman.sh

Merk at hvis du har manualsider installert på et annet sted enn /usr/share/man (f.eks., /usr/local/share/man), må du endre kommandoen ovenfor for å inkludere denne ekstra plasseringen.

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 eller utvid MANPATH.

  • 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 https://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 ftp://ftp.ubuntu.com/ubuntu/pool/ - se Debian merknader ovenfor.

    Hvis alt annet mislykkes, prøv blfs-support e-postlisten.

Tip

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.

Part II. Etter LFS Konfigurasjon og Ekstra Programvare

Chapter 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 skjermstørrelse 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 å bruke en mindre størrelse, for eksempel 1024x768 eller 800x600 eller til og med 640x480. Selv om skjermen ikke har et sideforhold på 4:3, bør dette fungere.

For å prøve dette kan du starte på nytt og redigere grubs kommandolinje for å sette inn en 'video='-parameter mellom 'root=/dev/sdXn' og 'ro', for eksempel root=/dev/sda2 video=1024x768 ro basert på eksempelet i LFS avsnitt 10.4.4: ../../../../lfs/view/12.0-systemd/chapter10/grub.html.

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.0-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. Det er en mappe, /lib/firmware, hvor kjernen eller kjernedrivere ser etter fastvarebilder.

For øyeblikket kan det meste av fastvaren finnes på et git depot: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/. 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 enten en nettleser til en av de ovennevnte depoter og last ned elementet(e) du trenger, eller installer git-2.41.0 og klone det depotet.

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. Til gamle radeon-brikker (før R600), er fastvaren fortsatt i kjernekilden.

    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 Ampere (GeForce30-serien) til linux-firmware. Merk at raskere klokker enn standard ikke er aktivert av den utgitte fastvaren.

  • 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.

Note

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.14, git-2.41.0, pciutils-3.10.0, og Wget-1.21.4

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.

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 begge metodene. 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 sikker versjon av mikrokoden er microcode-20230808. Pakk ut denne filen på vanlig måte, mikrokoden er i intel-ucode mappen, som inneholder forskjellige blobs med navn i skjemaet XX-YY-ZZ. Det er også forskjellige andre filer, og en utgivelsesmerknad.

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 0xac. Hvis verdien av mikrokode feltet i /proc/cpuinfo er 0xac eller høyere, indikerer det at mikrokodeoppdateringen allerede er tatt i bruk av BIOS. Ellers, konfigurere kjernen til å støtte lasting av Intel mikrokode, og deretter fortsett til the section called “Tidlig lasting av mikrokode”:

General setup --->
  [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
                                                           ...  [BLK_DEV_INITRD]

Processor type and features --->
  [*] CPU microcode loading support                                  [MICROCODE]
  [*]   Intel microcode loading support                        [MICROCODE_INTEL]

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, konfigurer kjernen til å støtte lasting av AMD mikrokode, og fortsett deretter til the section called “Tidlig lasting av mikrokode”:

General setup --->
  [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
                                                           ...  [BLK_DEV_INITRD]

Processor type and features --->
  [*] CPU microcode loading support                                  [MICROCODE]
  [*]   AMD microcode loading support                            [MICROCODE_AMD]

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.14 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 the section called “Om initramfs”), bør du bør kjøre mkinitramfs igjen etter å ha puttet den riktige bloben eller beholderen i /lib/firmware. Mer presist, putt en intel blob i /lib/firmware/intel-ucode mappen eller en AMD beholder i /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] microcode: microcode updated early: 0x86 -> 0xac, date = 2023-02-27
[    0.000000] Linux version 6.4.7 (root@stargazer) (gcc (GCC) 13.2.0, GNU ld (GNU Binutils) 2.41) #1 SMP PREEMPT_DYNAMIC Wed Aug  2 19:08:46 CST 2023
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.4.7 root=PARTUUID=<CLASSIFIED> ro
[    0.424002] microcode: Microcode Update Driver: v2.2.

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

Fastvare for ATI videobrikker (R600 og nyere)

Disse instruksjonene gjelder IKKE gamle radeoner før R600 familien. For dem er fastvaren i kjernen sin /lib/firmware/ mappen. Det gjør det heller ikke hvis du har tenkt å unngå et grafisk oppsett som Xorg og er komfortabel med å bruke standard 80x25-skjerm i stedet for en rammebuffer.

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.10.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 /lib/firmware/radeon
cp -v <YOUR_BLOBS> /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 the section called “Om initramfs” for detaljer), eller inkludere dem i selve kjernebildet (les the section called “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.10.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 /lib/firmware/amdgpu
cp -v <YOUR_BLOBS> /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 the section called “Om initramfs” for detaljer), eller inkludere dem i selve kjernebildet (les the section called “Inkluder fastvare blobber i kjernebildet” for detaljer).

Fastvare for Nvidia videobrikker

Nvidia har gitt ut grunnleggende signert fastvare for nyere grafikkbrikker, men betydelig etter at chipene og dens egne binære drivere var først tilgjengelig. For andre brikker har det vært nødvendig å trekke ut fastvaren fra den binære driveren.

For mer nøyaktig informasjon om hvilke brikker som trenger uttrukket fastvare, se https://nouveau.freedesktop.org/VideoAcceleration.html.

Hvis den nødvendige fastvaren er tilgjengelig i nvidia/ mappen over linux fastvare, kopier den til /lib/firmware/nouveau.

Hvis fastvaren ikke er gjort tilgjengelig i linux fastvaren, for de gamle brikkene nevnt i nouveau wiki lenken ovenfor kjør følgende kommandoer:

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 /lib/firmware/nouveau
cp -d nv* vuc-* /lib/firmware/nouveau/

Fastvare for Nettverksgrensesnitt

Kjernen liker å laste fastvare for noen nettverksdrivere, spesielt de fra Realtek (/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 /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 /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 the section called “Firmware for Skjermkort”.

Tilgangspunktet (AP) vil sende en landskode til det trådløse NIC, og wpa_supplicant-2.10 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-v*      \
   /usr/lib/firmware/intel/sof                &&
cp -av -T --no-preserve=ownership sof-tplg-v* \
   /usr/lib/firmware/intel/sof-tplg

alsa-lib-1.2.9 behøver Use Case Manager konfigurasjonsfiler for systemene som bruker Åpen lyd fastvare også. ALSA UCM konfigurasjonsfiler kan lastes ned fra https://github.com/alsa-project/alsa-ucm-conf/tags. Pakk ut tarballen og bytt til den utpakkede mappen, deretter som root bruker installer konfigurasjonsfilene:

install -vdm755 /usr/share/alsa &&
cp -av -T --no-preserve=ownership ucm2 /usr/share/alsa/ucm2

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 the section called “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.10.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-5.19, Wireless Tools-29, eller wpa_supplicant-2.10.

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 the section called “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 /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]
      (/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 /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 /lib/firmware; echo amdgpu/* })'"' >> .config
make oldconfig

Erstatt amdgpu/* med et skallmønster som samsvarer med de nødvendige fastvarefilene.

Warning

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"

Note

Linjen ovenfor brukes kun for beskrivende formål. udev skanner regler settes på plass når SANE-1.0.32 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.

Table 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
mysql 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
lightdm 63 63
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.

Note

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 angir også en standardbrukers ledetekst. Den kaller så små, enkeltformålsskripter i /etc/profile.d mappen for å gi det meste av initialiseringen.

For mer informasjon om skiftesekvensene du kan bruke for forespørselen (dvs. PS1 miljøvariabelen) se info bash -- Punkt: Printing a Prompt.

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}

# Set up a red prompt for root and a green one for users.
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

for script in /etc/profile.d/*.sh ; do
        if [ -r $script ] ; then
                . $script
        fi
done

unset script RED GREEN NORMAL

# 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

Note

Å 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

alias ls='ls --color=auto'
alias grep='grep --color=auto'
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/man  MANPATH
pathappend /usr/share/info INFOPATH
EOF

/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 Oppstartsfilene til Bash skallet.

cat > /etc/profile.d/i18n.sh << "EOF"
# Set up i18n variables
. /etc/locale.conf
export LANG
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 non-login 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

# End /etc/bashrc
EOF

~/.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://www.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.

Note

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 http://rtfm.etla.org/xterm/ctlseq.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.

Chapter 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.12

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.0 plattform.

Pakkeinformasjon

make-ca Avhengigheter

Påkrevd

p11-kit-0.25.0 (kjøretid, bygget etter libtasn1-4.19.0, kreves i de følgende instruksjoner for å generere sertifikatlagre fra tillitsankere, og hver gang make-ca kjøres)

Valgfri (kjøretid)

nss-3.92 (å 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.0 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

Note

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, i stedet for å kreve 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:

Note

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.92. 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.0 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.0 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.21.4 er installert):

wget http://www.cacert.org/certs/root.crt &&
wget http://www.cacert.org/certs/class3.crt &&
openssl x509 -in root.crt -text -fingerprint -setalias "CAcert Class 1 root" \
        -addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \
        > /etc/ssl/local/CAcert_Class_1_root.pem &&
openssl x509 -in class3.crt -text -fingerprint -setalias "CAcert Class 3 root" \
        -addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \
        > /etc/ssl/local/CAcert_Class_3_root.pem &&
/usr/sbin/make-ca -r

Overstyrer Mozilla Tillit

Noen ganger kan det være tilfeller der du ikke er enig med Mozillas inkludering av en bestemt sertifiseringsinstans. Hvis du vil overstyre standardtilliten til en bestemt CA, lag ganske enkelt en kopi av det eksisterende sertifikatet i /etc/ssl/local med ulik tillitsargumenter. For eksempel, hvis du ønsker å mistro "Makebelieve_CA_Root" filen, kjør følgende kommandoer:

openssl x509 -in /etc/ssl/certs/Makebelieve_CA_Root.pem \
             -text \
             -fingerprint \
             -setalias "Disabled Makebelieve CA Root" \
             -addreject serverAuth \
             -addreject emailProtection \
             -addreject codeSigning \
       > /etc/ssl/local/Disabled_Makebelieve_CA_Root.pem &&
/usr/sbin/make-ca -r

Bruke make-ca med Python3

Når Python3 ble installert i LFS inkluderte det pip3 modulen med forhandlersertifikater fra Certifi modulen. Det var nødvendig, men det betyr at når som helst pip3 brukes kan den referere til disse sertifikatene, først og fremst når du oppretter et virtuelt miljø eller når installere en modul med alle dens wheel avhengigheter på en gang.

Det anses generelt at systemadministratoren bør være ansvarlig for hvilke sertifikater som er tilgjengelige. Nå som make-ca-1.12 og p11-kit-0.25.0 har blitt installert og make-ca er konfigurert, er det mulig å få pip3 til å bruke systemsertifikatene.

Sertifikatene som er installert i LFS er et øyeblikksbilde fra når en trukket inn versjon av Certifi ble laget. Hvis du regelmessig oppdaterer systemsertifikatene, vil leverandørversjonen bli utdatert.

For å bruke systemsertifikatene i Python3 bør du sette _PIP_STANDALONE_CERT til å peke på dem, f.eks for bash skallet:

export _PIP_STANDALONE_CERT=/etc/pki/tls/certs/ca-bundle.crt

Warning

Hvis du har laget virtuelle miljøer, for eksempel når du tester moduler, og de inkluderer Requests og Certifi moduler i ~/.local/lib/python3.11/ så vil de lokale modulene bli brukt i stedet for systemsertifikatene med mindre du fjerner de lokale modulene.

For å bruke systemsertifikatene i Python3 med BLFS profilene legg til følgende variabel til systemet eller personlig profil:

mkdir -pv /etc/profile.d &&
cat > /etc/profile.d/pythoncerts.sh << "EOF"
# Begin /etc/profile.d/pythoncerts.sh

export _PIP_STANDALONE_CERT=/etc/pki/tls/certs/ca-bundle.crt

# End /etc/profile.d/pythoncerts.sh
EOF

Innhold

Installerte Programmer: make-ca
Installerte Mapper: /etc/ssl/{certs,local} og /etc/pki/{nssdb,anchors,tls/{certs,java}}

Korte Beskrivelser

make-ca

er et skallskript som tilpasser en gjeldende versjon av certdata.txt, og gjør den klar til bruk som systemtillitslageret

CrackLib-2.9.11

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

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.

Important

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:

autoreconf -fiv &&

PYTHON=python3               \
./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.

install -v -m644 -D    ../cracklib-words-2.9.11.xz \
                         /usr/share/dict/cracklib-words.xz    &&

unxz -v                  /usr/share/dict/cracklib-words.xz    &&
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

Important

Hvis du installerer CrackLib etter at LFS systemet ditt er fullført og du har Shadow pakken installert, må du installere Shadow-4.13 på nytt hvis du ønsker å gi sterk passordstøtte på systemet ditt. Hvis du nå skal installere Linux-PAM-1.5.3 pakken, kan du se bort fra denne merknaden ettersom Shadow vil bli reinstallert etter Linux-PAM installasjonen.

Parameterforklaringer

autoreconf -fiv: Konfigurasjonsskriptet som ble levert med pakken er for gammel til å få den riktige versjonsstrengen av Python 3.10 eller senere. Denne kommandoen regenererer den med en nyere versjon av autotools, som løser problemet.

PYTHON=python3: Dette tvinger installasjonen av python bindinger for Python 3, selv om Python 2 er installert.

--with-default-dict=/lib/cracklib/pw_dict: Denne parameteren tvinger installasjonen av CrackLib ordboken til /lib hierarkiet.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

install -v -m644 -D ...: Denne kommandoen oppretter /usr/share/dict mappen (hvis den ikke eksisterer allerede) og installerer den komprimerte ordlisten der.

ln -v -s cracklib-words /usr/share/dict/words: ordliste er lenket til /usr/share/dict/words, historisk sett er words den primære ordlisten i /usr/share/dict mappen. Utelate denne kommandoen hvis du allerede har /usr/share/dict/words filen installert på systemet ditt.

echo $(hostname) >>...: Verdien av hostname er ekkoet til en fil kalt cracklib-extra-words. Denne ekstra filen er ment å være en nettstedsspesifikk liste som inkluderer enkle å gjette passord som f.eks som firma- eller avdelingsnavn, brukernavn, produktnavn, datamaskin navn, domenenavn osv.

create-cracklib-dict ...: Denne kommandoen oppretter CrackLib ordbok fra ordlistene. Endre kommandoen for å legge til eventuelle ekstra ordlister du har installert.

Innhold

Installerte Programmer: cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, cracklib-update, og create-cracklib-dict
Installerte Biblioteker: libcrack.so og the _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.4.3

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.0 plattform.

Pakkeinformasjon

cryptsetup Avhengigheter

Påkrevd

JSON-C-0.17, LVM2-2.03.22, og popt-1.19

Valgfri

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 &&
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.

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.0 plattform.

Pakkeinformasjon

Cyrus SASL Avhengigheter

Anbefalt
Valgfri

Linux-PAM-1.5.3, MIT Kerberos V5-1.21.2, MariaDB-10.11.4 eller MySQL, OpenLDAP-2.6.6, PostgreSQL-15.4, sphinx-7.1.2, SQLite-3.42.0, krb4, Dmalloc, og Pod::POM::View::Restructured

Installasjon av Cyrus SASL

Note

Denne pakken støtter ikke parallellbygging.

Installer Cyrus SASL ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --enable-auth-sasldb \
            --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 Berkeley DB.

--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-20230816 pakken ved å bruke følgende kommando:

make install-saslauthd

Note

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.3

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

GnuPG 2 Avhengigheter

Påkrevd

libassuan-2.5.6, libgcrypt-1.10.2, libksba-1.6.4, npth-1.6 og OpenLDAP-2.6.6

Anbefalt
Valgfri

cURL-8.2.1, Fuse-3.16.1, ImageMagick-7.1.1-15 (for convert verktøyet, brukes til å generere dokumentasjonen), libusb-1.0.26, en MTA, SQLite-3.42.0, texlive-20230313 (or install-tl-unx), fig2dev (for å generere dokumentasjonen), og GNU adns

Installasjon av GnuPG

Først, fiks et kompatibilitetsproblem med emacs:

patch -Np1 -i ../gnupg-2.4.3-emacs-1.patch

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.3 &&
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-20230313 installert og du ønsker å lage dokumentasjon i alternative formater, kjør følgende kommandoer (fig2dev er nødvendig for ps formatet):

make -C doc pdf ps

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&

install -v -m755 -d /usr/share/doc/gnupg-2.4.3/html            &&
install -v -m644    doc/gnupg_nochunks.html \
                    /usr/share/doc/gnupg-2.4.3/html/gnupg.html &&
install -v -m644    ../doc/*.texi doc/gnupg.txt \
                    /usr/share/doc/gnupg-2.4.3 &&
install -v -m644    doc/gnupg.html/* \
                    /usr/share/doc/gnupg-2.4.3/html

Hvis du opprettet alternative formater for dokumentasjonen, installer dem ved å bruke følgende kommando som root bruker:

install -v -m644 doc/gnupg.{pdf,dvi,ps} \
                 /usr/share/doc/gnupg-2.4.3

Parameterforklaringer

mkdir build && cd build: Gnupg2 utviklere anbefaler å bygge pakken i en dedikert mappe.

--docdir=/usr/share/doc/gnupg-2.4.3: Denne bryteren endrer standard docdir til /usr/share/doc/gnupg-2.4.3.

--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.3 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.1

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.0 plattform.

Pakkeinformasjon

GnuTLS Avhengigheter

Påkrevd

Nettle-3.9.1

Anbefalt
Valgfri

Brotli-1.0.9, Doxygen-1.9.7, GTK-Doc-1.33.2, libidn-1.41 eller libidn2-2.3.4, libseccomp-2.5.4, Net-tools-2.10 (brukt under testpakken), texlive-20230313 eller install-tl-unx, Unbound-1.17.1 (for å bygge DANE biblioteket), Valgrind-3.21.0 (brukt under testpakken), autogen, cmocka og datefudge (brukt under testpakken hvis DANE bibliteket er bygget), og Trousers (Trusted Platform Module støtte)

Note

Merk at hvis du ikke installerer libtasn1-4.19.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.1 \
            --with-default-trust-store-pkcs11="pkcs11:" &&
make

For å teste resultatene, kjør: make check.

Nå, 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.0 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.0 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.

--with-included-unistring: bruker den medfølgende versjonen av libunistring, i stedet for systems. Bruk denne bryteren hvis du ikke har installert libunistring-1.1.

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, libgnutls-openssl.so (valgfri), og /usr/lib/guile/3.0/extensions/guile-gnutls-v-2.so
Installerte Mapper: /usr/include/gnutls, /usr/lib/guile/3.0/site-ccache/gnutls, /usr/share/guile/site/3.0/gnutls, og /usr/share/doc/gnutls-3.8.1

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.21.0

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.0 plattform.

Pakkeinformasjon

GPGME Avhengigheter

Påkrevd

libassuan-2.5.6

Valgfri

Doxygen-1.9.7 og Graphviz-8.1.0 (for API dokumentasjon), GnuPG-2.4.3 (nødvendig hvis Qt eller SWIG er installert; brukt under testpakken), Clisp-2.49, (Qt-5.15.10 eller qt-alternate-5.15.10), og/eller SWIG-4.1.1 (for språkbindinger)

Installasjon av GPGME

Først, fikse et problem med Python 3.11 installert:

Installer GPGME ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-gpg-test &&
make

For å teste resultatene, bør du ha GnuPG-2.4.3 installert og fjerne --disable-gpg-test ovenfor. Kjør: make -k check. En test, TestRemarks, er kjent for å mislykkes.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-gpg-test: hvis denne parameteren ikke er sendt til configure, bygges testprogrammene under make steget, som krever GnuPG-2.4.3. Denne parameteren er ikke nødvendig hvis GnuPG-2.4.3 er installert.

Innhold

Installert Program: gpgme-json, og gpgme-tool
Installerte Biblioteker: libgpgme, libgpgmepp.so, og libqgpgme.so
Installerte Mapper: /usr/include/{gpgme++,qgpgme,QGpgME}, /usr/lib/cmake/{Gpgmepp,QGpgme}. /usr/lib/python2.7/site-packages/gpg, /usr/lib/python3.11/site-packages/gpg-1.21.0-py3.11-linux-<arch>.egg, 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.9

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.0 plattform.

Pakkeinformasjon

iptables Avhengigheter

Valgfri

libpcap-1.10.4 (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

Note

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

Note

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 5.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.

Note

Å skisserer spesifikt hvordan du beskytter en server som tilbyr tjenester på Internett går langt utover omfanget av dette dokumentet. Se referansene i the section called “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-20230816 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

Caution

Eksempelkonfigurasjonene som er gitt for iptables-1.8.9 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.9. 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.69 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.0 plattform.

Pakkeinformasjon

libcap Avhengigheter

Påkrevd

Linux-PAM-1.5.3

Installasjon av libcap

Note

Hvis du oppgraderer libcap fra en tidligere versjon, bruk instruksjoner i LFS libcap siden for å oppgradere libcap. Hvis Linux-PAM-1.5.3 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.5.3

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Valgfri Dokumentasjon

Linux PAM Avhengigheter

Valgfri

Berkeley DB-5.3.28, libnsl-2.0.0, libtirpc-1.3.3, libaudit, og Prelude

Note

Shadow-4.13 og Systemd-254 installeres på nytt og rekonfigurert etter installasjon og konfigurering av Linux PAM.

Installasjon av Linux PAM

Hvis du lastet ned dokumentasjonen, pakk ut tarballen ved å kjøre følgende kommando.

tar -xf ../Linux-PAM-1.5.3-docs.tar.xz --strip-components=1

Kompiler og link Linux PAM med å kjøre følgende kommandoer:

./configure --prefix=/usr                        \
            --sbindir=/usr/sbin                  \
            --sysconfdir=/etc                    \
            --libdir=/usr/lib                    \
            --enable-securedir=/usr/lib/security \
            --docdir=/usr/share/doc/Linux-PAM-1.5.3 &&
make

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 make 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 make check. Pass på at testene ikke produserer noe feil før du fortsetter installasjonen. Merk at testene er veldig lange. Omdiriger utdataene til en loggfil, slik at du kan inspisere den grundig.

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:

make install &&
chmod -v 4755 /usr/sbin/unix_chkpwd

Parameterforklaringer

--enable-securedir=/usr/lib/security: Denne bryteren angir installasjonsstedet for PAM moduler.

chmod -v 4755 /usr/sbin/unix_chkpwd: setuid biten for unix_chkpwd hjelpeprogram må være slått på, slik at ikke-root prosesser kan få tilgang til shadow filen.

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 mange feltene og tillatte oppføringer. Linux-PAM System Administrators' Guide anbefales for ytterligere informasjon.

Important

Du bør nå installere på nytt Shadow-4.13 og Systemd-254 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.5.3

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

liboauth Avhengigheter

Påkrevd

cURL-8.2.1

Valgfri

nss-3.92 og Doxygen-1.9.7 (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.9.7), 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.0 plattform.

Pakkeinformasjon

libpwquality Avhengigheter

Avhengigheter

CrackLib-2.9.11

Anbefalt

Installasjon av libpwquality

Installer libpwquality ved å kjøre følgende kommandoer:

./configure --prefix=/usr                      \
            --disable-static                   \
            --with-securedir=/usr/lib/security \
            --with-python-binary=python3       &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--with-python-binary=python3: Denne parameteren gir plasseringen av Python binær. Standaren er python, og krever Python-2.7.18.

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: Ingen

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.2

Introduksjon til MIT Kerberos V5

MIT Kerberos V5 er en gratis implementering av Kerberos 5. Kerberos er en nettverksautentiseringsprotokoll. Den sentraliserer autentiseringsdatabasen og bruker kerberized applikasjoner som fungerer med servere eller tjenester som støtter Kerberos tillater enkeltpålogginger og kryptert kommunikasjon over intern nettverk eller Internett.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://kerberos.org/dist/krb5/1.21/krb5-1.21.2.tar.gz

  • Nedlasting MD5 sum: 97d5f3a48235c53f6d537c877290d2af

  • Nedlastingsstørrelse: 8.2 MB

  • Estimert diskplass som kreves: 130 MB (legg til 10 MB for tester)

  • Estimert byggetid: 0.3 SBU (Bruker parallellisme=4; legg til 1.0 SBU for tester)

MIT Kerberos V5 Avhengigheter

Valgfri

BIND Utilities-9.18.18, GnuPG-2.4.3 (for å autentisere pakken), keyutils-1.6.1, OpenLDAP-2.6.6, Valgrind-3.21.0 (brukt under testpakken), yasm-1.3.0, libedit, cmocka, kdcproxy, pyrad, og resolv_wrapper

Note

En slags tidssynkroniseringsfunksjon på systemet ditt (som ntp-4.2.8p17) 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 &&
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.

Nå, som root bruker:

make install &&
cp -vfr ../doc -T /usr/share/doc/krb5-1.21.2

Parameterforklaringer

sed kommandoene fjerner en test som er kjent for å mislykkes.

--localstatedir=/var/lib: Dette alternativet brukes slik at Kerberos variablens kjøretidsdata er plassert i /var/lib i stedet for /usr/var.

--runstatedir=/run: Dette alternativet brukes slik at informasjonen om Kerberos kjøretidstilstand er plassert i /run istedenfor det foreldede /var/run.

--with-system-et: Denne bryteren gjør at bygget bruker de systeminstallerte versjonene av feiltabell støtte programvaren.

--with-system-ss: Denne bryteren gjør at bygget bruker de systeminstallerte versjonene av undersystemets kommandolinje grensesnitt programvaren.

--with-system-verto=no: Denne bryteren fikser en feil i pakken: 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.

--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

Tip

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.9.11 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.2 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-20230816 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.2,examples/krb5}, /var/lib/krb5kdc, og /run/krb5kdc

Korte Beskrivelser

gss-client

er en GSSAPI testklient

gss-server

er en GSSAPI testserver

k5srvutil

er et vertsnøkkeltabellmanipulasjonsverktøy

kadmin

er et verktøy som brukes til å gjøre endringer til Kerberos databasen

kadmin.local

er et verktøy som ligner på kadmin, men hvis databasen er db2, den lokale klienten kadmin.local, er ment å kjøre direkte på master KDC uten Kerberos autentisering

kadmind

er en server for administrativ tilgang til en Kerberos database

kdb5_ldap_util (optional)

lar en administrator administrere realms, Kerberos tjenester og billettpolitikk

kdb5_util

er KDC databaseverktøyet

kdestroy

fjerner gjeldende sett med billetter

kinit

brukes til å autentisere til Kerberos serveren som en fullmakt og anskaffe en billettbevilgningsbillett som senere kan brukes til å skaffe billetter til andre tjenester

klist

leser og viser gjeldende billetter i legitimasjonsbufferen

kpasswd

er et program for å endre Kerberos 5 passord

kprop

tar en hoveddatabase i et spesifisert format og konverterer den til en strøm av databaseposter

kpropd

mottar en database sendt av kprop og skriver den som en lokal database

kproplog

viser innholdet i KDC databaseoppdateringsloggen til standard utgang

krb5-config

gir informasjon om hvordan man kobler programmer mot 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.9.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.0 plattform.

Pakkeinformasjon

Nettle Avhengigheter

Valgfri

Valgrind-3.21.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.9.1 &&
install -v -m644 nettle.{html,pdf} /usr/share/doc/nettle-3.9.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.9.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.92

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

NSS Avhengigheter

Påkrevd

NSPR-4.35

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-3.92-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 ../

Note

Litt informasjon om testene:

  • HOST=localhost og DOMSUF=localdomain er påkrevd. Uten disse variablene kreves er en FQDN spesifisert og denne generiske måten bør fungere for alle, gitt localhost.localdomain er definert i /etc/hosts, slik det er gjort i LFS boken.

  • Testene tar lang tid å kjøre. Om ønskelig er det informasjon i all.sh skriptet om kjøring av delsett av total testpakke.

  • Når du avbryter testene, testpakken klarer ikke å avslutte testservere som kjøres. Dette fører til en uendelig løkke i testene der testpakken prøver å drepe en server som ikke eksisterer lenger fordi den bruker feil PID.

  • Testresultater (i HTML-format!) finner du på ../../test_results/security/localhost.1/results.html

  • Noen få tester kan mislykkes på noen Intel maskiner av ukjente årsaker.

Nå, som root bruker:

cd ../dist                                                          &&

install -v -m755 Linux*/lib/*.so              /usr/lib              &&
install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib              &&

install -v -m755 -d                           /usr/include/nss      &&
cp -v -RL {public,private}/nss/*              /usr/include/nss      &&

install -v -m755 Linux*/bin/{certutil,nss-config,pk12util} /usr/bin &&

install -v -m644 Linux*/lib/pkgconfig/nss.pc  /usr/lib/pkgconfig

Parameterforklaringer

BUILD_OPT=1: Dette alternativet sendes til make slik at byggingen utføres uten feilsøkingssymboler innebygd i binærfiler og standard kompilatoroptimaliseringer er brukt.

NSPR_INCLUDE_DIR=/usr/include/nspr: Dette alternativet angir plasseringen av nspr deklarasjonene.

USE_SYSTEM_ZLIB=1: Dette alternativet sendes til make for å sikre at libssl3.so biblioteket er knyttet til systemets installerte zlib i stedet for versjon i pakken.

ZLIB_LIBS=-lz: Dette alternativet gir linkerflagg som trengs for å koble til systemets zlib.

$([ $(uname -m) = x86_64 ] && echo USE_64=1): USE_64=1 alternativet er påkrevd på x86_64, ellers vil make prøve (og mislykkes) å lage 32-bits objekter. [ $(uname -m) = x86_64 ] testen sikrer at det ikke har noe effekt på et 32-bitssystem.

([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1): Dette tester om sqlite er installert og i så fall echoer det valget NSS_USE_SYSTEM_SQLITE=1 til make sånn at libsoftokn3.so vil lenke mot systemversjonen av sqlite.

NSS_DISABLE_GTESTS=1: Hvis du ikke trenger å kjøre NSS testpakken, legg til dette alternativet til make kommandoen, for å forhindre kompilering av tester og spare litt byggetid.

Konfigurere NSS

Hvis p11-kit-0.25.0 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 listene 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.12 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.4p1

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz

  • Nedlasting MD5 sum: 4bbd56a7ba51b0cd61debe8f9e77f8bb

  • Nedlastingsstørrelse: 1.7 MB

  • Estimert diskplass som kreves: 45 MB (legg til 22 MB for tester)

  • Estimert byggetid: 0.2 SBU (Bruker parallellisme=4; å kjøre testene tar omtrent 20 minutter, uavhengig av prosessorhastighet)

OpenSSH Avhengigheter

Valgfri

GDB-13.2 (for tester), Linux-PAM-1.5.3, Xorg Applikasjoner (eller Xorg build environment, se Parameterforklaringer), MIT Kerberos V5-1.21.2, Which-2.21 (for tester), libedit, LibreSSL Portable, OpenSC, og libsectok

Valgfri kjøretid (brukes kun for å samle entropi)

Net-tools-2.10, og Sysstat-12.7.2

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/OpenSSH

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, kjør: 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.4p1     &&
install -v -m644    INSTALL LICENCE OVERVIEW README* \
                    /usr/share/doc/openssh-9.4p1

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_rsa.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-20230816 pakken.

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.4p1, 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.0

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.0 plattform.

Pakkeinformasjon

p11-kit Avhengigheter

Anbefalt
Anbefalt (kjøretid)
Valgfri

GTK-Doc-1.33.2, libxslt-1.1.38, og nss-3.92 (kjøretid)

Installasjon av p11-kit

Løs et problem som gjør at enkelte PKCS 11 moduler ikke kan lastes:

sed 's/if (gi/& \&\& gi != C_GetInterface/' \
    -i p11-kit/modules.c

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 \
      -Dtrust_paths=/etc/pki/anchors &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install &&
ln -sfv /usr/libexec/p11-kit/trust-extract-compat \
        /usr/bin/update-ca-certificates

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dtrust_paths=/etc/pki/anchors: denne bryteren angir plasseringen av klarerte sertifikater som brukes av libp11-kit.so.

-Dhash_impl=freebl: Bruk denne bryteren hvis du vil bruke Freebl biblioteket fra NSS for SHA1 og MD5 hashing.

-Dgtk_doc=true: Bruk denne bryteren hvis du har installert GTK-Doc-1.33.2 og libxslt-1.1.38 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-123

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.0 plattform.

Pakkeinformasjon

Polkit Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt

Note

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.33.2, JS-102.13.0 (kan brukes i stedet for duktape), og dbusmock-0.29.1 (for tester)

Nødvendige Kjøretidsavhengigheter

Systemd-254

Valgfrie Kjøretidsavhengigheter

Én polkit autentiseringsagent for bruk av polkit i et grafiske miljø: polkit-kde-agent i Plasma-5.27.7 for KDE, agenten bygd inn gnome-shell-44.3 for GNOME3, polkit-gnome-0.105 for XFCE, og lxpolkit i LXSession-0.5.5 for LXDE

Note

Hvis libxslt-1.1.38 er installert, da er docbook-xml-4.5 og docbook-xsl-nons-1.79.2 nødvendig. Hvis du har installert libxslt-1.1.38, men du ikke ønsker å installere noen av DocBook pakkene som er nevnt, vil du trenge å bruke -Dman=false i instruksjonene under.

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

Hvis du bruker JS-102.13.0, gjør følgende endring (se Parameterforklaringer nedenfor for mer informasjon):

sed -e 's/JS_Init/JS::DisableJitBackend(); &/' \
    -i src/polkitbackend/polkitbackendjsauthority.cpp

Installer Polkit ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                            \
      --prefix=/usr                       \
      --buildtype=release                 \
      -Dman=true                          \
      -Dsession_tracking=libsystemd-login \
      -Dtests=true                        &&
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.29.1 er installert. Kjør så ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

sed -e 's/JS_Init/JS::DisableJitBackend(); &/' ... : JIT kompileringen av JS102 trenger W+X kartlegging som er farlig og er ikke tillatt av systemd enhetsfil sendt i polkit pakken. Denne kommandoen er strengt tatt ikke nødvendig på systemer basert på sysvinit, men det forbedrer fortsatt sikkerheten. Det har ingen effekt hvis det bygges polkit med anbefalt duktape-2.7.0 Javascript motor.

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dtests=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.

-Djs_engine=mozjs: Denne bryteren tillater bruk av JS-102.13.0 JavaScript motoren i stedet for duktape-2.7.0 JavaScript motoren.

-Dos_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.

-Dauthfw=shadow: Denne bryteren aktiverer pakken til å bruke Shadow i stedet for Linux PAM Autentiseringsrammeverk. Bruk det hvis du ikke har installert Linux PAM.

-Dintrospection=false: Bruk dette alternativet hvis du er sikker på at du ikke trenger gobject-introspection filer for polkit, eller ikke har gobject-introspection installert.

-Dman=false: Bruk dette alternativet til å deaktivere generering og installasjon av manualsider. Dette er nyttig hvis libxslt ikke er installert.

-Dexamples=true: Bruk dette alternativet til å bygge eksempel programmer.

-Dgtk_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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Polkit GNOME Avhengigheter

Påkrevd

AccountsService-23.13.9, GTK+-3.24.38, og Polkit-123

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, polkit-gnome-authentification-agent-1 må 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.13

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 CrackLib eller Linux-PAM etter at LFS systemet ditt ble fullført. Hvis du har installert CrackLib etter LFS, så å installere Shadow på nytt vil aktivere sterkt passord brukerstøtte. Hvis du har installert Linux-PAM, 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.0 plattform.

Pakkeinformasjon

Shadow Avhengigheter

Påkrevd

Linux-PAM-1.5.3 eller CrackLib-2.9.11

Installasjon av Shadow

Important

Installasjonskommandoene vist nedenfor er for installasjoner hvor Linux-PAM er installert og Shadow blir reinstallert for å støtte Linux-PAM installasjon.

Hvis du installerer Shadow på nytt for å gi sterk passordstøtte ved å bruke CrackLib biblioteket uten å bruke Linux-PAM, forsikre deg å legge til --with-libcrack parameteren til configure skriptet nedenfor og kjør også følgende kommando:

sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' etc/login.defs

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                \
                        --with-{b,yes}crypt             \
            --with-group-name-max-length=32 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make exec_prefix=/usr 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@#\(SHA_CRYPT_..._ROUNDS 5000\)@\100@' -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.

--with-group-name-max-length=32: Det maksimale brukernavn er 32 tegn. Gjør maksimum gruppenavn det samme.

Konfigurere Linux-PAM til å fungere med Shadow

Note

Resten av denne siden er viet til å konfigurere Shadow å virke skikkelig med Linux-PAM. Hvis du ikke har Linux-PAM installert, og du installerte Shadow på nytt for å støtte sterke passord via CrackLib biblioteket, ingen ytterligere konfigurasjon er nødvendig.

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.5.3 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            \
                CRACKLIB_DICTPATH        \
                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

Warning

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

Caution

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.0-systemd/chapter08/shadow.html#contents-shadow.

ssh-askpass-9.4p1

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.0 plattform.

Pakkeinformasjon

ssh-askpass Avhengigheter

Påkrevd

GTK+-3.24.38, Sudo-1.9.14p3 (kjøretid), Xorg Biblioteker, og et grafiske miljø (kjøretid)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/ssh-askpass

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.14p3 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.70

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.0 plattform.

Pakkeinformasjon

stunnel Avhengigheter

Valgfri

libnsl-2.0.0, 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

Note

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.70 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.70

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.14p3

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.0 plattform.

Pakkeinformasjon

Sudo Avhengigheter

Valgfri

Linux-PAM-1.5.3, MIT Kerberos V5-1.21.2, OpenLDAP-2.6.6, MTA (som gir en sendmail kommando), AFS, FWTK, og Opie

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/sudo

Installasjon av Sudo

Installer Sudo ved å kjøre følgende kommandoer:

./configure --prefix=/usr              \
            --libexecdir=/usr/lib      \
            --with-secure-path         \
            --with-all-insults         \
            --with-env-editor          \
            --docdir=/usr/share/doc/sudo-1.9.14p3 \
            --with-passprompt="[sudo] password for %p: " &&
make

For å teste resultatene, kjør: env LC_ALL=C make check 2>&1 | tee make-check.log. Sjekk resultatene med grep failed make-check.log.

Nå, som root bruker:

make install &&
ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0

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-all-insults: Denne bryteren inkluderer alle sudo insult sett.

--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.

Note

Det er mange alternativer til sudo sin configure kommandoen. Undersøk configure --help utdata for en fullstendig liste.

ln -sfv libsudo_util...: Jobber rundt en feil i installasjonsprosessen, som kobler til den tidligere installerte versjonen (hvis det er en) i stedet for den nye.

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

Note

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.

Note

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, sample_approval.so, sudoers.so, sudo_noexec.so, og system_group.so
Installerte Mapper: /etc/sudoers.d, /usr/lib/sudo, /usr/share/doc/sudo-1.9.14p3, 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.0 plattform.

Pakkeinformasjon

Tripwire Avhengigheter

Valgfri

Og 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

Note

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

Note

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

volume_key-0.3.12

Introduksjon til volume_key

volume_key pakken gir et bibliotek for å manipulere lagringsvolumkrypteringsnøkler og lagre dem separat fra volumer for å håndtere glemte passordfraser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

volume_key Avhengigheter

Påkrevd

cryptsetup-2.4.3, GLib-2.76.4, GnuPG-2.4.3, GPGME-1.21.0, og nss-3.92

Anbefalt

Installasjon av volume_key

Note

Denne pakken utvides til mappen volume_key-volume_key-0.3.12.

Fortell byggesystemet hvordan det finner GPGME og GnuPG riktig:

sed -e '/AM_PATH_GPGME/iAM_PATH_GPG_ERROR' \
    -e 's/gpg2/gpg/' -i configure.ac

Installer volume_key ved å kjøre følgende kommandoer:

autoreconf -fiv              &&
./configure --prefix=/usr    \
            --without-python &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--without-python: Denne parameteren hindrer bygging av Python 2 bindinger, dersom Python-2.7.18 er installert.

--without-python3: Bruk dette alternativet hvis du ikke vil bygge Python 3 bindinger. I dette tilfellet, er ikke SWIG-4.1.1 nødvendig.

Innhold

Installert Program: volume_key
Installert Bibliotek: libvolume_key.so
Installert Mappe: /usr/include/volume_key

Korte Beskrivelser

volume_key

administrerer krypterte volumnøkler og passordfraser

volume_key.so

inneholder API funksjoner for å administrere krypterte volumnøkler

Chapter 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.14

Andre Kjøretids Avhengigheter

LVM2-2.03.22 og/eller mdadm-4.2 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 the section called “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.3.3

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.0 plattform.

Pakkeinformasjon

Btrfs-progs Avhengigheter

Påkrevd

LZO-2.10

Valgfri

LVM2-2.03.22 (dmsetup brukes i tester), reiserfsprogs-3.6.27 (for tester), og sphinx-7.1.2 (nødvendig for å bygge dokumentasjon)

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.22 og reiserfsprogs-3.6.27, må følgende alternativer være aktivert for å kjøre tester:

File systems --->
  <*/M> Reiserfs support (deprecated)                              [REISERFS_FS]
  [*]     ReiserFS extended attributes                       [REISERFS_FS_XATTR]
  [*]       ReiserFS POSIX Access Control Lists          [REISERFS_FS_POSIX_ACL]
  <*/M> Btrfs filesystem support                                      [BTRFS_FS]
  [*]     Btrfs POSIX Access Control Lists                  [BTRFS_FS_POSIX_ACL]

Installasjon av btrfs-progs

Installer btrfs-progs ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --disable-static        \
            --disable-documentation &&
make

Note

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.42.

Før du kjører tester, bygg et støtteprogram:

make fssum

For å teste resultatene, kjør (som root bruker):

pushd tests
   ./fsck-tests.sh
   ./mkfs-tests.sh
   ./cli-tests.sh
   sed 's/,orphan_file//' /etc/mke2fs.conf >./custom_mke2fs.conf &&
   export MKE2FS_CONFIG=$PWD/custom_mke2fs.conf                  &&
   ./convert-tests.sh
   unset MKE2FS_CONFIG && rm custom_mke2fs.conf
   ./misc-tests.sh
   ./fuzz-tests.sh
popd

Note

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.

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-7.1.2.

sed 's/,orphan_file//" ...: I denne versjonen av btrfs-progs, btrfs-convert programmet produserer et btrfs filsystem som inneholder feil ved konvertering fra et ext4 filsystem opprettet med orphan_file funksjonen. Denne kommandoen oppretter en tilpasset konfigurasjonsfil som forhindrer opprettelse av et filsystem med denne funksjonen.

Bruke btrfs-convert programmet

Denne versjonen av btrfs-progs konverterer ikke riktig ext4 filsystemer til btrfs hvis ext4 orphan_file funksjonen er slått på. Hvis du konvertere et slikt filsystem, må du først kjøre:

tune2fs -O ^orphan_file /dev/sdxx

hvor /dev/sdxx er partisjonen til filsystemet du ønsker å konvertere.

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 (se the section called “Bruke btrfs-convert programmet” ovenfor)

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.0 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.1

Introduksjon til Fuse

FUSE (Filesystem in Userspace) er en enkel grensesnitt for brukerromsprogrammer for å eksportere et virtuelt filsystem til Linux kjernen. Fuse har også som mål å gi en sikker metode for ikke-privilegerte brukere å lage og montere sine egne filsystemimplementeringer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Fuse Avhengigheter

Optional

Doxygen-1.9.7 (for å gjenoppbygge API dokumentasjonen) pytest-7.4.0 (nødvendig for tester) og looseversion

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.9.7 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-7.4.0 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. En test navngitt test_notify_inval_entry[True-expire_entries] kan mislykkes under visse omstendigheter.

Nå, som root bruker:

ninja install                  &&
chmod u+s /usr/bin/fusermount3 &&

cd ..                          &&
cp -Rv doc/html -T /usr/share/doc/fuse-3.16.1 &&
install -v -m644   doc/{README.NFS,kernel.txt} \
                   /usr/share/doc/fuse-3.16.1

Parameterforklaringer

sed ... util/meson.build: Denne kommandoen deaktiverer installasjonen av et oppstartsskript og en udev regel som ikke er nødvendig.

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

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.1

Korte Beskrivelser

fusermount3

er et suid root program for å montere og avmontere Fuse filsystemer

mount.fuse3

er kommandoen mount kaller å montere et Fuse filsystem

libfuse3.so

inneholder FUSE API funksjoner

jfsutils-1.1.15

Introduksjon til jfsutils

jfsutils pakken inneholder administrasjon og feilsøkingsverktøy for jfs filsystemet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.22

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://sourceware.org/ftp/lvm2/LVM2.2.03.22.tgz

  • Nedlasting (FTP): ftp://sourceware.org/pub/lvm2/LVM2.2.03.22.tgz

  • Nedlasting MD5 sum: a97cf533222a5760225dbd26c3982ca6

  • Nedlastingsstørrelse: 2.6 MB

  • Estimert diskplass som kreves: 38 MB (legg til 20 MB for tester; midlertidige filer kan vokse opp til rundt 300 MB i /tmp mappen under tester)

  • Estimert byggetid: 0.1 SBU (bruker parallellisme=4; 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.2, reiserfsprogs-3.6.27, Valgrind-3.21.0, Which-2.21, xfsprogs-6.4.0 (alle fem kan brukes, men er ikke påkrevd, for tester), thin-provisioning-tools, og vdo

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt:

Note

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).

Note

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.22 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

Note

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 the section called “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 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

Note

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.2.7.

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.2.

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.

Note

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.4.0, reiserfsprogs-3.6.27, 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.

Note

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.2

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.0 plattform.

Pakkeinformasjon

mdadm Avhengigheter

Valgfri

En MTA

Caution

Kjerneversjoner i serie 4.1 til 4.4.1 har en ødelagt RAID gjennomføring. Bruk en kjerne med versjon 4.4.2 eller høyere.

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.

--keep-going: Kjør testene til slutten, selv om en eller flere tester mislykkes.

--logdir=test-logs: Definerer mappen hvor testlogger lagres.

--save-logs: Instruerer testpakken om å lagre loggene.

--tests=<test1,test2,...>: Valgfri kommaseparert liste over tester som skal utføres (alle tester, hvis dette alternativet ikke er gitt).

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

Note

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.0 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.9

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.0 plattform.

Pakkeinformasjon

Ytterligere nedlastinger

gptfdisk Avhengigheter

Påkrevd

popt-1.19

Valgfri

ICU-73.2

Installasjon av gptfdisk

gptfdisk pakken kommer med en grunnleggende Makefile. Først oppdaterer vi den for å gi et enkelt bygge- og installeringsgrensesnitt og fikse plassering av en deklarasjonsfil samt fikse et problem som ble introdusert av en nylig versjon av popt. Installer gptfdisk ved å kjøre følgende kommandoer:

patch -Np1 -i ../gptfdisk-1.0.9-convenience-1.patch &&
sed -i 's|ncursesw/||' gptcurses.cc &&
sed -i 's|sbin|usr/sbin|' Makefile &&
sed -i '/UUID_H/s/^.*$/#if defined (_UUID_UUID_H) || defined (_UL_LIBUUID_UUID_H)/' guid.cc &&
sed -i "/device =/s/= \(.*\);/= strdup(\1);/" gptcl.cc &&

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.0 plattform.

Pakkeinformasjon

Parted Avhengigheter

Anbefalt
Valgfri

dosfstools-4.2, Pth-2.0.7, texlive-20230313 (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-20230313 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

Note

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

reiserfsprogs-3.6.27

Introduksjon til reiserfsprogs

reiserfsprogs pakken inneholder ulike verktøy for bruk med Reiser filsystemet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Kjernekonfigurasjon

Aktiver følgende alternativ i kjernekonfigurasjonen og kompiler kjernen på nytt:

File systems --->
  <*/M> Reiserfs support (deprecated)                              [REISERFS_FS]

Installation of reiserfsprogs

Installer reiserfsprogs ved å kjøre følgende kommandoer:

sed -i '/parse_time.h/i #define _GNU_SOURCE' lib/parse_time.c &&
autoreconf -fiv           &&

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sed ...: Sørg for at en variabel er definert for bruk med nyere inkludere filer.

Innhold

Installerte Programmer: debugreiserfs, mkreiserfs, reiserfsck, reiserfstune, og resize_reiserfs
Installert Bibliotek: libreiserfscore.so
Installert Mappe: /usr/include/reiserfs

Korte Beskrivelser

debugreiserfs

kan noen ganger hjelpe til å løse problemer med ReiserFS filsystemer. Hvis det kalles uten alternativer, skriver den ut superblokken av alle ReiserFS filsystemer funnet på enheten

mkreiserfs

oppretter et ReiserFS filsystem

reiserfsck

brukes til å kontrollere eller reparere et ReiserFS filsystem

reiserfstune

brukes til å stille inn ReiserFS journal. ADVARSEL: Ikke bruk dette verktøyet uten først å ha lest mansiden grundig

resize_reiserfs

brukes til å endre størrelse på et umontert ReiserFS filsystem

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.0 plattform.

Pakkeinformasjon

smartmontools Avhengigheter

Valgfri (kjøretid)

cURL-8.2.1 eller Lynx-2.8.9rel.1 eller Wget-1.21.4 (nedlastingsverktøy), og GnuPG-2.4.3 (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.0 plattform.

Pakkeinformasjon

Sshfs Avhengigheter

Påkrevd

Fuse-3.16.1, GLib-2.76.4, og OpenSSH-9.4p1.

Valgfri

docutils-0.20.1 (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.4.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.0 plattform.

Pakkeinformasjon

xfsprogs Avhengigheter

Påkrevd

inih-57 og liburcu-0.14.0

Valgfri

ICU-73.2 (for unicode navneskanning i xfs_scrub)

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt:

File systems --->
  <*/M> XFS filesystem support                                          [XFS_FS]

Installasjon av xfsprogs

Installer xfsprogs ved å kjøre følgende kommandoer:

make DEBUG=-DNDEBUG     \
     INSTALL_USER=root  \
     INSTALL_GROUP=root

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PKG_DOC_DIR=/usr/share/doc/xfsprogs-6.4.0 install     &&
make PKG_DOC_DIR=/usr/share/doc/xfsprogs-6.4.0 install-dev &&

rm -rfv /usr/lib/libhandle.{a,la}

Parameterforklaringer

make DEBUG=-DNDEBUG: Slår av feilsøkingssymboler.

INSTALL_USER=root INSTALL_GROUP=root: Dette angir eieren og gruppen av de installerte filene.

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_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.4.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_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-38

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

efivar Avhengigheter

Påkrevd

mandoc-1.14.6

Installasjon av

Først, fiks et problem i Makefile som forårsaker at pakken gjenoppbygges under installasjonen:

sed '/prep :/a\\ttouch prep' -i src/Makefile

Note

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.

Hvis du bygger denne pakken på et 32-bitssystem, bruk en oppdatering:

[ $(getconf LONG_BIT) = 64 ] || patch -Np1 -i ../efivar-38-i686-1.patch

Bygg efivar med følgende kommandoer:

make ERRORS=

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 LIBDIR=/usr/lib

Parameterforklaringer

ERRORS=: Dette alternativet overstyrer -Werror overført til GCC som standard, så pakken vil ikke mislykke i å bygge med -Wenum-int-mismatch advarsel innført i GCC 13.

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.0 plattform.

Pakkeinformasjon

efibootmgr Avhengigheter

Påkrevd

efivar-38 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.06 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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz

  • Nedlasting MD5 sum: cf0fd928b1e5479c8108ee52cb114363

  • Nedlastingsstørrelse: 6.3 MB

  • Estimert diskplass som kreves: 183 MB

  • Estimert byggetid: 0.4 SBU (på 64-bits LFS, ved å bruke parallellisme=4)

Ytterligere nedlastinger

Unicode skriftdata som brukes til å vise GRUB menyen

GCC (bare nødvendig hvis du bygger på 32-bits LFS)

  • Referer til GCC-13.2.0 siden for nedlastingsinformasjon.

GRUB Avhengigheter

Anbefalt
Valgfri

LVM2-2.03.22

Installasjon av GRUB

Installer først skriftdata som root bruker:

mkdir -pv /usr/share/fonts/unifont &&
gunzip -c ../unifont-15.0.06.pcf.gz > /usr/share/fonts/unifont/unifont.pcf

Warning

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.

Løs et problem som forårsaker at grub-install feiler når /boot partisjonen (eller root partisjonen /boot ikke er en separat partisjon) er opprettet av e2fsprogs-1.47.0 eller senere:

patch -Np1 -i ../grub-2.06-upstream_fixes-1.patch

Hvis du kjører en 32-bits LFS, klargjør en 64-bits kompilator:

case $(uname -m) in i?86 )
    tar xf ../gcc-13.2.0.tar.xz
    mkdir gcc-13.2.0/build
    pushd gcc-13.2.0/build
        ../configure --prefix=$PWD/../../x86_64-gcc \
                     --target=x86_64-linux-gnu      \
                     --with-system-zlib             \
                     --enable-languages=c,c++       \
                     --with-ld=/usr/bin/ld
        make all-gcc
        make install-gcc
    popd
    export TARGET_CC=$PWD/x86_64-gcc/bin/x86_64-linux-gnu-gcc
esac

Bygg GRUB med følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --disable-efiemu     \
            --enable-grub-mkfont \
            --with-platform=efi  \
            --target=x86_64      \
            --disable-werror     &&
unset TARGET_CC &&
make

Denne pakken har ikke en testpakke som gir meningsfulle resultater.

Nå, som root bruker:

make install &&
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions

Parameterforklaringer

--enable-grub-mkfont: Bygg verktøyet som heter grub-mkfont for å generere fontfilen for oppstartslasteren fra fontdataene vi har installert.

Warning

Hvis den anbefalte avhengigheten FreeType-2.13.1 ikke er installert, er det mulig å utelate dette alternativet og bygge GRUB. Derimot, hvis grub-mkfont ikke er bygget, eller unicode fontdataen ikke er tilgjengelig på det tidspunktet GRUB bygges, vil GRUB ikke installere hvilken som helst font for oppstartslasteren. GRUB oppstartsmenyen vil vises ved hjelp av en grov skrift eller i et mindre område på skjermen.

--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

Se siden for GRUB i LFS boken.

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]

-*- Enable the block layer --->                                          [BLOCK]
  Partition Types --->
    [ /*] Advanced partition selection                      [PARTITION_ADVANCED]
    [*]     EFI GUID Partition support                           [EFI_PARTITION]

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]
    [*] Enable legacy fbdev support for your modesetting driver
                                                      ...  [DRM_FBDEV_EMULATION]
    <*> Simple framebuffer driver                                [DRM_SIMPLEDRM]
    Frame buffer Devices --->
      <*> Support for frame buffer devices --->                             [FB]
    Console display driver support --->
      -*- Framebuffer Console support                      [FRAMEBUFFER_CONSOLE]

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å.

CONFIG_SYSFB_SIMPLEFB, CONFIG_DRM, CONFIG_DRM_FBDEV_EMULATION, CONFIG_DRM_SIMPLEDRM, CONFIG_FB, and CONFIG_FRAMEBUFFER_CONSOLE

Kombinasjonen av disse alternativene gir Linux konsollen støtte på toppen av UEFI rammebufferen. For å tillate kjernen å skrive ut feilsøkingsmeldinger på et tidlig oppstartsstadium, bør de ikke bli bygget som kjernemoduler med mindre en initramfs skal brukes.

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:

Warning

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. Det vil starte opp systemet og vise GRUB skallet. Så kan du skrive kommandoer for å starte operativsystemet fra harddisken. For å lære hvordan du velger oppstartsenhet, les bruksanvisningen til ditt hovedkort eller bærbar PC.

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.

Warning

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:

Note

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.

Note

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

Note

Hvis systemet startes opp med UEFI og systemd, efivarfs vil bli montert automatisk. Men i LFS chrootmiljøet trenger det fortsatt å monteres manuelt.

Warning

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 all_video
if loadfont /boot/grub/fonts/unicode.pf2; then
  terminal_output gfxterm
fi

menuentry "GNU/Linux, Linux 6.4.10-lfs-12.0"  {
  linux   /boot/vmlinuz-6.4.10-lfs-12.0 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.4.10-lfs-12.0 må stemme overens med din konfigurasjon.

insmod all_video direktivet laster ulike moduler for videostøtte. Det er nødvendig for å initialisere EFI framebuffer for at kjernen skal skrive ut meldinger riktig før initialisering av kjerne GPU driver.

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.

Note

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å.

Chapter 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.14

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.0 plattform.

Pakkeinformasjon

Bluefish Avhengigheter

Påkrevd

GTK+-2.24.33 eller GTK+-3.24.38 (Hvis begge er installert, configure standard til å bruke GTK+ 3)

Anbefalt
Valgfri

enchant-2.5.0 (for stavekontroll), Gucharmap-15.0.4, PCRE-8.45 og Jing

Installasjon av Bluefish

Installer Bluefish ved å kjøre følgende kommandoer:

./configure --prefix=/usr --docdir=/usr/share/doc/bluefish-2.2.14 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Note

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.26 (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.14, og /usr/share/xml/bluefish

Korte Beskrivelser

bluefish

er en GTK+ tekstredigerer for markup og programmering

Ed-1.19

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.0 plattform.

Pakkeinformasjon

Ed Avhengigheter

Påkrevd for å pakke ut tarballen

libarchive-3.7.1 (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-29.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.0 plattform.

Pakkeinformasjon

Emacs Avhengigheter

Anbefalt
Valgfri

et grafiske miljø, alsa-lib-1.2.9, Cairo-1.17.6, dbus-1.14.8, GConf-3.2.6, gobject-introspection-1.76.1, gsettings-desktop-schemas-44.0, GPM-1.20.7, GTK+-2.24.33 or GTK+-3.24.38, ImageMagick-7.1.1-15, Little CMS-2.14, libjpeg-turbo-3.0.0, libpng-1.6.40, librsvg-2.56.3, libseccomp-2.5.4, libwebp-1.3.1, libxml2-2.10.4, MIT Kerberos V5-1.21.2, SQLite-3.42.0, Valgrind-3.21.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/29.1

Note

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+-2.24.33 eller GTK+-3.24.38 installert og utfør 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-15 og ønsker å lenke mot det.

--with-gif=no: Bruk denne hvis du ikke har installert giflib-5.2.1 eller libungif.

--with-tiff=no: Bruk denne hvis du ikke har installert libtiff-4.5.1.

--with-gnutls=no: Bruk denne hvis du ikke har installert GnuTLS-3.8.1.

--without-harfbuzz: Bruk denne hvis du ikke har installert HarfBuzz-8.1.1.

--with-json=no: Bruk denne hvis du ikke har installert jansson-2.14.

Innhold

Installerte Programmer: ctags, ebrowse, emacs (symlink), emacs-29.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-46.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.0 plattform.

Pakkeinformasjon

Gedit Avhengigheter

Påkrevd

gsettings-desktop-schemas-44.0, itstool-2.0.7, libpeas-1.36.0, libgeditsourceview-299.0.4, og tepl-6.8.0

Anbefalt
Valgfri

GTK-Doc-1.33.2, Vala-0.56.11, og zeitgeist

Installasjon av Gedit

Først endre meson.build skriptet slik at den kan godta et release bygg.

sed -i s/plain/release/ meson.build

Installer Gedit ved å kjøre følgende kommandoer:

mkdir gedit-build &&
cd    gedit-build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dgtk_doc=false     \
            .. &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Note

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

-Dgtk_doc=false: Denne bryteren deaktiverer genereringen av API dokumentasjonen. Utelat denne bryteren hvis du har GTK-Doc-1.33.2 installert og ønsker å generere API dokumentasjon.

Innhold

Installert Program: gedit
Installerte Biblioteker: libgedit-46.so
Installerte Mapper: /usr/include/gedit-46 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.0 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-23.08.0

Introduksjon til Kate

Kate pakken inneholder en avansert KF5 basert grafisk tekstredigerer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Kate Avhengigheter

Påkrevd

KDE Frameworks-5.109.0

Valgfri

libgit2

Installasjon av Kate

Installer Kate ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX  \
      -DCMAKE_BUILD_TYPE=Release          \
      -DBUILD_TESTING=OFF                 \
      -Wno-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 $KF5_PREFIX/lib/plugins
Installerte Mapper: $KF5_PREFIX/lib/plugins/ktexteditor, $KF5_PREFIX/lib/plugins/plasma/dataengine, $KF5_PREFIX/share/doc/HTML/*/{kate,katepart,kwrite}, $KF5_PREFIX/share/{kateproject,katexmltools}, og $KF5_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.5.10

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.0 plattform.

Pakkeinformasjon

Mousepad Avhengigheter

Påkrevd

gtksourceview4-4.8.4

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-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.

Innhold

Installert Program: mousepad
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

mousepad

er en enkel GTK+ 3 tekstredigerer

Nano-7.2

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.0 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-7.2 &&
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-7.2

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-7.2

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.0.1677

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.

Note

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.0 plattform.

Pakkeinformasjon

Vim Avhengigheter

Anbefalt
Valgfri

GPM-1.20.7, Lua-5.4.6, rsync-3.2.7, og Ruby-3.2.2

Installasjon av Vim

Note

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:

Note

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

Note

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.

For å teste resultatene, kjør: make -j1 test. Selv om en av testene ikke klarer å produsere filen test.out 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.

Note

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.0.1677, som gjør at det samsvarer med plasseringen av dokumentasjonen for andre pakker:

ln -snfv ../vim/vim90/doc /usr/share/doc/vim-9.0.1677

Hvis du ønsker å oppdatere kjøretidsfilene, utsted følgende kommando (krever rsync-3.2.7):

rsync -avzcP --exclude="/dos/" --exclude="/spell/" \
    ftp.nluug.nl::Vim/runtime/ ./runtime/

For å installere kjøretidsfilene og gjenskape tags filene, som root bruker kjør:

make -C src installruntime &&
vim -c ":helptags /usr/share/doc/vim-9.0.1677" -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/vim90/spell/.

For å finne ut hva som er nytt i Vim-9.0.1677 kjør følgende kommando:

:help version-9.0.1677

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

Chapter 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.0 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:

Note

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.10

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.0 plattform.

Pakkeinformasjon

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) manside.

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.0 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)

Ytterligere Nedlastinger

Note

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

PCRE-8.45 og Valgrind-3.21.0

Installasjon av zsh

Hvis du lastet ned den valgfrie dokumentasjonen, pakk den ut med følgende kommando:

tar --strip-components=1 -xvf ../zsh-5.9-doc.tar.xz

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 --plaintext -o Doc/zsh.txt     &&
makeinfo  Doc/zsh.texi --html      -o Doc/html        &&
makeinfo  Doc/zsh.texi --html --no-split --no-headers -o Doc/zsh.html

Hvis du har texlive-20230313 installert, kan du bygge PDF format av dokumentasjonen 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 &&

install -v -m755 -d                 /usr/share/doc/zsh-5.9/html &&
install -v -m644 Doc/html/*         /usr/share/doc/zsh-5.9/html &&
install -v -m644 Doc/zsh.{html,txt} /usr/share/doc/zsh-5.9

Hvis du lastet ned den valgfrie dokumentasjonen, installer den ved å kjøre følgende kommandoer som root bruker:

make htmldir=/usr/share/doc/zsh-5.9/html install.html &&
install -v -m644 Doc/zsh.dvi /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.

--enable-pcre: Dette alternativet lar zsh bruke PCRE regulære uttrykksbibliotek i skallets innbygginger.

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 ved skallstart, 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

Chapter 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-8.1.0

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.qemu.org/qemu-8.1.0.tar.xz

  • Nedlasting MD5 sum: 7dd9ff5a92cf81cfce6cda1f6e271f3a

  • Nedlastingsstørrelse: 118 MB

  • Estimert diskplass som kreves: 2.1 GB (366 MB installert)

  • Estimert byggetid: 1.2 SBU (legg til 0.8 SBU for tester, begge med parallellisme=4)

Qemu Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

Avhengig av lydsystem, ulike pakker i ALSA-1.2.7, Python-3.11.4, PulseAudio-16.1, BlueZ-5.68, cURL-8.2.1, Cyrus SASL-2.1.28, GnuTLS-3.8.1, GTK+-2.24.33, GTK+-3.24.38, libusb-1.0.26, libgcrypt-1.10.2, libssh2-1.11.0, LZO-2.10, Nettle-3.9.1, Mesa-23.1.6, VTE-0.72.2 eller Vte-0.28.2, og libcacard

Valgfri (Kjøretid)

Systemd-254

Valgfri (for å bygge dokumentasjonen)

sphinx_rtd_theme-1.2.2

Note

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-254, 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-254 installert eller eksternt (via en SSH tilkobling) til kvm gruppen:

usermod -a -G kvm <username>

Installer qemu ved å kjøre følgende kommandoer:

Note

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-8.1.0 &&

unset QEMU_ARCH &&

make

qemu bruker ninja som en delprosess ved byggingen. For å kjøre testene, kjør: ninja test. En test, bios-tables-test, er kjent for å mislykkes.

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:

Note

Du må legge til brukere som kan bruke bridge nettverksenhet i kvm gruppen selv om Systemd-254 er installert.

chgrp kvm  /usr/libexec/qemu-bridge-helper &&
chmod 4750 /usr/libexec/qemu-bridge-helper

Note

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 --disable-pa: Denne bryteren setter lyddriveren til ALSA. Se nedenfor for å aktivere andre lyddrivere.

--enable-slirp: Denne bryteren tvinger byggesystemet å se etter Libslirp-4.7.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å bestemme deg for 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 det følgende viser vi grunnleggende måter å utføre disse trinnene på. Men qemu er mye mer enn dette, og det anbefales på det sterkeste å lese qemu dokumentasjonen i /usr/share/doc/qemu-8.1.0/qemu-doc.html.

Note

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 nedenfor.

Note

Følgende instruksjoner forutsetter at den valgfrie symbolske lenken, qemu, har blitt opprettet. I tillegg, qemu skal kjøres i et grafisk miljø. Men det er 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), 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 1 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 være nyttig når 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 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 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 the section called “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 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, og qemu-system-<arch>
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/qemu og /usr/share/doc/qemu-8.1.0 (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 deg endre diskbilder ved hjelp av QEMU Monitor Protocol (QMP) uten å kjøre en VM

qemu-system-x86_64

er QEMU PC System emulatoren

Part III. Generelle Biblioteker og Verktøy

Chapter 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.

Apr-1.7.4

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.0 plattform.

Pakkeinformasjon

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.0 plattform.

Pakkeinformasjon

Apr Util Avhengigheter

Påkrevd

Apr-1.7.4

Valgfri

Berkeley DB-5.3.28, FreeTDS, MariaDB-10.11.4 eller MySQL, OpenLDAP-2.6.6, PostgreSQL-15.4, SQLite-3.42.0 og unixODBC-2.3.12

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-5.3.28, bruk denne bryteren for å kompilere apr_dbm_db-1.so programtillegget.

--with-ldap: Hvis du har installert OpenLDAP-2.6.6, 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

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.0 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.21 (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/aspell{,-dev}.html &&

install -v -m644 manual/aspell.html/* \
    /usr/share/doc/aspell-0.60.8/aspell.html &&

install -v -m644 manual/aspell-dev.html/* \
    /usr/share/doc/aspell-0.60.8/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.5.0.

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.83.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.0 plattform.

Pakkeinformasjon

Boost Avhengigheter

Anbefalt
Valgfri

ICU-73.2 og Open MPI

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/boost

Installasjon av Boost

En endring i denne versjonen av boost ødelegger de få pakkene som bruker phoenix modul når den er kompilert med nåværende GCC. I BLFS, påvirker dette LibreOffice-7.6.0.3. Fiks dette med følgende kommando:

sed -i '/#include.*phoenix.*tuple.hpp.*/d' \
  boost/phoenix/stl.hpp

Denne pakken kan bygges med flere jobber som kjører parallelt. I instruksjonene nedenfor, <N> står for antall jobber. Installer Boost ved å kjøre følgende kommandoer:

./bootstrap.sh --prefix=/usr --with-python=python3 &&
./b2 stage -j<N> 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; 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). Du bør bruke -jN bryteren for å øke hastigheten.

Note

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

sed -i '/#include ...: Dette fjerner inkluderingen av boost/phoenix/stl/tuple.hpp fra denne bare-deklarasjoner biblioteket, slik at applikasjoner som bruker det kan koble til ved hjelp av nylige C++. Et alternativ er å redigere /usr/include/boost/phoenix/stl.hpp hvis denne versjonen av boost allerede er installert uten denne sed.

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.

-jN: Denne bryteren kan legges til b2 kommandolinjer, for å kjøre opp til N prosesser parallell.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libboost_atomic.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_numpy311.so, libboost_prg_exec_monitor.so, libboost_program_options.so, libboost_python311.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

brotli-1.0.9

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.0 plattform.

Pakkeinformasjon

Brotli Avhengigheter

Anbefalt

Installasjon av Brotli

Først, fiks et problem i pkg-config filer:

sed -i 's@-R..libdir.@@' scripts/*.pc.in

Installer brotli ved å kjøre følgende kommandoer:

mkdir out &&
cd    out &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      ..  &&
make

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install &&
cd ..

Hvis ønskelig, bygg og installer Python3 bindinger som root bruker:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD &&
pip3 install --no-index --find-links dist --no-cache-dir --no-user Brotli

Innhold

Installerte Programmer: brotli
Installerte Biblioteker: libbrotlicommon{-static.a,.so}, libbrotlidec{,-static.a,.so}, og libbrotlienc{,-static.a,.so}
Installerte Mapper: /usr/include/brotli og /usr/lib/python3.11/site-packages/Brotli-1.0.9.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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

CLucene Avhengigheter

Påkrevd

CMake-3.27.2

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 -DCMAKE_INSTALL_PREFIX=/usr \
      -DBUILD_CONTRIBS_LIB=ON .. &&
make

Nå, som root bruker:

make install

Parameterforklaringer

-DBUILD_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.0 plattform.

Pakkeinformasjon

D-Bus GLib Avhengigheter

Påkrevd

dbus-1.14.8 og GLib-2.76.4

Valgfri

GTK-Doc-1.33.2

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.0

Introduksjon til Double-conversion

Double-conversion pakken inneholder en bibliotek som forenkler binær-til-desimal og desimal-til-binære rutiner for IEEE doubles.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Double-conversion Avhengigheter

Påkrevd

CMake-3.27.2

Installasjon av Double-conversion

Installer Double-conversion ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DBUILD_SHARED_LIBS=ON      \
      -DBUILD_TESTING=ON          \
      ..                          &&
make

For å teste resultatene, utsted: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-DBUILD_SHARED_LIBS=ON: Denne bryteren tvinger cmake til å bygge en delt versjon av biblioteket i stedet for den statiske versjonen.

-DBUILD_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.0 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

enchant-2.5.0

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.0 plattform.

Pakkeinformasjon

enchant Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

dbus-glib-0.112, Doxygen-1.9.7, 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.5.0 &&
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):

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.5.0

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.4

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://libopenraw.freedesktop.org/download/exempi-2.6.4.tar.xz

  • Nedlasting MD5 sum: c2bd12b5773f35c3832dcd1169fac3dc

  • Nedlastingsstørrelse: 2.7 MB

  • Estimert diskplass som kreves: 288 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.83.0

Valgfri

Valgrind-3.21.0

Installasjon av Exempi

Hvis du har tenkt å kjøre regresjonstestene, fjern først en test som avhenger av en tilsynelatende 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.0 plattform.

Pakkeinformasjon

Installasjon av fftw

Note

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 AVX512. 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-16.1.

--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

GLib-2.76.4

Introduksjon til GLib

GLib pakken inneholder lavt nivå biblioteker som er nyttige for å gi datastrukturhåndtering for C, portabilitet innpakninger og grensesnitt for slik kjøretidsfunksjonalitet som en hendelsesløkke, tråder, dynamisk lasting og et objektsystem.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

GLib Avhengigheter

Anbefalt
Valgfri

dbus-1.14.8 (for noen tester), Fuse-3.16.1 og bindfs (begge trengs for en testt), GDB-13.2 (for bindinger), docbook-xml-4.5, docbook-xsl-nons-1.79.2, GTK-Doc-1.33.2 (for å bygge API dokumentasjonen), glib-networking-2.76.1 (for noen tester, men dette er en sirkulær avhengighet), og sysprof-3.48.0

Ytterligere Kjøretids Avhengigheter

Sitert direkte fra INSTALL filen: Some of the mimetype-related functionality in GIO requires the update-mime-database and update-desktop-database utilities, which are part of shared-mime-info-2.2 and desktop-file-utils-0.26, respectively. These two utilities are also needed for some tests.

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.38, 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

Warning

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 \
      -Dman=true          &&
ninja

Note

Hvis libxslt-1.1.38 er installert, kan kommandoen ovenfor angi flere (ca. 33) feil som starter med "Error: no ID for constraint linkend:" når man genererer manualsidene. Disse er ufarlige.

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.

Nå, som root bruker:

ninja install &&

mkdir -p /usr/share/doc/glib-2.76.4 &&
cp -r ../docs/reference/{gio,glib,gobject} /usr/share/doc/glib-2.76.4

Du bør nå installere desktop-file-utils-0.26 og shared-mime-info-2.2 og fortsette for å kjøre testpakken.

Warning

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 pakken, utsted: LC_ALL=C ninja test som ikke-root bruker. En test navngitt glib:gio / file er kjent for å mislykkes.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dman=true: Denne bryteren gjør at bygget lager og installerer pakkens manualsider.

-Dgtk_doc=true: Denne bryteren gjør at bygget lager og installerer API dokumentasjonen.

Innhold

Installerte Programmer: gapplication, gdbus, gdbus-codegen, 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, 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, /usr/share/doc/{glib-2.0,glib-2.76.4}, og /usr/share/gtk-doc/html/{gio,glib,gobject} (valgfri)

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

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

GLib libraries

inneholder kjernebiblioteker på lavt nivå for GIMP Toolkit

GLibmm-2.66.5

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.0 plattform.

Pakkeinformasjon

GLibmm Avhengigheter

Påkrevd

GLib-2.76.4 og libsigc++-2.12.0

Valgfri

Doxygen-1.9.7, glib-networking-2.76.1 (for tester), GnuTLS-3.8.1 (for tester), libxslt-1.1.38, 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

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.0 plattform.

Pakkeinformasjon

GMime Avhengigheter

Påkrevd

GLib-2.76.4 og libgpg-error-1.47

Anbefalt
Valgfri

DocBook-utils-0.6.14, GPGME-1.21.0, GTK-Doc-1.33.2, libnsl-2.0.0, Vala-0.56.11, 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

gobject-introspection-1.76.1

Introduksjon til GObject Introspection

GObject Introspection benyttes til å beskrive program API-ene og samle dem i et enhetlig, maskinlesbart format.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GObject Introspection Avhengigheter

Påkrevd

GLib-2.76.4

Valgfri

Cairo-1.17.6 (påkrevd for testene), Gjs-1.76.2 (for å tilfredsstille en test), GTK-Doc-1.33.2, Mako-1.2.4, og Markdown-3.4.1

Installasjon av GObject Introspection

Installer GObject Introspection 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: Bygg og installer dokumentasjonen.

-Dcairo=enabled: Bruk cairo for tester.

-Ddoctool=enabled: Installer g-ir-doc-tool og kjør relaterte tester. Du må ha Mako-1.2.4 og Markdown-3.4.1 installert for å installere dette verktøyet.

Innhold

Installert Program: g-ir-annotation-tool, g-ir-compiler, g-ir-doc-tool, g-ir-generate, g-ir-inspect, og g-ir-scanner
Installerte Biblioteker: libgirepository-1.0.so og _giscanner.cpython-311-<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

g-ir-annotation-tool

oppretter eller trekker ut merknadsdata fra GI typelibs

g-ir-compiler

konverterer en eller flere GIR filer til en eller flere typelib

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 verktøy som gir informasjon om en GI typelib

g-ir-generate

er en GIR generator som bruker arkivets API

g-ir-scanner

er et verktøy som genererer GIR XML filer ved å analysere deklarasjoner og introspekterende GObject baserte biblioteker

libgirepository-1.0.so

gir et API for å få tilgang til typelib metadataene

Gsl-2.7.1

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.0 plattform.

Pakkeinformasjon

Gsl Avhengigheter

Valgfri

sphinx_rtd_theme-1.2.2

Installasjon av Gsl

Installer Gsl ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Hvis du har sphinx_rtd_theme-1.2.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.7.1 &&
cp -R doc/_build/html/* /usr/share/doc/gsl-2.7.1

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.7.1

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.12.2

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.0 plattform.

Pakkeinformasjon

gspell Avhengigheter

Påkrevd

enchant-2.5.0, ICU-73.2, og GTK+-3.24.38

Valgfri

gobject-introspection-1.76.1, GTK-Doc-1.33.2, Vala-0.56.11, og Valgrind-3.21.0

Installasjon av gspell

Installer gspell ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, utsted: make check. 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:

make install

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

ICU-73.2

Introduksjon til ICU

Internasjonale Komponenter for Unicode (ICU) pakken er et modent, mye brukt sett med C/C++ biblioteker som gir Unicode og globaliseringsstøtte for programvareapplikasjoner. ICU er veldig overførbar og gir applikasjoner de samme resultatene på alle plattformer.

Warning

Oppgradering av denne pakken til en ny hovedversjon (for eksempel fra 72.1 to 73.2) vil kreve ombygging av mange andre pakker. Hvis noen pakker som bruker bibliotekene bygget av icu4c-73 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 i 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 bare se de direkte nødvendige bibliotekene:

readelf -d  <application or library> | grep NEEDED

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

ICU Avhengigheter

Valgfri

LLVM-16.0.5 (med Clang), og Doxygen-1.9.7 (for dokumentasjon)

Installasjon av ICU

Note

Denne pakken utvides til mappen icu.

Note

Hvis clang++ er tilgjengelig, vil den bli brukt i feil tro at g++ støtter kanskje ikke C++11, selv om configure har testet for det. Hvis g++ brukes vil det bli en unødvendig advarsel i slutten av configure. Bygge med g++ tar også lengre tid enn estimert SBU vist.

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-57

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.0 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, libINIReader.so
Installerte Mapper: Ingen

Korte Beskrivelser

libinih.so

er hovedbiblioteket til inih

libINIReader.so

er analysebiblioteket til inih

Intel-gmmlib-22.3.10

Introduksjon til Intel-gmmlib

Intel-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.0 plattform.

Pakkeinformasjon

Note

Tarballen intel-gmmlib-22.3.10.tar.gz vil pakkes ut til mappen gmmlib-intel-gmmlib-22.3.10.

Intel-gmmlib Avhengigheter

Påkrevd

CMake-3.27.2

Installasjon av Intel-gmmlib

Installer Intel-gmmlib ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr   \
      -DBUILD_TYPE=Release          \
      -Wno-dev ..                   &&
make

Testpakken kjøres normalt av make med mindre -DRUN_TEST_SUITE=NO sendes til cmake.

Nå, som root bruker:

make 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

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.0 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

JS-102.13.0

Introduksjon til JS

JS (også referert til som SpiderMonkey) er Mozillas JavaScript og WebAssembly Motor, skrevet i C++ og Rust. I BLFS er kildekoden til JS hentet fra Firefox.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

JS102 Avhengigheter

Påkrevd

ICU-73.2, rustc-1.71.1, og Which-2.21

Anbefalt

Important

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 JS

Note

I motsetning til de fleste andre pakker i BLFS, krever instruksjonene nedenfor deg å untar firefox-102.13.0esr.tar.xz og endre til firefox-102.13.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.

Installer JS ved å kjøre følgende kommandoer:

Note

Hvis du kompilerer denne pakken i chroot, må du gjøre to ting. 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. Kjør:

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm

For det andre, enten som root bruker eksporter $SHELL miljøvariabel ved bruk av export SHELL=/bin/sh ellers sett SHELL=/bin/sh foran når du kjører configure kommandoen.

Å kompilere C++ koden respekterer $MAKEFLAGS og er standard til 'j1', rustkoden vil bruke alle prosessorer.

mkdir obj &&
cd    obj &&

sh ../js/src/configure.in --prefix=/usr            \
                          --with-intl-api          \
                          --with-system-zlib       \
                          --with-system-icu        \
                          --disable-jemalloc       \
                          --disable-debug-symbols  \
                          --enable-readline        &&
make

For å kjøre JS testpakken, utsted: make -C js/src check-jstests JSTESTS_EXTRA_ARGS="--timeout 300 --wpt=disabled". Det anbefales å omdirigere utdataene til en logg. Fordi vi bygger med system ICU, mer enn hundre tester (av totalt mer enn 50 000) er kjent for å mislykkes.

For å kjøre JIT testpakken, utsted: make -C js/src check-jit-test JITTEST_EXTRA_ARGS="--timeout 300".

Caution

Et problem i installasjonsprosessen forårsaker at ethvert kjørende program som lenker til JS102 delt bibliotek (for eksempel GNOME Skall) til å krasje hvis JS102 oppgraderes eller installeres på nytt. For å omgå dette problemet, fjern den gamle versjonen av JS102 delte bibliotek før installasjon:

rm -fv /usr/lib/libmozjs-102.so

Nå, som root bruker:

make install &&
rm -v /usr/lib/libjs_static.ajs &&
sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js102-config

Parameterforklaringer

sh ../js/src/configure.in: configure.in er egentlig et skallskript, men den kjørbare biten er ikke satt i tillatelsesmodus, så det er nødvendig å eksplisitt kjøre den med sh.

--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.

--enable-readline: Denne bryteren aktiverer Readline støtte i JS skallet.

--disable-jemalloc: Denne bryteren deaktiverer intern minneallokator brukt i JS102. jemalloc er kun beregnet på Firefox nettlesermiljøet. For andre applikasjoner som bruker JS102, applikasjonen kan krasje siden elementer tildelt i jemalloc allokatoren er frigjort på system (glibc) allokator.

--disable-debug-symbols: Ikke generer feilsøkingssymboler siden de er veldig store og de fleste brukere ikke trenger det. Fjern det hvis du vil feilsøke JS102.

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/js102-config: Forhindrer js102-config fra å bruke buggy CFLAGS.

CC=gcc CXX=g++: BLFS pleide å foretrekke å bruke gcc og g++ i stedet for oppstrøms standardinnstilling 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 sh ../js/src/configure.in kommando). 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 av 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 JS krasjer på en prosessor uten SSE2 evne. Hvis du kjører systemet på en så gammel prosessor, er Clang strengt nødvendig. Denne innstillingen er ikke nødvendig på 64-bit systemer fordi alle 64-bit x86-prosessorer støtter SSE2 og 64-bit kompilatorer (både Clang og GCC) bruker SSE2 som standard.

Innhold

Installerte Programmer: js102 og js102-config
Installerte Biblioteker: libmozjs-102.so
Installerte Mapper: /usr/include/mozjs-102

Korte Beskrivelser

js102

gir et kommandolinjegrensesnitt til JavaScript motoren

js102-config

brukes til å finne JS kompilatoren og linkerflaggene

libmozjs-102.so

inneholder Mozilla JavaScript API funksjonene

JSON-C-0.17

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.0 plattform.

Pakkeinformasjon

JSON-C Avhengigheter

Påkrevd

CMake-3.27.2

Valgfri (for dokumentasjon)

Doxygen-1.9.7 og Graphviz-8.1.0 (for dot verktøy)

Installasjon av JSON-C

Installer JSON-C ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release \
      -DBUILD_STATIC_LIBS=OFF    \
      .. &&
make

Hvis du har installert Doxygen-1.9.7 og Graphviz-8.1.0, 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.17 &&
install -v -m644 doc/html/* /usr/share/doc/json-c-0.17

Parameterforklaringer

-DCMAKE_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.6.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.0 plattform.

Pakkeinformasjon

JSON-GLib Avhengigheter

Påkrevd

GLib-2.76.4

Valgfri (Påkrevd hvis GNOME skal bygges)

gobject-introspection-1.76.1

Valgfri

GTK-Doc-1.33.2

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.

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.33.2 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,share/installed-tests}/json-glib-1.0, /usr/libexec/installed-tests/json-glib-1.6.6, 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.1

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.0 plattform.

Pakkeinformasjon

keyutils Avhengigheter

Påkrevd

MIT Kerberos V5-1.21.2

Installasjon av keyutils

Installer keyutils ved å kjøre følgende kommandoer:

sed -i 's:$(LIBDIR)/$(PKGCONFIG_DIR):/usr/lib/pkgconfig:' Makefile &&
make

For å teste resultatene, utsted, som root bruker:

make -k test

Merk at flere tester vil mislykkes hvis visse uvanlige kjernealternativer ikke ble brukt da kjernen ble bygget. Disse inkluderer CONFIG_BIG_KEYS, CONFIG_KEY_DH_OPERATIONS, og CONFIG_CRYPTO_DH.

Nå, som root bruker:

make NO_ARLIB=1 LIBDIR=/usr/lib BINDIR=/usr/bin SBINDIR=/usr/sbin install

Parameterforklaringer

sed ... Makefile: Denne kommandoen sikrer at pkgconfig filen er plassert i riktig mappe.

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/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.0 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.1

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.0 plattform.

Pakkeinformasjon

libarchive Avhengigheter

Valgfri

libxml2-2.10.4, LZO-2.10, og Nettle-3.9.1

Redaktør notater: https://wiki.linuxfromscratch.org/blfs/wiki/libarchive

Installasjon av libarchive

Installer libarchive ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: LC_ALL=C make check.

Nå, som root bruker:

make install

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.

--without-nettle: Denne bryteren setter OpenSSL for kryptostøtte i stedet for foretrukket Nettle hvis begge pakkene er installert.

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-2.5.6

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.0 plattform.

Pakkeinformasjon

libassuan Avhengigheter

Påkrevd

libgpg-error-1.47

Valgfri

texlive-20230313 (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-20230313 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-2.5.6/html &&
install -v -m644 doc/assuan.html/* \
                    /usr/share/doc/libassuan-2.5.6/html &&
install -v -m644 doc/assuan_nochunks.html \
                    /usr/share/doc/libassuan-2.5.6      &&
install -v -m644 doc/assuan.{txt,texi} \
                    /usr/share/doc/libassuan-2.5.6

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-2.5.6

Innhold

Installert Program: libassuan-config
Installert Bibliotek: libassuan.so
Installert Mappe: /usr/share/doc/libassuan-2.5.6

Korte Beskrivelser

libassuan-config

er en libassuan bygd informasjonsskript

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.0 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.0

Introduksjon til libatomic_ops

libatomic_ops gir implementeringer for oppdateringsoperasjoner for atomic minne på en rekke arkitekturer. Dette tillater direkte bruk av disse i rimelig flyttbar kode. I motsetning til tidligere lignende pakker, vurderer denne eksplisitt minnebarriere semantikk, og tillater konstruksjon av kode som involverer minimum overhead over et mangfold av arkitekturer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.0 &&
make

For å teste resultatene, utsted make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-shared: Denne bryteren aktiverer bygging av libatomic_ops delte biblioteker.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libatomic_ops.so og libatomic_ops_gpl.so
Installert Mappe: /usr/include/libatomic_ops og /usr/share/doc/libatomic_ops-7.8.0

Korte Beskrivelser

libatomic_ops.so

inneholder funksjoner for atomic minneoperasjoner

libblockdev-3.0.2

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.0 plattform.

Pakkeinformasjon

libblockdev Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

btrfs-progs-6.3.3, GTK-Doc-1.33.2, mdadm-4.2, parted-3.6, volume_key-0.3.12, 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

--without-escrow: Denne bryteren tillater bygging av libblockdev uten volume_key-0.3.12 installert. Fjern den hvis du har installert volume_key-0.3.12.

--without-lvm --without-lvm_dbus --without-tools: Kombinasjonen av disse bryterne 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.9 installert. --without-mdraid alternativet vil bryte UDisks-2.10.0, så ikke bruk det med mindre du virkelig vet hva du gjør.

--without-crypto: Denne bryteren tillater bygging av libblockdev uten cryptsetup-2.4.3 eller keyutils-1.6.1 installert. Denne bryteren vil bryte UDisks-2.10.0, så ikke bruk det med mindre du virkelig vet hva du gjør.

--without-dm --without-lvm --without-lvm_dbus --without-mpath: Kombinasjonen av disse bryterne tillater bygging av libblockdev uten LVM2-2.03.22 installert. --without-dm og --without-mpath alternativene er ikke i instruksjonene gitt av boken fordi LVM2-2.03.22 er påkrevd for cryptsetup-2.4.3 og cryptsetup-2.4.3 er uansett en anbefalt avhengighet av libblockdev.

--without-nvme: Denne bryteren tillater bygging av libblockdev uten libnvme-1.5 installert. Denne bryteren vil bryte UDisks-2.10.0, så ikke bruk det med mindre du virkelig vet hva du gjør.

Innhold

Installerte Programmer: lvm-cache-stats og vfat-resize (begge valgfri)
Installerte Biblioteker: libbd_btrfs.so, libbd_crypto.so, libbd_dm.so, libbd_fs.so, libbd_loop.so, libbd_lvm.so (valgfri), libbd_lvm-dbus.so (valgfri), libbd_mdraid.so, libbd_mpath.so, libbd_nvme.so, libbd_part.so, libbd_swap.so, libbd_utils.so, og libblockdev.so
Installerte Mapper: /etc/libblockdev, /usr/include/blockdev, og /usr/share/gtk-doc/html/libblockdev (valgfri)

Korte Beskrivelser

lvm-cache-stats

skriver ut statistikk over hurtiglagre på LVM Logiske Volumer

vfat-resize

endrer størrelse på vfat filsystemer

libbytesize-2.9

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.0 plattform.

Pakkeinformasjon

libbytesize Avhengigheter

Påkrevd

pcre2-10.42 og Pygments-2.16.1

Anbefalt
Valgfri

GTK-Doc-1.33.2, 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.11/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

libcloudproviders-0.3.2

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.0 plattform.

Pakkeinformasjon

libcloudproviders Avhengigheter

Påkrevd

gobject-introspection-1.76.1 og Vala-0.56.11

Valgfri

GTK-Doc-1.33.2

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.33.2 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.0 plattform.

Pakkeinformasjon

libdaemon Avhengigheter

Valgfri

Doxygen-1.9.7 og Lynx-2.8.9rel.1

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

libgcrypt-1.10.2

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.0 plattform.

Pakkeinformasjon

libgcrypt Avhengigheter

Påkrevd

libgpg-error-1.47

Valgfri

Pth-2.0.7 og texlive-20230313 (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.10.2 &&
install -v -m644    README doc/{README.apichanges,fips*,libgcrypt*} \
                    /usr/share/doc/libgcrypt-1.10.2 &&

install -v -dm755   /usr/share/doc/libgcrypt-1.10.2/html &&
install -v -m644 doc/gcrypt.html/* \
                    /usr/share/doc/libgcrypt-1.10.2/html &&
install -v -m644 doc/gcrypt_nochunks.html \
                    /usr/share/doc/libgcrypt-1.10.2      &&
install -v -m644 doc/gcrypt.{txt,texi} \
                    /usr/share/doc/libgcrypt-1.10.2

Parameterforklaringer

--with-capabilities: Dette alternativet aktiverer libcap2 støtte. Merk at dette ødelegger cryptsetup-2.4.3

Innhold

Installerte Programmer: dumpsexp, hmac256, libgcrypt-config, og mpicalc
Installert Bibliotek: libgcrypt.so
Installert Mappe: /usr/share/doc/libgcrypt-1.10.2

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

libgcrypt-config

bestemmer kompilerings og linker flaggene som skal brukes til å kompilere og koble programmer som bruker libgcrypt

mpicalc

er en RPN (Reverse Polish Notation) kalkulator

libgcrypt.so

inneholder cryptographic API funksjoner

libgpg-error-1.47

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.0 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.47/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.47

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

libgrss-0.7.0

Introduksjon til libgrss

libgrss pakken inneholder et bibliotek designet for å manipulere RSS og Atom informasjonskanaler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

libgrss Avhengigheter

Påkrevd

libsoup-2.74.3

Anbefalt

Installasjon av libgrss

Installer libgrss ved å kjøre følgende kommandoer:

patch -Np1 -i ../libgrss-0.7.0-bugfixes-2.patch &&
autoreconf -fv &&
./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: libgrss.so
Installerte Mapper: /usr/include/libgrss og /usr/share/doc/libgrss-0.7.0

Korte Beskrivelser

libgrss.so

gir API funksjoner for håndtering av RSS informasjonskanaler

libgsf-1.14.50

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.0 plattform.

Pakkeinformasjon

libgsf Avhengigheter

Påkrevd

GLib-2.76.4 og libxml2-2.10.4

Anbefalt
Valgfri

gobject-introspection-1.76.1 og GTK-Doc-1.33.2

Installasjon av libgsf

Installer libgsf ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, utsted: make check. To tester, t1004-zip-zip64.pl og t1005-zip-nonseekable.pl er kjent for å mislykkes.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: 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.0 plattform.

Pakkeinformasjon

Påkrevd

GLib-2.76.4

Valgfri

gobject-introspection-1.76.1 (for gir-data, nødvendig for GNOME), GTK-Doc-1.33.2, og umockdev-0.17.18 (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.6

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.0 plattform.

Pakkeinformasjon

libgusb Avhengigheter

Påkrevd

JSON-GLib-1.6.6 og libusb-1.0.26

Anbefalt
Valgfri

Gi-DocGen-2023.1

Installasjon av libgusb

Installer libgusb ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Ddocs=false        &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "/output: 'libgusb'/s/'\$/-0.4.6'/" -i ../docs/meson.build &&
meson configure -Ddocs=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.

-Ddocs=false: Tillat å bygge denne pakken uten Gi-DocGen-2023.1 installert. Hvis du har Gi-DocGen-2023.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, en meson configure kommando 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.6 (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.16

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.0 plattform.

Pakkeinformasjon

libical Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt
Valgfri

Berkeley DB-5.3.28, Doxygen-1.9.7 (for API dokumentasjon), Graphviz-8.1.0 (for API dokumentasjon), GTK-Doc-1.33.2 (for API dokumentasjon), ICU-73.2, og PyGObject-3.44.1 (for noen tester)

Installasjon av libical

Installer libical ved å kjøre følgende kommandoer:

Note

Denne pakken kan av og til mislykkes når det bygges med flere prosessorer. Se Using Multiple Processors for mer informasjon.

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr  \
      -DCMAKE_BUILD_TYPE=Release   \
      -DSHARED_ONLY=yes            \
      -DICAL_BUILD_DOCS=false      \
      -DGOBJECT_INTROSPECTION=true \
      -DICAL_GLIB_VAPI=true        \
      .. &&
make -j1

Hvis du har Doxygen-1.9.7, Graphviz-8.1.0, og GTK-Doc-1.33.2 installert og ønsker å bygge API dokumentasjonen, bør du fjerne -DICAL_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.16/html &&
cp -vr apidocs/html/* /usr/share/doc/libical-3.0.16/html

Parameterforklaringer

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

-DSHARED_ONLY=yes: Denne bryteren brukes for kun å bygge de delte bibliotekene.

-DICAL_BUILD_DOCS=false: Denne bryteren forhindrer bygging av GTK dokumentasjon. Fjern hvis du vil bygge dokumentasjonen.

-DGOBJECT_INTROSPECTION=true: Denne bryteren brukes for å generere GObject metadatabindinger.

-DICAL_GLIB_VAPI=true: Denne bryteren brukes for å bygge bindinger for Vala-0.56.11.

-DUSE_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.16/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.41

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.0 plattform.

Pakkeinformasjon

libidn Avhengigheter

Valgfri

Pth-2.0.7, Emacs-29.1, GTK-Doc-1.33.2, OpenJDK-20.0.2, Valgrind-3.21.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.41     &&
cp -r -v doc/* /usr/share/doc/libidn-1.41

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-20.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.41 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.4

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.0 plattform.

Pakkeinformasjon

libidn2 Avhengigheter

Anbefalt
Valgfri

git-2.41.0 og GTK-Doc-1.33.2

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

libiodbc-3.52.15

Introduksjon til libiodbc

libiodbc er en API til ODBC kompatible databaser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libiodbc Avhengigheter

Anbefalt

Installasjon av libiodbc

Installer libiodbc ved å kjøre følgende kommandoer:

./configure --prefix=/usr                   \
            --with-iodbc-inidir=/etc/iodbc  \
            --includedir=/usr/include/iodbc \
            --disable-libodbc               \
            --disable-static                &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--with-iodbc-inidir=/etc/iodbc: libiodbc vil installere konfigurasjonsfiler i denne mappen.

--includedir=/usr/include/iodbc: Dette installerer grensesnittdeklarasjoner til en privat mappe for å unngå konflikt med deklarasjoner installert av unixODBC.

--disable-libodbc: Dette forhindrer installasjonen av libodbc.so symbolsk lenke for å unngå konflikt med unixODBC.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: iodbc-config, iodbctest, iodbctestw, og iodbcadm-gtk
Installerte Biblioteker: libdrvproxy.so, libiodbc.so, libiodbcinst.so, og libiodbcadm.so
Installert Mappe: /usr/include/iodbc, /usr/share/libiodbc, og /etc/iodbc

Korte Beskrivelser

iodbc-config

er et verktøy for å hente installasjonsalternativene til libiodbc

iodbctest{,w}

er interaktive SQL prosessorer

iodbcadm-gtk

er et grafisk administrasjonsverktøy

libksba-1.6.4

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.0 plattform.

Pakkeinformasjon

Libksba Avhengigheter

Påkrevd

libgpg-error-1.47

Valgfri

Valgrind-3.21.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,a}

inneholder de kryptografiske API funksjonene

liblinear-247

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.0 plattform.

Note

Etter å ha oppdatert denne pakken fra liblinear-1.96 eller tidligere, må du installer Nmap-7.94 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.5 /usr/lib &&
ln -sfv liblinear.so.5 /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.0 plattform.

Pakkeinformasjon

libmbim Avhengigheter

Anbefalt
Valgfri

GTK-Doc-1.33.2 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.5

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.0 plattform.

Pakkeinformasjon

libnvme Avhengigheter

Valgfri

JSON-C-0.17, keyutils-1.6.1, og SWIG-4.1.1

Installation of libnvme

Installer libnvme ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -Dlibdbus=auto .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libnvme.so og libnvme-mi.so
Installerte Mapper: /usr/include/nvme og /usr/lib/python3.11/site-packages/libnvme

Korte Beskrivelser

libnvme.so

inneholder funksjoner som brukes til å håndtere operasjoner relatert til NVMe enheter.

libpaper-2.1.1

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.0 plattform.

Pakkeinformasjon

Installasjon av libpaper

Installer libpaper ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --disable-static     \
            --enable-relocatable \
            --docdir=/usr/share/doc/libpaper-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.

--enable-relocatable: Dette alternativet er nødvendig for å kjøre testene.

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.1.1

Korte Beskrivelser

paper

skriver ut papirkonfigurasjonsinformasjon

paperconf

skriver ut papirkonfigurasjonsinformasjon i en kompatibilitetsmodus

libpaper.so

inneholder funksjoner for å spørre papirbiblioteket

libportal-0.6

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.0 plattform.

Pakkeinformasjon

libportal Avhengigheter

Påkrevd

gobject-introspection-1.76.1

Anbefalt
Valgfri

Gi-DocGen-2023.1 og Vala-0.56.11

Installasjon av libportal

Warning

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 -Ddocs=false .. &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "/output/s/-1/-0.6/" -i ../doc/meson.build &&
meson configure -Ddocs=true                    &&
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.

-Ddocs=false: Tillat å bygge denne pakken uten Gi-DocGen-2023.1 installert. Hvis du har Gi-DocGen-2023.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, en meson configure kommando vil tilbakestille dette alternativet.

-Dbackends=gtk3,gtk4,qt5: Denne bryteren lar deg stille inn tilgjengelige bakstykker. Du kan bruke den til å deaktivere avhengigheten av gtk-3, gtk-4 eller qt-5. De fleste applikasjoner som bruker libportal vil bruke enten gtk-4 eller gtk-3. Standard er å bygge alle tre bakstykkene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libportal.so, libportal-gtk3.so, libportal-gtk4.so, og libportal-qt5.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-qt5.so

gir Qt5 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.0 plattform.

Pakkeinformasjon

libptytty Avhengigheter

Påkrevd

CMake-3.27.2

Installasjon av libptytty

Installer libptytty ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr     \
      -DCMAKE_BUILD_TYPE=Release      \
      -DPT_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-4.7.0

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.0 plattform.

Pakkeinformasjon

libqalculate Avhengigheter

Påkrevd

cURL-8.2.1, ICU-73.2, og libxml2-2.10.4

Valgfri

Doxygen-1.9.7

Installasjon av libqalculate

Installer libqalculate ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/libqalculate-4.7.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.

Innhold

Installerte Programmer: qalc
Installert Bibliotek: libqalculate.so
Installerte Mapper: /usr/include/libqalculate, /usr/share/doc/libqalculate-4.7.0, 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.0 plattform.

Pakkeinformasjon

libqmi Avhengigheter

Påkrevd

GLib-2.76.4 og libgudev-238

Anbefalt
Valgfri

GTK-Doc-1.33.2, 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.5.4

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.0 plattform.

Pakkeinformasjon

libseccomp Avhengigheter

Valgfri

Which-2.21 (nødvendig for tester), Valgrind-3.21.0, 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.

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.0

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.0 plattform.

Pakkeinformasjon

libsigc++ Avhengigheter

Anbefalt
Valgfri

DocBook-utils-0.6.14, docbook-xml-5.0, Doxygen-1.9.7, 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

-Dbuild-documentation=true: Bruk denne bryteren hvis Doxygen-1.9.7 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

inneholder libsigc++ API funksjoner

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.0 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.0

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.0 plattform.

Pakkeinformasjon

libssh2 Avhengigheter

Valgfri

CMake-3.27.2 (kan brukes i stedet for configure skript), libgcrypt-1.10.2 (kan brukes i stedet for OpenSSL), OpenSSH-9.4p1 (for noen tester), og Docker (for noen tester)

Installasjon av libssh2

Hvis du ønsker å teste pakken, ekskluder testene som krever et statisk bibliotek:

sed -E '/^DOCKER_TEST/,/^SSHD_TEST/s/test_(auth_keyboard_info.* |hostkey |simple)/$(NOTHING)/' \
    -i tests/Makefile.inc &&
autoreconf -fi

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.0 plattform.

Pakkeinformasjon

libstatgrab Avhengigheter

Valgfri

log4cplus-2.1.0

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.19.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.0 plattform.

Pakkeinformasjon

libtasn1 Avhengigheter

Valgfri

GTK-Doc-1.33.2 og Valgrind-3.21.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

libunique-1.1.6

Introduksjon til libunique

libunique pakken inneholder et bibliotek for å skrive enkeltforekomstapplikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

libunique Avhengigheter

Påkrevd

GTK+-2.24.33, også GTK-Doc-1.33.2 (for autoreconf)

Valgfri

gobject-introspection-1.76.1

Installasjon av libunique

Installer libunique ved å kjøre følgende kommandoer:

patch -Np1 -i ../libunique-1.1.6-upstream_fixes-1.patch &&
autoreconf -fi &&

./configure --prefix=/usr  \
            --disable-dbus \
            --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-dbus: Denne bryteren deaktiverer D-Bus bakstykket til fordel for GDBus bakstykket.

--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: libunique-1.0.so
Installerte Mapper: /usr/include/unique-1.0 og /usr/share/gtk-doc/html/unique

Korte Beskrivelser

libunique-1.0.so

inneholder libunique API funksjoner for enkeltinstansstøtte

libunistring-1.1

Introduksjon til libunistring

libunistring er et bibliotek som tilbyr funksjoner for å manipulere Unicode strenger og for å manipulere C strenger i henhold til Unicode standarden.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libunistring Avhengigheter

Valgfri

texlive-20230313 (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.1 &&
make

For å teste resultatene, utsted: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libunistring.so
Installert Mappe: /usr/include/unistring og /usr/share/doc/libunistring-1.1

Korte Beskrivelser

libunistring.so

gir unicode strengbibliotek API

libunwind-1.6.2

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.0 plattform.

Pakkeinformasjon

libunwind Avhengigheter

Valgfri

texlive-20230313 (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. To tester, run-coredump-unwind og run-coredump-unwind-mdi er kjent for å mislykkes.

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, libunwind-ptrace.so, libunwind-setjmp.so, og libunwind-x86_64.so
Installerte Mapper: Ingen

liburcu-0.14.0

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.0 plattform.

Pakkeinformasjon

Installasjon av liburcu

Installer liburcu ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/liburcu-0.14.0 &&
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.14.0

libusb-1.0.26

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.0 plattform.

Pakkeinformasjon

libusb Avhengigheter

Valgfri

Doxygen-1.9.7

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]
    # 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 the section called “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.26/apidocs &&
install -v -m644    doc/api-1.0/* \
                    /usr/share/doc/libusb-1.0.26/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.26

Korte Beskrivelser

libusb-1.0.so

inneholder API funksjoner som brukes for å få tilgang til USB maskinvare

libuv-1.46.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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://dist.libuv.org/dist/v1.46.0/libuv-v1.46.0.tar.gz

  • Nedlasting MD5 sum: fa56dafe664d21f9568adebc428d2d64

  • Nedlastingsstørrelse: 1.2 MB

  • Estimert diskplass som kreves: 14 MB (legg til 14 MB for tester)

  • Estimert byggetid: mindre enn 0.1 SBU (legg til 0.5 SBU for tester)

Installasjon av libuv

Installer libuv ved å kjøre følgende kommandoer:

Caution

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 vil kjøre testene, kjør: make check som en ikke-root bruker.

Nå, som root bruker:

make install

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-1.5.0

Introduksjon til libxkbcommon

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.0 plattform.

Pakkeinformasjon

libxkbcommon Avhengigheter

Påkrevd

xkeyboard-config-2.39 (kjøretid)

Anbefalt
Valgfri

Doxygen-1.9.7

Installasjon av libxkbcommon

Installer libxkbcommon ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Denable-docs=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.

-Denable-docs=false: Denne bryteren deaktiverer generering av dokumentasjon. Fjern den hvis Doxygen-1.9.7 er installert.

mv -v /usr/share/doc/libxkbcommon{,-1.5.0}: Hvis du fjernet -Denable-docs=false, bruk denne kommandoen til å installere dokumentasjonen 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.5.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.10.4

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

libxml2 Avhengigheter

Valgfri

ICU-73.2 (se under) og Valgrind-3.21.0 (kan brukes i testene)

Note

Den gamle Python2 modulen kan bygges etter at libxml2.so har blitt installert, se libxml2-2.10.4 python2 module.

Installasjon av libxml2

Installer libxml2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr           \
            --sysconfdir=/etc       \
            --disable-static        \
            --with-history          \
            PYTHON=/usr/bin/python3 \
            --docdir=/usr/share/doc/libxml2-2.10.4 &&
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. En oppsummering av resultatene kan fås med grep -E '^Total|expected' check.log. Hvis Valgrind-3.21.0 er installert og du vil se etter minnelekkasjer, bytt ut check med check-valgrind.

Note

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

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.

PYTHON=/usr/bin/python3: Tillater bygging av libxml2 modulen med Python3 i stedet for Python2.

--with-icu: Legg til denne bryteren hvis du har bygget ICU-73.2, for bedre unicode støtte.

Note

Hvis --with-icu bryteren brukes, BLFS redaktørene anbefaler å fjerne unødvendige referanser til ICU bibliotekene. Dette vil forhindre at mange pakker som bruker libxml2 kobles unødvendig til ICU bibliotekene. Dette vil igjen forhindre behovet for å gjenoppbygge mange pakker ved oppgradering av ICU til en ny hovedversjon. Etter å ha installert libxml2, som root bruker, utsted:

rm -vf /usr/lib/libxml2.la &&
sed '/libs=/s/xml2.*/xml2"/' -i /usr/bin/xml2-config

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.10.4, 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

libxslt-1.1.38

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.0 plattform.

Pakkeinformasjon

libxslt Avhengigheter

Påkrevd

libxml2-2.10.4

Anbefalt (ved kjøretid)

Note

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.10.2

Installasjon av libxslt

Installer libxslt ved å kjøre følgende kommandoer:

./configure --prefix=/usr                          \
            --disable-static                       \
            --docdir=/usr/share/doc/libxslt-1.1.38 \
            PYTHON=/usr/bin/python3 &&
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/libxslt-plugins, /usr/share/doc/libxslt-1.1.38, og /usr/share/doc/libxslt-python-1.1.38

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.7.0

Introduksjon til libwacom

libwacom pakken inneholder et bibliotek som brukes for å identifisere wacom nettbrett og deres modellspesifikke funksjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libwacom Avhengigheter

Påkrevd

libgudev-238

Anbefalt
Valgfri

Doxygen-1.9.7, git-2.41.0, librsvg-2.56.3, Valgrind-3.21.0 (valgfritt for noen tester), og pytest-7.4.0 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 \
      -Dtests=disabled    &&
ninja

For å teste resultatene, kjør: ninja test. For å kjøre flere tester, installer pytest-7.4.0, python-libevdev, og pyudev, fjern deretter "-Dtests=disabled" alternativ fra mesonlinjen ovenfor.

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.

-Dtests=disabled: Denne parameteren deaktiverer noen av de mer avanserte testene fordi de krever pytest-7.4.0 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

libwpe-1.14.1

Introduksjon til libwpe

libwpe pakken inneholder et generelt formåls bibliotek for WPE WebKit og WPE Renderer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libwpe Avhengigheter

Påkrevd

libxkbcommon-1.5.0 og Mesa-23.1.6

Valgfri

hotdoc

Installasjon av libwpe

Installer libwpe 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.

Contents

Installerte Programmer: Ingen
Installerte Biblioteker: libwpe-1.0.so
Installerte Mapper: /usr/include/wpe-1.0

Korte Beskrivelser

libwpe-1.0.so

inneholder funksjoner som gir et generell bibliotek for WPEWebKit og WPE Renderer

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.0 plattform.

Pakkeinformasjon

libyaml Avhengigheter

Valgfri

Doxygen-1.9.7

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.0

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.0 plattform.

Pakkeinformasjon

log4cplus Avhengigheter

Valgfri

Qt-5.15.10

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/log4cplus

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

Parameterforklaringer

--with-qt5: Dette alternativet aktiverer kompilering av et separat delt bibliotek (liblog4cplusqt5debugappender) som implementerer Qt5DebugAppender. Det krever at Qt5 og pkg-config er tilgjengelig.

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.0 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.6

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.0 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-18.17.1

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nodejs.org/dist/v18.17.1/node-v18.17.1.tar.xz

  • Nedlasting MD5 sum: cfadecca2649bb74daba89d60fbd02e5

  • Nedlastingsstørrelse: 39 MB

  • Estimert diskplass som kreves: 992 MB (legg til 25 MB for tester)

  • Estimert byggetid: 13 SBU (legg til 3.3 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.21

Anbefalt
Valgfri

http-parser og npm (en intern kopi av npm vil bli installert hvis den ikke er til stede)

Installasjon av Node.js

Bygg Node.js ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --shared-cares         \
            --shared-libuv         \
            --shared-openssl       \
            --shared-nghttp2       \
            --shared-zlib          \
            --with-intl=system-icu &&
make

For å teste resultatene, kjør: make test-only. Flere tester er kjent for å mislykkes på grunn av atferdsforskjeller mellom OpenSSL-3.0 og OpenSSL-3.1.

Nå, som root bruker:

make install &&
ln -sf node /usr/share/doc/node-18.17.1

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-{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-18.17.1}, 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.6

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.0 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.35

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.0 plattform.

Pakkeinformasjon

Installasjon av NSPR

Installer NSPR ved å kjøre følgende kommandoer:

cd nspr                                                     &&
sed -ri '/^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.

$([ $(uname -m) = x86_64 ] && echo --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

PCRE-8.45

Introduksjon til PCRE

PCRE pakken inneholder Perl Compatible Regular Expression biblioteker. Disse er nyttige for å implementere regulære uttrykk mønstertilpasning ved å bruke samme syntaks og semantikk som Perl 5.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

PCRE Avhengigheter

Valgfri

Valgrind-3.21.0

Installasjon av PCRE

Installer PCRE ved å kjøre følgende kommandoer:

./configure --prefix=/usr                     \
            --docdir=/usr/share/doc/pcre-8.45 \
            --enable-unicode-properties       \
            --enable-pcre16                   \
            --enable-pcre32                   \
            --enable-pcregrep-libz            \
            --enable-pcregrep-libbz2          \
            --enable-pcretest-libreadline     \
            --disable-static                 &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-unicode-properties: Denne bryteren aktiverer Unicode-egenskaper støtte og inkluderer koden for håndtering av UTF-8/16/32 tegnstrenger i biblioteket. Du trenger denne bryteren hvis du skal bygge GLib-2.76.4.

--enable-pcre16: Denne bryteren aktiverer 16 bit karakterstøtte.

--enable-pcre32: Denne bryteren aktiverer 32 bit karakterstøtte.

--enable-pcregrep-libz: Denne bryteren legger til støtte til pcregrep for å lese .gz komprimerte filer.

--enable-pcregrep-libbz2: Denne bryteren legger til støtte til pcregrep for å lese .bz2 komprimerte filer.

--enable-pcretest-libreadline: Denne bryteren legger til linje redigerings- og historiefunksjoner til pcretest 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: pcregrep, pcretest, og pcre-config
Installerte Biblioteker: libpcre.so, libpcre16.so, libpcre32.so, libpcrecpp.so og libpcreposix.so
Installerte Mapper: /usr/share/doc/pcre-8.45

Korte Beskrivelser

pcregrep

er et grep som forstår Perl kompatible regulære uttrykk

pcretest

kan teste et Perl kompatibelt regulært uttrykk

pcre-config

brukes under kompileringsprosessen for programmer som lenkes til PCRE biblioteker

PCRE2-10.42

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.0 plattform.

Pakkeinformasjon

PCRE2 Avhengigheter

Valgfri

Valgrind-3.21.0 og libedit

Installasjon av PCRE2

Installer PCRE2 ved å kjøre følgende kommandoer:

./configure --prefix=/usr                       \
            --docdir=/usr/share/doc/pcre2-10.42 \
            --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.42

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.0 plattform.

Pakkeinformasjon

popt Avhengigheter

Valgfri

Doxygen-1.9.7 (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.9.7 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

Pth-2.0.7

Introduksjon til Pth

Pth pakken inneholder en svært flyttbart 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ører i samme adresserom som serverapplikasjonen, men hver tråd har sin egen individuelle programteller, kjøretids stack, signalmaske og feilvariabel.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Pth Avhengigheter

Valgfri

GCC-13.2.0 (for gfortran) og libnsl-2.0.0

Installasjon av Pth

Caution

Ikke legg til --enable-pthread parameteren til configure kommandoen nedenfor ellers vil du overskrive pthread bibliotek og grensesnittdeklarasjon installert av Glibc pakken i LFS.

Installer Pth ved å kjøre følgende kommandoer:

sed -i 's#$(LOBJS): Makefile#$(LOBJS): pth_p.h Makefile#' Makefile.in &&
./configure --prefix=/usr           \
            --disable-static        \
            --mandir=/usr/share/man &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install &&
install -v -m755 -d /usr/share/doc/pth-2.0.7 &&
install -v -m644    README PORTING SUPPORT TESTS \
                    /usr/share/doc/pth-2.0.7

Parameterforklaringer

sed -i 's#$(LOBJS) ...: Denne sed fikser en kjøretilstand i Makefile. Det tillater å kjøre make med flere jobber (f.eks., make -j4).

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--mandir=/usr/share/man: Denne bryteren putter mansider inn i /usr/share/man i stedet for /usr/man.

Innhold

Installert Program: pth-config
Installert Bibliotek: libpth.so
Installert Mappe: /usr/share/doc/pth-2.0.7

Korte Beskrivelser

pth-config

er et verktøy som brukes til å konfigurere og bygge applikasjoner basert på pth(3) biblioteket. Den kan brukes til å spørre C kompilatoren og linkerflagg som kreves for å kompilere og koble sammen applikasjoner mot pth(3)-biblioteket

libpth.so

inneholder API funksjonene som brukes av GNU Portable Threads Biblioteket

Qca-2.3.7

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.0 plattform.

Pakkeinformasjon

Qca Avhengigheter

Påkrevd

make-ca-1.12, CMake-3.27.2, Qt-5.15.10, og Which-2.21

Valgfri

Cyrus SASL-2.1.28, GnuPG-2.4.3, libgcrypt-1.10.2, libgpg-error-1.47, nss-3.92, NSPR-4.35, p11-kit-0.25.0, Doxygen-1.9.7, Which-2.21, 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 -DCMAKE_INSTALL_PREFIX=$QT5DIR            \
      -DCMAKE_BUILD_TYPE=Release                \
      -DQCA_MAN_INSTALL_DIR:PATH=/usr/share/man \
      .. &&
make

For å teste resultatene, kjør make test.

Nå, som root bruker:

make install

Parameterforklaringer

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bruke et høyere nivå av kompilatoroptimaliseringer.

-DQCA_MAN_INSTALL_DIR:PATH=/usr/share/man: Installer qca mansiden på vanlig plassering.

Innhold

Installerte Programmer: mozcerts-qt5 og qcatool-qt5
Installerte Biblioteker: libqca-qt5.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: $QT5DIR/include/Qca-qt5, $QT5DIR/lib/cmake/Qca-qt5, og $QT5DIR/lib/qca-qt5

Korte Beskrivelser

mozcerts-qt5

er et kommandolinjeverktøy for å konvertere certdata.txt til outfile.pem filer

qcatool-qt5

er et kommandolinjeverktøy for å utføre ulike kryptografiske operasjoner med Qca

libqca-qt5.so

er Qt Cryptography Architecture (Qca) biblioteket

Talloc-2.4.1

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.0 plattform.

Pakkeinformasjon

Talloc Avhengigheter

Valgfri

docbook-xml-4.5, docbook-xsl-nons-1.79.2 og libxslt-1.1.38 (For å generere mansider), GDB-13.2, git-2.41.0, libnsl-2.0.0, libtirpc-1.3.3, Valgrind-3.21.0, og xfsprogs-6.4.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-311-<arch>-linux-gnu.so, libpytalloc-util.cpython-311-<arch>-linux-gnu.so, libtalloc.so, and talloc.cpython-311-<arch>-linux-gnu.so (Python 3 Modul)
Installerte Mapper: Ingen

Korte Beskrivelser

libtalloc.so

inneholder en erstatning for Glibc malloc funksjon

telepathy-glib-0.24.2

Introduksjon til Telepathy GLib

Telepathy GLib inneholder et bibliotek som brukes av GLib baserte Telepathy komponenter. Telepati er en D-Bus rammeverk for samlende sanntidskommunikasjon, inkludert direktemeldinger, taleanrop og videosamtaler. Den abstraherer forskjeller mellom protokoller for å gi et enhetlig grensesnitt for applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Telepathy GLib Avhengigheter

Påkrevd

dbus-glib-0.112 og libxslt-1.1.38

Anbefalt
Valgfri

GTK-Doc-1.33.2

Installasjon av Telepathy Glib

Hvis du har tenkt å kjøre testene, vil en av dem som standard påkalle /usr/bin/python og mislykkes hvis den er fraværende, forårsaker at den andre gruppen med tester ikke kjøres - i motsetning til de andre testene som kan være overstyrt fra omgivelsene. Løs det med følgende kommando:

sed -i 's%/usr/bin/python%&3%' tests/all-errors-documented.py

Installer Telepathy GLib ved å kjøre følgende kommandoer:

PYTHON=/usr/bin/python3 ./configure --prefix=/usr          \
                                    --enable-vala-bindings \
                                    --disable-static       &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-vala-bindings: Denne bryteren muliggjør bygging av Vala bindingene. Fjern hvis du ikke har Vala-0.56.11 installert.

--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
Installerte Biblioteker: libtelepathy-glib.so
Installerte Mapper: /usr/include/telepathy-1.0 og /usr/share/gtk-doc/html/telepathy-glib

Korte Beskrivelser

libtelepathy-glib.so

inneholder Telepathy GLib API funksjoner

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.0 plattform.

Pakkeinformasjon

Uchardet Avhengigheter

Påkrevd

CMake-3.27.2

Installasjon av Uchardet

Installer Uchardet ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DBUILD_STATIC=OFF          \
      -Wno-dev ..                 &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-DBUILD_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.17.18

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.0 plattform.

Pakkeinformasjon

Umockdev Avhengigheter

Påkrevd

libgudev-238, libpcap-1.10.4, og Vala-0.56.11

Valgfri

GTK-Doc-1.33.2 og libgphoto2 (valgfritt 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: 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.33.2 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

Wayland-1.22.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.0 plattform.

Pakkeinformasjon

Wayland Avhengigheter

Påkrevd

libxml2-2.10.4

Valgfri

Doxygen-1.9.7, Graphviz-8.1.0 og xmlto-0.0.28 (for å bygge API dokumentasjonen) og docbook-xml-4.5, docbook-xsl-nons-1.79.2 og libxslt-1.1.38 (for å bygge manualsidene)

Installasjon av Wayland

Installer Wayland ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Ddocumentation=false &&
ninja

For å teste resultatene, kjør: env -u XDG_RUNTIME_DIR ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Ddocumentation=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.32

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.0 plattform.

Pakkeinformasjon

Wayland-protocols Avhengigheter

Påkrevd

Wayland-1.22.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

wpebackend-fdo-1.14.2

Introduksjon til wpebackend-fdo

wpebackend-fdo pakken inneholder Freedesktop.org bakstykke for WPE WebKit og WPE renderer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

wpebackend-fdo Avhengigheter

Påkrevd

libepoxy-1.5.10, libwpe-1.14.1, og wayland-protocols-1.32

Installasjon av wpebackend-fdo

Installer wpebackend-fdo ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release ..
ninja

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libWPEBackend-fdo-1.0.so
Installerte Mapper: /usr/include/wpe-fdo-1.0

Korte Beskrivelser

libWPEBackend-fdo-1.0.so

inneholder funksjoner som gir freedesktop.org bakstykke for WPE WebKit og WPE renderer

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.0 plattform.

Pakkeinformasjon

wv Avhengigheter

Påkrevd

libgsf-1.14.50 og libpng-1.6.40

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.23

Introduksjon til xapian

Xapian er et åpen kildekode søkemotorbibliotek.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Xapian Avhengigheter

Valgfri

Valgrind-3.21.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.23 &&
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.23, 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 installert 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

Chapter 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.0 plattform.

Pakkeinformasjon

AAlib Avhengigheter

Valgfri

Xorg Biblioteker, Xorg Legacy 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

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.106

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.0 plattform.

Pakkeinformasjon

Babl Avhengigheter

Anbefalt
Valgfri

Little CMS-2.14 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.0

Introduksjon til Exiv2

Exiv2 er et C++ bibliotek og et kommando linjeverktøy for å administrere bilde- og videometadata.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Exiv2 Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt
Valgfri

libssh

Valgfritt for dokumentasjon

Doxygen-1.9.7, Graphviz-8.1.0, og libxslt-1.1.38

Installasjon av Exiv2

Installer Exiv2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr  \
      -DCMAKE_BUILD_TYPE=Release   \
      -DEXIV2_ENABLE_VIDEO=yes     \
      -DEXIV2_ENABLE_WEBREADY=yes  \
      -DEXIV2_ENABLE_CURL=yes      \
      -DEXIV2_BUILD_SAMPLES=no     \
      -G "Unix Makefiles" .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-DEXIV2_ENABLE_VIDEO=yes: Denne bryteren gjør det mulig å administrere videometadata.

-DEXIV2_ENABLE_WEBREADY=yes: Denne bryteren gjør det mulig å administrere nettbildemetadata.

-DEXIV2_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.

-DEXIV2_ENABLE_CURL=yes: Denne bryteren er nødvendig for å aktivere nettverk/http funksjoner.

-DEXIV2_ENABLE_INIH=no: Bruk denne bryteren hvis du ikke har installert inih-57.

-DEXIV2_ENABLE_BROTLI=no: Bruk denne bryteren hvis du ikke har installert Brotli-1.0.9.

Innhold

Installert Program: exiv2
Installert Bibliotek: libexiv2.so og libexiv2-xmp.a
Installerte Mapper: /usr/include/exiv2

Korte Beskrivelser

exiv2

er et verktøy som brukes til å dumpe Exif data

FreeType-2.13.1

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Ytterligere Dokumentasjon

FreeType2 Avhengigheter

Anbefalt
Valgfri

Brotli-1.0.9 og librsvg-2.56.3

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.1.tar.xz --strip-components=2 -C docs

Installer FreeType2 ved å kjøre følgende kommandoer:

sed -ri "s:.*(AUX_MODULES.*valid):\1:" modules.cfg &&

sed -r "s:.*(#.*SUBPIXEL_RENDERING) .*:\1:" \
    -i include/freetype/config/ftoption.h  &&

./configure --prefix=/usr --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.1 &&
rm -v /usr/share/doc/freetype-2.13.1/freetype-config.1

Parameterforklaringer

sed -ri ...: Første kommando aktiverer GX/AAT og OpenType tabellvalidering og andre kommando aktiverer Subpixel Rendering. Noter at Subpixel Rendering kan ha patentproblemer. Sørg for å lese 'Other patent issues' delen av https://freetype.org/patents.html før du aktiverer dette alternativet.

--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.1

Korte Beskrivelser

freetype-config

brukes til å få FreeType kompilerings og koblingsinformasjon

libfreetype.so

inneholder funksjoner for å gjengi ulike skrifttyper, for eksempel TrueType og Type1

Fontconfig-2.14.2

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.0 plattform.

Pakkeinformasjon

Fontconfig Avhengigheter

Påkrevd

FreeType-2.13.1

Valgfri

bubblewrap-0.8.0 (brukt av noen tester), cURL-8.2.1 og UnZip-6.0 (begge brukt av noen tester for å laste ned og trekke ut testfiler), JSON-C-0.17, DocBook-utils-0.6.14 og libxml2-2.10.4, texlive-20230313 (eller install-tl-unx)

Note

En Internett tilkobling er nødvendig for noen tester av denne pakken.

Note

Hvis du har DocBook Utils installert og du fjerner --disable-docs parameteren fra configure kommandoen nedenfor, må du ha SGMLSpm-1.1 og texlive-20230313 installert også, ellers Fontconfig bygge vil mislykkes.

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.14.2 &&
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.14.2/fontconfig-devel} &&
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/fontconfig-devel/* \
                                  /usr/share/doc/fontconfig-2.14.2/fontconfig-devel &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
                                  /usr/share/doc/fontconfig-2.14.2

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.14.2/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.14.2, /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.13

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.0 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.46

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gimp.org/pub/gegl/0.4/gegl-0.4.46.tar.xz

  • Nedlasting MD5 sum: 241bde22f9204515121e5fb03a2b9fbd

  • Nedlastingsstørrelse: 5.6 MB

  • Estimert diskplass som kreves: 103 MB (Legg til 4 MB for tester)

  • Estimert byggetid: 0.9 SBU (Bruker parallellisme=4; legg til 0,4 for tester)

gegl Avhengigheter

Påkrevd

babl-0.1.106, JSON-GLib-1.6.6, libjpeg-turbo-3.0.0, og libpng-1.6.40

Anbefalt
Valgfri

asciidoc-10.2.0, Cairo-1.17.6, FFmpeg-6.0, gdk-pixbuf-2.42.10, gexiv2-0.14.2, GTK-Doc-1.33.2, JasPer-4.0.0, Little CMS-2.14, libraw-0.21.1, librsvg-2.56.3, libtiff-4.5.1, libwebp-1.3.1, Pango-1.50.14, Poppler-23.08.0, Ruby-3.2.2, SDL2-2.28.2, v4l-utils-1.24.1, Vala-0.56.11, libspiro-20220722, LuaJIT, lensfun, LuaJIT, libnsgif, libumfpack, maxflow, MRG, OpenCL, OpenEXR, poly2tri-c, source-highlight, og w3m

Installasjon av gegl

Hvis du installerer over en tidligere versjon av gegl, må en modul fjernes. Som root bruker, kjør:

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. 7 tester i gegl:ff-load-save delen av testpakken er kjent for å mislykkes på grunn av inkompatibiliteter med ffmpeg-6.0.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Ddocs=true: Bygg og installer dokumentasjon (krever GTK-Doc-1.33.2,).

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 å arbeide med XML datamodellen

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.1

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.0 plattform.

Pakkeinformasjon

giflib Avhengigheter

Påkrevd

xmlto-0.0.28

Installasjon av giflib

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.1 &&
cp -v -R doc/* /usr/share/doc/giflib-5.2.1

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.1

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

GLM-0.9.9.8

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.0 plattform.

Pakkeinformasjon

Installasjon av GLM

Note

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-0.9.9.8

Innhold

Installert Program: Ingen
Installert Bibliotek: Ingen
Installert Mappe: /usr/include/glm

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.0 plattform.

Pakkeinformasjon

Graphite2 Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt

FreeType-2.13.1, silgraphite for å bygge comparerender test- og benchmarkingverktøy, og hvis det er tilstede, og HarfBuzz-8.1.1 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.0, Doxygen-1.9.7, texlive-20230313 (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 -DCMAKE_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

-DCMAKE_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-8.1.1

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.0 plattform.

Pakkeinformasjon

HarfBuzz Avhengigheter

Anbefalt
Valgfri

Cairo-1.17.6 (sirkulær: bygge cairo og alt de anbefalte avhengigheter, inkludert harfbuzz, først, deretter gjenoppbygge harfbuzz hvis cairo bakstykke er nødvendig), git-2.41.0, GTK-Doc-1.33.2, FontTools (Python 3 modul, for testpakken), ragel, og wasm-micro-runtime

Warning

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 \
      -Dgraphite2=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.

-Dgraphite2=enabled: Denne bryteren aktiverer Graphite2 støtte, som er nødvendig for å bygge texlive-20230313 eller LibreOffice-7.6.0.3 med system harfbuzz.

-Ddocs=disabled: Hvis GTK-Doc-1.33.2 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.0.0

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.0 plattform.

Pakkeinformasjon

JasPer Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt
Valgfri

Freeglut-3.4.0 (påkrevd for jiv), Doxygen-1.9.7 (nødvendig for å generere html dokumentasjon), og texlive-20230313 (nødvendig for å generere pdf dokumentasjon)

Installasjon av JasPer

Note

Tarballen jasper-4.0.0.tar.gz vil pakkes ut til jasper-version-4.0.0.

Installer JasPer ved å kjøre følgende kommandoer:

mkdir BUILD &&
cd    BUILD &&

cmake -DCMAKE_INSTALL_PREFIX=/usr    \
      -DCMAKE_BUILD_TYPE=Release     \
      -DCMAKE_SKIP_INSTALL_RPATH=YES \
      -DJAS_ENABLE_DOC=NO            \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/jasper-4.0.0 \
      ..  &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-DCMAKE_SKIP_INSTALL_RPATH=YES: Dette alternativet fjerner innebygde biblioteksøkebaner.

-DJAS_ENABLE_DOC=NO: Dette alternativet deaktiverer gjenoppbyggingen av dokumentasjonen hvis texlive-20230313 er installert.

Innhold

Installerte Programmer: imgcmp, imginfo, jasper, og jiv
Installert Bibliotek: libjasper.so
Installerte Mapper: /usr/include/jasper og /usr/share/doc/jasper-4.0.0

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-1.19

Introduksjon til Little CMS

Little CMS biblioteket brukes av andre programmer for å tilby fargestyringsfasiliteter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Little CMS Avhengigheter

Valgfri

libtiff-4.5.1, libjpeg-turbo-3.0.0, og Python-2.7.18 (med SWIG-4.1.1 også)

Installasjon av Little CMS

Installer Little CMS ved å kjøre følgende kommandoer:

patch -Np1 -i ../lcms-1.19-cve_2013_4276-1.patch &&

./configure --prefix=/usr --disable-static       &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
install -v -m755 -d /usr/share/doc/lcms-1.19 &&
install -v -m644    README.1ST doc/* \
                    /usr/share/doc/lcms-1.19

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-python: Bruk denne parameteren hvis Python og SWIG er installert.

Innhold

Installerte Programmer: icc2ps, icclink, icctrans, wtpt og valgfritt, jpegicc, tiffdiff and tifficc
Installerte Biblioteker: liblcms.so og valgfrie _lcms.so Python module
Installert Mappe: /usr/share/doc/lcms-1.19

Korte Beskrivelser

icc2ps

genererer PostScript CRD eller CSA fra ICC profiler

icclink

kobler to eller flere profiler til en enkelt enhetskoblingsprofil

icctrans

er en kalkulator for konvertering av fargerom

jpegicc

er en ICC profilapplikasjon for JPEG filer

tifficc

er en ICC profilapplikasjon for TIFF filer

tiffdiff

er et TIFF sammenligningsverktøy

wtpt

viser mediehvite profiler, identifiserer svart kroppslokus

liblcms.so

brukes av lcms programmer så vel som andre programmer for å tilby fargestyringsfasiliteter

Little CMS-2.14

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.0 plattform.

Pakkeinformasjon

Little CMS2 Avhengigheter

Valgfri

libjpeg-turbo-3.0.0 og libtiff-4.5.1

Installasjon av Little CMS2

Bruk oppstrøms fiksen for et problem som bryter farge:

sed '/BufferSize < TagSize/,+1 s/goto Error/TagSize = BufferSize/' \
    -i src/cmsio0.c

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-0.11.1

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.0 plattform.

Pakkeinformasjon

libavif Avhengigheter

Påkrevd

libaom-3.6.1

Anbefalt
Valgfri

gtest, libdav1d, libyuv, rav1e, og svt-av1

Installasjon av libavif

Installer libavif ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DAVIF_CODEC_AOM=ON         \
      -DAVIF_BUILD_GDK_PIXBUF=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

AV1 formatet må legges til lasterens hurtiglager. Som root bruker:

gdk-pixbuf-query-loaders --update-cache

Parameterforklaringer

-DAVIF_CODEC_AOM=ON: Denne bryteren aktiverer AOM kodeken. Denne pakken er ubrukelig uten minst én kodek innebygd.

-DAVIF_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.10.

-DAVIF_CODEC_DAV1D=ON: Bruk denne bryteren hvis du har installert libdav1d og ønsker å bruke den som en kodek.

-DAVIF_CODEC_RAV1E=ON: Bruk denne bryteren hvis du har installert rav1e og ønsker å bruke den som en kodek.

-DAVIF_CODEC_SVT=ON: 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

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.24

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.0 plattform.

Pakkeinformasjon

libexif Avhengigheter

Valgfri (å bygge dokumentasjon)

Doxygen-1.9.7 og Graphviz-8.1.0

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.24 &&
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.24.

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.24

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.0 plattform.

Pakkeinformasjon

Libgxps Avhengigheter

Påkrevd

GTK+-3.24.38, Little CMS-2.14, libarchive-3.7.1, libjpeg-turbo-3.0.0, libtiff-4.5.1, og libxslt-1.1.38

Valgfri

git-2.41.0 og GTK-Doc-1.33.2

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.0

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.0 plattform.

Pakkeinformasjon

libjpeg-turbo Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt

Installasjon av libjpeg-turbo

Installer libjpeg-turbo ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=RELEASE  \
      -DENABLE_STATIC=FALSE       \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-3.0.0 \
      -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib  \
      .. &&
make

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

-DWITH_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.0

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

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.0 plattform.

Pakkeinformasjon

libmng Avhengigheter

Påkrevd

libjpeg-turbo-3.0.0 og Little CMS-2.14

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.0 plattform.

Pakkeinformasjon

libmypaint Avhengigheter

Påkrevd

JSON-C-0.17

Anbefalt
Valgfri

Doxygen-1.9.7 (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.40

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.0 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.39-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.40 &&
cp -v README libpng-manual.txt /usr/share/doc/libpng-1.6.40

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.40

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.1

Introduksjon til libraw

Libraw er et bibliotek for å lese RAW filer hentet fra digitale fotokameraer (CRW/CR2, NEF, RAF, DNG og andre).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.libraw.org/data/LibRaw-0.21.1.tar.gz

  • Nedlasting MD5 sum: 2942732de752f46baccd9c6d57823b7b

  • Nedlastingsstørrelse: 1.6 MB

  • Estimert diskplass som kreves: 31 MB

  • Estimert byggetid: 0.2 SBU (Bruke parallellisme=4)

libraw Avhengigheter

Anbefalt

Installasjon av libraw

Installer libraw ved å kjøre følgende kommandoer:

autoreconf -fiv              &&
./configure --prefix=/usr    \
            --enable-jpeg    \
            --enable-jasper  \
            --enable-lcms    \
            --disable-static \
            --docdir=/usr/share/doc/libraw-0.21.1 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-jpeg: Denne bryteren aktiverer støtte for jpeg. Fjern hvis du ikke har libjpeg-turbo-3.0.0 installert.

--enable-jasper: Denne bryteren aktiverer støtte for jasper. Fjern hvis du ikke har JasPer-4.0.0 installert.

--enable-lcms: Denne bryteren aktiverer støtte for Little CMS2. Fjern hvis du ikke har Little CMS-2.14 installert.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Note

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.1

Korte Beskrivelser

4channels

genererer fire TIFF filer fra RAW data, en fil per kanal

dcraw_half

emulerer "dcraw -h" (se DCRAW manpage)

mem_image

emulerer "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 anrop til "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 anrop til "dcraw -i [-v]" (se DCRAW manpage)

unprocessed_raw

genererer ubehandlet råbilde: med maskerte piksler og uten svart subtraksjon

librsvg-2.56.3

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.0 plattform.

Pakkeinformasjon

librsvg Avhengigheter

Påkrevd

Cairo-1.17.6, gdk-pixbuf-2.42.10, Pango-1.50.14, og rustc-1.71.1

Note

En Internett tilkobling er nødvendig for å bygge denne pakken.

Anbefalt
Valgfri

docutils-0.20.1 (for manualsider), Gi-DocGen-2023.1 (for dokumentasjon), og Xorg Fonts (for tester)

Installasjon av librsvg

Installer librsvg ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --enable-vala    \
            --disable-static \
            --docdir=/usr/share/doc/librsvg-2.56.3 &&
make

For å teste resultatene, utsted:

make check

Nå, som root bruker:

make DOC_INSTALL_DIR='$(docdir)' install

Note

Hvis du installerte pakken på systemet ditt ved hjelp av en DESTDIR metode, en viktig fil ble ikke installert og skal kopieres og/eller genereres. Generer den ved å bruke følgende kommando som root bruker:

gdk-pixbuf-query-loaders --update-cache

Parameterforklaringer

--enable-vala: Denne bryteren aktiverer bygging av Vala bindingene. Fjern denne bryteren hvis du ikke har Vala-0.56.11 installert.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

DOC_INSTALL_DIR='$(docdir)': Denne overstyringen sikrer at installasjon av API dokumentasjonen på forventet plassering hvis Gi-DocGen-2023.1 er installert.

--disable-introspection: Bruk denne bryteren hvis du ikke har installert Gobject Introspection.

--disable-gtk-doc: Denne bryteren hindrer bygging av API dokumentasjonen, selv om Gi-DocGen-2023.1 (på tross av navnet på alternativet) er tilgjengelig.

Innhold

Installerte Programmer: rsvg-convert
Installert Bibliotek: librsvg-2.so
Installerte Mapper: /usr/include/librsvg-2.0 og /usr/share/doc/librsvg-2.56.3

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.0 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.5.1

Introduksjon til libtiff

libtiff pakken inneholder TIFF biblioteker og tilhørende verktøy. Bibliotekene brukes av mange programmer for lesing og skriving av TIFF filer og verktøyene brukes til generelt arbeid med TIFF filer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libtiff Avhengigheter

Anbefalt
Valgfri

Freeglut-3.4.0 (påkrevd for tiffgt), libjpeg-turbo-3.0.0, sphinx-7.1.2, libwebp-1.3.1, JBIG-KIT, og LERC

Installasjon av libtiff

Installer libtiff ved å kjøre følgende kommandoer:

mkdir -p libtiff-build &&
cd       libtiff-build &&

cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-4.5.1 \
      -DCMAKE_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/share/doc/tiff-4.5.1

Korte Beskrivelser

fax2ps

konverterer en TIFF faksimile til komprimert PostScript fil

fax2tiff

oppretter en TIFF Class F faksfil fra rå faksdata

pal2rgb

konverterer et palettfarge TIFF bilde til en full farge bilde

ppm2tiff

oppretter en TIFF fil fra en PPM bildefil

raw2tiff

konverterer en rå bytesekvens til TIFF

tiff2bw

konverterer et TIFF fargebilde til gråtoner

tiff2pdf

konverterer et TIFF bilde til et PDF dokument

tiff2ps

konverterer et TIFF bilde til en PostScript fil

tiff2rgba

konverterer et bredt utvalg av TIFF bilder til en RGBA TIFF bilde

tiffcmp

sammenligner to TIFF filer

tiffcp

kopierer (og konverterer muligens) en TIFF fil

tiffcrop

velger, kopierer, beskjærer, konverterer, trekker ut og/eller behandler en eller flere TIFF filer

tiffdither

konverterer et gråtonebilde til bilevel ved hjelp av dithering

tiffdump

skriver ut ordrett informasjon om TIFF filer

tiffgt

viser et bilde som er lagret i en TIFF fil

tiffinfo

skriver ut informasjon om TIFF filer

tiffmedian

bruker median cut algoritmen på data i en TIFF fil

tiffset

setter verdien til en TIFF deklarasjon til en spesifisert verdi

tiffsplit

deler en TIFF med flere bilder i TIFF filer med ett bilde

libtiff.so

inneholder API funksjonene som brukes av libtiff programmer så vel som andre programmer for å lese og skrive TIFF filer

libtiffxx.so

inneholder C++ API funksjonene som brukes av programmer for å lese og skrive TIFF filer

libwebp-1.3.1

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.0 plattform.

Pakkeinformasjon

libwebp Avhengigheter

Anbefalt
Valgfri

Freeglut-3.4.0 og giflib-5.2.1

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.0 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.23

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.0 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.11 &&
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.11: 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.11/site-packages/_snack.so
Installerte Mapper: Ingen

Korte Beskrivelser

whiptail

viser dialogbokser fra skallskript

libnewt.so

er biblioteket for fargetekstmodus, elementbasert brukergrensesnitt

opencv-4.8.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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Note

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.27.2 og UnZip-6.0

Anbefalt
Valgfri

apache-ant-1.10.14, Doxygen-1.9.7, Java-20.0.2, NumPy-1.25.2, Python-2.7.18, 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.8.0.tar.gz

Installer opencv ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr      \
      -DCMAKE_BUILD_TYPE=Release       \
      -DENABLE_CXX11=ON                \
      -DBUILD_PERF_TESTS=OFF           \
      -DWITH_XINE=ON                   \
      -DBUILD_TESTS=OFF                \
      -DENABLE_PRECOMPILED_HEADERS=OFF \
      -DCMAKE_SKIP_RPATH=ON            \
      -DBUILD_WITH_DEBUG_INFO=OFF      \
      -Wno-dev  ..                     &&
make

Pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-DWITH_XINE=ON: Dette alternativet instruerer make prosedyren å bruke xine-lib-1.2.13.

-DENABLE_PRECOMPILED_HEADERS=OFF: Dette alternativet er nødvendig for kompatibilitet med gcc-6.1 og nyere.

-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.8.0/modules: instruerer byggesystemet til å bygge tilleggsmoduler.

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.11/site-packages/cv2, /usr/share/licenses/opencv4, /usr/share/opencv4, og /usr/share/java/opencv4

OpenJPEG-2.5.0

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.0 plattform.

Pakkeinformasjon

OpenJPEG Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt

Little CMS-2.14, libpng-1.6.40, libtiff-4.5.1, og Doxygen-1.9.7 (for å bygge API dokumentasjonen)

Installasjon av OpenJPEG

Installer OpenJPEG ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DBUILD_STATIC_LIBS=OFF .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&

pushd ../doc &&
  for man in man/man?/* ; do
      install -v -D -m 644 $man /usr/share/$man
  done
popd

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.42.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.0 plattform.

Pakkeinformasjon

Pixman Avhengigheter

Valgfri

GTK+-2.24.33 og libpng-1.6.40 (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-23.08.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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://poppler.freedesktop.org/poppler-23.08.0.tar.xz

  • Nedlasting MD5 sum: b369afc9511198de5a604ca3baea1ddd

  • Nedlastingsstørrelse: 1.8 MB

  • Estimert diskplass som kreves: 91 MB (med Qt5 biblioteket og tester)

  • Estimert byggetid: 0.6 SBU (med parallellisme=4, Qt5 biblioteket og tester)

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.27.2, Fontconfig-2.14.2, og gobject-introspection-1.76.1

Anbefalt
Valgfri

cURL-8.2.1, gdk-pixbuf-2.42.10, git-2.41.0 (for nedlasting av testfiler), GPGME-1.21.0, GTK-Doc-1.33.2, GTK+-3.24.38, libtiff-4.5.1, (Qt-5.15.10 eller qt-alternate-5.15.10) (nødvendig for PDF støtte i Okular-23.08.0), og Qt-6.1 eller senere.

Installasjon av Poppler

Installer Poppler ved å kjøre følgende kommandoer:

mkdir build                         &&
cd    build                         &&

cmake  -DCMAKE_BUILD_TYPE=Release   \
       -DCMAKE_INSTALL_PREFIX=/usr  \
       -DTESTDATADIR=$PWD/testfiles \
       -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
       ..                           &&
make

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 make test.

Nå, som root bruker:

make install

For å installere dokumentasjonen, kjør følgende kommandoer som root:

install -v -m755 -d           /usr/share/doc/poppler-23.08.0 &&
cp -vr ../glib/reference/html /usr/share/doc/poppler-23.08.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

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke et høyere nivå av kompilatoroptimaliseringer.

-DTESTDATADIR=$PWD/testfiles: Forteller testprogrammene hvor hjelpefilene er plassert.

-DENABLE_UNSTABLE_API_ABI_HEADERS=ON: Installerer noen gamle Xpdf deklarasjoner som kreves av visse programmer.

-DENABLE_GTK_DOC=ON: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen.

-DENABLE_BOOST=OFF: Bruk denne parameteren hvis du ikke har installert boost (Splash-backend for Qt5 anbefaler boost).

LC_ALL=en_US.UTF-8 make 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 libpoppler-qt5.so
Installerte Mapper: /usr/include/poppler, /usr/share/poppler, og /usr/share/doc/poppler-23.08.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-qt5.so

er et innpakningsbibliotek som brukes til å samhandle PDF gjengivelsesfunksjonene med Qt5

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.0 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.5.0

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.0 plattform.

Pakkeinformasjon

Qpdf Avhengigheter

Påkrevd

libjpeg-turbo-3.0.0

Valgfri

ghostscript-10.01.2, GnuTLS-3.8.1, libtiff-4.5.1, sphinx-7.1.2 med sphinx_rtd_theme-1.2.2, og texlive-20230313 eller install-tl-unx

Installasjon av Qpdf

Installer Qpdf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_STATIC_LIBS=OFF     \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/qpdf-11.5.0 \
      .. &&
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.5.0

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.0 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.9.7 for å generere dokumentasjon, og SDL2-2.28.2 for tester

Installasjon av qrencode

Installer libqrencode ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Hvis du har installert Doxygen-1.9.7, 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.28.2.

--without-tools: Dette alternativet forhindrer bygging av qrencode kjørbar, fjerner behovet for libpng-1.6.40.

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av sassc

Bygg først biblioteket:

tar -xf ../libsass-3.6.5.tar.gz &&
pushd libsass-3.6.5 &&

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.4

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.0 plattform.

Pakkeinformasjon

webp-pixbuf-loader Avhengigheter

Påkrevd

gdk-pixbuf-2.42.10 og libwebp-1.3.1

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.0 plattform.

Pakkeinformasjon

WOFF2 Avhengigheter

Påkrevd

Brotli-1.0.9 og CMake-3.27.2

Installasjon av WOFF2

Installer WOFF2 ved å kjøre følgende kommandoer:

mkdir out                           &&
cd    out                           &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

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

Chapter 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.20

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.0 plattform.

Pakkeinformasjon

Asciidoctor Avhengigheter

Påkrevd

Ruby-3.2.2

Installasjon av Asciidoctor

Note

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.20.gem &&
install -vm644 man/asciidoctor.1 /usr/share/man/man1

Innhold

Installerte Programmer: asciidoctor
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20 og /usr/lib/ruby/gems/3.2.0/doc/asciidoctor-2.0.20

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.0 plattform.

Pakkeinformasjon

Bogofilter Avhengigheter

Påkrevd

Berkeley DB-5.3.28

Anbefalt
Valgfri

lmdb-0.9.31, SQLite-3.42.0, xmlto-0.0.28, QDBM og TokyoCabinet

Note

Hvis du ikke installerer den anbefalte Gsl-2.7.1 pakken vil en statisk koblet levert versjon bli brukt i stedet.

Installasjon av Bogofilter

Note

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 &&
make

For å teste resultatene, kjør make check.

Nå, som root bruker:

make install

Parameterforklaringer

--with-database=: Denne bryteren lar deg endre standarddatabasen fra db til enten qdbm, sqlite3 eller tokyocabinet.

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.0 plattform.

Pakkeinformasjon

Installasjon av Compface

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.{so,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.{so,a}

lar komprimerings- og dekompresjonsalgoritmene bli brukt i andre programmer som MTA-er

desktop-file-utils-0.26

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Desktop File Utils Avhengigheter

Påkrevd

GLib-2.76.4

Valgfri

Emacs-29.1

Installasjon av Desktop File Utils

Warning

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

Deretter oppdaterer du versjonen av skrivebordsfilstandarden for å godta SingleMainWindow nøkkelen:

patch -Np1 -i ../desktop-file-utils-0.26-update_standard-1.patch

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.0

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.0 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.0

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

Graphviz-8.1.0

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.0 plattform.

Pakkeinformasjon

Graphviz Avhengigheter

Note

Graphviz grunnleggende bruk trenger ingen biblioteker uten det som finnes i LFS boka. Dens core rendering motor gjør det mulig å generere flere grafiske formater, som f.eks Postscript, SVG, VML, .fig og Tk. Disse formatene kan konverteres til nesten alle andre formater ved å bruke for eksempel verktøy fra ImageMagick-7.1.1-15. 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 av flere andre pakker i denne boken, foreslås det først å bygge det uten noen avhengigheter, for så å bygge det opp igjen når du har bygget nok pakker for å passe dine behov.

Valgfri, for ulike punktgrafikk utdata

Pango-1.50.14, med Cairo-1.17.6, Xorg Biblioteker, Fontconfig-2.14.2, og libpng-1.6.40, å generere bilder i punktgrafikk SVG, postscript, PNG- og PDF-formater, eller vise bildet på skjermen. PNG utdataen er nødvendig for byggingen av gegl-0.4.46

Legge til GTK+-2.24.33 med libjpeg-turbo-3.0.0 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.3.1 (WebP støtte anses som eksperimentell), DevIL, libLASi, og glitz

Valgfritt, for å laste grafiske bilder som kan bli vist inne i nodene i en graf

libgs.so fra ghostscript-10.01.2, librsvg-2.56.3, og Poppler-23.08.0

Valgfritt, for å bygge flere verktøy

Freeglut-3.4.0 (med libglade-2.6.4, GtkGLExt, og libGTS, for building smyrna stor grafviser, som er betraktet som eksperimentell), og (Qt-5.15.10 eller qt-alternate-5.15.10) (for å bygge gvedit grafredigerer.)

Valgfritt (for å bygge språkbindinger)

SWIG-4.1.1 (SWIG må være installert ellers vil ingen bindinger bli bygget), GCC-13.2.0 (for go kompilatoren), Guile-3.0.9, OpenJDK-20.0.2, Lua-5.4.6, PHP-8.2.9, Ruby-3.2.2, Tk-8.6.13, Io, Mono, OCaml, og R

Valgfritt (byggeverktøy)

Criterion (rammeverk for tester) og Electric Fence

Valgfritt (for å bygge pdf dokumentasjonen)

ghostscript-10.01.2 (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-8.1.0

Note

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-20.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.3.1 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.11,tcl8.6}. Dessverre er noen biblioteker duplisert.
Installerte Mapper: /usr/include/graphviz, /usr/lib/graphviz, /usr/lib/tcl8.6/graphviz, /usr/share/doc/graphviz-8.1.0, 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.33.2

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.0 plattform.

Pakkeinformasjon

GTK-Doc Avhengigheter

Påkrevd

docbook-xml-4.5, docbook-xsl-nons-1.79.2, itstool-2.0.7, og libxslt-1.1.38

Anbefalt
Valgfri

For tester: dblatex eller fop-2.9 (XML PDF støtte), GLib-2.76.4, Which-2.21, og Python moduler lxml-4.9.3, parameterized, og yelp-tools

Note

De valgfrie pythonmodulene ovenfor kan enkelt installeres med pip3 kommando.

Installasjon av GTK-Doc

Installer GTK-Doc ved å kjøre følgende kommandoer:

autoreconf -fiv           &&
./configure --prefix=/usr &&
make

Testpakken vil henge hvis pakken (eller en tidligere versjon) ikke allerede er installert.

Nå, som root bruker:

make install

For å teste resultatene, kjør: make check. 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.7

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): http://www.andre-simon.de/zip/highlight-4.7.tar.bz2

  • Nedlasting MD5 sum: cc5f3a857aa6c6d9f23ea3e36522f959

  • Nedlastingsstørrelse: 1.4 MB

  • Estimert diskplass som kreves: 24 MB (med gui)

  • Estimert byggetid: 0.3 SBU (Bruker parallellisme=4; med gui)

Highlight Avhengigheter

Påkrevd

Boost-1.83.0 og Lua-5.4.6

Valgfri

(Qt-5.15.10 eller qt-alternate-5.15.10) (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 Qt5 GUI grenseflaten, kjør følgende kommando:

make doc_dir=/usr/share/doc/highlight-4.7/ 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.7/ install

For å installere GUI programmet, kjør følgende kommando som root bruker:

make install-gui

Parameterforklaringer

doc_dir=/usr/share/doc/highlight-4.7/: 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.7, og /usr/share/highlight

Korte Beskrivelser

highlight

er en universell kildekode til formatert tekstkonvertering

highlight-gui

er Qt5 grensesnitt til highlight.

ibus-1.5.28

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.0 plattform.

Pakkeinformasjon

Valgfri nedlasting

ibus Avhengigheter

Påkrevd

DConf-0.40.0, ISO Codes-4.15.0, og Vala-0.56.11

Anbefalt
Valgfri

GTK+-3.24.38 (for å bygge IM modul for det), GTK-4.12.0 (for å bygge IM modul for det), D-Bus Python-1.3.2 og PyGObject-3.44.1 (begge for å bygge Python støttebiblioteket), GTK-Doc-1.33.2, og libxkbcommon-1.5.0, Wayland-1.22.0 (begge for å bygge Wayland støtteprogrammene), og EmojiOne

Installasjon av ibus

Hvis den valgfrie Unicode Character Database ble lastet ned, installer den nå som root bruker:

mkdir -p                /usr/share/unicode/ucd &&
unzip -uo ../UCD.zip -d /usr/share/unicode/ucd

Note

Pass på å også fjerne --disable-unicode-dict in konfigureringstrinnet nedenfor.

Løs et problem med utdaterte skjemaoppføringer:

sed -i 's@/desktop/ibus@/org/freedesktop/ibus@g' \
    data/dconf/org.freedesktop.ibus.gschema.xml

Installer ibus ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --disable-python2      \
            --disable-emoji-dict   \
            --disable-unicode-dict &&
rm -f tools/main.c                 &&
make

For å teste resultatene, kjør: make -k check. Testen kalt ibus-compose mislykkes fordi den bruker noen lokaler ikke installert i LFS. Testen kalt ibus-keypress er kjent for å mislykkes i en Wayland basert grafisk miljø. Testen kalt xkb-latin-layouts er kjent for å mislykkes med en nylig xkeyboard-config utgivelse.

Nå, som root bruker:

make install &&
gzip -dfv /usr/share/man/man{{1,5}/ibus*.gz,5/00-upstream-settings.5.gz}

Parameterforklaringer

--disable-emoji-dict: Denne bryteren deaktiverer bruk av uttrykksikonordbøker. Utelat hvis du installerte valgfrie pakker.

--disable-unicode-dict: Denne bryteren deaktiverer bruken av unicode ordbøker. Utelat hvis du installerte den valgfrie Unicode karakterdatabase.

rm -f tools/main.c: Denne kommandoen fjerner en generert fil som ikke ble fjernet ved pakking.

--disable-gtk2: Denne bryteren deaktiverer bygging av GTK+ 2 immodul. Bruk den hvis du ikke har installert GTK+ 2.

--enable-gtk4: Denne bryteren aktiverer bygging av GTK 4 immodul. Bruk den hvis du har installert GTK 4.

--enable-python-library: Denne bryteren aktiverer byggingen av Python støttebibliotek. Bruk den hvis du har installert de valgfrie avhengighetene.

--enable-wayland: Denne bryteren aktiverer bygging av Wayland støtteprogrammer. Bruk den hvis du har installert de valgfrie avhengighetene.

--with-python=python3: Denne bryteren gjør at configure skriptet ser etter Python 3. Bruk den hvis du vil bygge Python 3 støttebibliotek ved siden av Python 2 sitt.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

gzip -dfv ...: Dekomprimer installerte mansider i samsvar med andre mansider.

Konfigurere Ibus

Hvis GTK+-3 eller GTK+-2 er installert og --disable-gtk{3,2} ikke brukes, ibus IM modulen for GTK+-3 eller GTK+-2 vil bli installert. Som root bruker, oppdater en hurtigbufferfil med GTK+-3 eller GTK+-2 slik at de GTK baserte applikasjonene kan finne den nyinstallerte IM modulen og bruke ibus som inndata metode:

gtk-query-immodules-3.0 --update-cache

Kommandoen ovenfor oppdaterer hurtigbufferfilen for GTK+-3. For GTK+-2, bruk gtk-query-immodules-2.0 i stedet for gtk-query-immodules-3.0. 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-15

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.imagemagick.org/archive/releases/ImageMagick-7.1.1-15.tar.xz

  • Nedlasting MD5 sum: 14dc2057465df350005311b4ae3649b5

  • Nedlastingsstørrelse: 9.7 MB

  • Estimert diskplass som kreves: 164 MB (med typiske avhengigheter; legg til 31 MB for sjekker)

  • Estimert byggetid: 0.8 SBU (med typiske avhengigheter; legg til 0,8 SBU for sjekker, begge med parallellisme=4)

Note

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: ftp://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

Clang fra LLVM-16.0.5, Cups-2.4.6, cURL-8.2.1, FFmpeg-6.0, fftw-3.3.10, p7zip-17.04 (LZMA), SANE-1.0.32, Wget-1.21.4, xdg-utils-1.1.3, xterm-384, Dmalloc, Electric Fence og PGP eller GnuPG-2.4.3 (du må gjøre noe hacking for å bruke GnuPG), Profiles

Valgfrie Grafiske Biblioteker

JasPer-4.0.0, Little CMS-1.19 eller Little CMS-2.14, libgxps-0.3.2, libjpeg-turbo-3.0.0, libpng-1.6.40, libraw-0.21.1 (for dng filer, trenger thread-safe libraw_r), librsvg-2.56.3, libtiff-4.5.1, libwebp-1.3.1, OpenJPEG-2.5.0, Pango-1.50.14, DjVuLibre, FlashPIX (libfpx), FLIF, JBIG-KIT, libheif med libde265 (begge er nødvendig hvis du konverterer macOS heic bilder), libjxl, libraqm, Liquid Rescale, OpenEXR, og RALCGM (eller ralcgm)

Valgfrie Grafiske Verktøy

Dejavu fonts, ghostscript-10.01.2, Gimp-2.10.34, Graphviz-8.1.0, Inkscape-1.3, Blender, corefonts, GhostPCL, Gnuplot, POV-Ray, og Radiance

Valgfrie Konverteringsverktøy

Enscript-1.6.6, Potrace-1.16, texlive-20230313 (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)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/imagemagick

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.01.2 - 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-gslib: Aktiverer støtte for å bruke Ghostscript delt bibliotek.

--with-rsvg: Aktiverer støtte for å bruke librsvg biblioteket.

--with-autotrace: Aktiverer støtte for å bruke Autotrace biblioteket.

--with-wmf: Aktiverer støtte for å bruke libwmf biblioteket.

--with-gvc: Aktiverer støtte for å bruke GraphViz.

--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.38/{,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, uskarpe, beskjære, fjerne flekker, ryste, tegne på, snu, bli med, prøve på nytt og mye mer

Magick{++,Core,Wand}-config

vise 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.15.0

Introduksjon til ISO Codes

ISO Codes 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.0 plattform.

Pakkeinformasjon

Installasjon av ISO Codes

Mappen kalles iso-codes-4.15.0.

Installer ISO Codes ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Note

Hvis du installerer ISO codes over en tidligere installert versjon, vil installasjonstrinnet mislykkes når du oppretter noen symbolkoblinger. For å oppdatere dem riktig, kjør:

sed -i '/^LN_S/s/s/sfvn/' */Makefile

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/iso-codes, /usr/share/xml/iso-codes

lsof-4.95.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.0 plattform.

Pakkeinformasjon

lsof Avhengigheter

Påkrevd

libtirpc-1.3.3

Valgfri

Nmap-7.94 (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 -n linux &&
make

Testene skal kjøres som root bruker. De krever at POSIX meldingskøer er aktivert i kjernen, og at Nmap-7.94 installeres med en symbolsk lenke /usr/bin/nc som peker på ncat.

make check

En test, case-20-ux-socket-endpoint, er kjent for å mislykkes. Andre tester kan mislykkes hvis testene kjøres i et skript.

Nå, som root bruker:

install -v -m4755 -o root -g root lsof /usr/bin &&
install -v lsof.8 /usr/share/man/man8

Parameterforklaringer

./Configure -n linux: Unngå AFS, tilpasning og inventarsjekker, og bruk linux dialekten.

install -m4755 ...: lsof bør være suid root for å tillate brukere å liste alle filer. Dette kan være en sikkerhetstrussel på enkelte systemer. Bytt i så fall til -m755 og bruk sudo for å kjøre programmet.

Innhold

Installert Program: lsof
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

lsof

viser åpne filer for kjørende prosesser

mandoc-1.14.6

Introduksjon til mandoc

mandoc er et verktøy for å formatere manualsider.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av mandoc

Mange verktøy levert av mandoc konflikter med Man-DB i LFS. Bare bygg mandoc kommando:

./configure &&
make mandoc

For å teste resultatene, kjør: make regress.

Nå, som root bruker:

install -vm755 mandoc   /usr/bin &&
install -vm644 mandoc.1 /usr/share/man/man1

Innhold

Installerte Programmer: mandoc

Korte Beskrivelser

mandoc

Formaterer manualsider

pinentry-1.2.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.0 plattform.

Pakkeinformasjon

PIN-Entry Avhengigheter

Påkrevd

libassuan-2.5.6 og libgpg-error-1.47

Valgfri

Emacs-29.1, FLTK-1.3.8, Gcr-3.41.1, GTK+-2.24.33, KDE Frameworks-5.109.0 (eller kwayland-5.109.0 for lxqt), libsecret-0.21.0, (Qt-5.15.10 eller qt-alternate-5.15.10), og efl

Installasjon av PIN-Entry

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-gtk2=yes/no: Standard er yes. Selv om annen pinentry-* er installert, pinentry vil være en symbolkobling til pinentry-gtk-2.

--enable-pinentry-gnome3=yes/no: Standard er yes. Faktisk bruker den Gcr for pin-inntasting dialog.

--enable-pinentry-tty: Standard er 'maybe'.

Innhold

Installerte Programmer: pinentry (symbolkobling), pinentry-curses, pinentry-emacs, pinentry-fltk, pinentry-gnome3, pinentry-gtk-2, 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-gtk-2

er en GTK+2 PIN-Entry program program

pinentry-qt

er en Qt4 eller 5 PIN-Entry hjelpeprogram

pinentry-tty

er en tty PIN-Entry hjelpeprogram

Rep-gtk-0.90.8.3

Introduksjon til Rep-gtk

rep-gtk pakken inneholder en Lisp og GTK binding. Dette er nyttig for å utvide GTK-2 og GDK biblioteker med Lisp. Starter med rep-gtk-0.15, pakken inneholder bindinger til GTK og bruker de samme instruksjoner. Begge kan installeres om nødvendig.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Rep-gtk Avhengigheter

Påkrevd

GTK+-2.24.33 og librep-0.92.7

Installasjon av Rep-gtk

Installer rep-gtk ved å kjøre følgende kommandoer:

./autogen.sh --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Lisp bindings
Installerte Mapper: /usr/include/rep-gtk og /usr/lib/rep/gui

Korte Beskrivelser

Lisp bindings

er biblioteker lagret i /usr/lib/rep/gui/ som bistår kommunikasjonen mellom Lisp og GTK biblioteker

Screen-4.9.1

Introduksjon til Screen

Screen er en terminal multiplexor som kjører flere separate prosesser, typisk interaktive skall, på en enkelt fysisk karakterbasert terminal. Hver virtuell terminal emulerer en DEC VT100 pluss flere ANSI X3.64 og ISO 2022 funksjoner og gir også konfigurerbar inndata og utdata oversettelse, seriell portstøtte, konfigurerbar logging, flerbrukerstøtte og mange tegnkodinger, inkludert UTF-8. Skjermøkter kan kobles fra og gjenopptas senere på en annen terminal.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Screen Avhengigheter

Valgfri

Linux-PAM-1.5.3

Installasjon av Screen

Installer Screen ved å kjøre følgende kommandoer:

sh autogen.sh                                 &&
./configure --prefix=/usr                     \
            --infodir=/usr/share/info         \
            --mandir=/usr/share/man           \
            --with-socket-dir=/run/screen     \
            --with-pty-group=5                \
            --with-sys-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

--with-socket-dir=/run/screen: Dette alternativet plasserer per-bruker sockets på en standard plassering.

--with-sys-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-4.9.1
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/screen og /run/screen

Korte Beskrivelser

screen

er en terminalmultiplekser med VT100/ANSI terminalemulering

shared-mime-info-2.2

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Shared Mime Info Avhengigheter

Påkrevd

GLib-2.76.4 og libxml2-2.10.4

Valgfri

xmlto-0.0.28

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 -Dupdate-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.

-Dupdate-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.0 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

telepathy-mission-control-5.16.6

Introduksjon til Telepathy Mission Control

Telepathy Mission Control er en kontoadministrator og kanalformidler for Telepathy rammeverk, slik at brukergrensesnitt og andre klienter kan dele forbindelser til sanntidskommunikasjonstjenester uten konflikt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Telepathy Mission Control Avhengigheter

Påkrevd

telepathy-glib-0.24.2

Anbefalt
Valgfri

D-Bus Python-1.3.2 (for twisted tester), GTK-Doc-1.33.2, UPower-1.90.2, og Twisted (for twisted tester)

Installasjon av Telepathy Mission Control

Installer Telepathy Mission Control ved å kjøre følgende kommandoer:

PYTHON=python3 \
./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

PYTHON=python3: forhindrer bruk av Python2 hvis det er installert.

--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: mc-tool, mc-wait-for-name og mission-control-5 (kjørbar bibliotek)
Installerte Biblioteker: libmission-control-plugins.so
Installerte Mapper: /usr/include/mission-control-5.5 og /usr/share/gtk-doc/html/mission-control-plugins

Korte Beskrivelser

mc-tool

er et kommandolinjeverktøy som brukes til å manipulere Mission Control kontoer

mc-wait-for-name

venter på et D-Bus bussnavn som vil bli gitt automatisk av skrivebordsøkten

mission-control-5

er en D-Bus tjeneste som kjører på økt bussen for å implementere AccountManager og ChannelDispatcher tjenester beskrevet i Telepathy D-Bus spesifikasjonen

libmission-control-plugins.so

inneholder Telepathy Mission Control programtillegg API funksjoner

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.0 plattform.

Pakkeinformasjon

Tidy HTML5 Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt

Installasjon av Tidy HTML5

Installer Tidy HTML5 ved å kjøre følgende kommandoer:

cd build/cmake &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_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

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bygge utgivelsesbiblioteket uten noen feilsøkings 'påståelser' i koden.

-DBUILD_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.0 plattform.

Pakkeinformasjon

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.1.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.0 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 &&
chmod -v 644 /usr/share/man/man1/tree.1

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.0 plattform.

Pakkeinformasjon

unixODBC Avhengigheter

Valgfri

Mini SQL og Pth-2.0.7

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.5

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.0 plattform.

Pakkeinformasjon

xdg-dbus-proxy Avhengigheter

Påkrevd

GLib-2.76.4

Installasjon av xdg-dbus-proxy

Installer xdg-dbus-proxy ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

For å teste resultatene, utsted: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: xdg-dbus-proxy
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

xdg-dbus-proxy

er en filtrerende proxy for D-Bus tilkoblinger

Xdg-user-dirs-0.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.0 plattform.

Pakkeinformasjon

Xdg-user-dirs Avhengigheter

Valgfri

docbook-xml-4.5, docbook-xsl-nons-1.79.2, og libxslt-1.1.38 (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

Chapter 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.

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.0 plattform.

Pakkeinformasjon

AccountsService Avhengigheter

Påkrevd

Polkit-123

Anbefalt
Valgfri

GTK-Doc-1.33.2 og xmlto-0.0.28

Valgfri (for tester)

dbusmock-0.29.1 og PyGObject-3.44.1

Installasjon av AccountsService

Gi først nytt navn til en katalog hvis tilstedeværelse hindrer byggesystemet fra å kjøre hvis dbusmock-0.29.1 ikke er installert:

mv tests/dbusmock{,-tests}

Deretter fiks testene slik at den nye mappen blir funnet:

sed -e '/accounts_service\.py/s/dbusmock/dbusmock-tests/' \
    -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 \
      -Dadmin_group=adm   &&
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.

-Dadmin_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.28).

-Dgtk_doc=true: Denne bryteren gjør det mulig å bygge libaccountsservice API dokumentasjonen (trenger GTK-Doc-1.33.2).

-Dvapi=false: Denne bryteren deaktiverer bygging av vala bindingene. Bruk den hvis du ikke har installert Vala-0.56.11.

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

Systemd Unit

For å starte accounts-daemon nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable accounts-daemon

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.

Note

Noen andre pakker kan også håndtere noen ACPI hendelser, og de kan komme i konflikt med denne pakken. For eksempel, Systemd-254 (les dokumentasjonen for Handle*= i logind.conf(5) for detaljer) og UPower-1.90.2 (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-254 håndterer noen ACPI hendelser som standard, så håndteringen av disse hendelsene av Systemd-254 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.0 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-254 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-20230816 pakken ved å kjøre følgende kommando som root bruker:

make install-acpid

Note

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 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.0 plattform.

Pakkeinformasjon

at Avhengigheter

Påkrevd

En MTA

Valgfri

Linux-PAM-1.5.3

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/at

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.8

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.0 plattform.

Pakkeinformasjon

Autofs Avhengigheter

Påkrevd

libtirpc-1.3.3 og rpcsvc-proto-1.4.4

Valgfri

nfs-utils-2.6.3, libnsl-2.0.0, libxml2-2.10.4, MIT Kerberos V5-1.21.2, OpenLDAP-2.6.6 (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

Løs først et problem introdusert av glibc-2.36:

grep -rl linux/fs modules | xargs sed -i "/linux\/fs/d"

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

Caution

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.2.

Konfigurere Autofs

Konfigurasjonsfiler

/etc/sysconfig/autofs.conf, /etc/autofs/auto.master, /etc/autofs/auto.misc, og /etc/autofs/auto.net

Konfigurasjonsinformasjon

Installasjonsprosessen oppretter auto.master, auto.misc, auto.smb, og auto.net. Bytt ut auto.master filen med følgende kommandoer som root bruker:

mv /etc/autofs/auto.master /etc/autofs/auto.master.bak &&
cat > /etc/autofs/auto.master << "EOF"
# Begin /etc/autofs/auto.master

/media/auto  /etc/autofs/auto.misc  --ghost
#/home        /etc/autofs/auto.home

# End /etc/autofs/auto.master
EOF

Denne filen oppretter en ny mediemappe, /media/auto som vil overlegge alle eksisterende mapper med samme navn. I dette eksemplet filen /etc/autofs/auto.misc, har linjen:

cd   -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

som vil montere en cdrom som /media/auto/cd hvis den mappen er lest. --ghost alternativet forteller automounter å lage ghost versjoner (dvs. tomme mapper) for alle monteringspunktene som er oppført i konfigurasjonsfilen uavhengig av om noen av filsystemene faktisk er montert eller ikke. Dette er veldig praktisk og anbefales på det sterkeste, fordi det vil vise de tilgjengelige automonterbare filsystemene som eksisterende mapper, selv når filsystemene deres for øyeblikket ikke er montert. Uten --ghost alternativet, må du huske navnene på mappene. Så snart du prøver å få tilgang til en av dem, vil mappen bli opprettet og filsystemet vil bli montert. Når filsystemet demonteres igjen, vil mappen også bli ødelagt, med mindre --ghost alternativet ble gitt.

Note

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 er 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

Note

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: lookup_dir.so, lookup_file.so, lookup_files.so, lookup_hosts.so, lookup_ldap.so (optional), lookup_multi.so, lookup_nis.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, mount_ext4.so, mount_generic.so, mount_nfs.so, mount_nfs4.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.68

Introduksjon til BlueZ

BlueZ pakken inneholder Bluetooth protokollstabel for Linux.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

BlueZ Avhengigheter

Påkrevd

dbus-1.14.8, GLib-2.76.4, og libical-3.0.16

Valgfri

docutils-0.20.1 (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.68 &&
install -v -m644 doc/*.txt /usr/share/doc/bluez-5.68

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.20.1 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

Note

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.68

Korte Beskrivelser

bluemoon

er et Bluemoon 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.8.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.0 plattform.

Pakkeinformasjon

Bubblewrap Avhengigheter

Valgfri

libxslt-1.1.38 (for å generere manualsider) og libseccomp-2.5.4 (bygget med python bindinger, for tester)

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.

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 valgfritt brukernavneområde som 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]

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.6

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.0 plattform.

Pakkeinformasjon

Colord Avhengigheter

Påkrevd

dbus-1.14.8, GLib-2.76.4, Little CMS-2.14, Polkit-123, og SQLite-3.42.0

Anbefalt
Valgfri

gnome-desktop-44.0 og colord-gtk-0.3.0 (for å bygge eksempelverktøyene), DocBook-utils-0.6.14, GTK-Doc-1.33.2, libxslt-1.1.38, SANE-1.0.32, ArgyllCMS, og Bash Completion

Installasjon av Colord

Det bør være en dedikert bruker og gruppe for å ta kontroll over colord nissen etter at den har startet. Utfør følgende kommandoer som root bruker:

groupadd -g 71 colord &&
useradd -c "Color Daemon Owner" -d /var/lib/colord -u 71 \
        -g colord -s /bin/false colord

Rett opp en dobbel frigjøring som forårsaker byggefeil på 32-bit x86 og kjøretids krasjer med noen skjermer:

sed '/cmsUnregisterPluginsTHR/d' -i lib/colord/cd-context-lcms.c

Installer Colord ved å kjøre følgende kommandoer:

mkdir build &&
cd build &&

meson setup ..                 \
      --prefix=/usr            \
      --buildtype=release      \
      -Ddaemon_user=colord     \
      -Dvapi=true              \
      -Dsystemd=true           \
      -Dlibcolordcompat=true   \
      -Dargyllcms_sensor=false \
      -Dbash_completion=false  \
      -Ddocs=false             \
      -Dman=false              &&
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.

-Ddaemon_user=colord: Denne bryteren brukes så colord nissen vil kjøre som en uprivilegert bruker i stedet for som root bruker.

-Dvapi=true: Denne bryteren aktiverer byggingen av Vala bindinger. Fjern hvis du ikke har Vala-0.56.11 installert.

-Dsystemd=true: Denne bryteren aktiverer installasjon av systemd tjenesten.

-Dlibcolordcompat=true: Denne bryteren aktiverer byggingen av et kompatibilitetsbibliotek for eldre pakker som bruker Colord.

-Dargyllcms_sensor=false: Denne bryteren deaktiverer tArgLLCMS sensordriver. Utelat hvis du har ArgyllCMS installert og ønsker å bruke den.

-Dbash_completion=false: Denne bryteren deaktiverer Bash Completion støtte for Colord applikasjoner.

-Ddocs=false: Denne bryteren deaktiverer byggingen av dokumentasjon. Utelat hvis du har GTK-Doc-1.33.2 tilgjengelig.

-Dman=false: Denne bryteren deaktiverer byggingen av man sider. Utelat hvis du har DocBook-utils-0.6.14 tilgjengelig. Namespaced versjoner av docbook-xsl stilarkene kreves også.

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.14

Introduksjon til cpio

cpio pakken inneholder verktøy for arkivering.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

CPIO Avhengigheter

Valgfri

texlive-20230313 (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-20230313 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.14/html &&
install -v -m644    doc/html/* \
                    /usr/share/doc/cpio-2.14/html &&
install -v -m644    doc/cpio.{html,txt} \
                    /usr/share/doc/cpio-2.14

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.14

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.14

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.0 plattform.

Pakkeinformasjon

cups-pk-helper Avhengigheter

Påkrevd

Cups-2.4.6 og Polkit-123

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/cups-pk-helper

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.14.8

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.0 plattform.

Pakkeinformasjon

D-Bus Avhengigheter

Anbefalt
Valgfri

Systemd-254 (for registrering av tjenester lansert av D-Bus session nissen som systemd brukertjenester); For testene: D-Bus Python-1.3.2, PyGObject-3.44.1, og Valgrind-3.21.0; for dokumentasjon: Doxygen-1.9.7, xmlto-0.0.28, Ducktype, og Yelp Tools

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/dbus

Installasjon av D-Bus

Installer D-Bus ved å kjøre følgende kommandoer (det kan være lurt å se gjennom utdataene fra ./configure --help først og legg til ønskede parametere til configure kommandoen vist nedenfor):

./configure --prefix=/usr                        \
            --sysconfdir=/etc                    \
            --localstatedir=/var                 \
            --runstatedir=/run                   \
            --enable-user-session                \
            --disable-doxygen-docs               \
            --disable-xml-docs                   \
            --disable-static                     \
            --docdir=/usr/share/doc/dbus-1.14.8  \
            --with-system-socket=/run/dbus/system_bus_socket &&
make

Se nedenfor for testinstruksjoner.

Nå, som root bruker:

make 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

Mange tester er deaktivert med mindre både D-Bus Python-1.3.2 og PyGObject-3.44.1 har blitt installert. Det må kjøres som en uprivilegert bruker fra en lokal økt med bussadresse. For å kjøre standard tester utsted make check.

Hvis du vil kjøre enhetsregresjonstestene, krever konfigureringen 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):

make distclean                                    &&
PYTHON=python3 ./configure --enable-tests         \
                           --enable-asserts       \
                           --disable-doxygen-docs \
                           --disable-xml-docs     &&
make                                              &&
make check

Det har vært rapporter om at testene kan mislykkes hvis de kjøres i et Midnight Commander skall. Du kan få feilmeldinger om at minnet er tomt når kjører testene. Disse er normale og kan trygt ignoreres.

Parameterforklaringer

--disable-doxygen-docs: Denne bryteren deaktiverer at doxygen dokumentasjon bygges og installeres, hvis du har doxygen installert. Hvis doxygen er installert, og du ønsker å bygge dem, fjern denne parameteren.

--disable-xml-docs: Denne bryteren deaktiverer at html dokumentasjon bygges og installeres, hvis du har xmlto installert. Hvis xmlto er installert, og du ønsker å bygge dem, fjern denne parameteren.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-user-session: Denne parameteren aktiverer per bruker DBus-økter med systemd.

--with-system-pid-file=/run/dbus/pid: Dette parameter angir plasseringen av PID filen.

--with-system-socket=/run/dbus/system_bus_socket: Denne parameteren spesifiserer plasseringen av systembuss socket.

--enable-tests: Bygger ekstra deler av koden for å støtte alle tester. Ikke bruk på en produksjonsbygning.

--enable-embedded-tests: Bygger ekstra deler av koden for kun å støtte enhetstester. Ikke bruk på en produksjonsbygning.

--enable-asserts: Gjør det mulig å kjøre feilsøkingskode påstander for utsagn som normalt antas å være sanne. Dette forhindrer advarsel om det '--enable-tests' 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.0-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.0 plattform.

Pakkeinformasjon

Fcron Avhengigheter

Valgfri

En MTA, text editor (standard er vi fra Vim-9.0.1677 pakken), Linux-PAM-1.5.3, 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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/GPM

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      &&
make

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

Parameterforklaringer

./autogen.sh: Denne kommandoen oppretter det manglende configure skriptet.

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-20230816 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.0 plattform.

Warning

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

LSB-Tools-0.10

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.0 plattform.

Pakkeinformasjon

Installasjon av LSB-Tools

Installer LSB-Tools ved å kjøre følgende kommandoer:

python3 setup.py build

Nå, som root bruker:

python3 setup.py install --optimize=1

Konfigurasjonsinformasjon

Konfigurasjonen for denne pakken ble gjort i LFS og Systemd. Filen/etc/lsb-release burde allerede eksistere. Pass på at DISTRIB_CODENAME oppføringen er riktig angitt.

Innhold

Installerte Programmer: lsb_release, install_initd, og remove_initd
Installert Bibliotek: Ingen
Installerte Mapper: /usr/lib/lsb og /usr/lib/python3.11/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

Introduksjon til 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.0 plattform.

Pakkeinformasjon

lm_sensors Avhengigheter

Påkrevd

Which-2.21

Valgfri

RRDtool (påkrevd for å bygge sensord programmet) og dmidecode (kjøretid)

Kjernekonfigurasjon

Følgende konfigurasjonsalternativer prøver å dekke de vanligste maskinvareovervåkingsenheter i et typisk stasjonært eller bærbart system. Se hjelpen til hver (ved å trykke på H knapp med alternativet fokusert i make menuconfig) å vite om du trenger det. Det er mye plattformspesifikk maskinvare overvåkingsenheter slik at det er umulig å liste opp konfigurasjonen for alle her. Du kan undersøke innholdet i /sys/class/hwmon innenfor en mainstream distro som kjører på systemet for å vite hvilken drivere du trenger.

Power management and ACPI options --->
  [*] ACPI (Advanced Configuration and Power Interface) Support --->      [ACPI]
    < /*/M> Battery                                               [ACPI_BATTERY]
    < /*/M> Thermal Zone                                          [ACPI_THERMAL]

Device Drivers --->
  NVME Support --->
    < /*> NVM Express block device                                [BLK_DEV_NVME]
    # Set [HWMON] to <*> (not <M>!) or it will not show up:
    [ /*] NVMe hardware monitoring                                  [NVME_HWMON]
  <*/M> Hardware Monitoring support --->                                 [HWMON]
    < /*/M> AMD Athlon64/FX or Opteron temperature sensor       [SENSORS_K8TEMP]
    < /*/M> AMD Family 10h+ temperature sensor                 [SENSORS_K10TEMP]
    < /*/M> AMD Family 15h processor power                [SENSORS_FAM15H_POWER]
    < /*/M> Intel Core/Core2/Atom temperature sensor          [SENSORS_CORETEMP]

Kompiler kjernen på nytt og start på nytt den nye kjernen.

Installasjon av Lm_sensors

Installer Lm_sensors ved å kjøre følgende kommandoer:

make PREFIX=/usr        \
     BUILD_STATIC_LIB=0 \
     MANDIR=/usr/share/man

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make PREFIX=/usr        \
     BUILD_STATIC_LIB=0 \
     MANDIR=/usr/share/man install &&

install -v -m755 -d /usr/share/doc/lm_sensors-3-6-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.

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, deretter beregner viftehastigheter fra temperaturer og stiller inn tilsvarende PWM utdata 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.21.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.0 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. En test mislykkes fordi den svært gamle compress ikke er tilstede og 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.30

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.0 plattform.

Pakkeinformasjon

MC Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

Doxygen-1.9.7, GPM-1.20.7, Graphviz-8.1.0, libssh2-1.11.0, PCRE-8.45, pcre2-10.42, Ruby-3.2.2, UnZip-6.0, 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-search-engine=pcre2: Bruk denne bryteren hvis du foretrekker å bruke pcre2-10.42 i stedet for GLib for den innebygde søkemotoren. Alternativt kan du passere 'pcre' i stedet for 'pcre2' hvis du foretrekker å bruke PCRE-8.45.

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. Se mc(1) man siden 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.0 plattform.

Pakkeinformasjon

ModemManager Avhengigheter

Påkrevd

libgudev-238

Anbefalt
Valgfri

GTK-Doc-1.33.2

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.0 plattform.

Pakkeinformasjon

Notification Daemon Avhengigheter

Påkrevd

GTK+-3.24.38 og libcanberra-0.30 (Bygget med GTK+-3.24.38 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.8.2.

Innhold

Installert Program: Ingen
Installert Bibliotek: Ingen
Installert Mappe: Ingen

p7zip-17.04

Introduksjon til p7zip

p7zip er Unix kommandolinjeporten til 7-Zip, 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.0 plattform.

Pakkeinformasjon

p7zip Avhengigheter

Valgfri

wxWidgets

Installasjon av p7zip

Først, forhindre p7zip fra å installere komprimerte manualsider:

sed '/^gzip/d' -i install.sh

Neste, fiks et sikkerhetsproblem:

sed -i '160a if(_buffer == nullptr || _size == _pos) return E_FAIL;' CPP/7zip/Common/StreamObjects.cpp

Installer p7zip ved å kjøre følgende kommandoer:

make all3

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make DEST_HOME=/usr \
     DEST_MAN=/usr/share/man \
     DEST_SHARE_DOC=/usr/share/doc/p7zip-17.04 install

Note

Hvis du bruker DESTDIR teknikker, bruk DEST_DIR i stedet.

Innhold

Installerte Programmer: 7z, 7za, og 7zr
Installerte Biblioteker: Ingen
Installert Mappe: /usr/lib/p7zip and /usr/share/doc/p7zip-17.04

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

Pax-20201030

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.0 plattform.

Pakkeinformasjon

Installasjon av Pax

Installer pax ved å kjøre følgende kommandoer:.

Note

Denne pakken utvides til mappen pax.

bash Build.sh

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

Note

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.10.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.0 plattform.

Pakkeinformasjon

pciutils Avhengigheter

Anbefalt

Installasjon av PCI Utils

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

Parameterforklaringer

SHARED=yes: Denne parameteren aktiverer bygging av det delte biblioteket i stedet for det statiske.

ZLIB=no: Dette alternativet forhindrer komprimering av pci.ids filen.

Konfigurere PCI Utils

pci.ids datafilen blir stadig oppdatert. For å få en gjeldende versjon av denne filen, kjør update-pciids som root bruker. Dette programmet krever Which-2.21 skript eller program for å finne cURL-8.2.1, Lynx-2.8.9rel.1, eller Wget-1.21.4 som blir brukt til å laste ned den nyeste filen, og erstatte den eksisterende filen i /usr/share/hwdata.

Du bør oppdatere /usr/share/hwdata/pci.ids filen med jevne mellomrom. Utfør følgende kommandoer, som root bruker, for å lage en systemd timer for å oppdatere den ukentlig på søndager klokken 02.30 (lokal tid):

cat > /usr/lib/systemd/system/update-pciids.service << "EOF" &&
[Unit]
Description=Update pci.ids file
Documentation=man:update-pciids(8)
DefaultDependencies=no
After=local-fs.target network-online.target
Before=shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/update-pciids
EOF
cat > /usr/lib/systemd/system/update-pciids.timer << "EOF" &&
[Unit]
Description=Update pci.ids file weekly

[Timer]
OnCalendar=Sun 02:30:00
Persistent=true

[Install]
WantedBy=timers.target
EOF
systemctl enable update-pciids.timer

Innhold

Installerte Programmer: lspci, setpci, og update-pciids
Installert Bibliotek: libpci.so
Installerte Mapper: /usr/include/pci og /usr/share/hwdata

Korte Beskrivelser

lspci

er et verktøy for å vise informasjon om alle PCI busser i systemet og alle enheter som er koblet til dem

setpci

er et verktøy for spørring og konfigurering av PCI enheter

update-pciids

henter gjeldende versjon av PCI ID listen.

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.

Note

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Power Management Utilities Avhengigheter

Valgfri

xmlto-0.0.28 (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.28 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) man siden 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)

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.0 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.2.1 og libxslt-1.1.38

Valgfri

GTK-Doc-1.33.2, ICU-73.2 og libyajl

Installasjon av Raptor

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-73.2 og ønsker å bygge Raptor med dens støtte.

Innhold

Installerte Programmer: rapper
Installerte Biblioteker: libraptor2.so
Installerte Mapper: /usr/include/raptor2 og /usr/share/gtk-doc/html/raptor2

Korte Beskrivelser

rapper

er et RDF parsing- og serialiseringsverktøy

libraptor2.so

inneholder Raptor API funksjoner

Rasqal-0.9.33

Introduksjon til Rasqal

Rasqal er et C bibliotek som håndterer Resource Description Framework (RDF) spørringsspråksyntakser, spørringskonstruksjon og utførelse av spørringer som returnerer resultater som bindinger, boolske, RDF-grafer/tripler eller syntakser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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

PCRE-8.45 og libgcrypt-1.10.2

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.0 plattform.

Pakkeinformasjon

Redland Avhengigheter

Påkrevd

Rasqal-0.9.33

Valgfri

Berkeley DB-5.3.28, libiodbc-3.52.15, SQLite-3.42.0, MariaDB-10.11.4 eller MySQL, PostgreSQL-15.4, 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.0 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

Sysstat-12.7.2

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.0 plattform.

Pakkeinformasjon

Sysstat Avhengigheter

Installasjon av Sysstat

Installer Sysstat ved å kjøre følgende kommandoer:

sa_lib_dir=/usr/lib/sa    \
sa_dir=/var/log/sa        \
conf_dir=/etc/sysconfig   \
./configure --prefix=/usr \
            --disable-file-attr &&
make

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make install

Installer systemd enheten 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-summary.service /usr/lib/systemd/system/sysstat-summary.service &&
install -v -m644 cron/sysstat-summary.timer /usr/lib/systemd/system/sysstat-summary.timer

Fiks systemd enheten 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.

Note

Kjør ./configure --help å se andre innflytelsesrike miljøvariabler du kan overføre til configure. Du vil kanskje bruke history og compressafter variabler for å tilpasse mengden data filer lagrer på systemet.

Konfigurere Sysstat

Konfigurasjonsfiler

/etc/sysconfig/sysstat og /etc/sysconfig/sysstat.ioconf

Cron Informasjon

For å begynne å samle Sysstat historieinformasjon, må du legge til eller opprette en privilegert brukers crontab. Historiedataplasseringen er /var/log/sa. Brukeren som kjører Sysstat verktøy via cron må ha skrivetilgang til dette stedet.

Nedenfor er et eksempel på hva som skal installeres i crontab. Juster parametere som passer dine behov. Bruk man sa1 og man sa2 for informasjon om kommandoene.

# 8am-7pm activity reports every 10 minutes during weekdays
0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &

# 7pm-8am activity reports every hour during weekdays
0 19-7 * * 1-5 /usr/lib/sa/sa1 &

# Activity reports every hour on Saturday and Sunday
0 * * * 0,6 /usr/lib/sa/sa1 &

# Daily summary prepared at 19:05
5 19 * * * /usr/lib/sa/sa2 -A &

Sørg for at du sender inn den reviderte crontaben til cron nissen.

Informasjon om systemoppstart

Ved systemoppstart, en LINUX RESTART melding må bli satt inn i den daglige datafilen 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

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.2 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-254

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.0 plattform.

Pakkeinformasjon

systemd Avhengigheter

Anbefalt

Note

Linux-PAM-1.5.3 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.5.3 er nødvendig for dem. Alle pakker i BLFS boken med en avhengighet av systemd forventer at den er bygget med Linux-PAM-1.5.3.

Valgfri

btrfs-progs-6.3.3, cURL-8.2.1, cryptsetup-2.4.3, git-2.41.0, GnuTLS-3.8.1, iptables-1.8.9, libgcrypt-1.10.2, libidn2-2.3.4, libpwquality-1.4.5, libseccomp-2.5.4, libxkbcommon-1.5.0, make-ca-1.12, p11-kit-0.25.0, pcre2-10.42, qemu-8.1.0, qrencode-4.1.1, rsync-3.2.7, sphinx-7.1.2, Valgrind-3.21.0, zsh-5.9 (for zsh fullføringer), AppArmor, audit-userspace, bash-completion, jekyll, kexec-tools, libbpf, libdw, libfido2, libmicrohttpd, lz4, 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.38, og lxml-4.9.3 (å bygge indeksen over systemd manualsidene)

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     \
      -Ddefault-dnssec=no     \
      -Dfirstboot=false       \
      -Dinstall-tests=false   \
      -Dldconfig=false        \
      -Dman=auto              \
      -Dsysusers=false        \
      -Drpmmacrosdir=no       \
      -Dhomed=false           \
      -Duserdb=false          \
      -Dmode=release          \
      -Dpam=true              \
      -Dpamconfdir=/etc/pam.d \
      -Ddev-kvm-mode=0660     \
      -Ddocdir=/usr/share/doc/systemd-254 &&

ninja

Note

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. Testene navngitt test-stat-util og test-netlink 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.

-Dpamconfdir=/etc/pam.d: Tvinger PAM filene til å installeres i /etc/pam.d i stedet for /usr/lib/pam.d.

-Duserdb=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.

-Dhomed=false: 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.4.3 og libpwquality-1.4.5 installert, og endre deretter "false" til "true" i mesonkommandoen ovenfor.

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_unix.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

Warning

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.0-systemd/chapter08/systemd.html#contents-systemd.

Listet nedenfor er de nylig installerte programmene sammen med korte beskrivelser.

Installerte Programmer: homectl (valgfri), systemd-cryptenroll (hvis cryptsetup-2.4.3 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

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.0

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.0 plattform.

Pakkeinformasjon

UDisks Avhengigheter

Påkrevd

libatasmart-0.19, libblockdev-3.0.2, libgudev-238, libxslt-1.1.38, og Polkit-123

Anbefalt
Valgfri (Påkrevd hvis du bygger GNOME)

gobject-introspection-1.76.1

Valgfri

D-Bus Python-1.3.2 (for integrasjonstestene), GTK-Doc-1.33.2, LVM2-2.03.22, PyGObject-3.44.1 (for integrasjonstestene), exFAT, og libiscsi

Valgfrie kjøretidsavhengigheter

btrfs-progs-6.3.3, dosfstools-4.2, gptfdisk-1.0.9, mdadm-4.2, og xfsprogs-6.4.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.0.2 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-6.2.10

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.0 plattform.

Pakkeinformasjon

Installasjon av UnRar

Note

Denne pakken pakker ut tarballen til den uversjonerte mappen unrar og ikke den forventede mappen unrar-6.2.10.

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

UnZip-6.0

Introduksjon til UnZip

UnZip pakken inneholder ZIP utpakningsverktøy. Disse er nyttige for å pakke ut filer fra ZIP arkiver. ZIP arkiver opprettes med PKZIP eller Info-ZIP verktøy, primært i et DOS miljø.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Caution

Den forrige versjonen av UnZip pakken hadde noen lokalitetsproblemene. For øyeblikket er det ingen BLFS redaktører som er i stand til å teste disse lokalitetsproblemene. derfor lokalitetsrelatert informasjon er igjen på denne siden, men har ikke vært blitt testet. En mer generell diskusjon om disse problemene finnes i Program Forutsetter Koding delen av Lokale Relaterte Problemer siden.

Pakkeinformasjon

Ytterligere Nedlastinger

UnZip Lokalitetsproblemer

Note

Bruk av UnZip i JDK, Mozilla, DocBook eller en hvilken som helst annen BLFS pakkeinstallasjon er ikke et problem, siden BLFS instruksjoner aldri bruker UnZip for å pakke ut en fil med ikke-ASCII tegn i filnavnet.

Disse problemene antas å være løst i oppdateringen. Men siden ingen av redaktørene har data for å teste dette, er følgende løsninger beholdt i tilfelle de fortsatt kan være nødvendige.

UnZip pakken antar at filnavn lagret i ZIP arkivene som er opprettet på ikke-Unix-systemer, er kodet i CP850, og at de skal konverteres til ISO-8859-1 ved skriving av filer til filsystemet. Slike forutsetninger er ikke alltid gyldige. Faktisk, inne i ZIP arkivet er filnavn kodet i DOS kodesiden som er i bruk i det aktuelle landet, og filnavnene på disken skal være i lokalitetskodingen. I MS Windows, OemToChar() C-funksjonen (fra User32.DLL) gjør den riktige konverteringen (som er faktisk konverteringen fra CP850 til et supersett av ISO-8859-1 hvis MS Windows er satt opp til å bruke amerikansk engelsk språk), men det er ingen tilsvarende i Linux.

Når det brukes unzip for å pakke ut et ZIP arkiv som inneholder ikke-ASCII filnavn, er filnavnene skadet fordi unzip bruker feil konvertering når noen av disse kodingsforutsetninger er feil. For eksempel i ru_RU.KOI8-R locale, kreves konvertering av filnavn fra CP866 til KOI8-R, men konvertering fra CP850 til ISO-8859-1 er utført, noe som produserer filnavn som består av utydelige tegn i stedet for ord (den nærmeste tilsvarende forståelig eksempel for brukere som bare bruker engelsk er rot13). Det er flere måter rundt denne begrensningen:

1) For utpakking av ZIP arkiver med filnavn som inneholder ikke-ASCII tegn, bruk WinZip mens det kjøres Wine Windows emulator.

2) Bruk bsdtar -xf fra libarchive-3.7.1 to unpack the ZIP archive. Deretter fiks skaden på filnavnene ved hjelp av convmv verktøyet (https://j3e.de/linux/convmv/). Følgende er et eksempel for lokaliteten zh_CN.UTF-8:

convmv -f cp936 -t utf-8 -r --nosmart --notest \
    </path/to/unzipped/files>

Installasjon av UnZip

Først anvend oppdateringen:

patch -Np1 -i ../unzip-6.0-consolidated_fixes-1.patch

Nå kompiler pakken:

make -f unix/Makefile generic

Testpakken fungerer ikke for målet generic.

Nå, som root bruker:

make prefix=/usr MANDIR=/usr/share/man/man1 \
 -f unix/Makefile install

Parameterforklaringer

make -f unix/Makefile generic: Dette målet begynner med å kjøre et konfigureringsskript (i motsetning til eldre mål som linux og linux_noasm) som lager en flaggfil som deretter brukes i bygget. Dette sikrer at 32-bit x86 bygget mottar de riktige flaggene for å pakke ut filer som er større enn 2 GB når den pakkes ut.

Innhold

Installerte Programmer: funzip, unzip, unzipfsx, zipgrep, og zipinfo
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

funzip

tillater utdata fra unzip kommandoer å bli omdirigert

unzip

lister, tester eller pakker ut filer fra et ZIP arkiv

unzipfsx

er en selvutpakkende stub som kan settes foran et ZIP arkiv. Filer i dette formatet tillater mottakeren for å pakke ut arkivet uten å installere UnZip

zipgrep

søker etter filer i et ZIP arkiv for linjer som samsvarer med et mønster

zipinfo

produserer teknisk informasjon om filene i et ZIP arkiv, inkludert filtilgangstillatelser, krypteringsstatus, type komprimering osv

UPower-1.90.2

Introduksjon til UPower

UPower pakken gir et grensesnitt for å telle strømenheter, lytte til enhetshendelser og spørrehistorikk 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.0 plattform.

Pakkeinformasjon

UPower Avhengigheter

Påkrevd

libgudev-238 og libusb-1.0.26

Valgfri (Påkrevd hvis du bygger GNOME)

gobject-introspection-1.76.1

Valgfri

GTK-Doc-1.33.2, libxslt-1.1.38, docbook-xsl-nons-1.79.2, PyGObject-3.44.1, dbusmock-0.29.1, umockdev-0.17.18 (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

Fjern først en unødvendig avhengighet fra en test:

sed '/parse_version/d' -i src/linux/integration-test.py

Installer UPower ved å kjøre følgende kommandoer:

mkdir build                         &&
cd    build                         &&
meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Dgtk-doc=false     \
      -Dman=false         &&
ninja

For å teste resultatene, utsted: LC_ALL=C ninja test. Noen sjekker kan kanskje ikke bestå på grunn av manglende filer. Testpakken skal kjøres fra en lokal GUI økt startet med dbus-launch. 2 tester knyttet til hodetelefon hotplug funksjonen er kjent for å mislykkes, disse kan trygt ignoreres siden hodetelefonfunksjonaliteten fortsatt fungerer.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dgtk-doc=false: Hindrer byggingen av dokumentasjonen. Fjern denne hvis du har GTK-Doc installert og ønsker å bygge dokumentasjonen.

-Dman=false: Hindrer byggingen av manualsider. Fjern denne hvis du har libxslt-1.1.38 og docbook-xsl-nons-1.79.2 installert og ønsker å bygge manualsider.

Konfigurere UPower

Systemd Enhet

For å starte UPower servicen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable upower

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-015

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.0 plattform.

Pakkeinformasjon

USB Utils Avhengigheter

Påkrevd

libusb-1.0.26

Anbefalt

Installasjon av USB Utils

Installer USB Utils ved å kjøre følgende kommandoer:

autoreconf -fiv &&

./configure --prefix=/usr --datadir=/usr/share/hwdata &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

For å installere usb.ids datafilen, ved hjelp av Wget-1.21.4, kjør, som root bruker:

install -dm755 /usr/share/hwdata/ &&
wget http://www.linux-usb.org/usb.ids -O /usr/share/hwdata/usb.ids

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.

Konfigurere USB Utils

Du bør oppdatere /usr/share/hwdata/usb.ids filen jevnlig. Kjør følgende kommandoer, som root bruker, for å opprette en systemd timer for å oppdatere det ukentlig på søndager klokken 02.30 (lokal tid):

cat > /usr/lib/systemd/system/update-usbids.service << "EOF" &&
[Unit]
Description=Update usb.ids file
Documentation=man:lsusb(8)
DefaultDependencies=no
After=local-fs.target network-online.target
Before=shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/wget http://www.linux-usb.org/usb.ids -O /usr/share/hwdata/usb.ids
EOF
cat > /usr/lib/systemd/system/update-usbids.timer << "EOF" &&
[Unit]
Description=Update usb.ids file weekly

[Timer]
OnCalendar=Sun 03:00:00
Persistent=true

[Install]
WantedBy=timers.target
EOF
systemctl enable update-usbids.timer

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.21 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.0 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.

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.0 plattform.

Pakkeinformasjon

Installasjon av Zip

Installer Zip ved å kjøre følgende kommandoer:

make -f unix/Makefile generic_gcc

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make prefix=/usr MANDIR=/usr/share/man/man1 -f unix/Makefile install

Parameterforklaringer

make prefix=/usr -f unix/Makefile install: Dette kommandoen overstyrer prefix variabel som er satt til /usr/local i unix/Makefile. Alternativer til generic_gcc kan sees med en make -f unix/Makefile list kommandoen.

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

Chapter 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.

Autoconf2.13

Introduksjon til Autoconf2.13

Autoconf2.13 er en gammel versjon av Autoconf . Denne gamle versjonen godtar brytere som ikke er gyldige i nyere versjoner og Mozilla applikasjoner trenger fortsatt disse bryterne nå, så de krever denne gamle versjonen for å regenerer konfigureringsskriptene. I motsetning til andre Mozilla applikasjoner, SeaMonkey slipper tarballer som ikke inneholder de forhåndsgenererte konfigureringsskriptene, så denne gamle versjon er nødvendig selv om konfigureringsfilene ikke er endret.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av Autoconf2.13

Installer Autoconf ved å kjøre følgende kommandoer:

patch -Np1 -i ../autoconf-2.13-consolidated_fixes-1.patch &&
mv -v autoconf.texi autoconf213.texi                      &&
rm -v autoconf.info                                       &&
./configure --prefix=/usr --program-suffix=2.13           &&
make

For å teste installasjonen kjør make check (alle 253 tester skal bestå).

Nå, som root bruker:

make install                                      &&
install -v -m644 autoconf213.info /usr/share/info &&
install-info --info-dir=/usr/share/info autoconf213.info

Parameterforklaringer

mv -v autoconf.texi autoconf213.texi: sørg for at infofilen lagt til av denne pakken vil ikke overskrive den nyere versjonen.

rm -v autoconf.info: sørg for at infofilen blir opprettet av den gjeldende versjonen av texinfo.

--program-suffix=2.13: sørg at de installerte programmene har versjonen lagt til navnene deres, slik at bare et skript som spesifikt ser etter disse gamle versjonene vil finne dem.

install -v -m644 ...: oppdateringen fjerner install-info fra Makefile fordi det ville installere (og om nødvendig gjenskape) standards.info som er en gammel versjon, så nå autoconf213.info må installeres manuelt.

Innhold

Installerte Programmer: autoconf2.13, autoheader2.13, autoreconf2.13, autoscan2.13, autoupdate2.13, og ifnames2.13
Installert Bibliotek: Ingen
Installert Mappe: /usr/share/autoconf-2.13

Korte Beskrivelser

autoconf2.13

Produserer skallskript som automatisk konfigurerer programvarekildens kodepakker for å tilpasse seg mange typer Unix lignende systemer

autoheader2.13

er et verktøy for å lage malfiler av C #define deklarasjoner for configure å bruke

autoreconf2.13

Dette kjører automatisk autoconf2.13, autoheader2.13, aclocal, automake, gettextize og libtoolize i riktig rekkefølge når endringer har blitt gjort i autoconf eller automake malfiler

autoscan2.13

Kan brukes som et foreløpig trinn for å lage en configure.in fil

autoupdate2.13

Modifiserer en configure.in fil som fortsatt anroper autoconf makroer ved sine gamle navn til å bruke gjeldende makronavn

ifnames2.13

Skriver ut identifikatorene som pakken bruker i C forbehandler betingelser [Hvis en pakke allerede er satt opp for å ha noe portabilitet, kan dette programmet hjelpe med å finne ut hva som configure må se etter. Den kan også fylle ut hull i en configure.in fil som er generert ved autoskanning]

Cbindgen-0.24.3

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.0 plattform.

Pakkeinformasjon

cbindgen Avhengigheter

Påkrevd

rustc-1.71.1

Note

En Internett tilkobling er nødvendig for å bygge denne pakken.

Installasjon av cbindgen

Installer cbindgen ved å kjøre følgende kommandoer:

cargo build --release

For å teste resultatene, kjør: cargo test. Tre tester i den endelige pakken er kjent for å mislykkes.

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Clisp Avhengigheter

Anbefalt
Valgfri

libnsl-2.0.0 og libffcall

Installasjon av Clisp

Note

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 16384 &&
make -j1

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

ulimit -s 16384: dette øker den maksimale stabelstørrelsen. som anbefalt av configure.

--docdir=/usr/share/doc/clisp-2.49: dette sikrer at html dokumentasjonen vil gå inn i en versjonert mappe i stedet for rett inn /usr/share/html/.

--with-libsigsegv-prefix=/usr: bruk dette til å fortelle configure at du har installert libsigsegv i /usr, ellers blir det ikke funnet.

--with-libffcall-prefix=/usr: bruk dette til å fortelle configure at du har installert valgfrie libffcall i /usr, ellers som libsigsegv blir det ikke funnet.

Innhold

Installerte Programmer: clisp, 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 /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.27.2

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://cmake.org/files/v3.27/cmake-3.27.2.tar.gz

  • Nedlasting MD5 sum: 07786cd23c3d0aa9c2fef69efb13662b

  • Nedlastingsstørrelse: 10 MB

  • Estimert diskplass som kreves: 424 MB (legg til 1.2 GB for tester)

  • Estimert byggetid: 2.0 SBU (legg til 3.2 SBU for tester, begge bruker parallellisme=4)

CMake Avhengigheter

Anbefalt
Valgfri

GCC-13.2.0 (for gfortran), git-2.41.0 (for bruk under tester), Mercurial-6.5.1 (for bruk under tester), (Qt-5.15.10 eller qt-alternate-5.15.10) (for Qt basert GUI), sphinx-7.1.2 (for byggedokumenter), Subversion-1.14.2 (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.27.2 &&
make

For å teste resultatene, kjør: LC_ALL=en_US.UTF-8 bin/ctest -j<N> -O cmake-3.27.2-test.log, hvor <N> er et heltall mellom 1 og antall systemkjerner. Innstilling LC_ALL er nødvendig for å forhindre noen testfeil når noen av lokalitetsvariablene er satt til ikke-engelsk språk.

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 å lenke mot Zlib, Bzip2, cURL, nghttp2, Expat og libarchive installert på systemet.

--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.

Innhold

Installerte Programmer: ccmake, cmake, cmake-gui (valgfri), cpack, og ctest
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/cmake-3.27 og /usr/share/doc/cmake-3.27.2

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.9.7

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://doxygen.nl/files/doxygen-1.9.7.src.tar.gz

  • Nedlasting MD5 sum: 95008edf2d84aeefb7c65a6a4857dc2c

  • Nedlastingsstørrelse: 5.5 MB

  • Estimert diskplass som kreves: 240 MB (med tester)

  • Estimert byggetid: 1.6 SBU (bruker parallellisme=4; med tester)

Doxygen Avhengigheter

Påkrevd

CMake-3.27.2 og git-2.41.0

Valgfri

Graphviz-8.1.0, ghostscript-10.01.2, libxml2-2.10.4 (påkrevd for testene), LLVM-16.0.5 (med clang), (Qt-5.15.10 eller qt-alternate-5.15.10) (for doxywizard), texlive-20230313 (eller install-tl-unx), xapian-1.4.23 (for doxyindexer), og javacc

Installasjon av Doxygen

Note

Når du untarrer denne pakken, kan du se meldinger som f.eks Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.TextEncoding'. Disse meldingene er ufarlige og kan trygt ignoreres.

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"         \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -Wno-dev .. &&

make

For å teste resultatene, kjør: make tests. En test, 061_U?nicod?_file, er kjent for å mislykkes.

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 -DDOC_INSTALL_DIR=share/doc/doxygen-1.9.7 -Dbuild_doc=ON .. &&

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

-Dbuild_wizard=ON: Bruk denne bryteren hvis Qt5 er installert og du ønsker å bygge GUI grenseflaten.

-Dbuild_search=ON: Bruk denne bryteren hvis xapian er installert og du ønsker å bygge eksterne søkeverktøy (doxysearch.cgi og doxyindexer).

-Duse_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 å bruke språkoversettelsesfunksjonene må du ha Python-2.7.18 installert. Hvis du trenger formler for å lage PDF dokumentasjon, så må du ha texlive-20230313 installert. Hvis du trenger formler for å konvertere PostScript filer til punktgrafikk, da du må ha ghostscript-10.01.2 installert.

Innhold

Installerte Programmer: doxygen og valgfritt, doxywizard, doxyindexer og doxysearch.cgi
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/doxygen-1.9.7

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

GCC-13.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.

Note

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.0 plattform.

Caution

Hvis du oppgraderer GCC fra en versjon før 13.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. Som alltid, aldri oppdater kjernens deklarasjoner fra de som brukes når Glibc var kompilert under LFS.

Pakkeinformasjon

GCC Avhengigheter

Valgfri

GDB-13.2, Valgrind-3.21.0 (for tester), og ISL (for å aktivere grafittoptimalisering)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/gcc

Installasjon av GCC

Important

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.0-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  \
    --disable-fixincludes \
    --enable-languages=c,c++,fortran,go,objc,obj-c++,m2 &&
make

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-13.2.0 oppstår omtrent 65 FAIL i guality pakken, samt diverse feil gjennom resten av testpakken. Hvis alle kompilatorene ovenfor er bygget, vil det være litt over 80 uventede feil av over 546 000 tester. For å kjøre testene, utsted:

ulimit -s 32768 &&
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/13.2.0/include{,-fixed}

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-languages=c,c++,fortran,go,objc,obj-c++,m2: 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.

ulimit -s 32768: Denne kommandoen forhindrer flere tester fra å gå tom for stabelplass.

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.4

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.0 plattform.

Pakkeinformasjon

Valgfri

libatomic_ops-7.8.0

Installasjon av GC

Installer GC ved å kjøre følgende kommandoer:

./configure --prefix=/usr      \
            --enable-cplusplus \
            --disable-static   \
            --docdir=/usr/share/doc/gc-8.2.4 &&
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.4: 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.4

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-13.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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/gdb/gdb-13.2.tar.xz

  • Nedlasting (FTP): ftp://ftp.gnu.org/gnu/gdb/gdb-13.2.tar.xz

  • Nedlasting MD5 sum: fbd3cdae16c581e8a742cb766ba35076

  • Nedlastingsstørrelse: 23 MB

  • Estimert diskplass som kreves: 914 MB (legg til 805 MB for dokumenter; legg til 575 MB for tester)

  • Estimert byggetid: 2.1 SBU (legg til 0,4 SBU for dokumenter; legg til 18 SBU for tester; alle bruker parallellisme=4)

GDB Avhengigheter

Anbefalt kjøretidsavhengighet
Valgfri

Doxygen-1.9.7, GCC-13.2.0 (ada, gfortran, og go er brukt for tester), Guile-3.0.9, rustc-1.71.1 (brukt for noen tester), Valgrind-3.21.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.9.7, kjør:

make -C gdb/doc doxy

For å teste resultatene, kjør:

pushd gdb/testsuite &&
make  site.exp      &&
echo  "set gdb_test_timeout 120" >> site.exp &&
runtest
popd

Se gdb/testsuite/README og TestingGDB. Det er mange 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 avhenger av installerte kompilatorer.

  • En testkjøring av testpakken hadde 183 uventede feil av over 105 000 tester.

  • På noen systemer vil gdb.tui testpakken mislykkes hvis den kjører over SSH.

  • På noen AMD baserte systemer, over 200 ekstra tester kan mislykkes på grunn av en forskjell i trådimplementeringen på disse CPUene.

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-13.2 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-13.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, and gdb-add-index
Installert Bibliotek: libinproctrace.so
Installerte Mapper: /usr/{include,share}/gdb and /usr/share/doc/gdb-13.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.

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.41.0

Introduksjon til Git

Git er en gratis og åpen kildekode, distribuert versjonskontrollsystem designet for å håndtere alt fra små til veldig store prosjekter med fart og effektivitet. Hver Git clone er et fullverdig depot med fullstendig historikk og full revisjonssporing, ikke avhengig av nettverkstilgang eller en sentral server. Forgrening og sammenslåing går raskt og er lett å gjøre. Git brukes til versjonskontroll av filer, omtrent som verktøy som f.eks Mercurial-6.5.1, Bazaar, Subversion-1.14.2, CVS, Perforce, og Team Foundation Server.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.kernel.org/pub/software/scm/git/git-2.41.0.tar.xz

  • Nedlasting MD5 sum: c1f58a12b891ad73927b8e4a3aa29c7b

  • Nedlastingsstørrelse: 11 MB

  • Estimert diskplass som kreves: 252 MB (med nedlastet dokumentasjon)

  • Estimert byggetid: 0.3 SBU (med parallellitet=4; legge opp til 1,6 SBU (diskhastighetsavhengig) for tester, begge med parallellitet=4)

Ytterligere Nedlastinger

Git Avhengigheter

Anbefalt
Valgfri

Apache-2.4.57 (for noen tester), GnuPG-2.4.3 (kjøretid, kan brukes til å signere Git utførelser eller tagger, eller verifisere signaturene av dem), OpenSSH-9.4p1 (kjøretid, nødvendig for å bruke Git over ssh), pcre2-10.42 (eller den avviklede PCRE-8.45), i begge tilfeller konfigurert med --enable-jit, Subversion-1.14.2 med Perl bindinger (kjøretid, for git svn), Tk-8.6.13 (gitk, en enkel Git arkivvisningsprogram, bruker Tk ved kjøretid), Valgrind-3.21.0, Authen::SASL og MIME::Base64 (begge kjøretid, for git send-email), og IO-Socket-SSL-2.083 (kjøretid, for git send-email for å koble til en SMTP server med SSL kryptering)

Valgfri (for å lage mansidene, html dokumenter og andre dokumenter)

xmlto-0.0.28 og asciidoc-10.2.0 , 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.0 kan du lage html versjonen av mansidene og andre dokumenter:

make html

Hvis du har installert asciidoc-10.2.0 og xmlto-0.0.28 kan du lage mansidene:

make man

Testpakken kan kjøres i parallell modus. For å kjøre testpakken, kjør: make -k test. Hvis Apache-2.4.57 er installert, tre tester i t5559-http-fetch-smart-http2.sh er kjent å mislykkes pga cURL-8.1.x.

Nå, som root bruker:

make perllibdir=/usr/lib/perl5/5.38/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.41.0 install-html

Hvis du lastet ned mansidene og/eller html dokumentene

Hvis du lastet ned mansidene, untar dem som root bruker:

tar -xf ../git-manpages-2.41.0.tar.xz \
    -C /usr/share/man --no-same-owner --no-overwrite-dir

Hvis du lastet ned html dokumentene, untar dem som root user:

mkdir -vp   /usr/share/doc/git-2.41.0 &&
tar   -xf   ../git-htmldocs-2.41.0.tar.xz \
      -C    /usr/share/doc/git-2.41.0 --no-same-owner --no-overwrite-dir &&

find        /usr/share/doc/git-2.41.0 -type d -exec chmod 755 {} \; &&
find        /usr/share/doc/git-2.41.0 -type f -exec chmod 644 {} \;

Omorganiser tekst og html i html dokumentene (begge metodene)

For begge metodene inkluderer html dokumentene mange vanlige tekstfiler. Omorganiser filene som root bruker:

mkdir -vp /usr/share/doc/git-2.41.0/man-pages/{html,text}         &&
mv        /usr/share/doc/git-2.41.0/{git*.txt,man-pages/text}     &&
mv        /usr/share/doc/git-2.41.0/{git*.,index.,man-pages/}html &&

mkdir -vp /usr/share/doc/git-2.41.0/technical/{html,text}         &&
mv        /usr/share/doc/git-2.41.0/technical/{*.txt,text}        &&
mv        /usr/share/doc/git-2.41.0/technical/{*.,}html           &&

mkdir -vp /usr/share/doc/git-2.41.0/howto/{html,text}             &&
mv        /usr/share/doc/git-2.41.0/howto/{*.txt,text}            &&
mv        /usr/share/doc/git-2.41.0/howto/{*.,}html               &&

sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.41.0/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.41.0/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 og er bygget med ikke-standard JIT aktivert.

--with-libpcre1: Som et alternativ til PCRE2, bruk denne bryteren hvis den avviklede PCRE er installert og har blitt bygget med ikke-standard JIT aktivert.

tar -xf ../git-manpages-2.41.0.tar.gz -C /usr/share/man --no-same-owner: Dette untarer git-manpages-2.41.0.tar.gz. -C alternativet gjør at tar endrer mappe til /usr/share/man før den begynner å dekomprimere dokumentene. --no-same-owner alternativet stopper tar fra å bevare bruker- og gruppedetaljene til filer. Dette er nyttig siden brukeren eller gruppen kanskje ikke eksisterer på ditt system; dette kan (potensielt) være en sikkerhetsrisiko.

mv /usr/share/doc/git-2.41.0 ...: Disse kommandoene flytter noen av filene til undermapper for å gjøre det enklere å sortere gjennom dokumentene og finn det du leter etter.

find ... chmod ...: Disse kommandoene korrigerer tillatelser i tar-filen for den sendte dokumentasjonen.

Configuring Git

Konfigurasjonsfiler

~/.gitconfig og /etc/gitconfig

Innhold

Installerte Programmer: git, git-receive-pack, git-upload-archive, og git-upload-pack (hardlenket til hver annen), git-cvsserver, git-shell, gitk, og scalar
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/libexec/git-core, og /usr/share/{doc/git-2.41.0,git-core,git-gui,gitk,gitweb}

Korte Beskrivelser

git

er den dumme innholdssporeren

git-cvsserver

er en CVS serveremulator for Git

gitk

er en grafisk Git depotleser (trenger Tk-8.6.13)

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.41.0 og OpenSSH-9.4p1

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):

Note

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

Note

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:

Note

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

Note

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.

Note

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-20230816 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.9

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.0 plattform.

Pakkeinformasjon

Guile Avhengigheter

Påkrevd

GC-8.2.4 og libunistring-1.1

Valgfri

Emacs-29.1 og GDB-13.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.9 &&
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.9/{guile.html,ref} &&
mv /usr/share/doc/guile-3.0.9/r5rs{.html,}     &&

find examples -name "Makefile*" -delete         &&
cp -vR examples   /usr/share/doc/guile-3.0.9   &&

for DIRNAME in r5rs ref; do
  install -v -m644  doc/${DIRNAME}/*.txt \
                    /usr/share/doc/guile-3.0.9/${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.9 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

Librep-0.92.7

Introduksjon til Librep

librep pakken inneholder et Lisp system. Dette er nyttig for skripting eller for programmer som kan bruke Lisp tolken som utvidelsesspråk.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av Librep

Installer librep ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

sed -i '5043,5044 d' libtool &&
make install

Innhold

Installerte Programmer: rep, rep-remote, rep-xgettext, og repdoc
Installerte Biblioteker: librep.so og mange moduler installert i /usr/lib/rep hierarkiet
Installerte Mapper: /usr/lib/rep, /usr/share/emacs/site-lisp, og /usr/share/rep

Korte Beskrivelser

rep

er Lisp tolken

librep.so

inneholder funksjonene som er nødvendige for Lisp tolken

LLVM-16.0.5

Introduksjon til LLVM

LLVM pakken inneholder en samling av modulære og gjenbrukbare kompilator og verktøykjedet eknologier. 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.0 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.27.2

Valgfri

Doxygen-1.9.7, git-2.41.0, Graphviz-8.1.0, libxml2-2.10.4, Pygments-2.16.1, rsync-3.2.7 (for tester), recommonmark-0.7.1 (for å bygge dokumentasjonen), texlive-20230313 (eller install-tl-unx), Valgrind-3.21.0, PyYAML-6.0.1, Zip-3.0, OCaml, psutil (for tester), og Z3

Installasjon av LLVM

To ekstra tarballer llvm-cmake.src.tar.xz og llvm-third-party.src.tar.xz er nødvendig for LLVM byggesystemet. Oppstrøms forventer at de trekkes ut på samme nivå som llvm-16.0.5.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-16.0.5.src hierarkiet:

tar -xf ../llvm-cmake.src.tar.xz                                   &&
tar -xf ../llvm-third-party.src.tar.xz                             &&
sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@llvm-cmake.src@'          \
    -i CMakeLists.txt                                              &&
sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@llvm-third-party.src@' \
    -i cmake/modules/HandleLLVMOptions.cmake

Installer clang inn i kildetreet ved å kjøre følgende kommandoer:

tar -xf ../clang-16.0.5.src.tar.xz -C tools &&
mv tools/clang-16.0.5.src tools/clang

Hvis du har lastet ned compiler-rt, installer den i kildetreet ved å kjøre følgende kommandoer:

tar -xf ../compiler-rt-16.0.5.src.tar.xz -C projects &&
mv projects/compiler-rt-16.0.5.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.11.4. Bruk følgende kommando for å fikse disse skriptene:

grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'

Hvis du har lastet ned clang, bruk følgende oppdatering for å aktivere SSP som standard i kompilerte programmer.

patch -Np2 -d tools/clang <../clang-16.0.5-enable_default_ssp-1.patch

Hvis du har lastet ned compiler-rt, fiks en testsak som er ødelagt som standard SSP i clang:

sed 's/clang_dfsan/& -fno-stack-protector/' \
    -i projects/compiler-rt/test/dfsan/origin_unaligned_memtrans.c

Installer LLVM ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

CC=gcc CXX=g++                                  \
cmake -DCMAKE_INSTALL_PREFIX=/usr               \
      -DLLVM_ENABLE_FFI=ON                      \
      -DCMAKE_BUILD_TYPE=Release                \
      -DLLVM_BUILD_LLVM_DYLIB=ON                \
      -DLLVM_LINK_LLVM_DYLIB=ON                 \
      -DLLVM_ENABLE_RTTI=ON                     \
      -DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \
      -DLLVM_BINUTILS_INCDIR=/usr/include       \
      -DLLVM_INCLUDE_BENCHMARKS=OFF             \
      -DCLANG_DEFAULT_PIE_ON_LINUX=ON           \
      -Wno-dev -G Ninja ..                      &&
ninja

Hvis du har installert recommonmark-0.7.1 og dets avhengigheter, kan du generere html dokumentasjonen og manualsider med følgende kommandoer:

cmake -DLLVM_BUILD_DOCS=ON            \
      -DLLVM_ENABLE_SPHINX=ON         \
      -DSPHINX_WARNINGS_AS_ERRORS=OFF \
      -Wno-dev -G Ninja ..            &&
ninja docs-llvm-html  docs-llvm-man

Clang dokumentasjonen kan også bygges:

ninja docs-clang-html docs-clang-man

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 Systemd-254 er ombygd med Linux-PAM-1.5.3 støtte og gjeldende påloggingsøkt er startet 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

Tester er bygget med alle tilgjengelige kjerner, men kjører med antall tilkoblete prosessorer. (Forskjellen er at tilgjengelig kjerner kan begrenses ved å bruke taskset, men å ta dem frakoblet krever ekko 0 til /sys/devices/system/cpu/cpu<N>/online av root bruker og gjør dem midlertidig ubrukelig av alle jobber på maskinen.) Én test navngitt Linux/clone_setns.cpp vil mislykkes hvis CONFIG_USER_NS ikke er aktivert i kjernekonfigurasjonen. The tests named AtoiAndFriendsOOBTest, StrtolOOBTest, StrtollOOBTest, interception_malloc_test.cpp, og scanf-allocate.cpp er kjent for å mislykkes med Glibc-2.38.

Nå, som root bruker:

ninja install &&
cp bin/FileCheck /usr/bin

Hvis du har bygget llvm dokumentasjonen, er den installert med kommandoen ovenfor, men den må flyttes. Som root bruker:

install -v -d -m755 /usr/share/doc/llvm-16.0.5            &&
mv -v /usr/share/doc/LLVM/llvm /usr/share/doc/llvm-16.0.5 &&
rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM

Hvis du har bygget clang dokumentasjonen, er den installert, men må flyttes også. Igjen som root bruker:

install -v -d -m755 /usr/share/doc/llvm-16.0.5             &&
mv -v /usr/share/doc/LLVM/clang /usr/share/doc/llvm-16.0.5 &&
rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM

Parameterforklaringer

-DLLVM_ENABLE_FFI=ON: Denne bryteren tillater LLVM å bruke libffi.

-DLLVM_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å.

-DCMAKE_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.

-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF": 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. BPF målet er nødvendig for å bygge v4l-utils-1.24.1. Standard er alle målene. Du kan bruke en semikolonseparert liste. Gyldige mål er: host, X86, Sparc, PowerPC, ARM, AArch64, Mips, Hexagon, Xcore, M68K, MSP430, NVPTX, SystemZ, AMDGPU, BPF, CppBackend eller alle.

-DLLVM_LINK_LLVM_DYLIB=ON: Brukes sammen med -DLLVM_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-16.so. riktig.

-DLLVM_ENABLE_RTTI=ON: Denne bryteren brukes til å bygge LLVM med informasjon om kjøretidstype. Dette er nødvendig for å bygge Mesa-23.1.6.

-DLLVM_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).

-DLLVM_INCLUDE_BENCHMARKS=OFF: brukes til å deaktivere generasjonsbyggmål for LLVM benchmarks. Dette alternativet krever tilleggskode som ikke er tilgjengelig for øyeblikket.

-DCLANG_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.

-DBUILD_SHARED_LIBS=ON: hvis brukt i stedet for -DLLVM_BUILD_LLVM_DYLIB=ON og -DLLVM_LINK_LLVM_DYLIB=ON, bygger alle LLVM biblioteker (ca. 60) som delte biblioteker i stedet for statiske.

-DLLVM_ENABLE_DOXYGEN: Gjør det mulig å generere søkbar HTML dokumentasjon hvis du har installert Doxygen-1.9.7. Du bør kjøre make doxygen-html etterpå, og installer den genererte dokumentasjonen manuelt.

Innhold

Installerte Programmer: amdgpu-arch, analyze-build, bugpoint, c-index-test, clang, clang++ (symlinks to clang-16), clang-16, clang-check, clang-cl, clang-cpp (to siste symbolkoblinger 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, 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-reduce, llvm-remark-size-diff, llvm-remarkutil, llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress, llvm-strings, llvm-strip (symbolkobling til llvm-objcopy), llvm-symbolizer, llvm-tapi-diff, 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, split-file, og verify-uselistorder
Installerte Biblioteker: libLLVM.so, libLLVM*.a (100 biblioteker), libLTO.so, libRemarks.so, libclang.so, libclang-cpp.so, libclang*.a (42 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 /usr/share/doc/llvm-16.0.5

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

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.41.0)

hmaptool

er et Python verktøy for å dumpe og konstruere deklarasjonskart

intercept-build

genererer en database med byggekommandoer for et prosjekt

llc

er LLVM statisk kompilator

lli

brukes til å kjøre programmer direkte fra LLVM bitkode

llvm-addr2line

er et verktøy som brukes til å konvertere adresser til filnavn og linjetall

llvm-ar

er LLVM arkiverer

llvm-as

er LLVM assembler

llvm-bcanalyzer

er LLVM bitkode analysator

llvm-bitcode-strip

fjerner LLVM bitkode fra et objekt

llvm-cat

er et verktøy for å sette sammen llvm moduler

llvm-cfi-verify

identifiserer om Control Flow Integrity beskytter alle indirekte kontrollflytinstruksjoner i den medfølgende objektfilen, DSO, eller binære

llvm-config

Printer LLVM kompileringsalternativer

llvm-cov

brukes til å sende ut dekningsinformasjon

llvm-c-test

er en bytecode disassembler

llvm-cvtres

er et verktøy for å konvertere Microsoft ressursfiler til COFF

llvm-cxxdump

brukes som en C++ ABI Data Dumper

llvm-cxxfilt

brukes til å demangle C++ symboler i llvm kode

llvm-cxxmap

brukes til å omforme C++ manglede symboler

llvm-debuginfo-analyzer

skriver ut en logisk representasjon av feilsøkingsinformasjon på lavt nivå

llvm-debuginfod

er en tjeneste som gir feilsøkingsinformasjon over en HTTP API for å analysere strippede binære filer

llvm-debuginfod-find

er et grensesnitt til llvm-debuginfod nissen for å finne debuginfod artefakter

llvm-diff

er LLVM strukturelle 'diff'

llvm-dis

er LLVM disassembler

llvm-dwarfdump

skriver ut innholdet av DWARF seksjoner i objektfiler

llvm-dwarfutil

er et verktøy for å kopiere og manipulere feilsøkingsinformasjon

llvm-dwp

slår sammen delte DWARF filer

llvm-elfabi

brukes til å lese informasjon om en ELF binærs ABI

llvm-exegesis

er et benchmarking verktøy som bruker informasjon tilgjengelig i LLVM til å måle vertsmaskininstruksjonskarakteristikker som latens eller portnedbrytning

llvm-extract

brukes til å trekke ut en funksjon fra en LLVM modul

llvm-gsymutil

brukes til å behandle GSYM Symbolication Format filer som konvertere minneadresser til funksjonsnavn og kildefillinje. Disse filene er mindre enn DWARF- eller Breakpad-filer

llvm-ifs

brukes til å slå sammen grensesnittstubs med objektfiler

llvm-install-name-tool

brukes til å omskrive lastekommandoer til MachO binært format

llvm-jitlink

brukes til å analysere flyttbare objektfiler for å lage innholdet kjørbar i en målprosess

llvm-libtool-darwin

gir grunnleggende libtool funksjonalitet på Darwin-baserte systemer. Dette er mest nyttig hvis du genererer binærfiler for macOS systemer

llvm-link

er LLVM linker

llvm-lipo

brukes til å lage universelle binærfiler fra MachO filer

llvm-lto

er LLVM LTO (link time optimization) linker

llvm-lto2

er en testpakke for det oppløsningsbaserte LTO grensesnittet

llvm-mc

er en frittstående maskinkode assembler/disassembler

llvm-mca

er et ytelsesanalyseverktøy for statisk å måle ytelsen til maskinkoden

llvm-ml

er en lekeplass for maskinkode levert av LLVM

llvm-modextract

er et verktøy for å trekke ut en modul fra flermodul bitkodefiler

llvm-mt

er et verktøy for å generere signerte filer og mapper fra en side-by-side monteringsmanifest (brukes for Microsoft SDK)

llvm-nm

brukes til å liste LLVM bitkode og objektfilens symboltabell

llvm-objcopy

er LLVMs versjon av et objektfil verktøy

llvm-objdump

er en LLVM objektfil dumper

llvm-opt-report

er et verktøy for å generere en optimaliseringsrapport fra YAML optimalisering opptaksfiler

llvm-pdbutil

er en PDB (Program Database) dumper. PDB er et Microsoft format

llvm-profdata

er et lite verktøy for å manipulere og skrive ut profildatafiler

llvm-profgen

genererer LLVM SPGO profileringsinformasjon

llvm-ranlib

brukes til å generere en indeks for et LLVM arkiv

llvm-rc

er et plattformuavhengig verktøy for å kompilere ressursskript inn i binære ressursfiler

llvm-readobj

viser formatspesifikk informasjon på lavt nivå om objektfiler

llvm-reduce

brukes til å automatisk redusere testtilfeller når du kjører en testpakke

llvm-remark-size-diff

rapporterer forskjellen i antall instruksjoner og stabelstørrelses merknader mellom to merknadsfiler

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

split-file

deler en inndatafil i flere deler atskilt med regulært uttrykk

verify-uselistorder

er LLVM verktøy for å bekrefte brukslistens rekkefølge

Lua-5.4.6

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.lua.org/ftp/lua-5.4.6.tar.gz

  • Nedlasting MD5 sum: 25a429319dff20dfbfb9956c2b5be911

  • Nedlastingsstørrelse: 356 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.6

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.6-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.6" \
     install &&

mkdir -pv                      /usr/share/doc/lua-5.4.6 &&
cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-5.4.6 &&

install -v -m644 -D lua.pc /usr/lib/pkgconfig/lua.pc

Her beskriver vi kun "Grunntestene". Untar tarballen og endre til lua-5.4.6-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.6

Korte Beskrivelser

lua

er den frittstående Lua tolken

luac

er Lua kompilatoren

liblua.so

inneholder Lua API funksjoner

Lua-5.2.4

Introduksjon til Lua 5.2

Lua er en kraftig lettvekts programmeringssprå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 gjør den ideell i innebygde systemer også.

Dette er en eldre versjon av Lua bare nødvendig for kompatibilitet med andre programmer som f.eks Wireshark-4.0.7 og VLC-3.0.18.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.lua.org/ftp/lua-5.2.4.tar.gz

  • Nedlasting MD5 sum: 913fdb32207046b273fdb17aad70be13

  • Nedlastingsstørrelse: 248 KB

  • Estimert diskplass som kreves: 3.6 MB

  • Estimert byggetid: mindre enn 0.1 SBU

Ytterligere Nedlastinger

Installasjon av Lua 5.2

Noen pakker sjekker for pkg-config filen for Lua, som er opprettet med:

cat > lua.pc << "EOF"
V=5.2
R=5.2.4

prefix=/usr
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include/lua5.2
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/lua5.2

Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua5.2 -lm -ldl
Cflags: -I${includedir}
EOF

Installer Lua ved å kjøre følgende kommandoer:

patch -Np1 -i ../lua-5.2.4-shared_library-1.patch &&

sed -i '/#define LUA_ROOT/s:/usr/local/:/usr/:' src/luaconf.h &&

sed -r -e '/^LUA_(SO|A|T)=/ s/lua/lua5.2/' \
       -e '/^LUAC_T=/ s/luac/luac5.2/'     \
       -i src/Makefile &&

make MYCFLAGS="-fPIC" linux

Installasjonen av denne pakken er kompleks, så vi vil bruke DESTDIR metoden for installasjon:

make TO_BIN='lua5.2 luac5.2'                     \
     TO_LIB="liblua5.2.so liblua5.2.so.5.2 liblua5.2.so.5.2.4" \
     INSTALL_DATA="cp -d"                        \
     INSTALL_TOP=$PWD/install/usr                \
     INSTALL_INC=$PWD/install/usr/include/lua5.2 \
     INSTALL_MAN=$PWD/install/usr/share/man/man1 \
     install &&

install -Dm644 lua.pc install/usr/lib/pkgconfig/lua52.pc &&

mkdir -pv install/usr/share/doc/lua-5.2.4 &&
cp -v doc/*.{html,css,gif,png} install/usr/share/doc/lua-5.2.4 &&

ln -s liblua5.2.so install/usr/lib/liblua.so.5.2   &&
ln -s liblua5.2.so install/usr/lib/liblua.so.5.2.4 &&

mv install/usr/share/man/man1/{lua.1,lua5.2.1} &&
mv install/usr/share/man/man1/{luac.1,luac5.2.1}

Nå, som root bruker:

chown -R root:root install  &&
cp -a install/* /

Parameterforklaringer

sed -i ... src/luaconf.h: Denne kommandoen endrer Lua søkebane for å matche installasjonsbanen.

sed -i ... src/Makefile: Denne kommandoen dekonflikter denne installasjonen med den nyeste versjonen av lua.

Innhold

Installerte Programmer: lua5.2 og luac5.2
Installert Bibliotek: liblua5.2.so
Installerte Mapper: /usr/include/lua5.2, /usr/lib/lua/5.2, /usr/share/doc/lua-5.2.4, og /usr/share/lua/5.2

Korte Beskrivelser

lua5.2

er den frittstående Lua versjon 5.2 tolken

luac5.2

er Lua versjon 5.2 kompilatoren

liblua5.2.so

inneholder Lua versjon 5.2 API funksjoner

Mercurial-6.5.1

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.mercurial-scm.org/release/mercurial-6.5.1.tar.gz

  • Nedlasting MD5 sum: fccff6981f362466b8e9e0fa0de0ddb6

  • Nedlastingsstørrelse: 7.9 MB

  • Estimert diskplass som kreves: 115 MB (med dokumenter, legg til 1.5 GB for tester)

  • Estimert byggetid: 0.3 SBU (med dokumenter, legg til 30 SBU for tester; begge bruker parallellisme=4)

Mercurial Avhengigheter

Valgfri

docutils-0.20.1 (nødvendig for å bygge dokumentasjonen), git-2.41.0, GPGME-1.21.0 (med Python bindinger), OpenSSH-9.4p1 (kjøretid, for å få tilgang ssh://... depoter), Pygments-2.16.1, rustc-1.71.1 (se rust/README.rst og rust/rhg/README.md), Subversion-1.14.2 (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.20.1), 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. Flere tester mislykkes fordi noen feilmeldinger har endret seg i Python eller noen avskrivningsadvarsler skrives ut som ikke var til stede da testen ble designet. For å undersøke eventuelle tilsynelatende mislykkede tester, kan du bruke run-tests.py skriptet. 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.12 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.11/site-packages/mercurial
Installerte Mapper: /etc/mercurial, /usr/lib/python3.11/site-packages/hgdemandimport, /usr/lib/python3.11/site-packages/hgext, /usr/lib/python3.11/site-packages/hgext3rd, /usr/lib/python3.11/site-packages/mercurial, og /usr/lib/python3.11/site-packages/mercurial-6.5.1-py3.11.egg-info

Korte Beskrivelser

hg

er Mercurial versjonskontrollsystemet

NASM-2.16.01

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

NASM Avhengigheter

Valgfri (for å generere dokumentasjon):

asciidoc-10.2.0 og xmlto-0.0.28

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/nasm

Installasjon av NASM

Hvis du lastet ned den valgfrie dokumentasjonen, legg den inn i kildetreet:

tar -xf ../nasm-2.16.01-xdoc.tar.xz --strip-components=1

Installer NASM ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du lastet ned den valgfrie dokumentasjonen, installer den med følge instruksjoner som root bruker:

install -m755 -d         /usr/share/doc/nasm-2.16.01/html  &&
cp -v doc/html/*.html    /usr/share/doc/nasm-2.16.01/html  &&
cp -v doc/*.{txt,ps,pdf} /usr/share/doc/nasm-2.16.01

Innhold

Installerte Programmer: nasm og ndisasm
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/nasm-2.16.01

Korte Beskrivelser

nasm

er en portabel 80x86 assembler

ndisasm

er en 80x86 binærfil disassembler

Patchelf-0.17.2

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.0 plattform.

Pakkeinformasjon

Installasjon av Patchelf

Installer patchelf ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --docdir=/usr/share/doc/patchelf-0.17.2 &&
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.

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.0 plattform.

Pakkeinformasjon
Archive::Zip Avhengigheter
Anbefalt (for testpakken)

UnZip-6.0 (med sin oppdatering)

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.0 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.008

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.0 plattform.

Pakkeinformasjon
Business::ISBN Avhengigheter
Påkrevd

Business-ISBN-Data-20230426.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.203

Introduksjon til Business::ISMN

Business::ISMN modulen er for arbeid med Internasjonale standard musikknumre (International Standard Music Number).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Business::ISMN Avhengigheter
Påkrevd

Tie-Cycle-1.227

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.005

Introduksjon til Business::ISSN

Business::ISSN modul er for arbeid med Internasjonale standard serienumre (International Standard Serial Numbers).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.0 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.0 plattform.

Pakkeinformasjon
Data::Compare Avhengigheter
Påkrevd

Clone-0.46, 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.0 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.0 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.0 plattform.

Pakkeinformasjon
DateTime::Calendar::Julian Avhengigheter
Påkrevd

DateTime-1.59

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 opprettet DateTime parserklasser og -objekter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.0 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.0 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.03

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.0 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::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.0 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.0 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.81

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.0 plattform.

Pakkeinformasjon
HTML::Parser Avhengigheter
Påkrevd

HTML-Tagset-3.20

Påkrevd (kjøretid)

HTTP-Message-6.44 (sin modul HTTP::Headers er 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.0 plattform.

Pakkeinformasjon
HTTP::Daemon Avhengigheter
Påkrevd

HTTP-Message-6.44

Note

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.083

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.0 plattform.

Pakkeinformasjon
IO::Socket::SSL Avhengigheter
Påkrevd

make-ca-1.12 og Net-SSLeay-1.92

Valgfri

Installasjon av IO::Socket::SSL

Denne modulen bruker en variant av standard bygging og installasjonbruksanvisning:

yes | perl Makefile.PL &&
make             &&
make test

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', dette lar 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.0 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.048

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.0 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

JSON-4.10

Introduksjon til JSON

JSON gir en enkel innpakning for JSON::XS kompatible moduler med noen tilleggsfunksjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av JSON

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.0 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.72)

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.0 plattform.

Pakkeinformasjon
libwww-perl Avhengigheter
Påkrevd

File-Listing-6.15, HTTP-CookieJar-0.014, HTTP-Cookies-6.10, HTTP-Daemon-6.16, HTTP-Negotiate-6.01, HTML-Parser-3.81, Net-HTTP-6.23, Try-Tiny-0.31 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.11.

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.0 plattform.

Pakkeinformasjon
List::AllUtils Avhengigheter
Påkrevd

List-SomeUtils-0.59, 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.0 plattform.

Pakkeinformasjon
List::MoreUtils Avhengigheter
Påkrevd

Exporter-Tiny-1.006000 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.0 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.11

Introduksjon til LWP::Protocol::https

LWP::Protocol::https gir https støtte for LWP::UserAgent (dvs. libwww-perl-6.72). 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.0 plattform.

Pakkeinformasjon
LWP::Protocol::https Avhengigheter
Påkrevd

IO-Socket-SSL-2.083, libwww-perl-6.72 og make-ca-1.12 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.4232

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.0 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.39

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.0 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.0 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.0 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.0 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-2017060201

Introduksjon til Regexp::Common

Regexp::Common gir vanlige etterspurte uttrykk.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.0 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.0 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.0 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.70

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.0 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.89

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.0 plattform.

Pakkeinformasjon
Text::BibTeX Avhengigheter
Påkrevd

Config-AutoConf-0.320, ExtUtils-LibBuilder-0.08

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, libparse, dumpnames
Installerte Biblioteker: libtparse.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.03

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.0 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.0 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.

Note

Dette er en kjernemodul. Hvis du bruker perl-5.28.0 eller senere, er versjonen god nok til biber-2.19 og du trenger ikke å installere denne modulen på nytt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.0 plattform.

Pakkeinformasjon
Unicode::LineBreak Avhengigheter
Påkrevd

MIME-Charset-1.013.1, også Wget-1.21.4 (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.17

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.0 plattform.

Pakkeinformasjon
URI Avhengigheter
Anbefalt (påkrevd for testpakken)
Valgfri

Business-ISBN-3.008

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.0 plattform.

Pakkeinformasjon
XML::LibXML::Simple Avhengigheter
Påkrevd

XML-LibXML-2.0208

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.002001

Introduksjon til XML::LibXSLT

XML-LibXSLT gir et grensesnitt til libxslt-1.1.38

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
XML::LibXSLT Avhengigheter
Påkrevd

libxslt-1.1.38, XML-LibXML-2.0208

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.0 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.0 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.14p3 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.

Note

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.0 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.77

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.0 plattform.

Pakkeinformasjon
Alien::Build Avhengigheter
Påkrevd

Capture-Tiny-0.48, 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.0 plattform.

Pakkeinformasjon
Alien::Build::Plugin::Download::GitLab Avhengigheter
Påkrevd

Alien-Build-2.77 og URI-5.17

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.10.4.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Alien::Libxml2 Avhengigheter
Påkrevd

Alien-Build-Plugin-Download-GitLab-0.01, libxml2-2.10.4, Path-Tiny-0.144

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.0 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.26

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.0 plattform.

Pakkeinformasjon
B::Hooks::EndOfScope Avhengigheter
Påkrevd

Module-Implementation-0.09, Sub-Exporter-Progressive-0.001013 og Variable-Magic-0.63

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-20230426.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.0 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.48

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.0 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.09

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.0 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.0 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.0 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.0 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.46

Introduksjon til Clone

Clone kopierer perl datatyper rekursivt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.0 plattform.

Pakkeinformasjon
Config::AutoConf Avhengigheter
Påkrevd

Capture-Tiny-0.48, 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.017

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.0 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.59

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.0 plattform.

Pakkeinformasjon
DateTime Avhengigheter
Påkrevd

DateTime-Locale-1.37, DateTime-TimeZone-2.57

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.0 plattform.

Pakkeinformasjon
DateTime::Format::Strptime Avhengigheter
Påkrevd

DateTime-1.59

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.37

Introduksjon til DateTime::Locale

DateTime::Locale gir lokaliseringsstøtte for DateTime-1.59.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
DateTime::Locale Avhengigheter
Påkrevd

Dist-CheckConflicts-0.11, File-ShareDir-1.118, namespace-autoclean-0.29 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.57

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.0 plattform.

Pakkeinformasjon
DateTime::TimeZone Avhengigheter
Påkrevd

Class-Singleton-1.6, Module-Runtime-0.016, og Params-ValidationCompiler-0.31, også

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.04

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.0 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.0 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.0 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.0 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.0 plattform.

Pakkeinformasjon
Exception::Class Avhengigheter
Påkrevd

Class-Data-Inheritable-0.09, Devel-StackTrace-2.04

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.006000

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.0 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.08

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.0 plattform.

Pakkeinformasjon
ExtUtils::LibBuilder Avhengigheter
Påkrevd

Module-Build-0.4232

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.0 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.0 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.0 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.0 plattform.

Pakkeinformasjon
File::Find::Rule Avhengigheter
Påkrevd

Number-Compare-0.03, 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.15

Introduksjon til File::Listing

File::Listing analyserer en mappeoppføring.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
File::Listing Avhengigheter
Påkrevd

HTTP-Date-6.05,

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.0 plattform.

Pakkeinformasjon
File::ShareDir Avhengigheter
Påkrevd

Class-Inspector-1.36, 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.0 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.20

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.0 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.0 plattform.

Pakkeinformasjon
HTTP::CookieJar Avhengigheter
Påkrevd

HTTP-Date-6.05

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.10

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.72) objekt vet om.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
HTTP::Cookies Avhengigheter
Påkrevd

HTTP-Message-6.44

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.05

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.0 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-6.44

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.0 plattform.

Pakkeinformasjon
HTTP::Message Avhengigheter
Påkrevd

Clone-0.46, Encode-Locale-1.05, HTTP-Date-6.05, IO-HTML-1.004, LWP-MediaTypes-6.04, og URI-5.17

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.0 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

Importer-0.026

Introduksjon til Importer

Importer gir et alternativt, men kompatibelt grensesnitt til moduler som eksporterer symboler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av Importer

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.0 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.0 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.0 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.0 plattform.

Pakkeinformasjon
List::SomeUtils Avhengigheter
Påkrevd

Module-Implementation-0.09, 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.0 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.0 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.0 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::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.0 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.0 plattform.

Pakkeinformasjon
Module::Implementation Avhengigheter
Påkrevd

Module-Runtime-0.016, Try-Tiny-0.31

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::Pluggable-5.2

Introduksjon til Module::Pluggable

Module::Pluggable gir en måte å ha "programtillegg" for modulen din.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av Module::Pluggable

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.0 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.0 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.29

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.0 plattform.

Pakkeinformasjon
namespace::autoclean Avhengigheter
Påkrevd

namespace-clean-0.27, Sub-Identify-0.14

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.0 plattform.

Pakkeinformasjon
namespace::clean Avhengigheter
Påkrevd

B-Hooks-EndOfScope-0.26, 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.0 plattform.

Pakkeinformasjon
Net::HTTP Avhengigheter
Påkrevd

URI-5.17

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.92

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.0 plattform.

Pakkeinformasjon

Installasjon av Net::SSLeay

Note

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

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.

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.0 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.0 plattform.

Pakkeinformasjon
Package::Stash Avhengigheter
Påkrevd

Dist-CheckConflicts-0.11, 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.0 plattform.

Pakkeinformasjon
Params::Validate Avhengigheter
Påkrevd

Module-Build-0.4232, 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.0 plattform.

Pakkeinformasjon
Params::ValidationCompiler Avhengigheter
Påkrevd

Exception-Class-1.45, Specio-0.48

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.144

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.0 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.0 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.0 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.48

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.0 plattform.

Pakkeinformasjon
Specio Avhengigheter
Påkrevd

Devel-StackTrace-2.04, Eval-Closure-0.14, Module-Runtime-0.016, Role-Tiny-2.002004, Sub-Quote-2.006008 og Try-Tiny-0.31

Anbefalt (påkrevd for testpakken)
Valgfri

namespace-autoclean-0.29 (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.0 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::Identify-0.14

Introduksjon til Sub::Identify

Sub::Identify lar deg hente det virkelige navnet på kodereferanser. Det oppfordres til å migrere til Sub::Util (en kjernemodul) når det er mulig.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av Sub::Identify

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Sub::Info-0.002

Introduksjon til Sub::Info

Sub::Info er et verktøy for å inspisere subrutiner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Sub::Info Avhengigheter
Påkrevd

Importer-0.026

Installasjon av Sub::Info

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.0 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.0 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.016

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.0 plattform.

Pakkeinformasjon
Term::Table Avhengigheter
Påkrevd

Importer-0.026

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.0 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.0 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.0 plattform.

Pakkeinformasjon
Test::Fatal Avhengigheter
Påkrevd

Try-Tiny-0.31

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.993

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.0 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.0 plattform.

Pakkeinformasjon
Test::File::ShareDir Avhengigheter
Påkrevd

Class-Tiny-1.008, File-Copy-Recursive-0.45, File-ShareDir-1.118, Path-Tiny-0.144 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.0 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.0 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.0 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 til ikke-lokale Internett ressurser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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::utf8-1.02

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.0 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.031

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.0 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.21

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.0 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.09

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.0 plattform.

Pakkeinformasjon
Test2::Plugin::NoWarnings Avhengigheter
Påkrevd

Test2-Suite-0.000145

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

Test2::Suite-0.000145

Introduksjon til Test2::Suite

Test2::Suite er en distribusjon med et rikt sett med verktøy bygget på Test2 rammeverket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Test2::Suite Avhengigheter
Påkrevd

Module-Pluggable-5.2, Scope-Guard-0.21, Sub-Info-0.002 og Term-Table-0.016

Installasjon av Test2::Suite

Denne modulen bruker standard bygge og installasjons instruksjoner:

perl Makefile.PL &&
make             &&
make test

Nå, som root bruker:

make install

Text::CSV_XS-1.51

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.0 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.0 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 å matche mot tekst, i stedet for å hente navn fra et filsystem.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.227

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.0 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.0 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.31

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.0 plattform.

Pakkeinformasjon
Try::Tiny Avhengigheter
Valgfri (kan brukes av testpakken)

Capture-Tiny-0.48

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.63

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.0 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.0 plattform.

Pakkeinformasjon
WWW::RobotRules Avhengigheter
Påkrevd (kjøretid)

libwww-perl-6.72 (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.0208

Introduksjon til XML::LibXML

XML::LibXML er en perl binding for libxml2-2.10.4.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
XML::LibXML Avhengigheter
Påkrevd

Alien-Libxml2-0.19, XML-SAX-1.02

Installasjon av XML::LibXML

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.0 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.0 plattform.

Pakkeinformasjon
XML::SAX Avhengigheter
Påkrevd

libxml2-2.10.4, 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.0 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.2.9

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.php.net/distributions/php-8.2.9.tar.xz

  • Nedlasting MD5 sum: 897c9c416663d03e516a68cb86b598f3

  • Nedlastingsstørrelse: 11 MB

  • Estimert diskplass som kreves: 505 MB (med dokumentasjon)

  • Estimert byggetid: 1.5 SBU (med parallellitet=4; legg til 1,6 SBU for tester)

Ytterligere Nedlastinger

PHP Avhengigheter

Anbefalt
Valgfrie Systemverktøy og Biblioteker

Aspell-0.60.8, enchant-2.5.0, libxslt-1.1.38, en MTA (som gir en sendmail kommando), pcre2-10.42, Pth-2.0.7, AppArmor, Dmalloc, Net-SNMP, oniguruma, OSSP mm, re2c, og XMLRPC-EPI

Valgfrie Grafikkverktøy og Biblioteker

FreeType-2.13.1, libexif-0.6.24, libjpeg-turbo-3.0.0, libpng-1.6.40, libtiff-4.5.1, libwebp-1.3.1, et grafiske miljø, FDF Toolkit, GD, og t1lib

Valgfrie Nettverktøy

cURL-8.2.1, tidy-html5-5.8.0, Caudium, Hyperwave, Roxen WebServer, og WDDX

Valgfrie Databehandlingsverktøy og Biblioteker

Berkeley DB-5.3.28 (Merk at PHP offisielt ikke støtter versjoner over 5,3), libiodbc-3.52.15, lmdb-0.9.31, MariaDB-10.11.4 eller MySQL, OpenLDAP-2.6.6, PostgreSQL-15.4, SQLite-3.42.0, unixODBC-2.3.12, Adabas, Birdstep, cdb, DBMaker, Empress, FrontBase, IBM DB2, 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.2, 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.

Note

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.10.4 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 16000) 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.2.9 &&
install -v -m644    CODING_STANDARDS* EXTENSIONS NEWS README* UPGRADING* \
                    /usr/share/doc/php-8.2.9

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.2.9 &&
gunzip -v /usr/share/doc/php-8.2.9/php_manual_en.html.gz

For Mange HTML filer tarball:

tar -xvf ../php_manual_en.tar.gz \
    -C /usr/share/doc/php-8.2.9 --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-20230816 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-20220829
Installerte Mapper: /etc/php-fpm.d, /usr/{include,lib,share}/php, og /usr/share/doc/php-8.2.9

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-2.7.18

Introduksjon til Python 2

Python 2 pakken inneholder Python utviklingsmiljø. Det er hjelpsomt for objektorientert programmering, skrive skript, prototyping store programmer eller utvikle hele applikasjoner. Denne versjonen er for bakover kompatibilitet med andre avhengige pakker.

Note

Python2 har blitt avskrevet av oppstrømsutviklerne. Støtte for Python2 ble avviklet 1. januar 2020.

BLFS prøver å bruke Python3 så mye som mulig, men noen av pakkene har ikke blitt oppdatert for å støtte Python3.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz

  • Nedlasting MD5 sum: fd6cc8ec0a78c44036f825e739f36e5a

  • Nedlastingsstørrelse: 12.2 MB

  • Estimert diskplass som kreves: 228 MB (legg til 17 MB for tester)

  • Estimert byggetid: 0.5 SBU (Bruker parallellisme=4; legg til 5,9 SBU for tester)

Ytterligere Nedlastinger

Python 2 Avhengigheter

Anbefalt
Valgfri

BlueZ-5.68 og Valgrind-3.21.0

Valgfritt (For flere tilleggsmoduler)

libnsl-2.0.0 og Tk-8.6.13

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Python

Installasjon av Python 2

Først deaktiverer du installasjonen av et skript som overskriver et mer nytt skript:

sed -i '/2to3/d' ./setup.py

Installer Python 2 ved å kjøre følgende kommandoer:

patch -Np1 -i ../Python-2.7.18-security_fixes-1.patch &&
./configure --prefix=/usr                              \
            --enable-shared                            \
            --with-system-expat                        \
            --with-system-ffi                          \
            --enable-unicode=ucs4                     &&
make

Hvis du kjører testene, vil de gå gjennom to ganger. For å teste resultatene, kjør: make -k test. Flere tester er kjent for å mislykkes, bl.a test_ftplib, test_ssl, test_urllib2_localnet, test_xml_etree, test_xml_etree_c, og test_minidom. Disse feilene skyldes OpenSSL-3 og Expat-2.4.6.

Nå, som root bruker:

make altinstall                                &&
ln -s python2.7        /usr/bin/python2        &&
ln -s python2.7-config /usr/bin/python2-config &&
chmod -v 755 /usr/lib/libpython2.7.so.1.0

Siden Python 2 er i vedlikeholdsmodus, og Python 3 anbefales av oppstrøms for utvikling, trenger du sannsynligvis ikke installere dokumentasjonen. Men hvis du fortsatt ønsker å installere dokumentasjon for begge Python versjoner, sørg for å definere PYTHONDOCS variabel for versjonen du vil bruke, hver gang du trenger å konsultere dokumentasjonen. Hvis du har lastet ned den forhåndsformaterte dokumentasjonen fra https://docs.python.org/download.html, installer den som root bruker:

install -v -dm755 /usr/share/doc/python-2.7.18 &&

tar --strip-components=1                     \
    --no-same-owner                          \
    --directory /usr/share/doc/python-2.7.18 \
    -xvf ../python-2.7.18-docs-html.tar.bz2 &&

find /usr/share/doc/python-2.7.18 -type d -exec chmod 0755 {} \; &&
find /usr/share/doc/python-2.7.18 -type f -exec chmod 0644 {} \;

Parameterforklaringer

--with-system-expat: Denne bryteren muliggjør kobling mot systemversjonen av Expat.

--with-system-ffi: Denne bryteren muliggjør kobling mot systemversjon av libffi.

--enable-unicode=ucs4: Denne bryteren aktiverer 32-bits Unicode-støtte i Python.

--with-ensurepip=yes : Denne bryteren gjør det mulig å bygge pip og setuptools pakkeprogrammer. setuptools er nødvendig for å bygge noen Python moduler. Denne bryteren anbefales ikke fordi denne versjonen av Python ikke lenger er vedlikeholdt.

--with-dbmliborder=bdb:gdbm:ndbm: Bruk denne bryteren hvis du vil bygge Python DBM Modul mot Berkeley DB i stedet for GDBM.

make altinstall: Dette gjør at målet utelater noen standard symbolske lenker som kan forstyrre Python 3.

chmod ...: Fiks tillatelser for biblioteker så de samsvarer med andre biblioteker.

Konfigurere Python 2

For at python skal finne den installerte dokumentasjon, må du legge til følgende miljøvariabel til individuell brukers eller systemets profil:

export PYTHONDOCS=/usr/share/doc/python-2.7.18

Innhold

Installerte Programmer: pydoc, python2 (symlenke), python2-config (symlenke), python2.7, python2.7-config, smtpd.py, og idle
Installert Bibliotek: libpython2.7.so
Installerte Mapper: /usr/{include,lib}/python2.7 og /usr/share/doc/python-2.7.18

Korte Beskrivelser

idle

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 slik at Tkinter Python modulen er bygget

pydoc

er Python dokumentasjonsverktøy

python2

er en tolket, interaktiv, objektorientert programmeringsspråk

python2.7

er et versjonsspesifikt navn for python programmet

smtpd.py

er en SMTP mellomtjener implementert i Python

Python-3.11.4

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.

Note

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.0 plattform.

Important

Hvis du oppgraderer til en ny Python-3 minor versjon (f.eks. fra Python-3.10.x til Python-3.11.0), må du installere på nytt eventuelle Python3 moduler du har installert. Du burde også installer pakker på nytt som genererer Python3 moduler inkludert gobject-introspection-1.76.1, opencv-4.8.0, Graphviz-8.1.0 (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.9.11. Bruk ls /usr/lib/python3.minor/site-packages for en omfattende liste.

Python modulene fra LFS må også installeres på nytt: flit-core, wheel, meson, MarkupSafe, og Jinja2.

På systemd systemer er det også nødvendig å installere MarkupSafe og Jinja2 moduler på nytt fra LFS: https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/markupsafe.html og https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/jinja2.html.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tar.xz

  • Nedlasting MD5 sum: fb7f7eae520285788449d569e45b6718

  • Nedlastingsstørrelse: 19 MB

  • Estimert diskplass som kreves: 282 MB (legg til 63 MB for tester)

  • Estimert byggetid: 1.9 SBU (legg til 2.8 SBU for tester; begge bruker parallellisme=4)

Ekstra Valgfri Nedlasting

Python 3 Avhengigheter

Anbefalt
Valgfri

BlueZ-5.68, GDB-13.2 (nødvendig for noen tester), Valgrind-3.21.0, og libmpdec

Valgfri (For Tilleggsmoduler)

Berkeley DB-5.3.28, libnsl-2.0.0, og Tk-8.6.13

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  \
            --with-system-ffi    \
            --enable-optimizations &&
make

For å teste resultatene, kjør make test. Noen tester kan trenge en Internett tilkobling. To tester, test_distutils og test_embed er kjent for å mislykkes.

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.11.4/html

tar --strip-components=1  \
    --no-same-owner       \
    --no-same-permissions \
    -C /usr/share/doc/python-3.11.4/html \
    -xvf ../python-3.11.4-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.

--with-system-ffi: Denne bryteren muliggjør kobling mot systemversjonen av libffi.

--with-dbmliborder=bdb:gdbm:ndbm: Bruk denne bryteren hvis du ønsker å bygge Python DBM Modulen mot Berkeley DB i stedet for GDBM.

--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.11/config-3.11-<arch>-linux-gnu/libpython3.11.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.11.4 /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.11, idle3 (symlenke) og idle3.11, pip3 (symlenke) og pip3.11, pydoc3 og pydoc3.11, python3 (symlenke); python3.11, og python3-config (symlenke) og python3.11-config
Installerte Biblioteker: libpython3.11.so og libpython3.so
Installerte Mapper: /usr/include/python3.11, /usr/lib/python3.11, og /usr/share/doc/python-3.11.4

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.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.

Note

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.11.4.

Important

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.0

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.0 plattform.

Pakkeinformasjon
Asciidoc Avhengigheter
Valgfri (kjøretid)

docbook-xsl-nons-1.79.2, fop-2.9, libxslt-1.1.38, Lynx-2.8.9rel.1, dblatex, og W3m

Installasjon av Asciidoc

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/asciidoc og /usr/lib/python3.11/site-packages/asciidoc-10.2.0.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.0 plattform.

Pakkeinformasjon
CSSSelect Avhengigheter
Påkrevd

setuptools_scm-7.1.0

Valgfri (for testing)

lxml-4.9.3, pluggy-1.0.0, og pytest-7.4.0

Installasjon av CSSSelect

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/cssselect

CacheControl-0.13.1

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.0 plattform.

Pakkeinformasjon
CacheControl Avhengigheter
Påkrevd

msgpack-1.0.4 og requests-2.31.0

Installasjon av CacheControl

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/CacheControl-0.13.1.dist-info og /usr/lib/python3.11/site-packages/cachecontrol
Korte Beskrivelser

doesitcache

er et udokumentert kommandolinjeskript.

Cython-0.29.36

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.0 plattform.

Pakkeinformasjon

Installasjon av Cython

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/Cython, /usr/lib/python3.11/site-packages/Cython-0.29.36.dist-info, og /usr/lib/python3.11/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.29.1

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.0 plattform.

Pakkeinformasjon
dbusmock Avhengigheter
Påkrevd

D-Bus Python-1.3.2

Installasjon av dbusmock

Bygg pakken med:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

For å installere pakken, kjør følgende som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user python-dbusmock

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.11/site-packages/dbusmock og /usr/lib/python3.11/site-packages/python_dbusmock-0.29.1.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.0 plattform.

Pakkeinformasjon
D-Bus Python Avhengigheter
Påkrevd

dbus-1.14.8, GLib-2.76.4, meson_python-0.12.0, og patchelf-0.17.2

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 $PWD

Denne pakken kommer ikke med en testpakke.

Installer nå modulen som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/dbus and /usr/lib/python3.11/site-packages/dbus_python-1.3.2.egg-info

docutils-0.20.1

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.0 plattform.

Pakkeinformasjon

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/docutils

Installasjon av docutils

For å bygge Python 3 applikasjoner, kjør følgende kommando:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

For å installere Python applikasjoner kjør følgende kommando som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user docutils &&

for f in /usr/bin/rst*.py; do
  ln -svf $(basename $f) /usr/bin/$(basename $f .py)
done

For å redusere tiden som trengs for å laste Python skript, pip3 install vil kompilere skriptene med utvidelsen .py til bytekode og lagre resultatet i .pyc filer i mappen __pycache__. Men denne pakken installerer .py skript i /usr/bin. Så bytekodefilene for dem vil bli installert i /usr/bin/__pycache__, som ikke er tillatt av FHS. Fortsatt som root bruker, fjern denne mappen:

rm -rfv /usr/bin/__pycache__

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.11/site-packages/docutils{,-0.20.1.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.0 plattform.

Pakkeinformasjon
Doxypypy Avhengigheter
Påkrevd

chardet-5.1.0 og Doxygen-1.9.7 (ved kjøretid)

Installasjon av Doxypypy

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/doxypypy og /usr/lib/python3.11/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.2

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.0 plattform.

Pakkeinformasjon
Doxyqml Avhengigheter
Påkrevd (Kjøretid)

Doxygen-1.9.7

Valgfri (for testing)

pytest-7.4.0

Installasjon av Doxyqml

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user doxyqml

For å teste installasjonen, kjør:

pytest

test_qmlclass.py testen 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: doxyqml
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.11/site-packages/doxyqml og /usr/lib/python3.11/site-packages/doxyqml-0.5.2.dist-info
Korte Beskrivelser

doxyqml

er et Doxygen inndatafilter for QML filer.

Gi-DocGen-2023.1

Introduksjon til Gi-DocGen Modulen

Gi-DocGen er en dokumentgenerator for GObject baserte biblioteker. GObject er basistypen til GNOME prosjektet. GI-Docgen gjenbruker introspeksjonsdataene generert av GObject baserte biblioteker for å generere API referansen til disse bibliotekene, samt annen tilleggsdokumentasjon.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Gi-DocGen Avhengigheter
Påkrevd

Markdown-3.4.1, Pygments-2.16.1, og typogrify-2.0.7

Valgfri (for testing)

pytest-7.4.0

Installasjon av gi-docgen

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/gidocgen og /usr/lib/python3.11/site-packages/gi_docgen-2023.1.dist-info

Korte Beskrivelser

gi-docgen

administrerer dokumentasjon for libgobject baserte biblioteker.

libxml2-2.10.4 (for dens Python2 modul)

Introduksjon til libxml2 Python2 modulen

Disse instruksjonene gir Python2 bindinger for libxml2: Python3 bindinger bygges som en del av libxml2-2.10.4 og de fleste pakkene i boken bruker ikke disse bindinger for den eldre Python2.

Ved å bygge disse bindingene etter at libxml2-2.10.4 har blitt installert, er det ikke nødvendig å gjenoppbygge den tidkrevende (hvis alle avhengigheter brukes) hoveddelen av den pakken.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
libxml2 (Python2) Avhengigheter
Påkrevd

libxml2-2.10.4 og Python-2.7.18

Installasjon av libxml2 Python2 modulen

For å bygge Python 2 modulen, kjør:

./configure PYTHON=python2 &&
cd python                  &&
python2 setup.py build

For å installere Python 2 modulen, som root bruker kjør:

python2 setup.py install --optimize=1

Innhold

Installerte Moduler: drv_libxml2.py, libxml2.py
Installerte Biblioteker: libxml2mod.so
Installerte Mapper: Ingen

Korte Beskrivelser

drv_libxml2.py

er en SAX Python2 driver for libxml2

libxml2.py

er Python2 binding for libxml2

libxml2mod.so

er grensesnittet for Python2 for å bruke libxml2.so

lxml-4.9.3

Introduksjon til lxml Modulen

lxml gir Python bindinger for libxslt-1.1.38 og libxml2-2.10.4.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
lxml Avhengigheter
Påkrevd

libxslt-1.1.38

Installasjon av lxml

For å bygge Python 3 modulen, kjør:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

For å installere modulen, kjør følgende kommando som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/lxml og /usr/lib/python3.11/site-packages/lxml-4.9.3.dist-info

Mako-1.2.4

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.0 plattform.

Pakkeinformasjon
Mako Avhengigheter
Valgfri (for testing)

pytest-7.4.0

Installasjon av Mako

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Installer modulen som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/mako og /usr/lib/python3.11/site-packages/Mako-1.2.4.dist-info
Korte Beskrivelser

mako-render

gjengir en mal

NumPy-1.25.2

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.0 plattform.

Pakkeinformasjon
NumPy Avhengigheter
Påkrevd

cython-0.29.36

Valgfri

fortran fra GCC-13.2.0, lapack og cblas, og openblas

Valgfri (for testing)

attrs-22.2.0, pytest-7.4.0, og hypothesis

Installasjon av NumPy

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user numpy

Installasjonen kan testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install hypothesis                        &&
python3 runtests.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: f2py, f2py3 og f2py3.11 (3 kopier av samme skript)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.11/site-packages/numpy
Korte Beskrivelser

f2py

er Fortran til Python grensesnittgeneratorverktøyet.

Packaging-23.1

Introduksjon til Packaging Modulen

Packaging biblioteket tilbyr verktøy som implementerer interoperabilitetsspesifikasjonene som har en klart riktig oppførsel eller ha stor nytte av å ha en enkelt delt gjennomføring.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Packaging Avhengigheter
Valgfri (for testing)

pytest-7.4.0 og pretend

Installasjon av Packaging

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user packaging

Forutsatt pytest-7.4.0 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.11/site-packages/packaging og /usr/lib/python3.11/site-packages/packaging-23.1.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.0 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.0

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.0 plattform.

Pakkeinformasjon
PyAtSpi2 Avhengigheter
Påkrevd

PyGObject-3.44.1

Anbefalt

Installasjon av PyAtSpi2

For å bygge PyAtSpi2 som en Python 3 modulen, 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.11/site-packages/pyatspi

PyCairo-1.18.2

Introduksjon til PyCairo for Python2 Modulen

Denne versjonen av PyCairo gir Python2 bindinger til Cairo.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
PyCairo Avhengigheter
Påkrevd

Cairo-1.17.6 og Python-2.7.18

Valgfri

Hypothesis (for tester)

Installasjon av PyCairo

Note

Denne versjonen av PyCairo beholdes kun for pakker som f.eks Gimp-2.10.34 som bruker Python2 til Gimp-3 er utgitt.

Installer PyCairo for Python2 ved å kjøre følgende kommandoer:

python2 setup.py build

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

python2 setup.py install --optimize=1   &&
python2 setup.py install_pycairo_header &&
python2 setup.py install_pkgconfig

Innhold

Installert Program: Ingen
Installert Bibliotek: _cairo.so
Installerte Mapper: /usr/include/pycairo, /usr/lib/python2.7/site-packages/cairo, /usr/lib/python2.7/site-packages/pycairo-1.18.2-py2.7.egg,

PyCairo-1.24.0

Introduksjon til PyCairo Modulen

PyCairo gir Python bindinger til Cairo.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
PyCairo Avhengigheter
Påkrevd

Cairo-1.17.6

Valgfri

Hypothesis og pytest-7.4.0 (for tester)

Installasjon av PyCairo

Note

Den nåværende versjonen av pycairo bygger ikke lenger Python2 modulen. Hvis du trenger den modulen for pakker som f.eks Gimp-2.10.34, bruk PyCairo-1.18.2

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.11/site-packages/cairo, og /usr/lib/python3.11/site-packages/pycairo-1.24.0.egg-info

PyCryptodome-3.18.0

Introduksjon til PyCryptodome Modulen

PyCryptodome er en samling av både sikre hash-funksjoner (som SHA256 og RIPEMD160), og diverse krypterings algoritmer (AES, DES, RSA, ElGamal, etc.), og er en drop-in erstatning for PyCrypto.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av PyCryptodome

For å bygge PyCryptodome som en Python 3 modul, kjør følgende kommando:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

For å installere modulen, kjør følgende kommando som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user pycryptodome

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.11/site-packages/Crypto /usr/lib/python3.11/site-packages/pycryptodome-3.18.0.dist-info

Pygments-2.16.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.0 plattform.

Pakkeinformasjon

Installasjon av Pygments

Bygg Python 3 modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

For å installere pakken, kjør følgende som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user Pygments

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.11/site-packages/pygments og /usr/lib/python3.11/site-packages/Pygments-2.16.1.dist-info

Korte Beskrivelser

pygmentize

uthever en inndatafil og skriver resultatet til en utdatafil

PyGObject-2.28.7

Introduksjon til PyGObject Modulen

PyGObject-2.28.7 gir Python 2 bindinger til GObject klassen fra GLib.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
PyGObject Avhengigheter
Påkrevd

GLib-2.76.4, PyCairo-1.18.2 og Python-2.7.18

Valgfri

gobject-introspection-1.76.1 og libxslt-1.1.38 (for å bygge dokumentasjon)

Installasjon av PyGObject

Installer PyGObject ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-introspection &&
make

Denne pakken har ikke en fungerende testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-introspection: Utelat denne bryteren hvis du har installert gobject-introspection-1.76.1. Merk at det konflikter med PyGObject-3.44.1.

--disable-docs: Dette alternativet deaktiverer gjenoppbyggingen av html dokumentasjonen hvis libxslt-1.1.38 er installert.

Innhold

Installerte Programmer: pygobject-codegen-2.0
Installerte Biblioteker: libpyglib-2.0-python.so, _gio.so, unix.so, _glib.so og _gobject.so.
Installerte Mapper: /usr/include/pygtk-2.0, /usr/lib/python2.7/site-packages/gtk-2.0/{gio,glib,gobject}, /usr/share/gtk-doc/html/pygobject og /usr/share/pygobject/2.0

PyGObject-3.44.1

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.0 plattform.

Pakkeinformasjon
PyGObject3 Avhengigheter
Påkrevd

gobject-introspection-1.76.1 og PyCairo-1.24.0 (Python 3 modulen)

Valgfri (for testene)

GTK-4.12.0, pep8, pyflakes, og pytest-7.4.0

Installasjon av PyGObject3

Fjern først en defekt test:

mv -v tests/test_gdbus.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.12.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: Ingen
Installert Bibliotek: /usr/lib/python3.11/site-packages/gi/_gi{,_cairo}.cpython-311-<arch>-linux-gnu.so
Installerte Mapper: /usr/include/pygobject-3.0 og /usr/lib/python3.11/site-packages/{gi,pygtkcompat}

PyGTK-2.24.0

Introduksjon til PyGTK Modulen

PyGTK lar deg enkelt lage programmer med et grafisk brukergrensesnitt ved bruk av Python programmeringsspråket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
PyGTK Avhengigheter
Påkrevd

PyGObject-2.28.7 og Python-2.7.18

Påkrevd (atk modul)

at-spi2-core-2.48.3

Påkrevd (pango modul)

Pango-1.50.14

Påkrevd (pangocairo modul)

PyCairo-1.18.2 og Pango-1.50.14

Påkrevd (gtk og gtk.unixprint moduler)

PyCairo-1.18.2 og GTK+-2.24.33.

Påkrevd (gtk.glade modul)

PyCairo-1.18.2 og libglade-2.6.4.

Valgfri

NumPy

Valgfri (for å bygge dokumentasjon)

libxslt-1.1.38

Installasjon av PyGTK

Først tilpasser du PyGTK til endringer i Pango ved å fjerne udefinerte APIer:

sed -i '1394,1402 d' pango.defs

Installer PyGTK ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Testene må kjøres fra et aktivt X display. Hvis dette er tilfelle, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-docs: Dette alternativet gjør det mulig å gjenoppbygge html dokumentasjon hvis libxslt-1.1.38 er installert.

Innhold

Installerte Programmer: pygtk-codegen-2.0 og pygtk-demo.
Installerte Biblioteker: atk.so, _gtk.so, glade.so, gtkunixprint.so, pango.so og pangocairo.so.
Installerte Mapper: /usr/include/pygtk-2.0, /usr/lib/pygtk, /usr/lib/python2.7/site-packages/gtk-2.0, /usr/share/gtk-doc/html/pygtk og /usr/share/pygtk.
Korte Beskrivelser

pygtk-codegen-2.0

er et innpakningsskript for å kjøre PyGTK codegen modulen

pygtk-demo

er en Python innpakning for å kjøre PyGTK demoprogrammet

pyparsing-3.1.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.0 plattform.

Pakkeinformasjon
pyparsing Avhengigheter
Påkrevd
Valgfri

railroad-diagrams (også nødvendig for tester)

Valgfri (for testing)

pytest-7.4.0

Installasjon av pyparsing

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user pyparsing

Forutsatt pytest-7.4.0 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                 &&
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.11/site-packages/pyparsing og /usr/lib/python3.11/site-packages/pyparsing-3.1.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.0 plattform.

Pakkeinformasjon
pySerial Avhengigheter
Påkrevd

setuptools_scm-7.1.0

Valgfri (for testing)

pluggy-1.0.0 og pytest-7.4.0

Installasjon av pySerial

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/pyserial-3.5.dist-info og /usr/lib/python3.11/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-7.4.0

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.0 plattform.

Pakkeinformasjon
Pytest Avhengigheter
Påkrevd

iniconfig-2.0.0, packaging-23.1, pluggy-1.0.0, og py-1.11.0

Anbefalt
Valgfri (for testing)

Pygments-2.16.1, requests-2.31.0, argcomplete, elementpath, hypothesis, mock, nose, sortedcontainers, og xmlschema

Installasjon av Pytest

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user pytest

Installasjonen kan testes med følgende kommandoer:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install pytest[testing]                   &&
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.11/site-packages/_pytest, /usr/lib/python3.11/site-packages/pytest, og /usr/lib/python3.11/site-packages/pytest-7.4.0.dist-info
Korte Beskrivelser

pytest

setter opp, administrerer og/eller kjører test 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.0 plattform.

Pakkeinformasjon

Installasjon av PyXDG

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Installer modulen som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/xdg og /usr/lib/python3.11/site-packages/pyxdg-0.28.dist-info

PyYAML-6.0.1

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.0 plattform.

Pakkeinformasjon
PyYAML Avhengigheter
Påkrevd

cython-0.29.36 og libyaml-0.2.5

Installasjon av PyYAML

Bygg PyYAML med følgende kommando:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Installer nå modulen som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user PyYAML

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.11/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, LLVM-16.0.5 avhenger fortsatt av denne modulen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Recommonmark Avhengigheter
Påkrevd

commonmark-0.9.1 og sphinx-7.1.2

Valgfri (for testing)

pytest-7.4.0

Installasjon av Recommonmark

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/recommonmark og /usr/lib/python3.11/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.31.0

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.0 plattform.

Pakkeinformasjon
Ytterligere Nedlastinger
Requests Avhengigheter
Påkrevd

charset-normalizer-3.0.1, idna-3.4, og urllib3-2.0.2

Anbefalt
Valgfri

PySocks (også nødvendig for testing)

Valgfri (for testing)

pytest-7.4.0, 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.31.0-use_system_certs-1.patch

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user requests

Forutsatt pytest-7.4.0 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

Note

Se make-ca-1.12 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.11/site-packages/requests og /usr/lib/python3.11/site-packages/requests-2.31.0.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.0 plattform.

Pakkeinformasjon
Scour Avhengigheter
Påkrevd

six-1.16.0

Installasjon av scour

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

For å installere modulen, kjør følgende kommando som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/scour og /usr/lib/python3.11/site-packages/scour-0.38.2.dist-info

Korte Beskrivelser

scour

er et program for å optimalisere og rense SVG filer

six-1.16.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.0 plattform.

Pakkeinformasjon

Installasjon av Six

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/six-1.16.0.dist-info

Sphinx-7.1.2

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.0 plattform.

Pakkeinformasjon
Sphinx Avhengigheter
Påkrevd

alabaster-0.7.13, Babel-2.11.0, docutils-0.20.1, imagesize-1.4.1, packaging-23.1, Pygments-2.16.1, requests-2.31.0, snowballstemmer-2.2.0, sphinxcontrib-applehelp-1.0.4, sphinxcontrib-devhelp-1.0.2, sphinxcontrib-htmlhelp-2.0.1, sphinxcontrib-jsmath-1.0.1, sphinxcontrib-qthelp-1.0.3, og sphinxcontrib-serializinghtml-1.1.5

Valgfri (for tester)

cython-0.29.36, pytest-7.4.0, texlive-20230313, filelock, og html5lib

Installasjon av Sphinx

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinx

Forutsatt cython-0.29.36 og pytest-7.4.0 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 html5lib                          &&
python3 /usr/bin/pytest
deactivate

Fire undertester i tests/test_ext_math.py 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: sphinx-apidoc, sphinx-autogen, sphinx-build, og sphinx-quickstart
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.11/site-packages/sphinx og /usr/lib/python3.11/site-packages/sphinx-7.1.2.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-1.2.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.0 plattform.

Pakkeinformasjon
Sphinx_rtd_theme Avhengigheter
Påkrevd

sphinx-7.1.2 og sphinxcontrib-jquery-4.1

Valgfri (for tester)

pytest-7.4.0 og readthedocs-sphinx-ext

Installasjon av Sphinx_rtd_theme

Rett opp en feil versjon for avhengigheter:

sed -e s/0.19/0.21/ \
    -e '/sphinx.*7/s/7/8/' \
     -i setup.cfg

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinx_rtd_theme

Forutsatt pytest-7.4.0 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 en advarsel 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.11/site-packages/sphinx_rtd_theme og /usr/lib/python3.11/site-packages/sphinx_rtd_theme-1.2.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.

Important

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-0.7.13

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.0 plattform.

Pakkeinformasjon

Installasjon av Alabaster

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/alabaster og /usr/lib/python3.11/site-packages/alabaster-0.7.13.dist-info

Attrs-22.2.0

Introduksjon til Attrs Modulen

Attrs 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.0 plattform.

Pakkeinformasjon
Avhengigheter (for testing)

pytest-7.4.0, coverage[toml], hypothesis, Pympler, mypy, pytest-mypy-plugins, zope.interface, og cloudpickle

Installasjon av Attrs

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user attrs

For å teste installasjonen, kjør:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install attrs[tests]                      &&
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.11/site-packages/attr, /usr/lib/python3.11/site-packages/attrs, og /usr/lib/python3.11/site-packages/attrs-22.2.0.dist-info

Babel-2.11.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.0 plattform.

Pakkeinformasjon
Babel Avhengigheter
Påkrevd

pytz-2022.7.1

Valgfri (for testing)

pytest-7.4.0, Python-3.11.4 (med sqlite modulen), freezegun==0.3.12, og pytest-cov

Installasjon av Babel

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user Babel

Forutsatt pytest-7.4.0 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==0.3.12      &&
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.11/site-packages/babel og /usr/lib/python3.11/site-packages/Babel-2.11.0.dist-info
Korte Beskrivelser

pybabel

er et kommandolinjegrensesnitt for å jobbe med meldings kataloger

Chardet-5.1.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.0 plattform.

Pakkeinformasjon
Chardet Avhengigheter
Valgfri (for testing)

pytest-7.4.0

Installasjon av Chardet

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/chardet og /usr/lib/python3.11/site-packages/chardet-5.1.0.dist-info
Korte Beskrivelser

chardetect

er en universell tegnkodingsdetektor

Charset-normalizer-3.0.1

Introduksjon til charset-normalizer Modulen

charset-normalizer biblioteket hjelper å lese tekst fra en ukjent tegnkoding.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Charset-normalizer Avhengigheter
Valgfri (for testing)

pytest-7.4.0 og pytest-cov

Installasjon av Charset-normalizer

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user charset-normalizer

Forutsatt pytest-7.4.0 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.11/site-packages/charset_normalizer og /usr/lib/python3.11/site-packages/charset_normalizer-3.0.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.0 plattform.

Pakkeinformasjon
Commonmark Avhengigheter
Valgfri (for testing)

pytest-7.4.0, flake8, og hypothesis

Installasjon av Commonmark

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user commonmark

Forutsatt pytest-7.4.0 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.11/site-packages/commonmark og /usr/lib/python3.11/site-packages/commonmark-0.9.1.dist-info

Korte Beskrivelser

cmark

behandler Markdown i henhold til CommonMark spesifikasjonen

Editables-0.3

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.0 plattform.

Pakkeinformasjon

Installasjon av Editables

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user editables

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.11/site-packages/editables og /usr/lib/python3.11/site-packages/editables-0.3.dist-info

Hatchling-1.12.2

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.0 plattform.

Pakkeinformasjon
Hatchling Avhengigheter
Påkrevd

editables-0.3, packaging-23.1, pathspec-0.10.3, og pluggy-1.0.0

Installasjon av Hatchling

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/hatchling og /usr/lib/python3.11/site-packages/hatchling-1.12.2.dist-info

Korte Beskrivelser

hatchling

er en python modulbygger

Hatch_vcs-0.3.0

Introduksjon til Hatch-vcs Modulen

Hatch_vcs er et Hatch programtillegg for versjonskontroll med flere VCS .

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Hatch_vcs Avhengigheter
Påkrevd

hatchling-1.12.2 og setuptools_scm-7.1.0

Valgfri (for testing)

pytest-7.4.0

Installasjon av Hatch_vcs

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user hatch_vcs

For å teste installasjonen, kjør pytest. En test, tests/test_build.py::test_write, er kjent å 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: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/python3.11/site-packages/hatch_vcs og /usr/lib/python3.11/site-packages/hatch_vcs-0.3.0.dist-info

Idna-3.4

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.0 plattform.

Pakkeinformasjon
Idna Avhengigheter
Valgfri (for testing)

pytest-7.4.0

Installasjon av Idna

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/idna og /usr/lib/python3.11/site-packages/idna-3.4.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.0 plattform.

Pakkeinformasjon
Imagesize Avhengigheter
Valgfri (for testing)

pytest-7.4.0 og requests-2.31.0

Installasjon av Imagesize

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/imagesize og /usr/lib/python3.11/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.0 plattform.

Pakkeinformasjon
Iniconfig Avhengigheter
Påkrevd

hatch_vcs-0.3.0

Installasjon av Iniconfig

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/iniconfig og /usr/lib/python3.11/site-packages/iniconfig-2.0.0.dist-info

Markdown-3.4.1

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.0 plattform.

Pakkeinformasjon
Markdown Avhengigheter
Valgfri (for testing)

pytest-7.4.0, PyYAML-6.0.1, og coverage

Installasjon av Markdown

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user Markdown

Forutsatt pytest-7.4.0 og PyYAML-6.0.1 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.11/site-packages/markdown og /usr/lib/python3.11/site-packages/Markdown-3.4.1.dist-info

Korte Beskrivelser

markdown_py

konverterer markdown filer til (x)html

Meson_python-0.12.0

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.0 plattform.

Pakkeinformasjon
Meson_python Avhengigheter
Påkrevd

pyproject-metadata-0.7.0

Anbefalt (Kjøretid)

patchelf-0.17.2

Installasjon av Meson_python

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user meson_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.11/site-packages/meson_python og /usr/lib/python3.11/site-packages/meson_python-0.12.0.dist-info

MessagePack-1.0.4

Introduksjon til MessagePack Modulen

MessagePack 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 MessagePack data.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
MessagePack Avhengigheter
Påkrevd

cython-0.29.36 og setuptools_scm-7.1.0

Valgfri (for testing)

pluggy-1.0.0 og pytest-7.4.0

Installasjon av MessagePack

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/msgpack-1.0.4.dist-info og /usr/lib/python3.11/site-packages/msgpack

Pathspec-0.10.3

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.0 plattform.

Pakkeinformasjon
Pathspec Avhengigheter
Valgfri (for testing)

pytest-7.4.0

Installasjon av Pathspec

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/pathspec og /usr/lib/python3.11/site-packages/pathspec-0.10.3.dist-info

Pluggy-1.0.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.0 plattform.

Pakkeinformasjon
Pluggy Avhengigheter
Anbefalt
Valgfri (for testing)

pytest-7.4.0 og pytest-benchmark

Installasjon av Pluggy

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user pluggy

Forutsatt at pytest-7.4.0 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-benchmark                  &&
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.11/site-packages/pluggy og /usr/lib/python3.11/site-packages/pluggy-1.0.0.dist-info

Py-1.11.0

Introduksjon til Py Modulen

Py biblioteket er en Pythonutviklings støttebibliotek brukt i Pytest. Det er avviklet og bør fjernes på et tidspunkt, men en del av den brukes fortsatt i Pytest.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon
Py Avhengigheter
Anbefalt

Installasjon av Py

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user py

På grunn av avviklingen av denne pakken vedlikeholdes ikke testpakken og kan ikke kjøres.

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.11/site-packages/py og /usr/lib/python3.11/site-packages/py-1.11.0.dist-info

Pyproject-Metadata-0.7.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.0 plattform.

Pakkeinformasjon
Pyproject-Metadata Avhengigheter
Påkrevd

packaging-23.1

Installasjon av Pyproject-Metadata

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user pyproject-metadata

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.11/site-packages/pyproject_metadata og /usr/lib/python3.11/site-packages/pyproject_metadata-0.7.0.dist-info

Pytz-2022.7.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.0 plattform.

Pakkeinformasjon
Pytz Avhengigheter
Valgfri (for testing)

pytest-7.4.0

Installasjon av Pytz

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/pytz og /usr/lib/python3.11/site-packages/pytz-2022.7.1.dist-info

Setuptools_scm-7.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.0 plattform.

Pakkeinformasjon
Setuptools_scm Avhengigheter
Påkrevd

packaging-23.1 og typing_extensions-4.4.0

Valgfri (for testing)

git-2.41.0, Mercurial-6.5.1, og pytest-7.4.0

Installasjon av Setuptools_scm

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user setuptools_scm

Installasjonen kan testes med pytest. Noen tester kan mislykkes hvis din git konfigurasjonen ikke er den som forventes av testpakken.

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.11/site-packages/setuptools_scm og /usr/lib/python3.11/site-packages/setuptools_scm-7.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.0 plattform.

Pakkeinformasjon

Installasjon av Smartypants

Note

Tarballen trekkes ut i smartypants.py-2.0.1 mappen.

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user smartypants

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.11/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.0 plattform.

Pakkeinformasjon

Installasjon av Snowballstemmer

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/snowballstemmer og /usr/lib/python3.11/site-packages/snowballstemmer-2.2.0.dist-info

Sphinxcontrib-applehelp-1.0.4

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.0 plattform.

Pakkeinformasjon
Sphinxcontrib-applehelp Avhengigheter
Valgfri (for testing)

pytest-7.4.0 og sphinx-7.1.2 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-applehelp

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/sphinxcontrib og /usr/lib/python3.11/site-packages/sphinxcontrib_applehelp-1.0.4.dist-info

Sphinxcontrib-devhelp-1.0.2

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.0 plattform.

Pakkeinformasjon
Sphinxcontrib-devhelp Avhengigheter
Valgfri (for testing)

pytest-7.4.0 og sphinx-7.1.2 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-devhelp

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/sphinxcontrib og /usr/lib/python3.11/site-packages/sphinxcontrib_devhelp-1.0.2.dist-info

Sphinxcontrib-htmlhelp-2.0.1

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.0 plattform.

Pakkeinformasjon
Sphinxcontrib-htmlhelp Avhengigheter
Valgfri (for testing)

pytest-7.4.0, sphinx-7.1.2 (sirkulær avhengighet), og html5lib

Installasjon av Sphinxcontrib-htmlhelp

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-htmlhelp

Forutsatt pytest-7.4.0 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 html5lib                            &&
sed -i 's/text()/read_&/' tests/test_htmlhelp.py &&
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.11/site-packages/sphinxcontrib og /usr/lib/python3.11/site-packages/sphinxcontrib_htmlhelp-2.0.1.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.0 plattform.

Pakkeinformasjon
Sphinxcontrib-jquery Avhengigheter
Valgfri (for testing)

pytest-7.4.0

Installasjon av Sphinxcontrib-jquery

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/sphinxcontrib og /usr/lib/python3.11/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.0 plattform.

Pakkeinformasjon
Sphinxcontrib-jsmath Avhengigheter
Valgfri (for testing)

pytest-7.4.0 og sphinx-7.1.2 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-jsmath

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/sphinxcontrib og /usr/lib/python3.11/site-packages/sphinxcontrib_jsmath-1.0.1.dist-info

Sphinxcontrib-qthelp-1.0.3

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.0 plattform.

Pakkeinformasjon
Sphinxcontrib-qthelp Avhengigheter
Valgfri (for testing)

pytest-7.4.0 og sphinx-7.1.2 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-qthelp

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-qthelp

Installasjonen kan testes med følgende kommandoer:

sed -i 's/text()/read_&/' tests/test_qthelp.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.11/site-packages/sphinxcontrib og /usr/lib/python3.11/site-packages/sphinxcontrib_qthelp-1.0.3.dist-info

Sphinxcontrib-serializinghtml-1.1.5

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.0 plattform.

Pakkeinformasjon
Sphinxcontrib-serializinghtml Avhengigheter
Valgfri (for testing)

pytest-7.4.0 og sphinx-7.1.2 (sirkulær avhengighet)

Installasjon av Sphinxcontrib-serializinghtml

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-serializinghtml

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.11/site-packages/sphinxcontrib og /usr/lib/python3.11/site-packages/sphinxcontrib_serializinghtml-1.1.5.dist-info

Typing_extensions-4.4.0

Introduksjon til Typing_extensions Modulen

Typing_extensions modulen tillater bruken av nye type systemfunksjoner som ennå ikke er definert på Python versjonen som er i bruk på systemet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av Typing_extensions

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user typing_extensions

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.11/site-packages/typing_extensions-4.4.0.dist-info

Typogrify-2.0.7

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.0 plattform.

Pakkeinformasjon
Typogrify Avhengigheter
Påkrevd

smartypants-2.0.1

Installasjon av Typogrify

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --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.11/site-packages/typogrify og /usr/lib/python3.11/site-packages/typogrify-2.0.7.dist-info

Urllib3-2.0.2

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.0 plattform.

Pakkeinformasjon
Urllib3 Avhengigheter
Påkrevd

hatchling-1.12.2

Valgfri (for tester)

pytest-7.4.0, mock, PySocks, pytest-timeout, python-dateutil, tornado, og trustme

Installasjon av Urllib3

Hvis du vil kjøre testene, fjern noen som kan henge:

rm -v test/test_retry.py \
      test/contrib/test_pyopenssl.py \
      test/contrib/test_securetransport.py \
      test/with_dummyserver/test_socketlevel.py

Bygg modulen:

pip3 wheel -w dist --no-build-isolation --no-deps $PWD

Nå, som root bruker:

pip3 install --no-index --find-links dist --no-cache-dir --no-user urllib3

Note

Å kjøre testene kan føre til at prosedyren nedenfor henger og er ikke anbefalt.

Forutsatt pytest-7.4.0 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  &&
python3 /usr/bin/pytest
deactivate

Det er kjent at noen få feil oppstår.

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.11/site-packages/urllib3 og /usr/lib/python3.11/site-packages/urllib3-2.0.2.dist-info

Ruby-3.2.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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.xz

  • Nedlasting MD5 sum: 377853f31d10bfe37c58b8537fc3e05d

  • Nedlastingsstørrelse: 14 MB

  • Estimert diskplass som kreves: 694 MB (legg til 1,0 GB for C API dokumenter)

  • Estimert byggetid: 1.2 SBU (bruker parallellisme=4; legge til 4.6 SBU for tester; legg til 0,6 SBU for C API dokumenter)

Ruby Avhengigheter

Påkrevd

libyaml-0.2.5

Valgfri

Berkeley DB-5.3.28, Doxygen-1.9.7, Graphviz-8.1.0, rustc-1.71.1, Tk-8.6.13, Valgrind-3.21.0, og DTrace

Installasjon av Ruby

Installer Ruby ved å kjøre følgende kommandoer:

./configure --prefix=/usr      \
            --enable-shared    \
            --without-valgrind \
            --without-baseruby \
            --docdir=/usr/share/doc/ruby-3.2.2 &&
make

Valgfritt bygg CAPI dokumentene ved å kjøre følgende kommandoer:

make capi

Testene krever at den nye versjonen av Ruby allerede er installert for å kjøre riktig. Hvis du vil kjøre testene, utfør dem etter installasjonen av pakken.

Nå, som root bruker:

make install

For å teste resultatene, utsted: make -k check. Det er over 25 000 tester. Noen tester relatert til ipv6 kan indikere feil. Hvis tester kjøres i en mappe som har en skrivbar komponent (f.eks. /tmp), så kan flere ekstra tester mislykkes. Noen få tester kan mislykkes pga systemkonfigurasjonsforventninger.

Note

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

--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.

--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.2.0, /usr/lib/ruby, /usr/share/doc/ruby-3.2.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.71.1

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.

Note

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.71.1-build2.

Hvis du foretrekker det, kan du selvfølgelig endre prefikset til /usr.

Det nåværende rustbuild byggesystemet vil bruke alle prosessorer, selv om 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 python3 ./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. Det kan oppnås ved å bruke systemd-run kommandoen med -p User=$(whoami) og -p AllowedCPUs=0-x (med x erstattet med antall CPU kjerner du vil bruke minus én) alternativer.

For øyeblikket Rust gir ingen garantier for en stabil ABI.

Note

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://static.rust-lang.org/dist/rustc-1.71.1-src.tar.xz

  • Nedlasting MD5 sum: b6f9973de878e37a589f0989e4138480

  • Nedlastingsstørrelse: 145 MB

  • Estimert diskplass som kreves: 8.9 GB (292 MB installert); legg til 6,4 GB hvis du kjører testene

  • Estimert byggetid: 6.7 SBU (inkludert nedlastingstid; legg til 6,2 SBU for tester, begge med parallellisme=8)

Rust Avhengigheter

Påkrevd

CMake-3.27.2 og cURL-8.2.1

Note

En Internett tilkobling er nødvendig for å bygge denne pakken.

Anbefalt

Note

Hvis en anbefalt avhengighet ikke er installert, en sendt kopi i Rustc kildetarballen blir bygd og brukt.

Valgfri

GDB-13.2 (brukes av testpakken hvis den er til stede), git-2.41.0 (kreves av testpakken), og libgit2

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/rust

Installasjon av Rust

Note

For øyeblikket produserer rustkompilatoren SSE2 instruksjoner for 32-bit x86, som forårsaker at den genererte koden blir ødelagt på 32-bits systemer uten en SSE2 kompatibel prosessor. Alle x86 prosessormodeller utgitt etter 2004 skal være SSE2 kompatibel. Kjør lscpu | grep sse2 som en test. Hvis den gir ut noe, er CPUen din SSE2 kompatibel og OK. Ellers kan du prøve å bygge denne pakken på et SSE2 kompatibelt system med følgende rettelse brukt:

sed 's@pentium4@pentiumpro@' -i \
    compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs

Og kopiere resultatet /opt/rustc-1.71.1 til systemet uten SSE2 kapasitet. Men denne endringen er fortsatt under oppstrøms gjennomgang og ikke testet av BLFS redaktører.

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.71.1      &&
ln -svfn rustc-1.71.1 /opt/rustc

Note

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 to not keep printing an annoying warning
changelog-seen = 2

[llvm]
# by default, rust will build for a myriad of architectures
targets = "X86"

# When using system llvm prefer shared libraries
link-shared = true

[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"]

# Use the source code shipped in the tarball for the dependencies.
# The combination of this and the "locked-deps" entry avoids downloading
# many crates from Internet, and makes the Rustc build more stable.
vendor = true

[install]
prefix = "/opt/rustc-1.71.1"
docdir = "share/doc/rustc-1.71.1"

[rust]
channel = "stable"
description = "for BLFS 12.0"

# BLFS used to not install the FileCheck executable from llvm,
# so disabled codegen tests.  The assembly tests rely on FileCheck
# and cannot easily be disabled, so those will anyway fail if
# FileCheck has not been installed.
#codegen-tests = false

[target.x86_64-unknown-linux-gnu]
# NB the output of llvm-config (i.e. help options) may be
# dumped to the screen when config.toml is parsed.
llvm-config = "/usr/bin/llvm-config"

[target.i686-unknown-linux-gnu]
# NB the output of llvm-config (i.e. help options) may be
# dumped to the screen when config.toml is parsed.
llvm-config = "/usr/bin/llvm-config"


EOF

Kompiler Rust ved å kjøre følgende kommandoer:

{ [ ! -e /usr/include/libssh2.h ] ||
  export LIBSSH2_SYS_USE_PKG_CONFIG=1; } &&
python3 ./x.py build

Note

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:

SSL_CERT_DIR=/etc/ssl/certs \
python3 ./x.py test --verbose --no-fail-fast | tee rustc-testlog

Noen ui tester kan mislykkes (antall feil avhenger av lengden på den absolutte banen til rustc-1.71.1-src mappen). Disse feilene kan identifiseres ved å se rustc-testlog filen og søke etter note: the full type name has been written to... meldinger og de kan trygt ignoreres.

Hvis FileCheck fra LLVM ikke har blitt installert, alle 47 tester fra assembly pakken vil mislykkes.

På noen systemer kan skripting av testene føre til at testene henger på test: combine_install_with_separate_uninstall. Hvis dette skjer, kan problemet løses ved å trykke på Enter tasten. Testen kan også fjernes med:

sed -e '/runtest combine_install_with/s/^/#/g' -i src/tools/rust-installer/test.sh

Som med alle store testserier, kan andre 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:

Note

Hvis sudo eller su er påberopt for å bytte til root bruker, sikre at LIBSSH2_SYS_USE_PKG_CONFIG er korrekt sendt ellers vil følgende kommando gjenoppbygge denne pakken fullstendig. For sudo, bruk --preserve-env=LIBSSH2_SYS_USE_PKG_CONFIG alternativet. For su, ikke bruk - eller --login.

python3 ./x.py install

Bygningssystemet prøver å installere noen filer to ganger, og under det andre forsøket gir det nytt navn til den gamle (installert i det første forsøk) med .old suffiks. Som root bruker, fjern disse filene:

find /opt/rustc-1.71.1 -name "*.old" -delete

Fortsatt som root bruker, symbolkoble en Zsh fullføringsfilen på riktig plassering:

install -vdm755 /usr/share/zsh/site-functions      &&
ln -sfv /opt/rustc/share/zsh/site-functions/_cargo \
        /usr/share/zsh/site-functions

Parameterforklaringer

ln -svfn rustc-1.71.1 /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.

SSL_CERT_DIR=/etc/ssl/certs: Arbeid rundt et problem som forårsaker testfeil med CA sertifikatlageroppsettet som brukes av make-ca-1.12.

--verbose: denne bryteren kan noen ganger gi mer informasjon om en test som mislykkes.

--no-fail-fast: denne bryteren sikrer at testpakken ikke vil stoppe ved den første feilen.

Konfigurere Rust

Konfigurasjonsinformasjon

Hvis du har installert rustc i /opt, må du oppdatere følgende konfigurasjonsfiler slik at rustc er riktig funnet av andre pakker og systemprosesser.

Som root bruker, opprett /etc/profile.d/rustc.sh filen:

cat > /etc/profile.d/rustc.sh << "EOF"
# Begin /etc/profile.d/rustc.sh

pathprepend /opt/rustc/bin           PATH

# Include /opt/rustc/man in the MANPATH variable to access manual pages
pathappend  /opt/rustc/share/man     MANPATH

# 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.71.1

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.71.1/lib/rustlib/etc

rust-gdbgui

er et innpakningsskript for et grafisk grensesnitt til gdb som kjører i en nettleser

rust-lldb

er et innpakningsskript for LLDB (LLVM-feilsøkeren) 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

SCons-4.5.2

Introduksjon til SCons

SCons er et verktøy for å bygge programvare (og andre filer) implementert i Python.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

SCons Avhengigheter

Valgfri

docbook-xsl-nons-1.79.2 og libxslt-1.1.38

Installasjon av SCons

Installer SCons ved å kjøre følgende kommandoer som root bruker:

sed -i 's/env python/&3/' SCons/Utilities/*.py &&

python3 setup.py install --prefix=/usr \
                         --optimize=1  &&

mv -v /usr/lib/python3.11/site-packages/SCons-4.5.2-py3.11.egg/*.1 \
      /usr/share/man/man1

Innhold

Installerte Programmer: scons, scons-configure-cache, og sconsign
Installerte Biblioteker: Ingen
Installert Mappe: /usr/lib/python3.11/site-packages/SCons

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.0 plattform.

Pakkeinformasjon

Slang Avhengigheter

Valgfri

libpng-1.6.40, PCRE-8.45, og Oniguruma

Installasjon av Slang

Note

Denne pakken støtter ikke parallellbygging.

Installer slang ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --with-readline=gnu &&
make -j1

For å teste resultatene, kjør: 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 \
     install

Parameterforklaringer

--with-readline=gnu: Denne parameteren setter GNU Readline skal brukes av parsergrensesnittet i stedet for slang interne versjon.

make install_doc_dir=/usr/share/doc/slang-2.3.3 SLSH_DOC_DIR=/usr/share/doc/slang-2.3.3/slsh install: Denne kommandoen installerer denne pakken med en versjonert dokumentasjon installasjonsmappe.

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.2

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://archive.apache.org/dist/subversion/subversion-1.14.2.tar.bz2

  • Nedlasting MD5 sum: 9927b167d1c67d663ca63125907f6f69

  • Nedlastingsstørrelse: 8.3 MB

  • Estimert diskplass som kreves: 208 MB (legg til 228 MB for bindinger, 52 MB for dokumenter, 1,3 GB for tester)

  • Estimert byggetid: 0.5 SBU (Bruker parallellisme=4; legg til 1,9 SBU for bindinger, 35 SBU for tester)

Subversion Avhengigheter

Påkrevd

Apr-Util-1.6.3 og SQLite-3.42.0

Anbefalt
Valgfri

Apache-2.4.57, Boost-1.83.0, Cyrus SASL-2.1.28, dbus-1.14.8, Doxygen-1.9.7 (for å generere HTML dokumentasjon), gnome-keyring-42.1, libsecret-0.21.0, Py3c-1.4 (for python bindinger og tester) Python-2.7.18 (med sqlite støtte for testene), Ruby-3.2.2, SWIG-4.1.1 (for å bygge Perl, Python og Ruby bindinger), LZ4, og UTF8proc

Valgfri (for Java bindinger)

En av OpenJDK-20.0.2, Dante eller Jikes, JUnit 4 (for å teste Java bindingene) og apache-ant-1.10.14.

Installasjon av Subversion

Først må du tilpasse noen Python skript for å bruke python3:

grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'

Tilpass deretter Ruby bindingene til Ruby-3.2:

sed -e 's/File.exists?/File.exist?/'               \
    -i subversion/bindings/swig/ruby/svn/util.rb   \
       subversion/bindings/swig/ruby/test/test_wc.rb

Installer Subversion ved å kjøre følgende kommandoer:

PYTHON=python3 ./configure --prefix=/usr             \
            --disable-static          \
            --with-apache-libexecdir  \
            --with-lz4=internal       \
            --with-utf8proc=internal &&
make

Hvis du har Doxygen-1.9.7 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.14 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.11/site-packages/libsvn \
     swig_pydir_extra=/usr/lib/python3.11/site-packages/svn # for Python
make swig-rb # for Ruby

For å teste resultatene, kjør: make check. Fire tester i commit_tests.py, prop_tests.py, og update_tests.py pakkene er kjent for å mislykkes.

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.2 &&
cp      -v -R doc/* /usr/share/doc/subversion-1.14.2

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.11/site-packages/libsvn \
      swig_pydir_extra=/usr/lib/python3.11/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.57 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-lz4=internal, --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.38/{,auto/}SVN, /usr/lib/python3.11/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.2

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.2 og OpenSSH-9.4p1

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}

Note

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/

Note

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-20230816 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.1.1

Introduksjon til SWIG

SWIG (Simplified Wrapper and Interface Generator) er en kompilator som integrerer C og C++ med språk inkludert Perl, Python, Tcl, Ruby, PHP, Java, C#, D, Go, Lua, Octave, R, 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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://downloads.sourceforge.net/swig/swig-4.1.1.tar.gz

  • Nedlasting MD5 sum: c7d55a1bca26752f3846c85b43c1a69c

  • Nedlastingsstørrelse: 8.2 MB

  • Estimert diskplass som kreves: 82 MB (2.1 GB med tester)

  • Estimert byggetid: 0.1 SBU (legg til 7,8 SBU for tester; begge bruker parallellisme=4)

SWIG Avhengigheter

Påkrevd

pcre2-10.42

Valgfri

Boost-1.83.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: PY3=1 make -k check TCL_INCLUDE=. 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 &&
install -v -m755 -d /usr/share/doc/swig-4.1.1 &&
cp -v -R Doc/* /usr/share/doc/swig-4.1.1

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.

Innhold

Installerte Programmer: swig og ccache-swig
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/doc/swig-4.1.1 og /usr/share/swig

Korte Beskrivelser

swig

tar en grensesnittfil som inneholder C/C++ deklarasjoner og SWIG spesielle instruksjoner, og genererer tilsvarende innpakningskode nødvendig for å bygge utvidelsesmoduler

ccache-swig

er en kompilatorhurtiglager, som øker hastigheten på re-kompilering av C/C++/SWIG kode

Sysprof-3.48.0

Introduksjon til Sysprof

sysprof pakken inneholder en statistisk og systemomfattende profilerer for Linux.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Sysprof Avhengigheter

Påkrevd

desktop-file-utils-0.26, GTK-4.12.0, itstool-2.0.7, JSON-GLib-1.6.6, libadwaita-1.3.4, libdazzle-3.44.0, libunwind-1.6.2, og Polkit-123

Installasjon av Sysprof

Installer Sysprof 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: sysprof, sysprof-agent, og sysprof-cli
Installerte Biblioteker: libsysprof-4.so, libsysprof-capture-4.a, libsysprof-memory-4.so, libsysprof-speedtrack-4.so, og libsysprof-ui-5.so
Installerte Mapper: /usr/include/sysprof-4, /usr/include/sysprof-ui-5, og /usr/share/help/*/sysprof

Korte Beskrivelser

sysprof

er et grafisk grensesnitt til sysprof

sysprof-agent

brukes til å profilere applikasjoner i containere

sysprof-cli

er et kommandolinjegrensesnitt til sysprof

libsysprof-4.so

gir API funksjoner for profilering av prosesser som kjører på et system

libsysprof-capture-4.a

gir en krok som brukes til å fange statistikk fra en prosess

libsysprof-memory-4.so

gir API funksjoner for å fange minnestatistikk

libsysprof-speedtrack-4.so

gir API funksjoner for å spore hastigheten til en kjørende prosess

libsysprof-ui-4.so

gir API funksjoner for sysprof GUI

Tk-8.6.13

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.0 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

$([ $(uname -m) = x86_64 ] && echo --enable-64bit): Denne bryteren brukes til å aktivere 64 bit støtte i Tk på 64 bit systemer.

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.0 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.11

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.0 plattform.

Pakkeinformasjon

Vala Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

dbus-1.14.8 (Nødvendig for tester), libxslt-1.1.38 (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

--disable-valadoc: Dette alternativet er nødvendig hvis Graphviz-8.1.0 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.21.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.0 plattform.

Pakkeinformasjon

Valgrind Avhengigheter

Valgfri

GDB-13.2 (for tester), LLVM-16.0.5 (med Clang), og Which-2.21 (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.21.0 &&
make

For å teste resultatene, kjør: make regtest. Testene kan henge for alltid hvis GDB-13.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

Note

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.21.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.01 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.0 plattform.

Pakkeinformasjon

yasm Avhengigheter

Valgfri

Python-2.7.18 og cython-0.29.36

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-20.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.0 plattform.

Binær Pakkeinformasjon

Java Binary Runtime Avhengigheter

alsa-lib-1.2.9, Cups-2.4.6, giflib-5.2.1, 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-20.0.2-bin &&
mv -v * /opt/OpenJDK-20.0.2-bin         &&
chown -R root:root /opt/OpenJDK-20.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-20.0.2-bin /opt/jdk

Du kan nå gå videre til Konfigurering av JAVA miljøet, hvor instruksjonene forutsetter at koblingen ovenfor eksisterer.

OpenJDK-20.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.0 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.

Note

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-20.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/jdk20u/archive/jdk-20.0.2-ga.tar.gz

  • Nedlasting MD5 sum: 0a6c990bd0a4eee6eee06e89b74cde19

  • Nedlastingsstørrelse: 105 MB

  • Estimert diskplass som kreves: 3.6 GB (legg til 800 MB for tester)

  • Estimert byggetid: 4.8 SBU med 4 jobber (legg til 36 SBU for tester med 4 jobber)

Ytterligere Nedlastinger

Valgfri testpakke

OpenJDK Avhengigheter

Påkrevde Avhengigheter

En eksisterende binær (Java-20.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.9, cpio-2.14, Cups-2.4.6, UnZip-6.0, Which-2.21, Xorg Biblioteker, og Zip-3.0

Anbefalt
Valgfri

git-2.41.0, Graphviz-8.1.0, Mercurial-6.5.1, ccache, pandoc, og pigz

Installasjon av OpenJDK

Hvis du har lastet ned den valgfrie testpakken, pakk den ut nå:

tar -xf ../jtreg-7.2+1.tar.gz

Note

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.

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                             &&
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="9"     \
               --with-version-pre=""        \
               --with-version-opt=""        \
               --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 60 mislykket og 10 feil.

Installer pakken med følgende kommandoer som root bruker:

install -vdm755 /opt/jdk-20.0.2+9             &&
cp -Rv build/*/images/jdk/* /opt/jdk-20.0.2+9 &&
chown -R root:root /opt/jdk-20.0.2+9          &&
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

Note

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-20.0.2+9 /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 20.0.2 Runtime
Comment=OpenJDK Java 20.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 20.0.2 Console
Comment=OpenJDK Java 20.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=<X>: -j passert å lage 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.12 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: /opt/jdk-20.0.2/lib/*
Installerte Mapper: /opt/jdk-20.0.2

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

# Add to MANPATH
pathappend $JAVA_HOME/man MANPATH

# 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.14p3 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.12 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.14

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.0 plattform.

Pakkeinformasjon

Apache Ant Avhengigheter

Påkrevd

A JDK (Java binær or OpenJDK-20.0.2) og GLib-2.76.4

Note

En Internett tilkobling er nødvendig for å bygge denne pakken.

Installasjon av Apache Ant

Bygg en begrenset bootstrap versjon av Apache Ant ved å bruke følgende kommando:

./bootstrap.sh

Løs nå et problem når neste kommando prøver å laste ned en fil fra et problemsted:

sed -e 's|ftp.software.ibm.com|anduin.linuxfromscratch.org|' \
    -e 's|software/awdtools/netrexx|BLFS/apache-ant|'        \
    -i fetch.xml 

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.14 dist

Installer, som root bruker:

cp -rv ant-1.10.14 /opt/            &&
chown -R root:root /opt/ant-1.10.14 &&
ln -sfv ant-1.10.14 /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.14 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.14

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

Part IV. Nettverk

Chapter 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.44.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.0.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.0 plattform.

Pakkeinformasjon

dhcpcd Avhengigheter

Valgfri

LLVM-16.0.5 (med Clang), ntp-4.2.8p17, 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-20230816 pakken ved å kjøre følgende kommando som root bruker:

make install-dhcpcd

Note

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.

Note

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

Chapter 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.0 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.0

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.0 plattform.

Pakkeinformasjon

cifs-utils Avhengigheter

Anbefalt
Valgfri

docutils-0.20.1 (for å lage mansidene), keyutils-1.6.1 (kreves for å bygge PAM modulen), Linux-PAM-1.5.3, Samba-4.18.6, og libcap-2.69 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.5.3 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.6

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

NcFTP Avhengigheter

Valgfri

LLVM-16.0.5 (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 forårsaket av en endring i atferd i GCC-10:

sed -i 's/^Bookmark/extern Bookmark/' sh_util/gpshare.c

Deretter oppdaterer du konfigureringsskriptet til å bruke moderne C standarder:

patch -Np1 -i ../ncftp-3.2.6-configure_fixes-1.patch &&
autoreconf -fiv -I autoconf_local

For å installere NcFTP ved å bruke den første (og optimale) metoden, kjør følgende kommandoer:

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

make -C ... && make -C ...: Disse kommandoene lager og installerer det dynamiske biblioteket libncftp som deretter brukes til å linke mot ved kompilering av hovedprogrammet.

Konfigurere NcFTP

Konfigurasjonsfiler

/etc/ncftp.* og ~/.ncftp/*; spesielt /etc/ncftp.prefs_v3 og ~/.ncftp/prefs_v3

Konfigurasjonsinformasjon

De fleste NcFTP konfigurasjonene gjøres mens du er i programmet, og konfigurasjonsfilene behandles automatisk. Et unntak fra dette er ~/.ncftp/prefs_v3. Det er forskjellige alternativer å endre der, inkludert:

yes-i-know-about-NcFTPd=yes

Dette deaktiverer splash-skjermen som annonserer NcFTPd serveren.

Det er andre alternativer i prefs_v3 filen. De fleste av disse er selvforklarende. Globale standarder kan settes i /etc/ncftp.prefs_v3.

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.0 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.

Note

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.6.3

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.0 plattform.

Pakkeinformasjon

NFS Utilities Avhengigheter

Påkrevd

libtirpc-1.3.3, libevent-2.1.12, rpcsvc-proto-1.4.4, og SQLite-3.42.0

Valgfri

Cyrus SASL-2.1.28 (for SASL autentisering), LVM2-2.03.22 (libdevmapper for NFSv4 støtte), libnsl-2.0.0 (for NIS klient støtte), OpenLDAP-2.6.6 (for LDAP autentisering), MIT Kerberos V5-1.21.2 eller libgssapi , og librpcsecgss (for GSS og RPC sikkerhetsstøtte), og libcap-2.69 med PAM

Påkrevd (kjøretid)

rpcbind-1.2.6

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/nfs-utils

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.

Note

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

Note

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-20230816 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

Note

Følgende systemd enheter er ikke obligatorisk hvis nfs-server enheter er installert.

Installer enheter inkludert i blfs-systemd-units-20230816 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.8p17

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.0 plattform.

Pakkeinformasjon

ntp Avhengigheter

Påkrevd

IO-Socket-SSL-2.083

Valgfri

libcap-2.69 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

update-leap kommandoen må fikses i for å kjøre skikkelig:

sed -e 's/"(\\S+)"/"?([^\\s"]+)"?/' \
    -i scripts/update-leap/update-leap.in

Løs nå et problem introdusert med glibc-2.34:

sed -e 's/#ifndef __sun/#if !defined(__sun) \&\& !defined(__GLIBC__)/' \
    -i libntp/work_thread.c

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.8p17 &&
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

CFLAGS="-O2 -g -fPIC": Denne miljøvariabelen er nødvendig for å generere posisjonsuavhengig kode nødvendig for bruk i pakkebibliotekene.

--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. For det tredje definerer den plasseringen for sprangsekund definisjonsfilen /etc/ntp.leapseconds, som update-leap skript sjekker og oppdateringer, når nødvendig. Dette skriptet kan kjøres som en cron jobb og ntp utviklere anbefaler en frekvens på ca tre uker for oppdateringene. 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

leapfile  /var/lib/ntp/ntp.leapseconds
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-20230816 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

rpcbind-1.2.6

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

rpcbind Avhengigheter

Påkrevd

libtirpc-1.3.3

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:

patch -Np1 -i ../rpcbind-1.2.6-vulnerability_fixes-1.patch &&

./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.2.7

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.samba.org/ftp/rsync/src/rsync-3.2.7.tar.gz

  • Nedlasting MD5 sum: f216f350ef56b9ba61bc313cb6ec2ed6

  • Nedlastingsstørrelse: 1.1 MB

  • Estimert diskplass som kreves: 9.6 MB (med tester; legg til 24 MB for HTML API dokumentasjon)

  • Estimert byggetid: 0.7 SBU (med tester)

rsync Avhengigheter

Anbefalt
Valgfri

Doxygen-1.9.7, lz4, 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-lz4    \
            --disable-xxhash \
            --without-included-zlib &&
make

Hvis du har Doxygen-1.9.7 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.2.7/api &&
install -v -m644 dox/html/*  /usr/share/doc/rsync-3.2.7/api

Parameterforklaringer

--disable-lz4: Denne bryteren deaktiverer LZ4 komprimerings støtte. Merk at den bruker den overlegne 'zstd' algoritmen når denne bryteren er i bruk, og zstd er gitt i LFS.

--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.4p1 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) manside 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-20230816 pakken.

make install-rsyncd

Note

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.2.7

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.18.6

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.samba.org/pub/samba/stable/samba-4.18.6.tar.gz

  • Nedlasting MD5 sum: d7e75ab3de1f48ea696c030c869c96f2

  • Nedlastingsstørrelse: 39 MB

  • Estimert diskplass som kreves: 600 MB (legg til 100 MB for rask test)

  • Estimert byggetid: 1.7 SBU (bruker parallellisme=4; legg til 0,3 SBU for rask test)

Samba Avhengigheter

Påkrevd

GnuTLS-3.8.1, jansson-2.14, JSON-4.10, libtirpc-1.3.3, Parse-Yapp-1.21, og rpcsvc-proto-1.4.4

Anbefalt
Valgfri

Avahi-0.8, BIND-9.18.18, Cups-2.4.6, Cyrus SASL-2.1.28, GDB-13.2, git-2.41.0, GnuPG-2.4.3 (kreves for ADS og testpakken), libaio-0.3.113, libarchive-3.7.1 (for tar i smbclient), libcap-2.69 med PAM, libgcrypt-1.10.2, libnsl-2.0.0, libunwind-1.6.2, lmdb-0.9.31, Markdown-3.4.1, MIT Kerberos V5-1.21.2, nss-3.92, popt-1.19, Talloc-2.4.1 (inkludert), Vala-0.56.11, Valgrind-3.21.0 (valgfritt brukt av testpakken), xfsprogs-6.4.0, cmocka, cryptography, ctdb (inkludert), cwrap, dnspython, FAM, Gamin, GlusterFS, Heimdal (inkludert), iso8601, ldb (inkludert), M2Crypto (påkrevd for ADS), OpenAFS, pyasn1, PyGPGME (anbefalt for ADS), tevent (inkludert), tdb (inkludert), og tracker-2

Valgfri (for Utviklertestpakken)

Installer i oppført rekkefølge: six-1.16.0, pytest-7.4.0, argparse, extras, hypothesis, coverage, pytest-cov, doctools, unittest2, testtools, fixtures, python-mimeparse, contextlib2, traceback2, linecache2, testscenarios, testresources, virtualenv, pbr, 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:

python3 -m venv pyvenv &&
./pyvenv/bin/pip3 install cryptography pyasn1 iso8601

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                        \
    --enable-selftest                      &&
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.

Note

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 en hardkodet bane til Python 3 tolken:

sed '1s@^.*$@#!/usr/bin/python3@' \
    -i ./bin/default/source4/scripting/bin/samba-gpupdate.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.11/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-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.

Note

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-20230816 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-20230816 pakken ved å kjøre følgende kommando som root bruker:

make install-winbindd

Note

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-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-310-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.11,samba}
Installerte Mapper: /etc/samba, /run/samba, /usr/include/samba-4.0, /usr/lib/python3.11/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-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.21.4

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.0 plattform.

Pakkeinformasjon

Wget Avhengigheter

Anbefalt
Valgfri

GnuTLS-3.8.1, HTTP-Daemon-6.16 (for testpakken), IO-Socket-SSL-2.083 (for testpakken), libidn2-2.3.4, libpsl-0.21.2, PCRE-8.45 eller pcre2-10.42, og Valgrind-3.21.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.1.

--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.10.0 eller lsusb fra usbutils-015 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-5.19

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.0 plattform.

Pakkeinformasjon

iw Avhengigheter

Påkrevd

libnl-3.7.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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Wireless Tools Avhengigheter

Påkrevd (Kjøretid)

Configuring the Linux Kernel for Wireless

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/WirelessTools

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.10

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.0 plattform.

Pakkeinformasjon

WPA Supplicant Avhengigheter

Påkrevd (Kjøretid)

Configuring the Linux Kernel for Wireless

Anbefalt
Valgfri

libxml2-2.10.4, og (Qt-5.15.10 eller qt-alternate-5.15.10)

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen i tillegg spesifikke enhetsdrivere for maskinvaren din og kompiler kjernen på nytt hvis nødvendig:

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.44.0, sørg for at du har installert dbus-1.14.8 og libxml2-2.10.4, 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

Hvis du har installert (Qt-5.15.10 eller qt-alternate-5.15.10) og ønsker å bygge WPA Supplicant GUI programmet, kjør følgende kommandoer:

Note

Følgende mappenavn er merket qt4, men er kompatibel med (Qt-5.15.10 eller qt-alternate-5.15.10).

pushd wpa_gui-qt4 &&
qmake wpa_gui.pro &&
make &&
popd

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

Aktiver i tillegg wpa_supplicant.servicesystemd kan riktig aktivere D-Bus service. Merk at per tilkoblingstjeneste og D-Bus tjenesten kan ikke aktiveres samtidig. Kjør følgende kommando som root bruker:

systemctl enable wpa_supplicant

Hvis du har bygget WPA Supplicant GUI programmet, installer den ved å kjøre følgende kommandoer som root bruker:

install -v -m755 wpa_gui-qt4/wpa_gui /usr/bin/ &&
install -v -m644 doc/docbook/wpa_gui.8 /usr/share/man/man8/ &&
install -v -m644 wpa_gui-qt4/wpa_gui.desktop /usr/share/applications/ &&
install -v -m644 wpa_gui-qt4/icons/wpa_gui.svg /usr/share/pixmaps/

Note

Du må starte på nytt systemets D-Bus nisse før du kan bruke WPA Supplicant D-Bus grensesnittet.

Note

Denne pakken installerer skrivebordsfiler i /usr/share/applications hierarkiet og du kan forbedre systemytelsen og minnebruken ved å oppdatere /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha desktop-file-utils-0.26 installert og utstede følgende kommando som root bruker:

update-desktop-database -q

Konfigurere wpa_supplicant

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 eller GUI, 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_gui, wpa_supplicant, wpa_passphrase and wpa_cli
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

wpa_gui

er et grafisk grenseflate program for samhandling med wpa_supplicant

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

Chapter 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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Avahi Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

D-Bus Python-1.3.2, libevent-2.1.12, PyGTK-2.24.0, Doxygen-1.9.7 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        \
    --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-qt5, 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-qt5, 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.18.18

Introduksjon til BIND Utilities

BIND Utilities er ikke en separat pakke, det er en samling av klientsideprogrammene som er inkludert med BIND-9.18.18. BIND pakken inkluderer klientsideprogrammene nslookup, dig og host. Hvis du installerer BIND serveren, disse programmene vil bli installert automatisk. Denne delen er for de brukerne som ikke trenger den komplette BIND serverer, men trenger disse applikasjoner på klientsiden.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

BIND Utilities Avhengigheter

Påkrevd

libuv-1.46.0

Anbefalt
Valgfri

libcap-2.69 med PAM, libxml2-2.10.4, og sphinx-7.1.2

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/bind9  &&
make -C lib/irs    &&
make -C bin/dig    &&
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/bind9  install &&
make -C lib/irs    install &&
make -C bin/dig    install &&
cp -v doc/man/{dig.1,host.1,nslookup.1} /usr/share/man/man1

Parameterforklaringer

--disable-doh: Bruk dette alternativet hvis du ikke har installert nghttp2-1.55.1 og du ikke trenger DNS over HTTPS støtte.

make -C lib/...: Disse kommandoene bygger biblioteker som trengs for klientprogrammene.

make -C bin/dig: Denne kommandoen bygger klientprogrammene.

make -C doc: Denne kommandoen bygger manualsider hvis den valgfrie Python modulen sphinx-7.1.2 er installert.

Bruk cp -v doc/man/{dig.1,host.1,nslookup.1} /usr/share/man/man1 for å installere manualsidene hvis de er bygget.

Innhold

Installerte Programmer: dig, host, og nslookup
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

Se programbeskrivelsene i BIND-9.18.18 seksjonen.

NetworkManager-1.44.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.0 plattform.

Note

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

jansson-2.14 og libndp-1.8

Anbefalt
Valgfri

BlueZ-5.68, D-Bus Python-1.3.2 (for testpakken), GnuTLS-3.8.1 (kan brukes i stedet for nss-3.92), GTK-Doc-1.33.2, libpsl-0.21.2, (Qt-5.15.10 eller qt-components-5.15.10 med qtdoc) (for eksempler), ModemManager-1.18.12, UPower-1.90.2, Valgrind-3.21.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

Hvis Qt-5.15.10 er installert og Qt basert eksempler ønskes, fiks to meson.build filer:

sed -e 's/-qt4/-qt5/'              \
    -e 's/moc_location/host_bins/' \
    -i examples/C/qt/meson.build   &&

sed -e 's/Qt/&5/'                  \
    -i meson.build

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    &&

CXXFLAGS+="-O2 -fPIC"            \
meson setup ..                   \
      --prefix=/usr              \
      --buildtype=release        \
      -Dlibaudit=no              \
      -Dlibpsl=false             \
      -Dnmtui=true               \
      -Dovs=false                \
      -Dppp=false                \
      -Dselinux=false            \
      -Dqt=false                 \
      -Dsession_tracking=systemd \
      -Dmodem_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.44.0}

Hvis du ikke har sendt -Ddocs=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 -Ddocs=true, forhåndsgenerert HTML dokumentasjon kan også installeres med (som root bruker):

cp -Rv ../docs/{api,libnm} /usr/share/doc/NetworkManager-1.44.0

Parameterforklaringer

CXXFLAGS="-O2 -fPIC": Disse kompilatoralternativene er nødvendig for å bygge de Qt5 baserte eksemplene.

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Ddocs=true: Bruk denne bryteren for å aktivere bygging av mansider og dokumentasjon hvis GTK-Doc-1.33.2 er installert.

-Dnmtui=true: Denne bryteren gjør det mulig å bygge nmtui.

-Dlibpsl=false og -Dovs=false: Disse bryterne deaktiverer bygging med respektive biblioteker. Fjern disse hvis du har de nødvendige bibliotekene installert på systemet ditt.

-Dmodem_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.

-Dsession_tracking=systemd: Denne bryteren brukes til å sette systemd-logind som standardprogram for øktsporing.

-Dsystemdsystemunitdir=/lib/systemd/system: Denne bryteren brukes til å angi riktig installasjonsmappe for systemd enheter.

-Dppp=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.

-Dlibaudit=no og -Dselinux=false: Denne bryteren deaktiverer støtte for libaudit og SELinux siden de ikke brukes i BLFS.

-Dqt=false: deaktiverer -Dqt=false: Denne bryteren deaktiverer Qt eksempler. Utelat hvis du har Qt tilgjengelig og ønsker å installere eksemplene.

-Dcrypto=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).

-Dcrypto=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).

-Dsuspend_resume=upower: Bruk denne bryteren hvis du har UPower-1.90.2 installert og ønsker å bruke den (i stedet for Systemd-254) 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:

Note

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.44.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.32.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.0 plattform.

Pakkeinformasjon

NetworkManager Applet Avhengigheter

Påkrevd

GTK+-3.24.38, libnma-1.10.6, og libsecret-0.21.0

Anbefalt
Påkrevd (Kjøretid)

Siden denne pakken bruker Polkit-123 for autorisasjon, en Polkit Authentication Agent bør være kjørende når funksjonaliteten til denne pakken brukes.

Valgfri

gnome-bluetooth-42.6 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 \
      -Dappindicator=no   \
      -Dselinux=false     &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dappindicator=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.

-Dselinux=false: Denne bryteren deaktiverer SELinux støtte siden det ikke for øyeblikket er i BLFS og byggingen vil mislykkes uten den.

-Dwwan=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.94

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nmap.org/dist/nmap-7.94.tar.bz2

  • Nedlasting MD5 sum: 4f65e08148d1eaac6b1a1482e7185e1d

  • Nedlastingsstørrelse: 11 MB

  • Estimert diskplass som kreves: 138 MB (legg til 17 MB for tester)

  • Estimert byggetid: 0.3 SBU (Bruker parallellisme=4; legg til 0,1 SBU for tester)

Nmap Avhengigheter

Anbefalt

Note

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

Installer Nmap ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

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.11/site-packages/{radialnet,zenmapCore,zenmapGUI,zenmap-7.94-py3.11.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.2

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.

Note

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.0 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.0 plattform.

Pakkeinformasjon

Whois Avhengigheter

Valgfri

libidn-1.41 eller libidn2-2.3.4

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:

Note

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.0.7

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.wireshark.org/download/src/all-versions/wireshark-4.0.7.tar.xz

  • Nedlasting MD5 sum: 8c23f20130bb1a346ca3da1ff43a16b4

  • Nedlastingsstørrelse: 41 MB

  • Estimert diskplass som kreves: 692 MB (med alle valgfrie avhengigheter tilgjengelig i BLFS boken)

  • Estimert byggetid: 2.1 SBU (med parallellisme=4 og alle valgfrie avhengigheter tilgjengelig i BLFS boken)

Ytterligere Nedlastinger

Wireshark Avhengigheter

Påkrevd

CMake-3.27.2, GLib-2.76.4, libgcrypt-1.10.2, og (Qt-5.15.10 eller qt-components-5.15.10 med qtmultimedia)

Anbefalt
Valgfri

asciidoctor-2.0.20, Brotli-1.0.9, c-ares-1.19.1, Doxygen-1.9.7, git-2.41.0, GnuTLS-3.8.1, libnl-3.7.0, libxslt-1.1.38, libxml2-2.10.4, Lua-5.2.4, MIT Kerberos V5-1.21.2, nghttp2-1.55.1, SBC-2.0, Speex-1.2.1, BCG729, libilbc, libsmi, lz4, libssh, MaxMindDB, Minizip, 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 -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/wireshark-4.0.7 \
      -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.0.7 &&
install -v -m644    ../README.linux ../doc/README.* ../doc/randpkt.txt \
                    /usr/share/doc/wireshark-4.0.7 &&

pushd /usr/share/doc/wireshark-4.0.7 &&
   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.0.7

Sett nå eierskap og tillatelser for sensitive applikasjoner til bare å tillate autoriserte brukere. Som root bruker:

chown -v root:wireshark /usr/bin/{tshark,dumpcap} &&
chmod -v 6550 /usr/bin/{tshark,dumpcap}

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.

Note

Hvis du vil se på pakker, sørg for at du ikke filtrerer dem ut med iptables-1.8.9. Hvis du vil utelukke visse klasser av pakker, er det mer effektivt å gjøre det med iptables enn det er med Wireshark.

Innhold

Installerte Programmer: capinfos, captype, dumpcap, editcap, idl2wrs, mergecap, randpkt, rawshark, reordercap, sharkd, text2pcap, tshark, og wireshark
Installerte Biblioteker: libwireshark.so, libwiretap.so, libwsutil.so, og mange moduler under /usr/lib/wireshark/plugins
Installerte Mapper: /usr/{include,lib,share}/wireshark og /usr/share/doc/wireshark-4.0.7

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

dumpcap

er et nettverkstrafikkdumpverktøy. Den lar deg fange opp pakkedata fra et levende nettverk og skriv pakkene til en fil

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

Chapter 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.19.1

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.0 plattform.

Pakkeinformasjon

c-ares Avhengigheter

Påkrevd

CMake-3.27.2

Installasjon av c-ares

Installer c-ares ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake  -DCMAKE_INSTALL_PREFIX=/usr .. &&
make

Denne pakken inkluderer ikke en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: acountry, adig, og ahost
Installerte Biblioteker: libcares.so
Installerte Mapper: Ingen

Korte Beskrivelser

acountry

skriver ut landet der en IPv4 adresse eller vert er plassert

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.2.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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://curl.se/download/curl-8.2.1.tar.xz

  • Nedlasting MD5 sum: 556576a795bdd2c7d10de6886480065f

  • Nedlastingsstørrelse: 2.5 MB

  • Estimert diskplass som kreves: 42 MB (legg til 23 MB for tester)

  • Estimert byggetid: 0.1 SBU (med parallellitet=4; legg til 15 SBU for tester (uten valgrind, legg til 36 SBU med valgrind)

cURL Avhengigheter

Anbefalt
Valgfri

Brotli-1.0.9, c-ares-1.19.1, GnuTLS-3.8.1, libidn2-2.3.4, libpsl-0.21.2, libssh2-1.11.0, MIT Kerberos V5-1.21.2, nghttp2-1.55.1, OpenLDAP-2.6.6, Samba-4.18.6 (kjøretid, for NTLM autentisering), gsasl, impacket, libmetalink, librtmp, ngtcp2, quiche, og SPNEGO

Valgfritt hvis du kjører testpakken

Apache-2.4.57 og stunnel-5.70 (for HTTPS og FTPS tester), og Valgrind-3.21.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                          \
            --enable-threaded-resolver              \
            --with-ca-path=/etc/ssl/certs &&
make

For å teste resultatene, kjør: make test. Testene relatert til SMB protokollen vil sende ut en melding duplisert mange ganger og klage over Python modulen impacket (ikke en del av BLFS) mangler og vil bli hoppet over.

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.2.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.

--enable-threaded-resolver: Denne bryteren aktiverer cURL sin innebygde trådet DNS løser.

--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 virker obligatorisk nå.

--with-gssapi: Denne parameteren legger til Kerberos 5 støtte til libcurl.

--without-ssl --with-gnutls: Brukt 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. Den overstyrer --enable-threaded-resolver og er ikke utbredt testet av redaksjonen.

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.2.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.0

Introduksjon til GeoClue

GeoClue er en modulær geoinformasjonstjeneste bygget på toppen av D-Bus meldingssystem. Målet for GeoClue prosjektet er å lage lokalitetsbevisste applikasjoner så enkle som mulig.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GeoClue Avhengigheter

Påkrevd

JSON-GLib-1.6.6 og libsoup-3.4.2

Anbefalt
Valgfri

GTK-Doc-1.33.2 og libnotify-0.8.2

Installasjon av GeoClue

Installer GeoClue ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dgtk-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.

-D3g-source=false: Denne bryteren deaktiverer 3G bakstykke. Bruk den hvis du ikke har installert ModemManager pakken.

-Dmodem-gps-source=false: Denne bryteren deaktiverer modem GPS bakstykke. Bruk den hvis du ikke har installert ModemManager pakken.

-Dcdma-source=false: Denne bryteren deaktiverer CDMA kilde bakstykke. Bruk den hvis du ikke har installert ModemManager pakken.

-Dnmea-source=false: Denne bryteren deaktiverer NMEA kilde. Bruk den hvis du ikke har installert Avahi pakken.

-Ddemo-agent=false: Denne bryteren deaktiverer demo. Bruk den hvis du ikke har installert libnotify pakken.

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.76.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.0 plattform.

Pakkeinformasjon

GLib Networking Avhengigheter

Påkrevd

GLib-2.76.4 og GnuTLS-3.8.1

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 \
   -Dlibproxy=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.1.1

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.0 plattform.

Pakkeinformasjon

kdsoap Avhengigheter

Påkrevd

(Qt-5.15.10 eller qt-alternate-5.15.10)

Installasjon av kdsoap

Installer kdsoap ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/kdsoap-2.1.1 \
      .. &&
make

Pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: kdwsdl2cpp
Installerte Biblioteker: libkdsoap.so og libkdsoap-server.so
Installerte Mapper: /usr/lib/cmake/KDSoap, /usr/share/doc/kdsoap-2.1.1, /usr/include/KDSoapClient. og /usr/include/KDSoapServer

ldns-1.8.3

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.0 plattform.

Pakkeinformasjon

ldns Avhengigheter

Valgfri

make-ca-1.12 og libpcap-1.10.4 (for eksempelprogrammer), Python-2.7.18 og SWIG-4.1.1 (for Python bindinger), og Doxygen-1.9.7 (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.9.7 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.3 &&
install -v -m644 doc/html/* /usr/share/doc/ldns-1.8.3

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.

Innhold

Installerte Programmer: drill og ldns-config
Installerte Biblioteker: libldns.so og /usr/lib/python2.7/site-packages/_ldns.so
Installerte Mapper: /usr/include/ldns og /usr/share/doc/ldns-1.8.3

Korte Beskrivelser

drill

er et verktøy som dig fra BIND Utilities-9.18.18 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.0 plattform.

Pakkeinformasjon

libevent Avhengigheter

Valgfri

Doxygen-1.9.7 (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.9.7 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.0 plattform.

Pakkeinformasjon

libnma Avhengigheter

Valgfri

Doxygen-1.9.7

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

libnl-3.7.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.0 plattform.

Pakkeinformasjon

Valgfrie Nedlastinger

Installasjon av libnl

Installer libnl ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  &&
make

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make install

Hvis du ønsker å installere API dokumentasjonen, som root bruker:

mkdir -vp /usr/share/doc/libnl-3.7.0 &&
tar -xf ../libnl-doc-3.7.0.tar.gz --strip-components=1 --no-same-owner \
    -C  /usr/share/doc/libnl-3.7.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.7.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.0 plattform.

Pakkeinformasjon

libnma Avhengigheter

Påkrevd

Gcr-3.41.1, GTK+-3.24.38, ISO Codes-4.15.0, og NetworkManager-1.44.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                    \
      -Dgtk_doc=false                        \
      -Dlibnma_gtk4=true                     \
      -Dmobile_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.

-Dgtk_doc=false: Denne parameteren deaktiverer generering av API dokumentasjon ved hjelp av gtk-doc. Hvis du har GTK-Doc-1.33.2 installert og ønsker å generere API dokumentasjonen, utelat denne parameteren.

-Dlibnma_gtk4=true: Denne parameteren trenges kun for senest gnome-control-center-44.3.

-Dmobile_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.0

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.0 plattform.

Pakkeinformasjon

libnsl Avhengigheter

Påkrevd

libtirpc-1.3.3

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: Ingen

Korte Beskrivelser

libnsl.so

gir NIS (YP) API funksjoner som kreves av andre programmer

libpcap-1.10.4

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.0 plattform.

Pakkeinformasjon

libpcap Avhengigheter

Valgfri

BlueZ-5.68, libnl-3.7.0, libusb-1.0.26, 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.2

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.0 plattform.

Pakkeinformasjon

libpsl Avhengigheter

Påkrevd

libidn2-2.3.4 og libunistring-1.1

Valgfri

GTK-Doc-1.33.2 (for dokumentasjon) og Valgrind-3.21.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

libndp-1.8

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): http://libndp.org/files/libndp-1.8.tar.gz

  • Nedlasting MD5 sum: c7e775fd5a9d676e8cba9c3732c4df93

  • Nedlastingsstørrelse: 360 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

Libslirp-4.7.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.0 plattform.

Pakkeinformasjon

libslirp Avhengigheter

Påkrevd

GLib-2.76.4

Installasjon av Libslirp

Installer libslirp 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: 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.0 plattform.

Pakkeinformasjon

libsoup Avhengigheter

Påkrevd

glib-networking-2.76.1, libpsl-0.21.2, libxml2-2.10.4, og SQLite-3.42.0

Anbefalt
Valgfri

Apache-2.4.57 (kreves for å kjøre testpakken), Brotli-1.0.9, cURL-8.2.1 (kreves for å kjøre testpakken), sysprof-3.48.0 (for profilering), MIT Kerberos V5-1.21.2 (kreves for å kjøre testpakken), GTK-Doc-1.33.2, PHP-8.2.9 kompilert med XMLRPC-EPI støtte (bare brukt for XMLRPC regresjonstestene), og Samba-4.18.6 (ntlm_auth kreves for å kjøre testpakken)

Installasjon av libsoup

Installer libsoup ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dvapi=enabled      \
            -Dgssapi=disabled   \
            -Dsysprof=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.

-Dvapi=disabled: Bruk denne hvis du ikke har installert Vala, f.eks. fordi du ikke bygger GNOME.

-Ddoc=enabled: Bruk dette alternativet hvis du vil bygge dokumentasjonen. Merk at du må ha GTK-Doc-1.33.2 installert.

-Dgssapi=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.

-Dsysprof=disabled: libsoup vil automatisk laste ned en git versjon av sysprof-3.48.0 hvis git er tilgjengelig eller bruk den installerte versjonen hvis tilgjengelig. 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.4.2

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.0 plattform.

Pakkeinformasjon

libsoup3 Avhengigheter

Påkrevd

glib-networking-2.76.1, libpsl-0.21.2, libxml2-2.10.4, nghttp2-1.55.1, og SQLite-3.42.0

Anbefalt
Valgfri

Apache-2.4.57 (kreves for å kjøre testpakken), Brotli-1.0.9, cURL-8.2.1 (kreves for å kjøre testpakken), Gi-DocGen-2023.1, MIT Kerberos V5-1.21.2 (kreves for å kjøre testpakken), PHP-8.2.9 kompilert med XMLRPC-EPI støtte (bare brukt for XMLRPC regresjonstestene), Samba-4.18.6 (ntlm_auth kreves for å kjøre testpakken), sysprof-3.48.0 (for profilering), 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    \
            -Dvapi=enabled         \
            -Dgssapi=disabled      \
            -Dsysprof=disabled     \
            --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 stopper nedlastingen av eventuell valgfrie avhengigheter som ikke er installert på systemet.

-Dvapi=disabled: Bruk denne hvis du ikke har installert Vala, f.eks. fordi du ikke bygger GNOME.

-Ddocs=enabled: Hvis Gi-DocGen-2023.1 er installert, API dokumentasjon vil bli bygget og installert uansett om dette alternativet brukes eller ikke. Dette alternativet forårsaker at meson kommandoen mislykkes hvis Gi-DocGen-2023.1 ikke er installert.

-Dgssapi=disabled: libsoup3 bygger som standard med GSSAPI støtte, som krever Kerberos (det samme gjør testpakken).

-Dsysprof=disabled: libsoup3 vil automatisk laste ned en git versjon av sysprof-3.48.0 hvis git er tilgjengelig eller å bruke den installerte versjonen hvis tilgjengelig. Hvis du trenger profilering, fjern dette alternativet.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libsoup-3.0.so
Installerte Mapper: /usr/include/libsoup-3.0, /usr/share/doc/libsoup-3.4.2 (bare installert hvis -Ddocs=enabled er gitt)

Korte Beskrivelser

libsoup-3.0.so

gir funksjoner for asynkrone HTTP tilkoblinger

libtirpc-1.3.3

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.0 plattform.

Pakkeinformasjon

libtirpc Avhengigheter

Valgfri

MIT Kerberos V5-1.21.2 for GSSAPI

Installasjon av libtirpc

Note

Hvis du oppdaterer denne pakken, må du også oppdatere enhver eksisterende versjon av rpcbind-1.2.6

./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.2) 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.32.5

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://notroj.github.io/neon/neon-0.32.5.tar.gz

  • Nedlasting MD5 sum: 7976b1cd67b7228cddb7eb4f39640ac5

  • Nedlastingsstørrelse: 876 KB

  • Estimert diskplass som kreves: 8.6 MB (ytterligere 18 MB for tester)

  • Estimert byggetid: 0.1 SBU (legg til 0.4 SBU for tester)

neon Avhengigheter

Valgfri

GnuTLS-3.8.1, libxml2-2.10.4, MIT Kerberos V5-1.21.2, nss-3.92 (for noen tester), xmlto-0.0.28 (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.32.5

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.55.1

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.0 plattform.

Pakkeinformasjon

nghttp2 Avhengigheter

Anbefalt

libxml2-2.10.4

Valgfri

Følgende brukes bare hvis du bygger hele pakken i stedet for bare hovedbibliotekene: Boost-1.83.0, c-ares-1.19.1, cython-0.29.36, jansson-2.14, libevent-2.1.12, sphinx-7.1.2, jemalloc, libev, mruby, og Spdylay.

CUnit kreves hvis du ønsker å kjøre testpakken.

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.55.1 &&
make

Testpakken trenger CUnit, som er utenfor omfanget av BLFS.

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.55.1

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.3, sammen med rpcgen programmet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.0 plattform.

Pakkeinformasjon

Serf Avhengigheter

Påkrevd

Apr-Util-1.6.3 og SCons-4.5.2

Valgfri

MIT Kerberos V5-1.21.2, for GSSAPI

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.5.3

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.0 plattform.

Pakkeinformasjon

uhttpmock Avhengigheter

Påkrevd

libsoup-2.74.3

Anbefalt
Valgfri

GTK-Doc-1.33.2

Installasjon av uhttpmock

Installer uhttpmock 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.

--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: libuhttpmock-0.0.so
Installerte Mapper: /usr/include/libuhttpmock-0.0 og /usr/share/gtk-doc/html/libuhttpmock-0.0

Korte Beskrivelser

libuhttpmock-0.0.so

inneholder uhttpmock API funksjoner

Chapter 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.29

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.0 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-0.11.1, libpng-1.6.40, libjpeg-turbo-3.0.0, librsvg-2.56.3, og libtiff-4.5.1

For dekomprimering av nettsider som er komprimert med Brotli, Links kan bruke Brotli-1.0.9

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.29 &&
install -v -m644 doc/links_cal/* KEYS BRAILLE_HOWTO \
    /usr/share/doc/links-2.29

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.29

Korte Beskrivelser

links

er en tekst- og grafikkmodus WWW nettleser

Lynx-2.8.9rel.1

Introduksjon til Lynx

Lynx er en tekstbasert nettleser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Lynx Avhengigheter

Valgfri

GnuTLS-3.8.1 (eksperimentell, til å erstatte openssl), Zip-3.0, UnZip-6.0, og MTA (som gir en sendmail kommando), og Sharutils-4.15.2 (for uudecode programmet)

Installasjon av Lynx

Først bruker du en oppdatering for å fikse et sikkerhetsproblem:

patch -p1 -i ../lynx-2.8.9rel.1-security_fix-1.patch

Installer Lynx ved å kjøre følgende kommandoer:

./configure --prefix=/usr          \
            --sysconfdir=/etc/lynx \
            --datadir=/usr/share/doc/lynx-2.8.9rel.1 \
            --with-zlib            \
            --with-bzlib           \
            --with-ssl             \
            --with-screen=ncursesw \
            --enable-locale-charset &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install-full &&
chgrp -v -R root /usr/share/doc/lynx-2.8.9rel.1/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.8.9rel.1: Denne parameteren brukes slik at dokumentasjonsfilene installeres i /usr/share/doc/lynx-2.8.9rel.1 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.8.9rel.1/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.0.1677, 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.8.9rel.1

Korte Beskrivelser

lynx

er en generell tekstbasert, distribuert informasjons nettleser for World Wide Web

Chapter 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.4.37

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.0 plattform.

Pakkeinformasjon

Fetchmail Avhengigheter

Anbefalt
Valgfri

MIT Kerberos V5-1.21.2 og libgssapi

Valgfri (for kjøring av fetchmailconf)

Python-3.11.4, bygget etter Tk-8.6.13, 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:

PYTHON=python3 \
./configure --prefix=/usr \
            --enable-fallback=procmail &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install                                  &&
chown -v fetchmail:nogroup /usr/bin/fetchmail

Parameterforklaringer

PYTHON=python3: en versjon av Python er påkrevd, men bare brukt til å installere en modul for å tillate fetchmailconf å kjøre. Den modulen er ikke vedlikeholdt og bør ikke bli brukt.

--enable-fallback=procmail: Dette forteller Fetchmail å levere innkommende post til Procmail for levering, dersom port 25 postserveren ikke er til stede eller ikke svarer.

Konfigurere Fetchmail

Konfigurasjonsfiler

~/.fetchmailrc

Konfigurasjonsinformasjon

Note

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 Tkinter modulen, men er 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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Heirloom mailx Avhengigheter

Valgfri

nss-3.92, MIT Kerberos V5-1.21.2 (for IMAP GSSAPI autentisering), og en MTA

Installasjon av Heirloom mailx

Note

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.11

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.0 plattform.

Pakkeinformasjon

Mutt Avhengigheter

Anbefalt (for en tekstversjon av manualen)
Valgfri

Aspell-0.60.8, Cyrus SASL-2.1.28, DocBook-utils-0.6.14, GDB-13.2, GnuPG-2.4.3, GnuTLS-3.8.1, GPGME-1.21.0, libidn-1.41, MIT Kerberos V5-1.21.2, en MTA (som gir en sendmail kommando), slang-2.3.3, SQLite-3.42.0, libgssapi, Mixmaster, QDBM eller Tokyo Cabinet

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/mutt

Installasjon av Mutt

Note

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:

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.11 \
            --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

Note

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.11/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.11

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.3 verktøy

pgpring

er en nøkkelring dumper for PGP. Det er ikke nødvendig for GnuPG-2.4.3

smime_keys

administrerer et nøkkellager for S/MIME sertifikater

Procmail-3.22

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Procmail Avhengigheter

Anbefalt
Valgfri

libnsl-2.0.0

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/procmail

Installasjon av Procmail

Denne pakken kommer ikke med en testpakke.

Installer Procmail ved å kjøre følgende kommandoer som root bruker:

sed -i 's/getline/get_line/' src/*.[ch]                   &&
patch -Np1 -i ../procmail-3.22-consolidated_fixes-1.patch &&

make LOCKINGTEST=/tmp MANDIR=/usr/share/man install       &&
make install-suid

Parameterforklaringer

sed -i 's/getline/get_line/' src/*.[ch]: Dette gir nytt navn til procmail sin getline funksjon for å unngå konflikt med getline funksjonen fra glibc.

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.17 inkluderer både en e-postklient og nyhetsleser i installasjonen.

Thunderbird-115.2.0 er en e-post-/nyhetsklient basert på Mozilla kodebase.

Evolution-3.48.4 er en e-postklient og organisator fra GNOME skrivebordet.

Part V. Servere

Chapter 20. Hovedservere

Hovedservere er programmene som tilbyr innhold eller tjenester til brukere eller andre programmer.

Apache-2.4.57

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Apache HTTPD Avhengigheter

Påkrevd

Apr-Util-1.6.3 og pcre2-10.42

Valgfri

Brotli-1.0.9, Berkeley DB-5.3.28, Doxygen-1.9.7, jansson-2.14, libxml2-2.10.4, Lua-5.4.6, Lynx-2.8.9rel.1 eller Links-2.29 eller ELinks, nghttp2-1.55.1, OpenLDAP-2.6.6 (Apr-Util-1.6.3 må være installert med ldap støtte), rsync-3.2.7, and Distcache

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/apache

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.57-blfs_layout-1.patch             &&

sed '/dir.*CFG_PREFIX/s@^@#@' -i support/apxs.in              &&

sed -e '/HTTPD_ROOT/s:${ap_prefix}:/etc/httpd:'       \
    -e '/SERVER_CONFIG_FILE/s:${rel_sysconfdir}/::'   \
    -e '/AP_TYPES_CONFIG_FILE/s:${rel_sysconfdir}/::' \
    -i configure  &&

./configure --enable-authnz-fcgi                              \
            --enable-layout=BLFS                              \
            --enable-mods-shared="all cgi"                    \
            --enable-mpms-shared=all                          \
            --enable-suexec=shared                            \
            --with-apr=/usr/bin/apr-1-config                  \
            --with-apr-util=/usr/bin/apu-1-config             \
            --with-suexec-bin=/usr/lib/httpd/suexec           \
            --with-suexec-caller=apache                       \
            --with-suexec-docroot=/srv/www                    \
            --with-suexec-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.

--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.

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-20230816 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.18.18

Introduksjon til BIND

BIND pakken gir en DNS-server og klientverktøy. Hvis du bare er interessert i verktøyene, referer til BIND Utilities-9.18.18.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

BIND Avhengigheter

Påkrevd

libuv-1.46.0

Anbefalt
Valgfri

cURL-8.2.1, libidn2-2.3.4, libxml2-2.10.4, lmdb-0.9.31, MIT Kerberos V5-1.21.2, pytest-7.4.0, sphinx-7.1.2 (nødvendig for å bygge dokumentasjon), cmocka, geoip, jemalloc, w3m

Valgfrie databasebakstykker

Berkeley DB-5.3.28, MariaDB-10.11.4 eller MySQL, OpenLDAP-2.6.6, PostgreSQL-15.4, og unixODBC-2.3.12

Valgfri (for å kjøre testpakken)

Net-DNS-1.39

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:

Note

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.39 ikke er installert. Two tests, resolver and dispatch, er kjent for å mislykkes. For å kjøre testene, som en uprivilegert bruker, kjør:

make -k check

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-linux-caps: BIND kan også bygges uten kapasitetsstøtte ved å bruke dette alternativet, på bekostning av noe tap av sikkerhet.

--with-dlz-{mysql,bdb,filesystem,ldap,odbc,stub}: Bruk ett (eller flere) av disse alternativene for å legge til støtte for dynamisk lastbare soner. For mer informasjon se bind-dlz.sourceforge.net.

--disable-doh: Bruk dette alternativet hvis du ikke har nghttp2-1.55.1 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:

Note

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       199.9.14.201
B.ROOT-SERVERS.NET.     6D  IN      AAAA    2001:500:200::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:

Note

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-20230816 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-7.1.2 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 PDF, epub og html på https://downloads.isc.org/isc/bind9/9.18.18/doc/arm/.

Innhold

Installerte Programmer: arpaname, ddns-confgen, delv, dig, dnssec-cds, dnssec-dsfromkey, dnssec-importkey, dnssec-keyfromlabel, dnssec-keygen, 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: libbind9.so, libdns.so, libirs.so, libisc.so, libisccc.so, libisccfg.so, og libns.so
Installerte Mapper: /usr/include/{bind9,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-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.4.0 DHCP Server

Introduksjon til ISC Kea DHCP Server

ISC Kea pakken inneholder serverprogrammer for DHCP. Det er etterfølgeren til den gamle ISC DHCP server som er utgått siden desember 2022.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Kea Avhengigheter

Påkrevd

Boost-1.83.0 og log4cplus-2.1.0

Valgfri

MIT Kerberos V5-1.21.2, for dokumentasjon Doxygen-1.9.7, Graphviz-8.1.0, og sphinx_rtd_theme-1.2.2

Valgfrie database bakstykker

MariaDB-10.11.4 eller MySQL, og PostgreSQL-15.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

Installer ISC Kea DHCP Server ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --docdir=/usr/share/doc/kea-2.4.0 \
            --localstatedir=/var \
            --enable-shell       \
            --with-openssl       \
            --disable-static &&
make

For å teste resultatene, utsted: make check.

For å installere ISC Kea DHCP Server pakken, utsted følgende kommandoer som root bruker:

make -j1 install

Parameterforklaringer

--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. Ekstra konfigurasjonsfiler kommer fra keactrl agenten som brukes til å kontrollere servere på en enkel måte.

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 viste et minimum for å få en DHCP serveren til å kjøre, men den inkluderer allerede konfigurasjon for DDNS (Dynamisk DNS). Det oppsettet fungerer kanskje for små nettverk med få klienter og lite trafikk. For større installasjoner med tusenvis av kunder, ISC Kea kan konfigureres til å bruke databaser (mariadb eller postgresql) til å lagre leiekontraktene og bygge en klynge med flere noder. Det kan være integrert til ISC Stork som er et administrasjons dashbord til ISC Kea.

Hvis du vil starte DHCP serveren ved oppstart, installer kea-dhcpd.service enheten inkludert i blfs-systemd-units-20230816 pakken:

make install-kea-dhcpd

Konfigurasjonsfiler

/etc/kea/keactrl.conf, /etc/kea/kea-ctrl-agent.conf, /etc/kea/kea-dhcp4.conf, /etc/kea/kea-dhcp6.conf og /etc/kea/kea-dhcp-ddns.conf

Kea kontrollkonfigurasjon

keactrl brukes til å kontrollere uavhengige servere (IPv4, IPv6, DDNS). Konfigurasjonsfilen /etc/kea/keactrl.conf er installert som standard og inkluderer mange baneinnstillinger som er definert på grunn av configure ved byggetiden. Det inkluderer også innstillinger for å spesifisere hvilken av serverne som skal være startet.

  • Kontrollagent

    Kontrollagenten er en nisse som tillater (re)konfigurasjon av Kea DHCP tjenesten via REST API. Sett ctrl_agent=yes for å starte kontrollagent (tjeneste som gir en REST API), sett ctrl_agent=no i tilfelle kontrollagenten ikke er nødvendig.

  • IPv4 DHCP server

    Denne nissen håndterer forespørsler om IPv4 adresser. Sett dhcp4=yes for å starte den, sett dhcp4=no i tilfelle DHCP tjeneste for IPv4 ikke er ønsket.

  • IPv6 DHCP server

    Denne nissen håndterer forespørsler om IPv6 adresser. Sett dhcp6=yes for å starte den, sett dhcp6=no i tilfelle DHCP tjeneste for IPv6 ikke er ønsket.

  • Dynamic DNS

    Denne nissen brukes til å oppdatere en DNS server dynamisk når Kea tildeler en IP adresse til en enhet. Sett dhcp_ddns=yes for å aktivere det, sett dhcp_ddns=no i tilfelle dynamic DNS oppdateringer ikke er ønsket.

Netconf tjenesten er ikke installert fordi nødvendige avhengigheter dekkes ikke av gjeldende BLFS bok.

Med følgende kommando vil Kea bli konfigurert til å starte dhcp tjenesten for IPv4 og dynamisk DNS oppdatering, mens kontrollagenten og dhcp tjenesten for IPv6 forblir nede. Juster kommandoen til å matche dine behov på startet tjenester og utfør som root bruker:

sed -e "s/^dhcp4=.*/dhcp4=yes/" \
    -e "s/^dhcp6=.*/dhcp6=no/" \
    -e "s/^dhcp_ddns=.*/dhcp_ddns=yes/" \
    -e "s/^ctrl_agent=.*/ctrl_agent=no/" \
    -i /etc/kea/keactrl.conf

Kontrollagentkonfigurasjon

Den oppgitte konfigurasjonen kan brukes uten endringer 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 å bruke følgende eksempel som root bruker:

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": [
      {
        "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

Konfigurasjonen for IPv6 er lik konfigurasjonen av IPv4. Konfigurasjonsfilen er /etc/kea/kea-dhcp6.conf.

Dynamisk DNS konfigurasjon

Hvis det er en BIND-9.18.18 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 å bruke følgende eksempel 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

Note

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.18.18.

I denne eksempelkonfigurasjonen antas det at DNS serveren kjører på samme maskin som Kea gjør (tilgjengelig via 127.0.0.1) og at denne maskinen har IP 192.168.56.2.

Innhold

Installerte Programmer: keactrl, kea-admin, kea-ctrl-agent, kea-dhcp4, kea-dhcp6, kea-dhcp-ddns, kea-lfc, kea-shell
Installerte Biblioteker: libkea-*
Installerte Mapper: /etc/kea, /usr/include/kea, /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.8

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.0 plattform.

Pakkeinformasjon

ProFTPD Avhengigheter

Valgfri

libcap-2.69 med PAM, libssh2-1.11.0, Linux-PAM-1.5.3, MariaDB-10.11.4 eller MySQL, PCRE-8.45, PostgreSQL-15.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.8 &&
cp -Rv doc/*     /usr/share/doc/proftpd-1.3.8

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.

Note

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.

Note

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-20230816 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.8, 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

vsftpd-3.0.5

Introduksjon til vsftpd

vsftpd pakken inneholder en veldig sikker og veldig liten FTP nisse. Dette er nyttig for å betjene filer over et nettverk.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

vsftpd Avhengigheter

Påkrevd

libnsl-2.0.0

Anbefalt
Valgfri

libcap-2.69 med PAM

Installasjon av vsftpd

Av sikkerhetsgrunner, å kjøre vsftpd som en uprivilegert bruker og gruppe oppmuntres. Det bør også være en bruker opprettet for å kartlegge anonyme brukere. Som root bruker, opprette de nødvendige mappene, brukere og grupper med følgende kommandoer:

install -v -d -m 0755 /usr/share/vsftpd/empty &&
install -v -d -m 0755 /home/ftp               &&
groupadd -g 47 vsftpd                         &&
groupadd -g 45 ftp                            &&

useradd -c "vsftpd User"  -d /dev/null -g vsftpd -s /bin/false -u 47 vsftpd &&
useradd -c anonymous_user -d /home/ftp -g ftp    -s /bin/false -u 45 ftp

Gcc-10 og senere flagger en feil for en implisitt type cast. Gjør det eksplisitt:

sed -e "s/kVSFSysStrOpenUnknown;/(enum EVSFSysUtilOpenMode)&/" -i sysstr.c

Bygg vsftpd som en uprivilegert bruker ved å bruke følgende kommando:

make

Denne pakken kommer ikke med en testpakke.

Igjen, bli root bruker og installere vsftpd med følgende kommandoer:

install -v -m 755 vsftpd        /usr/sbin/vsftpd    &&
install -v -m 644 vsftpd.8      /usr/share/man/man8 &&
install -v -m 644 vsftpd.conf.5 /usr/share/man/man5 &&
install -v -m 644 vsftpd.conf   /etc

Parameterforklaringer

install -v -d ...: Dette oppretter mappen som anonyme brukere vil bruke (/home/ftp) og mappen nissen vil chroot inn i (/usr/share/vsftpd/empty).

Note

/home/ftp bør ikke være eid av brukeren vsftpd, eller brukeren ftp.

echo "#define VSF_BUILD_TCPWRAPPERS" >>builddefs.h: Bruk denne før make for å legge til støtte for tcpwrappers.

echo "#define VSF_BUILD_SSL" >>builddefs.h: Bruk denne før make for å legge til støtte for SSL.

install -v -m ...: Makefile bruker ikke-standard installasjonsstier. Disse kommandoene installerer filene i /usr og /etc.

Konfigurere vsftpd

Konfigurasjonsfiler

/etc/vsftpd.conf

Konfigurasjonsinformasjon

vsftpd kommer med en grunnleggende kun anonym konfigurasjonsfil som ble kopiert til /etc ovenfor. Mens fortsatt som root, denne filen burde bli endret fordi det nå anbefales å kjøre vsftpd i frittstående modus. Også bør du spesifisere rettighetsseparasjonsbrukeren opprettet ovenfor. Endelig, bør du spesifisere chroot mappen. man vsftpd.conf vil gi deg alle detaljene.

cat >> /etc/vsftpd.conf << "EOF"
background=YES
nopriv_user=vsftpd
secure_chroot_dir=/usr/share/vsftpd/empty
EOF

For å aktivere lokale pålogginger, legg til følgende til /etc/vsftpd.conf filen (som root bruker):

cat >> /etc/vsftpd.conf << "EOF"
local_enable=YES
EOF

I tillegg, hvis du bruker Linux-PAM og vsftpd med lokale brukerpålogginger, trenger du a Linux-PAM konfigurasjonsfilen. Som root bruker, opprett /etc/pam.d/vsftpd filen, og legg til de nødvendige konfigurasjonsendringer for Linux-PAM øktstøtte ved å bruke følgende kommandoer:

cat > /etc/pam.d/vsftpd << "EOF" &&
# Begin /etc/pam.d/vsftpd
auth       required     /lib/security/pam_listfile.so item=user sense=deny \
                                                      file=/etc/ftpusers \
                                                      onerr=succeed
auth       required     pam_shells.so
auth       include      system-auth
account    include      system-account
session    include      system-session
EOF

cat >> /etc/vsftpd.conf << "EOF"
session_support=YES
pam_service_name=vsftpd
EOF

Systemd Enhet

Installer vsftpd.service enheten inkludert i blfs-systemd-units-20230816 pakken:

make install-vsftpd

Innhold

Installert Program: vsftpd
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/vsftpd, /home/ftp

Korte Beskrivelser

vsftpd

er FTP nissen

Chapter 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 servere er det en POP server (qpopper) og en IMAP server (Courier-IMAP).

Dovecot-2.3.20

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Dovecot Avhengigheter

Påkrevd

libtirpc-1.3.3

Valgfri

CLucene-2.3.3.4, ICU-73.2, libcap-2.69 med PAM, Linux-PAM-1.5.3, Lua-5.4.6, MariaDB-10.11.4 eller MySQL, OpenLDAP-2.6.6, PostgreSQL-15.4, SQLite-3.42.0, Valgrind-3.21.0, xfsprogs-6.4.0, Cassandra, lz4, stemmer og libsodium

Installasjon av Dovecot

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

Først, bruk en oppdatering for å fikse problemer med OpenSSL-3:

patch -Np1 -i ../dovecot-2.3.20-openssl3_fixes-1.patch

Deretter bruker du en oppdatering for å fikse et sikkerhetsproblem:

patch -Np1 -i ../dovecot-2.3.20-security_fix-1.patch

Installer Dovecot ved å kjøre følgende kommandoer:

CPPFLAGS="-I/usr/include/tirpc" \
LDFLAGS+=" -ltirpc" \
./configure --prefix=/usr                          \
            --sysconfdir=/etc                      \
            --localstatedir=/var                   \
            --docdir=/usr/share/doc/dovecot-2.3.20 \
            --disable-static                       &&
make

For å teste resultatene, kjør make -k check.

Nå, som root bruker:

make install

Parameterforklaringer

CPPFLAGS=... LDFLAGS+=...: bygg med libtirpc i stedet for den nylig fjernede RPC koden levert av GlibC.

--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-lucene: Denne bryteren aktiverer CLucene støtte for fulltekstsøk.

--with-lua: Denne bryteren aktiverer Lua programtilleggstøtte. Dette inkluderer et programtillegg for e-post og push varsling.

Konfigurere Dovecot

Konfigurasjonsfiler

/etc/dovecot/dovecot.conf, /etc/dovecot/conf.d/*, og /etc/dovecot/local.conf

Konfigurasjonsinformasjon

Kopier en eksempelkonfigurasjon, som du kan bruke som utgangspunkt:

cp -rv /usr/share/doc/dovecot-2.3.20/example-config/* /etc/dovecot

Følgende konfigurasjon er et enkelt proof of concept med IMAP tjenesten som bruker lokale brukere for autentisering og postboksplassering. Leser filer fra conf.d mappen er kommentert ut siden den inkluderte eksempelkonfigurasjonen krever OpenSSL og Linux PAM.

sed -i '/^\!include / s/^/#/' /etc/dovecot/dovecot.conf &&
chmod -v 1777 /var/mail &&
cat > /etc/dovecot/local.conf << "EOF"
protocols = imap
ssl = no
# The next line is only needed if you have no IPv6 network interfaces
listen = *
mail_location = mbox:~/Mail:INBOX=/var/mail/%u
userdb {
  driver = passwd
}
passdb {
  driver = shadow
}
EOF

Du vil definitivt lese den offisielle dokumentasjonen på https://wiki2.dovecot.org/ 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, dovecot-sysreport, og dsync (symbolkobling)
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.3.20

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

dsync

er Dovecot sin postbokssynkronisering verktøy

Exim-4.96

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.0 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.0 og pcre2-10.42

Valgfri

TDB (alternativ til GDBM, bygget i LFS), Cyrus SASL-2.1.28, libidn-1.41, Linux-PAM-1.5.3, MariaDB-10.11.4 eller MySQL, OpenLDAP-2.6.6, GnuTLS-3.8.1, PostgreSQL-15.4, SQLite-3.42.0, et grafiske miljø, Heimdal GSSAPI, 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 '/# SUPPORT_TLS=yes/s,^#,,'                   \
    -e '/# USE_OPENSSL/s,^#,,'                       \
    -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' 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 -v -d -m755    /usr/share/doc/exim-4.96 &&
install -v -m644 doc/* /usr/share/doc/exim-4.96 &&

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-5.3.28.

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.

SUPPORT_TLS=yes: Dette gjør det mulig å støtte STARTTLS tilkoblinger. Hvis du bruker dette alternativet, må du velge om OpenSSL eller GnuTLS benyttes (se src/EDITME).

USE_OPENSSL_PC=openssl: Dette forteller byggesystemet å bruke OpenSSL, og å finne de nødvendige bibliotekene med pkg-config.

#EXIM_MONITOR: Dette utsetter byggingen av Exim overvåkingsprogrammet, siden det krever X Window System støtte, ved å kommentere ut EXIM_MONITOR linjen i Makefile. Hvis du ønsker å bygge overvåkingsprogrammet, utelate denne sed kommandoen og gi følgende kommando før du bygger pakken (endre Local/eximon.conf, hvis nødvendig): cp exim_monitor/EDITME Local/eximon.conf.

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.96/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.96/doc/html/spec_html/ch45.html.

For å bruke en annen bakstykke database enn GDBM , se instruksjonene på https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECTdb.

For SSL funksjonalitet, se instruksjonene på https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECTinctlsssl og https://exim.org/exim-html-4.96/doc/html/spec_html/ch42.html.

For tcpwrappers funksjonalitet, se instruksjoner på https://exim.org/exim-html-4.96/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.96/doc/html/spec_html/index.html.

For informasjon om å koble Linux-PAM, se instruksjonene https://exim.org/exim-html-4.96/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.96/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.96/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.96/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

Note

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-20230816 pakken:

make install-exim

Innhold

Installerte Programmer: exicyclog, exigrep, exim, exim-4.96-2, exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb, exim_lock, exim_tidydb, eximstats, exinext, exipick, exiqgrep, exiqsumm, exiwhat, og valgfritt, eximon, eximon.bin, og sendmail (symbollenke)
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/doc/exim-4.96 og /var/spool/exim

Korte Beskrivelser

exicyclog

sirkulerer Exim loggfiler

exigrep

søker Exim loggfiler

exim

er en symbolkobling til exim-4.96-2 MTA nissen

exim-4.96-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_lock

låser en postboksfil

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.8.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.0 plattform.

Pakkeinformasjon

Postfix Avhengigheter

Anbefalt
Valgfri

ICU-73.2 for internasjonalisering av e-postadresser (SMTPUTF8) støtte, MariaDB-10.11.4 or MySQL, OpenLDAP-2.6.6, PCRE-8.45, PostgreSQL-15.4, SQLite-3.42.0, 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.

Note

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 deklarasjon som ikke finnes i BLFS.

Les readme filene for mer informasjon.

Cyrus-SASL

For å bruke Cyrus-SASL med Postfix, bruk følgende argumenter:

CCARGS='-DNO_NIS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl'
AUXLIBS='-lsasl2'
OpenLDAP

For å bruke OpenLDAP med Postfix, bruk følgende argumenter:

CCARGS='-DNO_NIS -DHAS_LDAP'
AUXLIBS='-lldap -llber'
Sqlite

For å bruke Sqlite med Postfix, bruk følgende argumenter:

CCARGS='-DNO_NIS -DHAS_SQLITE'
AUXLIBS='-lsqlite3 -lpthread'
MySQL

For å bruke MySQL med Postfix, bruk følgende argumenter:

CCARGS='-DNO_NIS -DHAS_MYSQL -I/usr/include/mysql'
AUXLIBS='-lmysqlclient -lz -lm'
PostgreSQL

For å bruke PostgreSQL med Postfix, bruk følgende argumenter:

CCARGS='-DNO_NIS -DHAS_PGSQL -I/usr/include/postgresql'
AUXLIBS='-lpq -lz -lm'
CDB/TinyCDB

For å bruke CDB eller TinyCDB med Postfix, bruk følgende argumenter:

CCARGS='-DNO_NIS -DHAS_CDB'
AUXLIBS='</path/to/CDB>/libcdb.a'
StartTLS Authentication

For å bruke OpenSSL med Postfix, bruk følgende argumenter:

CCARGS='-DNO_NIS -DUSE_TLS -I/usr/include/openssl/'
AUXLIBS='-lssl -lcrypto'

Installere Postfix

Juster følgende i henhold til dine behov. For eksempel, hvis du har Cyrus SASL, installere Postfix ved å kjøre følgende kommandoer:

make CCARGS="-DNO_NIS -DUSE_TLS -I/usr/include/openssl/            \
             -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl" \
     AUXLIBS="-lssl -lcrypto -lsasl2"                              \
     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.8.1/html \
   readme_directory=/usr/share/doc/postfix-3.8.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.

Note

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

Note

Postfix kan også settes opp til kjøre i et chroot fengsel. Se filen i kilden examples/chroot-setup/LINUX2 for detaljer.

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-20230816 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.8.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.17.2

Introduksjon til sendmail

sendmail pakken inneholder en post transportagent (MTA).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

sendmail Avhengigheter

Påkrevd

OpenLDAP-2.6.6 (klient)

Anbefalt
Valgfri

ghostscript-10.01.2 (for å lage PDF dokumentasjon), Procmail-3.22 (konfigurasjonen foreslått nedenfor krever at procmail er tilstede ved kjøretid), og nph

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/sendmail

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

Note

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',`-DSTARTTLS -DSASL -DLDAPMAP -DHASFLOCK')
APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -ldb')
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.17.2/{cf,sendmail} &&

install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
        /usr/share/doc/sendmail-8.17.2 &&

install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \
        /usr/share/doc/sendmail-8.17.2/sendmail &&

install -v -m644 cf/README /usr/share/doc/sendmail-8.17.2/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:

Note

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.17.2 &&
install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-8.17.2 &&
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

Note

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
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-20230816 pakken:

make install-sendmail

Note

-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.17.2, 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

Chapter 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

Note

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

Note

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/

Berkeley DB

Som Sqlite, denne programvaren virker på lokale databasefiler; det er ingen nettverksgrensesnitt.

De relevante ressursene for å sikkerhetskopiere/gjenopprette en Berkeley database er man sidene for db_dump og dets motpart db_load.

Berkeley DB-5.3.28

Introduksjon til Berkeley DB

Berkeley DB pakken inneholder programmer og verktøy som brukes av mange andre applikasjoner for databaserelaterte funksjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Berkeley DB Avhengigheter

Valgfri

libnsl-2.0.0 og Sharutils-4.15.2 (for uudecode kommando)

Installasjon av Berkeley DB

Bruk først en rettelse slik at denne vil kompilere med gjeldende versjoner av g++:

sed -i 's/\(__atomic_compare_exchange\)/\1_db/' src/dbinc/atomic.h

Installer Berkeley DB ved å kjøre følgende kommandoer:

cd build_unix                        &&
../dist/configure --prefix=/usr      \
                  --enable-compat185 \
                  --enable-dbm       \
                  --disable-static   \
                  --enable-cxx       &&
make

Nå, som root bruker:

make docdir=/usr/share/doc/db-5.3.28 install &&

chown -v -R root:root                        \
      /usr/bin/db_*                          \
      /usr/include/db{,_185,_cxx}.h          \
      /usr/lib/libdb*.{so,la}                \
      /usr/share/doc/db-5.3.28

Parameterforklaringer

cd build_unix && ../dist/configure --prefix=/usr...: Dette erstatter den normale ./configure kommandoen, siden Berkeley DB leveres med ulike byggemapper for forskjellige plattformer.

--enable-compat185: Denne bryteren aktiverer bygging av DB-1.85 kompatibilitets API.

--enable-cxx: Denne bryteren aktiverer bygging av C++ API biblioteker.

--enable-dbm: Aktiverer støtte for eldre grensesnitt som trengs av noen eldre pakker.

make docdir=/usr/share/doc/db-5.3.28 install: Dette installerer dokumentasjonen på standardplasseringen i stedet for /usr/docs.

chown -v -R root:root ...:Denne kommandoen endrer eierskap til ulike installerte filer fra uid:gid for byggeren til root:root.

--enable-tcl --with-tcl=/usr/lib: Aktiverer Tcl støtte i DB og oppretter libdb_tcl biblioteker.

--enable-java: Aktiverer Java støtte i DB og oppretter libdb_java biblioteker. Java støtte er for øyeblikket brutt med Java-9.x og høyere

Innhold

Installerte Programmer: db_archive, db_checkpoint, db_deadlock, db_dump, db_hotbackup, db_load, db_log_verify, db_printlog, db_recover, db_replicate, db_stat, db_tuner, db_upgrade, og db_verify
Installerte Biblioteker: libdb.so, libdb_cxx.so, og libdb_tcl.so
Installert Mappe: /usr/share/doc/db-5.3.28

Korte Beskrivelser

db_archive

skriver ut banenavnene til loggfiler som ikke lenger er i bruk

db_checkpoint

er en nisseprosess som brukes til å overvåke og kontrollere databaselogger

db_deadlock

brukes til å avbryte låseforespørsler når blokkeringer oppdages

db_dump

konverterer databasefiler til et flatt filformat som kan leses av db_load

db_hotbackup

oppretter "hot backup" eller "hot failover" øyeblikksbilder av Berkeley DB databaser

db_load

brukes til å lage databasefiler fra flate filer opprettet med db_dump

db_log_verify

verifiserer loggfilene til en database

db_printlog

konverterer databaseloggfiler til lesbar tekst

db_recover

brukes til å gjenopprette en database til en konsistent tilstand etter en feil

db_replicate

er en nisseprosess som gir replikering/HA tjenester på et transaksjonsmiljø

db_stat

viser databasemiljøstatistikk

db_tuner

analyserer dataene i en btree database, og foreslår en sidestørrelse som sannsynligvis vil gi optimal drift

db_upgrade

brukes til å oppgradere databasefiler til en nyere versjon av Berkeley DB

db_verify

brukes til å kjøre konsistenssjekker på databasefiler

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.0 plattform.

Pakkeinformasjon

Installasjon av lmdb

Note

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

MariaDB-10.11.4

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.0 plattform.

Pakkeinformasjon

Note

Den installerte størrelsen på MariaDB er 658 MB, men den kan bli redusert med ca. 252 MB, hvis ønskelig, ved å fjerne /usr/share/mysql/test mappen etter installasjonen.

MariaDB Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt
Valgfri

Boost-1.83.0, libaio-0.3.113, libxml2-2.10.4, Linux-PAM-1.5.3, LZO-2.10, MIT Kerberos V5-1.21.2, pcre2-10.42, Ruby-3.2.2, sphinx-7.1.2, unixODBC-2.3.12, Valgrind-3.21.0, Groonga, KyTea, Judy, lz4, MeCab, MessagePack, mruby, MyRocks, Snappy, og ZeroMQ

Installasjon av MariaDB

Warning

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 mysql &&
useradd -c "MySQL Server" -d /srv/mysql -g mysql -s /bin/false -u 40 mysql

Installer MariaDB ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_BUILD_TYPE=Release                      \
      -DCMAKE_INSTALL_PREFIX=/usr                     \
      -DGRN_LOG_PATH=/var/log/groonga.log             \
      -DINSTALL_DOCDIR=share/doc/mariadb-10.11.4       \
      -DINSTALL_DOCREADMEDIR=share/doc/mariadb-10.11.4 \
      -DINSTALL_MANDIR=share/man                      \
      -DINSTALL_MYSQLSHAREDIR=share/mysql             \
      -DINSTALL_MYSQLTESTDIR=share/mysql/test         \
      -DINSTALL_PAMDIR=lib/security                   \
      -DINSTALL_PAMDATADIR=/etc/security              \
      -DINSTALL_PLUGINDIR=lib/mysql/plugin            \
      -DINSTALL_SBINDIR=sbin                          \
      -DINSTALL_SCRIPTDIR=bin                         \
      -DINSTALL_SQLBENCHDIR=share/mysql/bench         \
      -DINSTALL_SUPPORTFILESDIR=share/mysql           \
      -DMYSQL_DATADIR=/srv/mysql                      \
      -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock       \
      -DWITH_EXTRA_CHARSETS=complex                   \
      -DWITH_EMBEDDED_SERVER=ON                       \
      -DSKIP_TESTS=ON                                 \
      -DTOKUDB_OK=0                                   \
      .. &&
make

For å teste resultatene, kjør: make test. En test, test-connect, er kjent for å mislykkes.

Note

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

Hvis du har Linux-PAM-1.5.3 installert, flytt PAM modulen og konfigurasjonsfilen installert av denne pakken som root bruker:

mv -v /usr/share/pam_use_map.so /lib/security &&
mv -v /usr/share/user_map.conf /etc/security

Parameterforklaringer

-DWITH_EMBEDDED_SERVER=ON: Denne bryteren aktiverer kompilering av det innebygde serverbiblioteket som trengs av visse applikasjoner, som for eksempel Amarok.

-DWITH_EXTRA_CHARSETS=complex: Denne bryteren aktiverer støtte for komplekse tegnsett.

-DSKIP_TESTS=ON: Denne bryteren deaktiverer tester for MariaDB Connector/C som ikke støttes uten ekstra oppsett.

-DWITHOUT_SERVER=ON: Bruk denne bryteren hvis du ikke vil ha serveren og bare ønsker å bygge klienten.

Note

Det er mange alternativer tilgjengelig for cmake. Sjekk utdataen av cmake . -LH for tilleggs tilpasningsalternativer.

Konfigurere MySQL

Konfigurasjonsfiler

/etc/mysql/my.cnf og ~/.my.cnf

Konfigurasjonsinformasjon

Lag grunnleggende /etc/mysql/my.cnf ved å bruke følgende kommando som root bruker:

install -v -dm 755 /etc/mysql &&
cat > /etc/mysql/my.cnf << "EOF"
# Begin /etc/mysql/my.cnf

# The following options will be passed to all MySQL clients
[client]
#password       = your_password
port            = 3306
socket          = /run/mysqld/mysqld.sock

# The MySQL server
[mysqld]
port            = 3306
socket          = /run/mysqld/mysqld.sock
datadir         = /srv/mysql
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/mysql
innodb_log_group_home_dir = /srv/mysql
# 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

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
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

[mysqlhotcopy]
interactive-timeout

# End /etc/mysql/my.cnf
EOF

Du kan nå installere en database og endre eierskapet til uprivilegert bruker og gruppe (utfør som root bruker):

mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql &&
chown -R mysql:mysql /srv/mysql

Ytterligere konfigurasjon krever at MariaDB serveren kjører. Start serveren ved bruk av følgende kommandoer som root bruker:

install -v -m755 -o mysql -g mysql -d /run/mysqld &&
mysqld_safe --user=mysql 2>&1 >/dev/null &

En standardinstallasjon setter ikke opp et passord for administrator, så bruk følgende kommando som root bruker til å angi et.

mysqladmin -u root password

Konfigurasjonen av serveren er nå fullført. Stopp serveren ved å bruke følgende kommando som root bruker:

mysqladmin -p shutdown

Systemd Enhet

Installer mysqld.service enheten inkludert i blfs-systemd-units-20230816 pakken som root bruker for å starte MariaDB serveren under oppstart av systemet.

make install-mysqld

Note

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: libmariadbclient.a, libmariadb.so, libmariadbd.so, libmysqlclient.a, libmysqlclient_r.a (symbolic links to libmariadbclient.a), libmysqld.{so,a}, libmysqlservices.a, og flere under /usr/lib/mysql/plugin/
Installerte Mapper: /etc/mysql, /usr/{include,lib,share}/mysql, /usr/share/groonga{-normalizer-mysql}, og /usr/share/doc/mariadb-10.11.4

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 mysqltest 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 mysqld prosesser som lytter etter tilkoblinger på forskjellige Unix socket filer og TCP/IP porter

mariadbd-safe

er den anbefalte måten å starte en mysqld 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å mysqltest kommandoen, men er bygget med støtte for den innebygde libmysqld serveren

mariadb-tzinfo-to-sql

laster tidssonetabellene i mysql 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-15.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.0 plattform.

Pakkeinformasjon

PostgreSQL Avhengigheter

Valgfri

ICU-73.2, libxml2-2.10.4, libxslt-1.1.38, OpenLDAP-2.6.6, Linux-PAM-1.5.3, MIT Kerberos V5-1.21.2 og Bonjour

Valgfri (For å regenerere dokumentasjon)

fop-2.9, 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

Note

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          \
            --enable-thread-safety \
            --docdir=/usr/share/doc/postgresql-15.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.

Note

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 virke på 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, sjekk 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

Tip

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.

--enable-thread-safety: Denne bryteren gjør klientbiblioteker trådsikre ved å tillate samtidige tråder i libpq og ECPG programmer til trygt kontrollere deres private tilkoblingsbehandler.

--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. Python3 brukes som standard, Python2 støttes ikke lenger.

--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-15.4/html/index.html.

Systemd Enhet

Installer postgresql.service enheten inkludert i blfs-systemd-units-20230816 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 &'

Note

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, postmaster (avviklet), 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-15.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

postmaster

(utdatert, en symbolkobling til postgres) er en flerbruker databasenisse

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.42.0

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Valgfri dokumentasjon

SQLite Avhengigheter

Valgfri

libedit og UnZip-6.0 (nødvendig for å pakke ut dokumentasjonen)

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-3420000.zip

Installer SQLite ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --disable-static  \
            --enable-fts{4,5} \
            CPPFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1 \
                      -DSQLITE_ENABLE_UNLOCK_NOTIFY=1   \
                      -DSQLITE_ENABLE_DBSTAT_VTAB=1     \
                      -DSQLITE_SECURE_DELETE=1          \
                      -DSQLITE_ENABLE_FTS3_TOKENIZER=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.42.0 &&
cp -v -R sqlite-doc-3420000/* /usr/share/doc/sqlite-3.42.0

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="-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_FTS3_TOKENIZER=1": Applikasjoner som f.eks SeaMonkey 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.42.0

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

Chapter 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.6

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

OpenLDAP Avhengigheter

Anbefalt
Valgfri

GnuTLS-3.8.1, Pth-2.0.7, unixODBC-2.3.12, MariaDB-10.11.4 eller PostgreSQL-15.4 eller MySQL, OpenSLP, WiredTiger, og Berkeley DB-5.3.28 (for slapd, men avviklet)

Installasjon av OpenLDAP

Note

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.6-consolidated-1.patch &&
autoconf &&

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --enable-dynamic  \
            --enable-versioning=yes  \
            --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.6-consolidated-1.patch &&
autoconf &&

./configure --prefix=/usr         \
            --sysconfdir=/etc     \
            --localstatedir=/var  \
            --libexecdir=/usr/lib \
            --disable-static      \
            --enable-versioning=yes \
            --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.6 &&
cp      -vfr      doc/{drafts,rfc,guide} \
                  /usr/share/doc/openldap-2.6.6

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-versioning: Denne bryteren aktiverer symbolversjonering i OpenLDAP biblioteker. Uten dette kan noen applikasjoner generere en advarsel om manglende symbolversjoner.

--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.

Note

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).

Warning

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-20230816 pakken ved å bruke følgende kommando:

make install-slapd

Note

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.6

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.17.1

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://nlnetlabs.nl/downloads/unbound/unbound-1.17.1.tar.gz

  • Nedlasting MD5 sum: bb96df2dc579c11ada537dbc52781abc

  • Nedlastingsstørrelse: 6.0 MB

  • Estimert diskplass som kreves: 141 MB (med dokumenter; legg til 10 MB for tester)

  • Estimert byggetid: 0.5 SBU (Bruker parallellisme=4; med dokumenter; legg til 0,4 SBU for tester)

Unbound Avhengigheter

Valgfri

libevent-2.1.12, Nettle-3.9.1, Python-2.7.18, sphinx-7.1.2 (for Python bindinger dokumentasjon), SWIG-4.1.1 (for Python bindinger), Doxygen-1.9.7 (for html dokumentasjon), og dnstap

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.9.7 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.17.1 &&
install -v -m644 doc/html/* /usr/share/doc/unbound-1.17.1

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 aktiverer bygging av Python bindinger.

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-20230816 pakken:

make install-unbound

Innhold

Installerte Programmer: unbound, unbound-anchor, unbound-checkconf, unbound-control, unbound-control-setup, og unbound-host
Installert Bibliotek: libunbound.so og (valgfri) /usr/lib/python2.7/site-packages/_unbound.so
Installerte Mapper: /etc/unbound and /usr/share/doc/unbound-1.17.1 (valgfri)

Korte Beskrivelser

unbound

er en DNS løser nisse

unbound-anchor

utfører oppsett eller oppdatering av 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.18.18

libunbound.so

gir Unbound API funksjoner til programmer

Part VI. Grafiske Komponenter

Chapter 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).

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7

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.21.4 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.

Note

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. wiki siden inneholder avhengighetsinformasjon som er under utvikling. Du oppfordres til å legge til på disse sidene hvis du oppdager tilleggsinformasjon som kan være nyttig for andre brukere som selektivt installerer individuelle pakker.

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.14p3 pakken. Det er anbefalt at du bruker :NOPASSWD konfigurasjonsalternativ for brukeren som skal bygge xorg pakkene.

Sette opp Xorg Byggemiljøet

Note

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"

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

Note

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.14p3, 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...

Warning

Hvis du har bestemt deg for å bruke standard /usr prefiks må du utelate resten av denne siden og fortsette på util-macros-1.20.0.

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.0

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.0 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-2023.2

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.0 plattform.

Pakkeinformasjon

xorgproto Avhengigheter

Påkrevd

util-macros-1.20.0

Valgfri

fop-2.9, libxslt-1.1.38, xmlto-0.0.28 og asciidoc-10.2.0 (for å bygge ytterligere dokumentasjon)

Note

Det er en gjensidig avhengighet med fop-2.9. Hvis du ønsker å bygge dokumentasjonen, må du installere protokolldeklarasjoner på nytt etter at installasjonen er fullført og fop-2.9 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{,-2023.2}

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-2023.2

libXau-1.0.11

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.0 plattform.

Pakkeinformasjon

libXau Avhengigheter

Påkrevd

xorgproto-2023.2

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.4

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.0 plattform.

Pakkeinformasjon

libXdmcp Avhengigheter

Påkrevd

xorgproto-2023.2

Valgfri

xmlto-0.0.28, fop-2.9, libxslt-1.1.38, 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.4 &&
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.4

Korte Beskrivelser

libXdmcp.so

er X Skjermbehandler Kontrollprotokoll biblioteket

xcb-proto-1.16.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.0 plattform.

Pakkeinformasjon

xcb-proto Avhengigheter

Anbefalt
Valgfri

libxml2-2.10.4 (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.11/site-packages/xcbgen

libxcb-1.16

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.0 plattform.

Pakkeinformasjon

libxcb Avhengigheter

Påkrevd

libXau-1.0.11 og xcb-proto-1.16.0

Anbefalt
Valgfri

Doxygen-1.9.7 (for å generere API dokumentasjon) og libxslt-1.1.38

Installasjon av libxcb

Installer libxcb ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG      \
            --without-doxygen \
            --docdir='${datadir}'/doc/libxcb-1.16 &&
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.16

Parameterforklaringer

--without-doxygen: Ikke bruk doxygen til generere API dokumentasjon (standard: auto). Uten det, hvis Doxygen-1.9.7 er installert, vil API dokumentasjonen bli generert og installert.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libxcb.so, libxcb-composite.so, libxcb-damage.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, og libxcb-xv.so
Installerte Mapper: $XORG_PREFIX/include/xcb og $XORG_PREFIX/share/doc/libxcb-1.16

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.0 plattform.

Pakkeinformasjon

Xorg Biblioteker Avhengigheter

Påkrevd

Fontconfig-2.14.2 og libxcb-1.16

Valgfri

asciidoc-10.2.0, xmlto-0.0.28 med ett eller flere av følgende: fop-2.9, Links-2.29, Lynx-2.8.9rel.1, 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"
12344cd74a1eb25436ca6e6a2cf93097  xtrans-1.5.0.tar.xz
91752155473ef72a8b34523a65967e4d  libX11-1.8.6.tar.xz
964942427fcc5a9fa0539661421857c8  libXext-1.3.5.tar.xz
742863a552ecd53cdb957b7b276213cc  libFS-1.0.9.tar.xz
b444a0e4c2163d1bbc7b046c3653eb8d  libICE-1.1.1.tar.xz
ffa434ed96ccae45533b3d653300730e  libSM-1.2.4.tar.xz
e613751d38e13aa0d0fd8e0149cec057  libXScrnSaver-1.2.4.tar.xz
4ea21d3b5a36d93a2177d9abed2e54d4  libXt-1.3.0.tar.xz
ed52d396115fbc4d05300762aab79685  libXmu-1.1.4.tar.xz
5073cf59174a2cadde220187759b2e7c  libXpm-3.5.16.tar.xz
3f1e1052dbf3a2b8582ec24137e1fbd1  libXaw-1.0.15.tar.xz
65b9ba1e9ff3d16c4fa72915d4bb585a  libXfixes-6.0.1.tar.xz
af0a5f0abb5b55f8411cd738cf0e5259  libXcomposite-0.4.6.tar.xz
ebf7fb3241ec03e8a3b2af72f03b4631  libXrender-0.9.11.tar.xz
4cdd1886fe5cce6f68554296edb46db8  libXcursor-1.2.1.tar.xz
ca55d29fa0a8b5c4a89f609a7952ebf8  libXdamage-1.1.6.tar.xz
6d3f1b15bb5b0bb71ae9f0a5103c1fc4  libfontenc-1.1.7.tar.xz
c179daa707f5f432f1bc13977e5bb329  libXfont2-2.0.6.tar.xz
cea0a3304e47a841c90fbeeeb55329ee  libXft-2.3.8.tar.xz
89ac74ad6829c08d5c8ae8f48d363b06  libXi-1.8.1.tar.xz
228c877558c265d2f63c56a03f7d3f21  libXinerama-1.1.5.tar.xz
850cbc7c921c9d5d0135734b114ff6ac  libXrandr-1.5.3.tar.xz
66c9e9e01b0b53052bb1d02ebf8d7040  libXres-1.2.2.tar.xz
02f128fbf809aa9c50d6e54c8e57cb2e  libXtst-1.2.4.tar.xz
70bfdd14ca1a563c218794413f0c1f42  libXv-1.0.12.tar.xz
11a358e7229fa28dc9801c1e64fe2e18  libXvMC-1.0.13.tar.xz
74d1acf93b83abeb0954824da0ec400b  libXxf86dga-1.1.6.tar.xz
5b913dac587f2de17a02e17f9a44a75f  libXxf86vm-1.1.5.tar.xz
1466cf950c914ad2db1dbb76c9a724db  libpciaccess-0.17.tar.xz
8af2275955d40166bb647b14e4896ab1  libxkbfile-1.1.2.tar.xz
faa74f7483074ce7d4349e6bdc237497  libxshmfence-1.3.2.tar.xz
EOF

For å laste ned de nødvendige filene ved hjelp av Wget-1.21.4, 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

Note

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.14p3 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*}
  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
    ;;
    
    * )
      ./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.28 er installert uten tekst nettleser. Utelat denne parameteren (eller hele case erklæringen) hvis en tekst nettleser er installert.

--with-fop: Use fop-2.9 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, 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.1, $XORG_PREFIX/share/doc/libSM-1.2.4, $XORG_PREFIX/share/doc/libX11-1.8.6, $XORG_PREFIX/share/doc/libXaw, $XORG_PREFIX/share/doc/libXext, $XORG_PREFIX/share/doc/libXi, $XORG_PREFIX/share/doc/libXmu-1.1.4, $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

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.2

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.0 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.0 plattform.

Pakkeinformasjon

xcb-util Avhengigheter

Påkrevd

libxcb-1.16

Valgfri

Doxygen-1.9.7 (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-util-image-0.4.1

Introduksjon til xcb-util-image

xcb-util-image pakken gir ekstra utvidelser til XCB biblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

xcb-util-image Avhengigheter

Påkrevd

xcb-util-0.4.1

Valgfri

Doxygen-1.9.7 (for dokumentasjon)

Installasjon av xcb-util-image

Installer xcb-util-image ved å kjøre følgende kommandoer:

./configure $XORG_CONFIG &&
make

For å teste resultatene, kjør: LD_LIBRARY_PATH=$XORG_PREFIX/lib make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libxcb-image.so
Installerte Mapper: Ingen

Korte Beskrivelser

libxcb-image.so

Er en overføring av Xlib sine XImage og XShmImage funksjoner

xcb-util-keysyms-0.4.1

Introduksjon til xcb-util-keysyms

xcb-util-keysyms pakken inneholder et bibliotek for håndtering av standard X tastekonstanter og konvertering til/fra tastekoder.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

xcb-util-keysyms Avhengigheter

Påkrevd

libxcb-1.16

Valgfri

Doxygen-1.9.7 (for å generere dokumentasjon)

Installasjon av xcb-util-keysyms

Installer xcb-util-keysyms 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-keysyms.so
Installerte Mapper: Ingen

Korte Beskrivelser

libxcb-keysyms.so

gir standard X tastekonstanter og API funksjoner for konvertering til/fra tastekoder

xcb-util-renderutil-0.3.10

Introduksjon til xcb-util-renderutil

xcb-util-renderutil pakken gir ekstra utvidelser til XCB biblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

xcb-util-renderutil Avhengigheter

Påkrevd

libxcb-1.16

Valgfri

Doxygen-1.9.7 (for dokumentasjon)

Installasjon av xcb-util-renderutil

Installer xcb-util-renderutil 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-render-util.so
Installerte Mapper: Ingen

Korte Beskrivelser

libxcb-render-util.so

Gir praktiske funksjoner for Render utvidelsen

xcb-util-wm-0.4.2

Introduksjon til xcb-util-wm

xcb-util-wm pakken inneholder biblioteker som gir klient og vindusbehandler hjelpere for EWMH og ICCCM.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

xcb-util-wm Avhengigheter

Påkrevd

libxcb-1.16

Valgfri

Doxygen-1.9.7 (for dokumentasjon)

Installasjon av xcb-util-wm

Installer xcb-util-wm 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
Installerte Biblioteker: libxcb-ewmh.so og libxcb-icccm.so
Installerte Mapper: Ingen

Korte Beskrivelser

libxcb-ewmh.so

gir klient og vindusbehandler hjelpere for EWMH

libxcb-icccm.so

gir klient og vindusbehandler hjelpere for ICCCM

xcb-util-cursor-0.1.4

Introduksjon til xcb-util-cursor

xcb-util-cursor pakken gir en modul som implementerer XCB markørbiblioteket. Det er XCB erstatning for libXcursor.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

xcb-util-cursor Avhengigheter

Påkrevd

xcb-util-image-0.4.1 og xcb-util-renderutil-0.3.10

Valgfri

Doxygen-1.9.7 (for dokumentasjon)

Installasjon av xcb-util-cursor

Installer xcb-util-cursor 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-cursor.so
Installerte Mapper: Ingen

Korte Beskrivelser

libxcb-cursor.so

Er en overføring av Xlib sin libXcursor funksjon

Mesa-23.1.6

Introduksjon til Mesa

Mesa er en OpenGL kompatibel 3D grafikk bibliotek.

Note

Mesa oppdateres relativt ofte. Du kanskje ønsker å bruke den siste tilgjengelige 23.1.x mesa versjonen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Mesa Avhengigheter

Påkrevd

Xorg Biblioteker, libdrm-2.4.115, og Mako-1.2.4

Anbefalt
Valgfri

libgcrypt-1.10.2, libunwind-1.6.2, lm-sensors-3-6-0 , Nettle-3.9.1, Valgrind-3.21.0, mesa-demos (gir mer enn 300 ekstra demoer for å teste Mesa; dette inkluderer de samme programmene lagt til av oppdateringen ovenfor), Bellagio OpenMAX Integration Layer (for mobile plattformer), glslang (for vulkan drivere), libtizonia, og Vulkan-Loader

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]
    # For i915, crocus, or iris:
    < /*/M> Intel 8xx/9xx/G3x/G4x/HD Graphics                         [DRM_I915]
    # For swrast:
    < /*/M> Virtual GEM provider                                      [DRM_VGEM]
    # For svga:
    < /*/M> DRM driver for VMware Virtual GPU                       [DRM_VMWGFX]

Note

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 eller CONFIG_DRM_AMDGPU 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 swrast, CONFIG_DRM_VGEM er strengt tatt ikke nødvendig, men anbefales som en optimalisering.

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-2.patch

Installer Mesa ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup                   \
      --prefix=$XORG_PREFIX   \
      --buildtype=release     \
      -Dplatforms=x11,wayland \
      -Dgallium-drivers=auto  \
      -Dvulkan-drivers=""     \
      -Dvalgrind=disabled     \
      -Dlibunwind=disabled    \
      ..                      &&

ninja

For å teste resultatene, utsted: meson configure -Dbuild-tests=true && ninja test. Tre tester relatert til mesa:intel er kjent for å mislykkes.

Nå, som root bruker:

ninja install

Hvis ønskelig, installer den valgfrie dokumentasjonen ved å kjøre følgende kommandoer som root bruker:

install -v -dm755 /usr/share/doc/mesa-23.1.6 &&
cp -rfv ../docs/* /usr/share/doc/mesa-23.1.6

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.

-Dgallium-drivers=auto: Denne parameteren kontrollerer hvilke Gallium3D drivere som skal bygges. auto velger alle tilgjengelige Gallium3D drivere for x86: r300 (for ATI Radeon 9000 eller Radeon X serier), r600 (for AMD/ATI Radeon HD 2000-6000 serier), radeonsi (for AMD Radeon HD 7000 eller nyere AMD GPU modeller), nouveau (for støttede NVIDIA GPUer er de oppført som alle 3D features enten DONE eller N/A in the Nouveau status page), virgl (for QEMU virtual GPU med virglrender støtte; merk at BLFS qemu-8.1.0 ikke er bygget med virglrender), svga (for VMWare virtual GPU), swrast (bruker CPU for 3D rasterisering; Vær oppmerksom på 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), iris (for Intel GPUs sendt med Broadwell eller nyere CPUer), crocus (for Intel GMA 3000, X3000 serier, 4000 serier, or X4000 serier GPUer levert med brikkesett, eller Intel HD GPUer levert med pre-Broadwell CPUs), i915 (for Intel GMA 900, 950, 3100, eller 3150 GPUer leveres med brikkesett eller Atom D/N 4xx/5xx CPUer). Du kan erstatte auto med en kommadelt liste kun for å bygge en undergruppe av disse driverne hvis du nøyaktig vet hvilke drivere du trenger for eksempel -Dgallium-drivers=radeonsi,iris,swrast.

-Dplatforms="...": Denne parameteren kontrollerer hvilke vindussystemer som skal støttes. Tilgjengelige linux plattformer er x11 og wayland.

-Dvulkan-drivers="": Denne bryteren lar deg velge hvilke Vulkan drivere som blir bygget. Standard er auto, men dette krever den valgfrie avhengigheten glslang og Vulkan-Loader. Vulkan er en nyere API designet for å bruke GPUene med en ytelse som er bedre enn OpenGL, men ingenting i BLFS drar nytte av det foreløpig. Så vi passerer en tom liste for å fjerne behovet for disse avhengighetene.

-Dvalgrind=disabled: Denne parameteren deaktiverer bruken av Valgrind under byggeprosessen. Fjern denne parameteren hvis du har Valgrind installert, og ønsker å se etter minnelekkasjer.

-Dlibunwind=disabled: Denne parameteren deaktiverer bruken av libunwind.

meson configure -Dbuild-tests=true: Denne kommandoen vil rekonfigurere byggingen for å sette -Dbuild-tests=true, men behold de andre alternativene som er spesifisert i meson setup kommandoen uendret. Det tillater ninja test å bygge og kjøre enhetstester.

-Degl-native-platform="...": Denne parameteren kontrollerer hvilken støtte for Embedded Graphics Library som skal bygges. Tilgjengelig linux alternativer er auto (standard), x11, wayland, surfaceless og drm.

Innhold

Installerte Programmer: glxgears og glxinfo
Installerte Biblioteker: libEGL.so, libGL.so, libGLESv1_CM.so, libGLESv2.so, libgbm.so, libglapi.so, og libxatracker.so
Installerte Drivere: crocus_dri.so, i915_dri.so, iris_dri.so, kms_swrast_dri.so, nouveau_dri.so, nouveau_drv_video.so, r300_dri.so, r600_dri.so, r600_drv_video.so, radeonsi_dri.so, radeonsi_drv_video.so, swrast_dri.so, virtio_gpu_dri.so, virtio_gpu_drv_video.so, vmwgfx_dri.so, libvdpau_nouveau.so, libvdpau_r300.so libvdpau_r600.so, og libvdpau_radeonsi.so libvdpau_virtio_gpu.so (Mange av disse driverne er hardt koblet).
Installerte Mapper: $XORG_PREFIX/{include/{EGL,GLES,GLES2,GLES3,KHR}, $XORG_PREFIX/lib/{dri,vdpau}}, $XORG_PREFIX/share/drirc.d (inneholder løsninger for ulike applikasjoner, spesielt nettlesere og spill), and /usr/share/doc/mesa-23.1.6

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

libEGL.so

gir et grunnleggende plattformgrafikkgrensesnitt som definert av EGL-1.4 spesifikasjonen

libgbm.so

er Mesa Grafikkbuffer behandlingsbiblioteket

libGLESv1_CM.so

er Mesa OpenGL ES 1.1 biblioteket

libGLES2.so

er Mesa OpenGL ES 2.0 biblioteket

libGL.so

er Mesa OpenGL hovedbiblioteket

xbitmaps-1.1.3

Introduksjon til xbitmaps

xbitmaps pakken inneholder punktgrafikkbilder brukt av flere applikasjoner bygget i Xorg kapittelet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

xbitmaps Avhengigheter

Påkrevd

util-macros-1.20.0

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.0 plattform.

Pakkeinformasjon

Xorg Applikasjoner Avhengigheter

Påkrevd

libpng-1.6.40, Mesa-23.1.6, xbitmaps-1.1.3, og xcb-util-0.4.1

Valgfri

Linux-PAM-1.5.3 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"
5d3feaa898875484b6b340b3888d49d8  iceauth-1.0.9.tar.xz
c4a3664e08e5a47c120ff9263ee2f20c  luit-1.1.1.tar.bz2
fd2e6e5a297ac2bf3d7d54799bf69de0  mkfontscale-1.2.2.tar.xz
05423bb42a006a6eb2c36ba10393de23  sessreg-1.1.3.tar.xz
1d61c9f4a3d1486eff575bf233e5776c  setxkbmap-1.3.4.tar.xz
9f7a4305f0e79d5a46c3c7d02df9437d  smproxy-1.0.7.tar.xz
e96b56756990c56c24d2d02c2964456b  x11perf-1.6.1.tar.bz2
dbcf944eb59343b84799b2cc70aace16  xauth-1.1.2.tar.xz
#5b6405973db69c0443be2fba8e1a8ab7  xbacklight-1.2.3.tar.bz2
82a90e2feaeab5c5e7610420930cc0f4  xcmsdb-1.0.6.tar.xz
89e81a1c31e4a1fbd0e431425cd733d7  xcursorgen-1.0.8.tar.xz
933e6d65f96c890f8e96a9f21094f0de  xdpyinfo-1.3.4.tar.xz
34aff1f93fa54d6a64cbe4fee079e077  xdriinfo-1.0.7.tar.xz
61219e492511b3d78375da76defbdc97  xev-1.2.5.tar.xz
41afaa5a68cdd0de7e7ece4805a37f11  xgamma-1.0.7.tar.xz
48ac13856838d34f2e7fca8cdc1f1699  xhost-1.0.9.tar.xz
8e4d14823b7cbefe1581c398c6ab0035  xinput-1.6.4.tar.xz
a11d4d6eeda762f13818684c0670f89f  xkbcomp-1.4.6.tar.xz
05ce1abd8533a400572784b1186a44d0  xkbevd-1.1.5.tar.xz
cf65ca1aaf4c28772ca7993cfd122563  xkbutils-1.0.5.tar.xz
f62b99839249ce9a7a8bb71a5bab6f9d  xkill-1.0.6.tar.xz
da5b7a39702841281e1d86b7349a03ba  xlsatoms-1.1.4.tar.xz
ab4b3c47e848ba8c3e47c021230ab23a  xlsclients-1.1.5.tar.xz
f33841b022db1648c891fdc094014aee  xmessage-1.0.6.tar.xz
0d66e07595ea083871048c4b805d8b13  xmodmap-1.0.11.tar.xz
9cf272cba661f7acc35015f2be8077db  xpr-1.1.0.tar.xz
33c090d8632a300e63efbf36edd6a333  xprop-1.2.6.tar.xz
f822a8d5f233e609d27cc22d42a177cb  xrandr-1.5.2.tar.xz
c8629d5a0bc878d10ac49e1b290bf453  xrdb-1.2.2.tar.xz
33b04489e417d73c90295bd2a0781cbb  xrefresh-1.0.7.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
5ff5dc120e8e927dc3c331c7fee33fc3  xwud-1.0.6.tar.xz
EOF

For å laste ned de nødvendige filene ved hjelp av Wget-1.21.4, 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

Note

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.14p3 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
     case $packagedir in
       luit-[0-9]* )
         sed -i -e "/D_XOPEN/s/5/6/" configure
       ;;
     esac

     ./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, luit, mkfontdir, mkfontscale, sessreg, setxkbmap, smproxy, x11perf, x11perfcomp, xauth, xbacklight, 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, og xwud
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

iceauth

er ICE myndighetsfilverktøyet

luit

gir lokalitet og ISO 2022 støtte for Unicode terminaler

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

x11perf

er et X11 serverytelses testprogram

x11perfcomp

er et X11 serverytelses sammenligningsprogram

xauth

er X Authority filverktøyet

xbacklight

justerer bakgrunnsbelysningens lysstyrke ved hjelp av RandR utvidelsen

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

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.0 plattform.

Pakkeinformasjon

xcursor-themes Avhengigheter

Påkrevd

Xorg Applikasjoner

Installasjon av xcursor-themes

Note

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å the section called “TTF og OTF fonter”.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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"
ec6cea7a46c96ed6be431dfbbb78f366  font-util-1.4.0.tar.xz
357d91d87c5d5a1ac3ea4e6a6daf833d  encodings-1.0.7.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.21.4, 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

Note

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.14p3 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.39

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.0 plattform.

Pakkeinformasjon

XKeyboardConfig Avhengigheter

Påkrevd

Xorg Biblioteker

Installasjon av XKeyboardConfig

Installer XKeyboardConfig 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

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installert Mappe: $XORG_PREFIX/share/X11/xkb

Xwayland-23.2.0

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.0 plattform.

Pakkeinformasjon

Xwayland Avhengigheter

Påkrevd

libxcvt-0.1.2, Pixman-0.42.2, wayland-protocols-1.32, Xorg Applikasjoner (kjøretid), og Xorg Fonts (bare font-util)

Anbefalt
Valgfri

git-2.41.0 (for å laste ned pakker som trengs for testene), libgcrypt-1.10.2, Nettle-3.9.1, xmlto-0.0.28, 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           \
            -Dxkb_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.8 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.8. Fjern denne kommandoen hvis Xorg-Server-21.1.8 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.

Innhold

Installert Program: Xwayland
Installert Bibliotek: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

Xwayland

Lar X klienter kjøre under wayland

Xorg-Server-21.1.8

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.0 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, Fluxbox, eller Sawfish).

    Nødvendig oppdatering: https://www.linuxfromscratch.org/patches/blfs/12.0/xorg-server-21.1.8-tearfree_backport-1.patch

Xorg Server Avhengigheter

Påkrevd

libxcvt-0.1.2, Pixman-0.42.2, Xorg Fonts (bare font-util), og ved kjøretid: xkeyboard-config-2.39

Anbefalt
Valgfri

acpid-2.0.34 (kjøretid), Doxygen-1.9.7 (for å bygge API dokumentasjon), fop-2.9 (for å bygge dokumentasjon), libunwind-1.6.2, Nettle-3.9.1, libgcrypt-1.10.2, xcb-util-keysyms-0.4.1, xcb-util-image-0.4.1, xcb-util-renderutil-0.3.10, xcb-util-wm-0.4.2 (alle fire for å bygge Xephyr), xmlto-0.0.28 (for å bygge dokumentasjon), xkeyboard-config-2.39 (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-23.1.6 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.8-tearfree_backport-1.patch

Installasjon av Xorg Server

Installer serveren ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..              \
      --prefix=$XORG_PREFIX \
      --localstatedir=/var  \
      -Dglamor=true         \
      -Dxkb_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

-Dglamor=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.

-Dsuid_wrapper=true: Bygger suid-root innpakning for eldre driverstøtte på rotløse xserver systemer.

-Dsystemd_logind=false: Denne bryteren deaktiverer systemd-logind integrasjon, som tillater Xorg Server å virke uten å ha systemd PAM modulen konfigurert.

-Dxephyr=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.1

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.0 plattform.

Pakkeinformasjon
libevdev Avhengigheter
Valgfri

Doxygen-1.9.7 og Valgrind-3.21.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      \
      -Ddocumentation=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.10.6

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.0 plattform.

Pakkeinformasjon
Xorg Evdev Driver Avhengigheter
Påkrevd

libevdev-1.13.1, mtdev-1.1.6, og Xorg-Server-21.1.8

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.23.0

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.0 plattform.

Pakkeinformasjon
libinput Avhengigheter
Påkrevd

libevdev-1.13.1 og mtdev-1.1.6

Valgfri

Valgrind-3.21.0 (for å kjøre testene), GTK+-3.24.38 (for å bygge GUI hendelsesvisningen), libunwind-1.6.2 (nødvendig for tester), libwacom-2.7.0, sphinx-7.1.2 (kreves for å bygge dokumentasjon), og pyparsing-3.1.1 (for en ikke-root test)

Kjernekonfigurasjon for å kjøre Libinput Testpakken

Selv om libinput fungerer med den samme kjernekonfigurasjonen som brukes av libevdev-1.13.1, dens omfattende testpakken krever tilstedeværelse av /dev/uinput (samt både Valgrind-3.21.0 og libunwind-1.6.2).

Hvis du ønsker å kjøre alle testene, aktiver følgende alternativ i kjernekonfigurasjon 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.

På et Xorg system må du også forhindre genererte hendelser under testpakken fra å forstyrre skrivebordet ditt. Kopier filen test/50-litest.conf til ${XORG_PREFIX}/share/X11/xorg.conf.d og start X på nytt. For mer informasjon se libinput test suite.

Installasjon av Libinput

Installer libinput ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=$XORG_PREFIX    \
            --buildtype=release      \
            -Ddebug-gui=false        \
            -Dtests=false            \
            -Dlibwacom=false         \
            -Dudev-dir=/usr/lib/udev \
            ..                      &&
ninja

Note

Hvis du vil kjøre de fullstendige testene, fjerner du -Dtests fra meson kommandoen ovenfor. Vennligst les "Kjernekonfigurasjon for å kjøre libinput Testpakken" (over).

Hvis du har aktivert de fullstendige testene, kan du kjøre hovedtestene som root bruker ved å utføre: ninja test. Et svært stort antall tester vil bli kjørt. En test mislykkes på wayland.

Nå, som root bruker:

ninja install

Hvis du har gitt -Ddocumentation=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.23.0/html &&
cp -rv Documentation/* /usr/share/doc/libinput-1.23.0/html

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Ddebug-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.38 installert.

-Dtests=false: Denne bryteren deaktiverer kompilering av hovedtestene. Selv med testene definert som false,, kan du fortsatt kjøre de fire første mindre testene, som vanlig bruker, men en vil bli hoppet over hvis pyparsing-3.1.1 ikke er installert.

-Dlibwacom=false: Fjern dette alternativet hvis du har libwacom-2.7.0 installert, eller hvis du installerer GNOME.

-Dudev-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.

-Ddocumentation=true: Denne bryteren aktiverer generering av dokumentasjonen. Legg den til hvis du vil generere dokumentasjonen. Du må ha Doxygen-1.9.7 og Graphviz-8.1.0 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.23.0

Korte Beskrivelser

libinput

er et sett med verktøy for grensesnitt med libinput biblioteket

libinput.so

inneholder API funksjoner for håndtering av inndataenheter

Xorg Libinput Driver-1.3.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.0 plattform.

Pakkeinformasjon
Xorg Libinput Driver Avhengigheter
Påkrevd

libinput-1.23.0 og Xorg-Server-21.1.8

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.9.2

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.0 plattform.

Pakkeinformasjon
Xorg Synaptics Driver Avhengigheter
Påkrevd

libevdev-1.13.1 og Xorg-Server-21.1.8

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.0

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.0 plattform.

Pakkeinformasjon
Xorg Wacom Drivere Avhengigheter
Påkrevd

Xorg-Server-21.1.8

Valgfri

Doxygen-1.9.7 og Graphviz-8.1.0

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.0 plattform.

Pakkeinformasjon

twm Avhengigheter

Påkrevd

Xorg-Server-21.1.8

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-384

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.0 plattform.

Pakkeinformasjon

xterm Avhengigheter

Påkrevd

Xorg Applikasjoner

Påkrevd (ved kjøring)

En monospace TTF eller OTF font som f.eks Dejavu fonts

Valgfri

Emacs-29.1, PCRE-8.45 eller pcre2-10.42, Valgrind-3.21.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    &&
make install-ti &&

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.

make install-ti: Denne kommandoen installerer korrigerte terminfo beskrivelsesfiler for bruk med xterm.

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.0 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.2

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.0 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

Note

Før du starter Xorg for første gang, er det nyttig å gjenoppbygge bibliotekets hurtiglager ved å kjøre ldconfig som root bruker.

Note

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.

Warning

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.

Note

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.

Note

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 the section called “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.8 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

Note

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-23.1.6. Fra en X terminal, kjør glxinfo 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-16.0.5 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.20.0, or GDM-44.1) 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>

Note

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      "PerferredMode" "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-8.1.0 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      "PerferredMode"   "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.8 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.

Selv om denne siden er lang, skraper den knapt overflaten, og du vil være i stand til å finne mange alternative synspunkter på nettet (men husk at noen ting har endret seg gjennom årene, for eksempel autohinter er ikke lenger standard). Målet her er å gi deg nok informasjon for å forstå endringene du gjør.

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}. Dette tillater Fontconfig for å bruke OpenType og TrueType fonter levert av X, selv om mange mennesker 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:

fc-list | less : viser en liste over alle tilgjengelige fonter (/sti/til/filnavn: Fontnavn:stil). Hvis du installerte en font mer enn 30 sekunder siden, men det vises ikke, da er det eller en av mappene ikke lesbar 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 -a 'Type' | less : gir en liste over alle fonter som kan brukes for den typen (Monospace, Sans, Serif). Noter at i ekstreme tilfeller vil fontconfig ta en glyff fra hvilken som helst tilgjengelig font, selv om den ikke er av den angitte typen, og med mindre den vet om skriftens type, vil den anta at det er Sans.

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.50.14 og ImageMagick-7.1.1-15 - 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 - 'zh' alene er ikke gyldig).

De ulike filene

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.). Etter det, en ukjent font vil bli søkt etter i 45-latin.conf - hvis det blir funnet, vil det bli kartlagt som Serif eller Monospace eller Sans, ellers vil antas å være Sans. Deretter 50-latin.conf gir ordnede lister over reservene - Dejavu fonts vil bli brukt hvis du installerte dem. Kyrillisk og gresk ser ut til å bli behandlet på samme måte. Det finnes lignende filer med et 65- prefiks for Persiske og andre ikke-latinske skriftsystemer. Alle disse filene foretrekker kommersielle fonter hvis de er til stede, selv om moderne libre fonter er ofte minst like.

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. Hvis du bruker Gnome, KDE eller LXQt, kan skrivebordene deres overstyre disse endringene. 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.

    hintmedium: poorly documented, maybe a synonym for hintfull.
    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.

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 in the Arch wiki og Fontconfig in the 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

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-20230313 putter mange fonter i /opt/texlive/2023/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/2023/texmf-dist/fonts/opentype/arkandis/berenisadf</dir>
  <dir>/opt/texlive/2023/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

Det er mange grunner til at folk ønsker å ha sider som spesifiserer en bestemt font ved bruk av en annen font, eller foretrekker spesifikke fonter i Monospace eller Sans eller Serif. Som du vil forvente, er det en rekke ulike måter å oppnå dette på.

Fontconfig brukerdokumenter

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 tekstversjoner på /usr/share/doc/fontconfig-2.14.2/ : endre versjonen hvis du installerte en annen.

Foretrekke en bestemt font

Som et eksempel, hvis du av en eller annen grunn ønsker å bruke Nimbus Roman No9 L fonten når 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/.

Foretrekk valgte CJK fonter

Følgende eksempel på en lokal konfigurasjon (dvs. en som gjelder for alle brukere av maskinen) gjør flere ting:

  1. Hvis en Serif font er spesifisert, vil den foretrekke UMing varianter, slik at i zh-cn, zh-hk og zh-tw språk ting skal se bra ut (også zh-sg som faktisk bruker samme innstillinger som zh-cn) uten å påvirke Japansk.

  2. Den foretrekker Japaneske IPAex fonts hvis de har blitt installert (skjønt VL Gothic vil ha forrang for (Japansk) Sans hvis den også er installert.

  3. Fordi WenQuanYi ZenHei dekker Koreansk Hangul glyffer og er også foretrukket for Serif i 65-nonlatin.conf, hvis den er installert, vil den bli brukt som standard for Koreansk serif. For å få en skikkelig Serif font, UnBatang fonten er spesifisert her - endre den linjen hvis du har installert en annen Serif font enn de valgte Korean fonts.

  4. Monospace fontene tvinges til de foretrukne Sans skriftene. Hvis teksten er på Koreansk da vil WenQuanYi ZenHei bli brukt.

I en ikke-CJK lokalitet er resultatet at passende fonter vil bli brukt for alle varianter av kinesisk, japansk og Hangul-koreansk. 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>AR PL UMing</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>WenQuanYi Zen Hei</family>
             <family>VL Gothic</family>
             <family>IPAexGothic</family>
         </prefer>
    </alias>
    <alias>
         <family>monospace</family>
         <prefer>
             <family>VL Gothic</family>
             <family>IPAexGothic</family>
             <family>WenQuanYi Zen Hei</family>
         </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>

Se Også

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.

Fontconfig in the Arch wiki

Arch har mye informasjon i sin wiki på font_configuration.

Fontconfig in the 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.

Disse fontene kan gi hint, som fontconfig bruker for å justere dem for maksimal lesbarhet på dataskjermer. På linux bør du alltid foretrekke de antydede versjonene, hvis tilgjengelige (vanligvis latinske, kyrilliske og greske alfabeter kan bruke hint, de fleste andre skriftsystemer bruker ikke hinting).

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).

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 Noto fonts (ca. 180 fonter sist sjekket), men antall fonter gjør det mye mindre praktisk å velge en bestemt font i et dokument, og de fleste vil se på mange av dem som sløsing med plass. 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, noen eksempler på latinske skrifttyper med de samme beregningene (oppført som "Erstatte latinske fonter") og forskjellige filer av dummy tekst for å sammenligne fonter av lignende typer, finnes på font comparison side. Dette nettstedet dekker også andre nåværende skrivesystemer.

Fonter leveres ofte i zip filer, som krever UnZip-6.0 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.

Note

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 skrifter (som hadde mye mindre dekning), er disse standard reserve.

GNU FreeFont

GNU FreeFont – Dette settet med fonttyper dekker mange ikke-CJK tegn, spesielt noen av variantene av Latinske og Kyrilliske bokstaver som brukes i minoritetsspråk, men glyfer er relativt små (i motsetning til DejaVu skrifter som er relativt store) og ganske lette ("mindre svarte" når svart på hvitt brukes) som betyr at i noen sammenhenger som f.eks terminaler er de ikke visuelt tiltalende, for eksempel når de fleste andre glyffer leveres av en annen font. På den annen side, noen fonter brukt primært for trykte utskrifter, 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 'Erstatninger' PDF-er på zarniwhoop.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.1. 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, det er nyere innlegg som dette er 'stygg' eller 'ødelagt'. Et forslag er at de ikke støtter anti-aliasing.

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. Noto Sans er den foretrukne fonten for KDE Plasma og applikasjoner, bortsett fra monospace fonter hvor Hack er foretrukket.

Personer som bruker språk skrevet kun med latinske, greske eller kyrilliske alfabeter trenger å installere selve Noto Sans, og kanskje Noto Sans Symbols for valutasymboler. For mer informasjon om organiseringen av Noto fonter, se how are noto fonts organized. Det er også separate fonter for hver andre gjeldende skrivesystemer, men disse vil også kreve Noto Sans (eller Noto Serif) og kanskje Noto Symbols.

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'.

Du bør imidlertid være oppmerksom på at fontconfig vet ingenting om Noto fonter. "Noto Sans Something" fontene blir hver behandlet som separate fonter (og for arabisk er det ikke en spesifikk Sans navn), så hvis du har andre fonter installert, kan du velge hvilken font å bruke for manglende tegnvarianter der 'Noto Sans' er spesifisert, vil være tilfeldig, bortsett fra at Sans fonter vil bli foretrukket fremfor kjente Serif og Monospace fonter fordi Sans er reserven for ukjente fonter.

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-44.0. 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).

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å Prefer chosen CJK fonts.

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 Editing Old-Style conf files.

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. Vær snill å se Prefer chosen CJK fonts 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.

Note

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.0 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.21.4, 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

Note

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.14p3 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

Chapter 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.3

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.0 plattform.

Pakkeinformasjon

Atkmm Avhengigheter

Påkrevd

at-spi2-core-2.48.3 og GLibmm-2.66.5

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.3}

Korte Beskrivelser

libatkmm-1.6.so

inneholder ATK API klasser

at-spi2-core-2.48.3

Introduksjon til At-Spi2 Core

At-Spi2 Core pakken inneholder en omfattende tilgjengelighetsrammeverk for hjelpemidler tilgjengelig på GNOME plattformen. Dette inkluderer et sett med grensesnitt som er implementert av andre verktøysett og applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

At-Spi2 Core Avhengigheter

Påkrevd

dbus-1.14.8, GLib-2.76.4, gsettings-desktop-schemas-44.0 (Kjøretid), og Xorg Biblioteker

Valgfri (Påkrevd hvis du bygger GNOME)

gobject-introspection-1.76.1

Valgfri

Gi-DocGen-2023.1 og sphinx-7.1.2

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

Testpakken krever også at glib skjemaene til pakken allerede er installert. For å teste resultatene, installer pakken først, deretter utsted: dbus-run-session ninja test. En test, atk-test, er kjent for tidsavbrudd på noen 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.

-Ddocs=true: Bruk denne bryteren hvis du vil bygge dokumentasjon. Merk at du må ha både Gi-DocGen-2023.1 og sphinx-7.1.2 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.17.6

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.0 plattform.

Pakkeinformasjon

Cairo Avhengigheter

Påkrevd

libpng-1.6.40 og Pixman-0.42.2

Anbefalt
Valgfri

ghostscript-10.01.2, GTK+-3.24.38 og GTK+-2.24.33, GTK-Doc-1.33.2, libdrm-2.4.115, librsvg-2.56.3, libxml2-2.10.4, LZO-2.10, Mesa-23.1.6, Poppler-23.08.0, Valgrind-3.21.0, jbig2dec, libspectre, og Skia

Note

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

Tilpass denne pakken for Binutils-2.39 eller nyere:

sed 's/PTR/void */' -i util/cairo-trace/lookup-symbol.c

Fiks en pkg-config fil som kan forårsake feil senere:

sed -e "/@prefix@/a exec_prefix=@exec_prefix@" \
    -i util/cairo-script/cairo-script-interpreter.pc.in

Installer Cairo ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --enable-tee &&
make

Denne pakken har ikke en fungerende testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-tee: Denne bryteren aktiverer eksperimentell tee overflate bakstykke som er nødvendig hvis du bruker systeminstallert Cairo med Mozilla applikasjoner.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-xlib-xcb: Denne bryteren aktiverer flere eksperimentelle Xlib/XCB funksjoner brukt av noen vindusbehandlere.

--enable-gl: Denne bryteren aktiverer Cairo sin eksperimentelle OpenGL overflate som er nødvendig for Wayland kompositor og noen andre pakker som ikke er del av BLFS.

--enable-gtk-doc: 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,lib,share/gtk-doc/html}/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.0)

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.0 plattform.

Pakkeinformasjon

libcairomm-1.0 Avhengigheter

Påkrevd

Cairo-1.17.6 og libsigc++-2.12.0

Anbefalt
Valgfri

Doxygen-1.9.7

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 \
      -Dbuild-tests=true  \
      -Dboost-shared=true &&
ninja

For å teste resultatene, kjør: ninja test.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dbuild-tests=true: Denne bryteren er for å bygge enhetstestene. Fjern hvis du ikke har installert Boost-1.83.0.

-Dboost-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.

-Dbuild-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

Cogl-1.22.8

Introduksjon til Cogl

Cogl er en moderne 3D grafikk API med tilhørende verktøys APIer utviklet for å avsløre funksjonene til 3D grafikkmaskinvare ved hjelp av et API design med direkte tilstandstilgang, i motsetning til maskintilstands stilen til OpenGL.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Cogl Avhengigheter

Påkrevd

Cairo-1.17.6, gdk-pixbuf-2.42.10, GLU-9.0.3, Mesa-23.1.6, Pango-1.50.14, og Wayland-1.22.0

Anbefalt
Valgfri

gst-plugins-base-1.22.5, GTK-Doc-1.33.2, og SDL2-2.28.2

Installasjon av Cogl

Installer Cogl ved å kjøre følgende kommandoer:

Note

Denne pakken kan av og til mislykkes når det bygges med flere prosessorer. Se Using Multiple Processors for mer informasjon.

./configure --prefix=/usr  \
            --enable-gles1 \
            --enable-gles2 \
            --enable-{kms,wayland,xlib}-egl-platform \
            --enable-wayland-egl-server              &&
make

Alle testene bortsett fra ES2 og ES2-NPT testene er ødelagt pga små atferdsendringer i Mesa. For å teste resultatene uansett, utsted: make check. Testene skal kjøres fra en X terminal på en maskinvareakselerert Xorg server. Noen få tester vil bruke alle CPUer parallell, uavhengig av parallellitetsinnstillinger.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-gles1: Denne bryteren aktiverer støtte for OpenGL ES 1.1.

--enable-gles2: Denne bryteren aktiverer støtte for OpenGL ES 2.0.

--enable-{kms,wayland,xlib}-egl-platform: Disse bryterne muliggjør støtte for KMS, Wayland og Xlib EGL plattformer. De kreves for GNOME Wayland støtte.

--enable-wayland-egl-server: Denne bryteren aktiverer Cogl sin Wayland Server API som er påkrevd for GNOME Wayland støtte.

--enable-cogl-gst: Denne bryteren aktiverer gstreamer støtte.

--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: libcogl-gles2.so, libcogl-pango.so, libcogl-path.so, og libcogl.so, og valgfrie biblioteker libcogl-gst.so and /usr/lib/gstreamer-1.0/libgstcogl.so
Installerte Mapper: /usr/include/cogl og /usr/share/cogl

Korte Beskrivelser

libcogl-gles2.so

er OpenGL ES 2.0 integrasjonsbiblioteket for Cogl

libcogl-pango.so

er Pango integrasjonsbiblioteket for Cogl

libcogl.so

er et objektorientert GL/GLES Abstraksjon/Verktøy Layer bibliotek

Clutter-1.26.4

Introduksjon til Clutter

Clutter pakken inneholder en åpen kilde programvarebibliotek som brukes til å lage raske, visuelt rike og animerte grafiske brukergrensesnitt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Note

Alt som er bygget med dette verktøysettet trenger maskinvare 3D akselerasjon fra grafikkdriveren under kjøring. Dette er levert av Mesa (eller av proprietære grafikkdrivere), men er ikke tilgjengelig for alle grafikkort og heller ikke for alle virtuelle maskiner. Det kan være lurt å se på Checking the DRI installation.

Pakkeinformasjon

Clutter Avhengigheter

Påkrevd

at-spi2-core-2.48.3, Cogl-1.22.8, og JSON-GLib-1.6.6

Anbefalt
Valgfri

GTK-Doc-1.33.2 og Tslib

Installasjon av Clutter

Installer Clutter ved å kjøre følgende kommandoer:

./configure --prefix=/usr               \
            --sysconfdir=/etc           \
            --enable-egl-backend        \
            --enable-evdev-input        \
            --enable-wayland-backend    \
            --enable-wayland-compositor &&
make

Testpakken anbefales ikke fordi noen tester kan henge for alltid. Hvis du uansett vil teste resultatene, utsted: make -j1 -k check. Du må være i en xterm eller lignende, fordi den starter noen vinduer. To tester, actor-destroy 1 /actor/destruction og actor-paint-opacity 1 /actor/opacity/text, er kjent å mislykkes.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-egl-backend: Denne bryteren aktiverer den eksperimentelle EGL vindusbakstykket.

--enable-evdev-input: Denne bryteren aktiverer den eksperimentelle Evdev inndata bakstykket som kreves for GNOME Wayland støtte.

--enable-wayland-backend og --enable-wayland-compositor: Disse brytere aktiverer det eksperimentelle Wayland API i Clutter som kreves for GNOME Wayland støtte.

--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: libclutter-1.0.so og libclutter-glx-1.0.so
Installerte Mapper: /usr/include/clutter-1.0 og /usr/share/gtk-doc/html/{cally,clutter}

Korte Beskrivelser

libclutter-1.0.so

inneholder Clutter API funksjoner

clutter-gst-3.0.27

Introduksjon til Clutter Gst

Clutter Gst pakken inneholder et integrasjonsbibliotek for bruk av GStreamer med Clutter. Dens formål er å implementere ClutterMedia grensesnittet ved hjelp av GStreamer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Clutter Gst Avhengigheter

Påkrevd

Clutter-1.26.4, gst-plugins-base-1.22.5, og libgudev-238

Anbefalt
Valgfri

GTK-Doc-1.33.2 og Cgc

Installasjon av Clutter Gst

Installer Clutter Gst 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
Installert Bibliotek: libclutter-gst-3.0.so og /usr/lib/gstreamer-1.0/libcluttergst3.so
Installerte Mapper: /usr/include/clutter-gst-3.0 og /usr/share/gtk-doc/html/clutter-gst-3.0

Korte Beskrivelser

libclutter-gst-3.0.so

inneholder Clutter Gst API funksjoner

clutter-gtk-1.8.4

Introduksjon til Clutter Gtk

Clutter Gtk pakken er et bibliotek som tilbyr fasiliteter for å integrere Clutter inn i GTK+ applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Clutter Gtk Avhengigheter

Påkrevd

Clutter-1.26.4 og GTK+-3.24.38

Anbefalt
Valgfri

GTK-Doc-1.33.2

Installasjon av Clutter Gtk

Installer Clutter Gtk 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: libclutter-gtk-1.0.so
Installerte Mapper: /usr/include/clutter-gtk-1.0 og /usr/share/gtk-doc/html/clutter-gtk-1.0

Korte Beskrivelser

libclutter-gtk-1.0.so

inneholder Clutter Gtk API funksjoner

colord-gtk-0.3.0

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.0 plattform.

Pakkeinformasjon

Colord GTK Avhengigheter

Påkrevd

colord-1.4.6 og GTK+-3.24.38

Anbefalt
Valgfri

DocBook-utils-0.6.14 og GTK-Doc-1.33.2

Installasjon av Colord GTK

Warning

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 \
            -Dgtk2=true         \
            -Dgtk4=true         \
            -Dvapi=true         \
            -Ddocs=false        \
            -Dman=false         \
            ..                  &&
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.

-Dvapi=true: Denne bryteren aktiverer bygging av Vala bindingene. Fjern denne bryteren hvis du ikke har Vala-0.56.11 installert.

-Dgtk2=true: Denne bryteren gjør det mulig å bygge GTK+-2 bindingene for colord.

-Dgtk4=true: Denne bryteren gjør det mulig å bygge GTK-4 bindingene for colord. Sett dette alternativet til 'false' hvis du ikke har GTK-4.12.0 installert.

-Ddocs=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.

-Dman=false: Denne bryteren deaktiverer generering av manualsidene for denne pakken. Fjern denne bryteren hvis du har namespaced versjoner av Docbook XSL stilarkene installert.

Innhold

Installerte Programmer: cd-convert
Installerte Biblioteker: libcolord-gtk.so, libcolord-gtk2.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-gtk2.so

inneholder Colord GTK+-2 bindinger

libcolord-gtk4.so

inneholder Colord GTK-4 bindinger

FLTK-1.3.8

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.0 plattform.

Pakkeinformasjon

FLTK Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

alsa-lib-1.2.9, desktop-file-utils-0.26, Doxygen-1.9.7, GLU-9.0.3, Mesa-23.1.6, og texlive-20230313 (eller install-tl-unx)

Installasjon av FLTK

Note

Tar sin ekstraksjonsmappe er fltk-1.3.8 og ikke fltk-1.3.8-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.

Nå, som root bruker:

make docdir=/usr/share/doc/fltk-1.3.8 install

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.3.8 install-linux &&
make -C documentation docdir=/usr/share/doc/fltk-1.3.8 install-linux

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.{a,so}, libfltk_forms.{a,so}, libfltk_gl.{a,so}, og libfltk_images.{a,so}
Installerte Mapper: /usr/include/FL og /usr/share/doc/fltk-1.3.8

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.4.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.0 plattform.

Pakkeinformasjon

Freeglut Avhengigheter

Påkrevd

CMake-3.27.2 og Mesa-23.1.6

Anbefalt

Installasjon av Freeglut

Installer Freeglut ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr       \
      -DCMAKE_BUILD_TYPE=Release        \
      -DFREEGLUT_BUILD_DEMOS=OFF        \
      -DFREEGLUT_BUILD_STATIC_LIBS=OFF  \
      -Wno-dev .. &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-DFREEGLUT_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.

-DFREEGLUT_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.10

Introduksjon til Gdk Pixbuf

Gdk Pixbuf pakken er et verktøysett for bildelasting og pikselbuffermanipulering. Den brukes av GTK+ 2 og GTK+ 3 til å laste og manipulere bilder. Tidligere ble det distribuert som en del av GTK+ 2 men den ble delt opp i en separat pakke som forberedelse til endringen til GTK+ 3.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Gdk Pixbuf Avhengigheter

Påkrevd

GLib-2.76.4, libjpeg-turbo-3.0.0, libpng-1.6.40, og shared-mime-info-2.2

Anbefalt
Valgfri (påkrevd hvis du bygger GNOME)

gobject-introspection-1.76.1

Valgfri

gdk-pixbuf-xlib-2.40.2 (kjøretidsavhengighet, nødvendig for å laste XPM bilder), Gi-DocGen-2023.1 (for å generere dokumentasjon), libavif-0.11.1 (kjøretidsavhengighet, nødvendig for å laste AVIF bilder), and webp-pixbuf-loader-0.2.4 (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 \
      --wrap-mode=nofallback &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/docs_dir =/s@\$@ / 'gdk-pixbuf-2.42.10'@" -i ../docs/meson.build &&
meson configure -Dgtk_doc=true                                         &&
ninja

For å teste resultatene, kjør: ninja test. Testene bruker av disken(e) mye.

Nå, som root bruker:

ninja install

Note

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 stopper nedlastingen av eventuell valgfrie avhengigheter som ikke er installert på systemet.

-Dman=false: Bruk dette alternativet hvis du ikke vil generere manualsider, eller hvis du ikke vil installere docutils-0.20.1.

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

gdk-pixbuf-xlib-2.40.2

Introduksjon til gdk-pixbuf-xlib

gdk-pixbuf-xlib pakken gir et utdatert Xlib grensesnitt til gdk-pixbuf, som er nødvendig for noen applikasjoner som ikke har blitt portert til å bruke de nye grensesnittene ennå.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

gdk-pixbuf-xlib Avhengigheter

Påkrevd

gdk-pixbuf-2.42.10 og Xorg Biblioteker

Valgfri

GTK-Doc-1.33.2

Installasjon av gdk-pixbuf-xlib

Installer gdk-pixbuf-xlib 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

Parameterforklaringer

-Dgtk_doc=true: Bruk dette alternativet hvis GTK-Doc-1.33.2 er installert og du ønsker å gjenoppbygge og installere API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libgdk_pixbuf_xlib-2.0.so
Installerte Mapper: /usr/include/gdk-pixbuf-2.0/gdk-pixbuf-xlib

Korte Beskrivelser

libgdk_pixbuf_xlib-2.0.so

gir et Xlib grensesnitt til gdk-pixbuf

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.0 plattform.

Pakkeinformasjon

glew Avhengigheter

Påkrevd

Mesa-23.1.6

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

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.0 plattform.

Pakkeinformasjon

GLU Avhengigheter

Påkrevd

Mesa-23.1.6

Installasjon av GLU

Installer GLU ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..              \
      --prefix=$XORG_PREFIX \
      -Dgl_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.55

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.0 plattform.

Pakkeinformasjon

GOffice Avhengigheter

Påkrevd

GTK+-3.24.38, libgsf-1.14.50, librsvg-2.56.3, libxslt-1.1.38, og Which-2.21

Valgfri

gobject-introspection-1.76.1, ghostscript-10.01.2, gsettings-desktop-schemas-44.0, GTK-Doc-1.33.2, 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

Grantlee-5.3.1

Introduksjon til grantlee

Grantlee er et sett med gratis programvarebiblioteker skrevet med Qt rammeverket. For øyeblikket sendes to biblioteker med Grantlee: Grantlee Templates og Grantlee TextDocument. Målet med Grantlee maler er å gjøre det enklere for applikasjonsutviklere å skille strukturen av dokumenter fra dataene de inneholder, og åpner døren for tema.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Grantlee Avhengigheter

Påkrevd

CMake-3.27.2 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Valgfri

Doxygen-1.9.7 (for dokumentasjon)

Installasjon av Grantlee

Installer Grantlee ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libGrantlee_Templates.so og libGrantlee_TextDocument.so
Installerte Mapper: /usr/lib/cmake/Grantlee5, /usr/lib/grantlee/5.2, og /usr/include/grantlee

Korte Beskrivelser

libGrantlee_Templates.so

inneholder vanlige dokumentasjonsmaler for å skille dokumenter fra deres struktur

libGrantlee_TextDocument.so

inneholder funksjoner som gjør det mulig å skille innholdet i tekstdokumenter fra deres struktur.

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.0 plattform.

Pakkeinformasjon

Graphene Avhengigheter

Påkrevd

GLib-2.76.4 og gobject-introspection-1.76.1

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.33.2 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+-2.24.33

Introduksjon til GTK+ 2

GTK+ 2 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.0 plattform.

Pakkeinformasjon

GTK+ 2 Avhengigheter

Påkrevd

at-spi2-core-2.48.3, gdk-pixbuf-2.42.10 og Pango-1.50.14

Anbefalt
Valgfri

Cups-2.4.6, DocBook-utils-0.6.14, gnome-themes-extra-3.28 (kjøretid, for Adwaita og HighContrast temaer), gobject-introspection-1.76.1 og GTK-Doc-1.33.2

Note

Hvis gobject-introspection-1.76.1 ble installert etter at-spi2-core-2.48.3, gdk-pixbuf-2.42.10, og/eller Pango-1.50.14, må disse pakkene bygges på nytt før denne pakken kan bygges.

Installasjon av GTK+ 2

Installer GTK+ 2 ved å kjøre følgende kommandoer:

sed -e 's#l \(gtk-.*\).sgml#& -o \1#' \
    -i docs/{faq,tutorial}/Makefile.in      &&

./configure --prefix=/usr --sysconfdir=/etc &&

make

For å teste resultatene, kjør: make -k check. Merk at du må kjøre testene fra en økt med X Vindusskjerm funksjonalitet (dvs. ikke en tekstbasert terminal/konsoll) ettersom testene forsøker å åpne et X vindu, og testene kan ta for lang tid. Ved å bruke et X Vindu, bør testene ta mindre enn 0,1 SBU. En test, aliasfilescheck.sh, er kjent for å mislykkes.

Nå, som root bruker:

make install

Note

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-2.0 --update-cache

Parameterforklaringer

sed -i 's#l \(gtk-.*\).sgml#& -o \1#' docs/{faq,tutorial}/Makefile.in: Hvis du har DocBook-utils-0.6.14 installert (spesifikt hvis configure finner db2html) så vil den prøve å bruke den til å gjenoppbygge noe av HTML dokumentasjonen og mislykkes på grunn av feil i noen av Makefileene. Denne sed fikser Makefileene.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Konfigurere GTK+ 2

Konfigurasjonsfiler

~/.gtkrc-2.0, /etc/gtk-2.0/gtkrc, og /usr/share/gtk-2.0/gtkrc

Konfigurasjonsinformasjon

GTK+ 2 temaer endrer måten en GTK+ 2 applikasjon ser ut. Et GTK+ 2 ikontema kan brukes til å endre ikoner som vises på programmets verktøylinje. Hvis du har installert et GTK+ 2 tema (som gnome-themes-extra-3.28 eller GTK Engines-2.20.2), eller et GTK+ ikontema (som adwaita-icon-theme-44.0) kan du angi dine preferanser i ~/.gtkrc-2.0:

cat > ~/.gtkrc-2.0 << "EOF"
include "/usr/share/themes/Glider/gtk-2.0/gtkrc"
gtk-icon-theme-name = "hicolor"
EOF

Det er mange flere temaer tilgjengelig på Gnome-Look.org og andre steder.

Når du har bestemt deg for temaer du liker, kan du (som root bruker) gjøre dem til systemomfattende standard:

cat > /etc/gtk-2.0/gtkrc << "EOF"
include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
gtk-icon-theme-name = "elementary"
EOF

LXAppearance-0.6.3 er en GTK+ 2 applikasjon som kan hjelpe deg med å velge temaene du liker.

Innhold

Installerte Programmer: gtk-builder-convert, gtk-demo, gtk-query-immodules-2.0, og gtk-update-icon-cache
Installerte Biblioteker: libgailutil.so, libgdk-x11-2.0.so, og libgtk-x11-2.0.so
Installerte Mapper: /etc/gtk-2.0, /usr/include/{gail-1.0,gtk-2.0,gtk-unix-print-2.0}, /usr/lib/gtk-2.0, /usr/share/doc/gtk+-2.24.33, /usr/share/gtk-2.0, /usr/share/gtk-doc/html/{gail-libgail-util,gdk2,gtk2}, og /usr/share/themes/{Default,Emacs,Raleigh}

Korte Beskrivelser

gtk-builder-convert

konverterer glade filer til XML filer som kan lastes med GtkBuilder

gtk-demo

demonstrerer GTK+ 2 funksjonalitet og gir kode for eksemplene

gtk-query-immodules-2.0

samler informasjon om lastbare inndata metodemoduler for GTK+ 2 og skriver den til standard utgang

gtk-update-icon-cache

oppretter mmap()able hurtigbufferfiler for ikontemaer. Starter med gtk+-2.24.24, legg til flagget --include-image-data til denne kommandoen, hvis du ønsker tidligere oppførsel, med bildedata i hurtigbufferen

libgdk-x11-2.0.so

inneholder funksjoner som fungerer som en innpakning rundt lavt nivå tegne og vindus funksjoner levert av de underliggende grafikksystemet

libgtk-x11-2.0.so

inneholder funksjoner som gir en API for å implementere grafisk brukergrensesnitt

GTK+-3.24.38

Introduksjon til GTK+ 3

GTK+ 3 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.0 plattform.

Pakkeinformasjon

GTK+ 3 Avhengigheter

Påkrevd

at-spi2-core-2.48.3, gdk-pixbuf-2.42.10, libepoxy-1.5.10, og Pango-1.50.14

Anbefalt
Anbefalt (Påkrevd hvis GNOME bygges)
Valgfri

colord-1.4.6, Cups-2.4.6, GTK-Doc-1.33.2, PyAtSpi2-2.46.0 (for tester), Tracker-3.5.3, og PAPI

Installasjon av GTK+ 3

Installer GTK+ 3 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
meson setup --prefix=/usr           \
            --buildtype=release     \
            -Dman=true              \
            -Dbroadway_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

Note

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

Note

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

-Dbroadway_backend=true: Denne bryteren aktiverer HTML5 GTK bakstykket.

-Dman=true: Denne bryteren tillater generering av manualsider.

-Dgtk_doc=true: Denne bryteren aktiverer bygging av dokumentasjonen. Det krever GTK-Doc-1.33.2.

-Dtracker3=true: Denne bryteren aktiverer søke funksjonen basert på Tracker 3 i GTK+-3 filvelgerdialogen. Det krever Tracker-3.5.3.

Konfigurere GTK+ 3

Konfigurasjonsfiler

~/.config/gtk-3.0/settings.ini og /etc/gtk-3.0/settings.ini

Konfigurasjonsinformasjon

GTK+ 3 temaer endrer måten en GTK+ 3 applikasjon ser ut. Et ikontema kan brukes til å endre ikonene som vises på programmets verktøylinje. Hvis du har installert en GTK+ 3 tema (f.eks. Adwaita temaet innebygd i GTK+ 3), et ikontema (som f.eks oxygen-icons5-5.109.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: GTK+ 3 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 GTK+ 3 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 GTK+ 3

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 GTK+ 3 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. GTK+ 3 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 GTK+ 3 og skriver den til standard hurtigbuffer filplassering, eller til standardutdata

gtk-query-settings

gir en fullstendig liste over alle innstillinger relatert til GTK+ 3

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.12.0

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.0 plattform.

Pakkeinformasjon

GTK 4 Avhengigheter

Påkrevd

FriBidi-1.0.13, gdk-pixbuf-2.42.10, graphene-1.10.8, ISO Codes-4.15.0, libepoxy-1.5.10, libxkbcommon-1.5.0, Pango-1.50.14, PyGObject-3.44.1, og wayland-protocols-1.32

Anbefalt
Anbefalt (Påkrevd hvis GNOME bygges)
Valgfri

colord-1.4.6, Cups-2.4.6, docutils-0.20.1, FFmpeg-6.0 (bygget med libvpx-1.13.0), Gi-DocGen-2023.1, Highlight-4.7 (kjøretid, bare brukt av gtk4-demo for syntaks utheving av demo kildekoden), libcloudproviders-0.3.2, sassc-3.6.2, Tracker-3.5.3, cpdb, og vulkan

Installasjon av GTK 4

Gjør først noen endringer fra oppstrøms:

sed -e '/glib-object.h/a #include <gdk/gdk.h>'        \
    -e '/ gtk_printer_option/i GDK_AVAILABLE_IN_ALL'  \
    -e '/\*gtk_printer_option/i GDK_AVAILABLE_IN_ALL' \
    -i.orig gtk/print/gtkprinteroptionprivate.h

Installer GTK 4 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr           \
            --buildtype=release     \
            -Dbroadway-backend=true \
                        -Dintrospection=enabled \
            .. &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s@'doc'@& / 'gtk-4.12.0'@" -i ../docs/reference/meson.build &&
meson configure -Dgtk_doc=true                                   &&
ninja

For å kjøre testene, utsted: dbus-run-session meson test --setup x11. Hvis du er i en Wayland økt, bytt ut x11 med wayland. Ni tester er kjent for å mislykkes hvis Cantrell fonts ikke er installert. Mange tester vil mislykkes hvis ~/.config/gtk-4.0/settings.ini eksisterer og gtk-modules linjen ikke er kommentert ut. På systemer med NVIDIA grafikkort kan testene ta betydelig lengre enn den annonserte testtiden.

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.

-Dbroadway-backend=true: Denne bryteren aktiverer HTML5 GDK bakstykket.

-Dintrospection=enabled: Denne bryteren aktiverer å bruke gobject-introspection-1.76.1 til å generere GIR bindinger av disse pakkene. Disse bindingene kreves av GNOME.

-Dcloudproviders=enabled: Bruk denne bryteren hvis du har libcloudproviders-0.3.2 installert og ønsker å aktivere støtte for skyleverandører i et filvelgervindu.

-Dsysprof=enabled: Bruk denne bryteren hvis du har sysprof-3.48.0 installert og ønsker å aktivere sporingsstøtte for GTK4 baserte applikasjoner.

-Dtracker=enabled: Bruk denne bryteren hvis du har Tracker-3.5.3 installert og ønsker å bruke søkefunksjonalitet når du kjører en filvelger.

-Dcolord=enabled: Bruk denne bryteren hvis du har colord-1.4.6 installert og ønsker å bruke colord med CUPS utskrifts bakstykket.

-Dman-pages=true: Bruk denne bryteren hvis du har docutils-0.20.1 installert og ønsker å generere manualsider.

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-icons5-5.109.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

GTK Engines-2.20.2

Introduksjon til GTK Motorer

GTK Engines pakken inneholder åtte temaer/motorer og to ekstra motorer for GTK2.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GTK Motorer Avhengigheter

Påkrevd

GTK+-2.24.33

Valgfri

Lua-5.4.6 og Which-2.21 (påkrevd for testpakken)

Installasjon av GTK Motorer

Installer GTK Motorer ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-lua --with-system-lua: Bruk disse bryterne hvis du installerte Lua og ønsker å bygge Lua temamotoren.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libclearlooks.so, libcrux-engine.so, libglide.so, libhcengine.so, libindustrial.so, libmist.so, libredmond95.so og libthinice.so (GTK-2 motorbiblioteker)
Installerte Mapper: /usr/lib/gtk-2.0/2.10.0/engines, /usr/share/gtk-engines, /usr/share/themes/Clearlooks, /usr/share/themes/Crux, /usr/share/themes/Industrial, /usr/share/themes/Mist, /usr/share/themes/Redmond og /usr/share/themes/ThinIce
Installerte Temaer: Clearlooks, Crux, Industrial, Mist, Redmond and ThinIce

Korte Beskrivelser

engine libraries

er behandlingssystemer for bestemte temaer

Gtkmm-3.24.8

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.0 plattform.

Pakkeinformasjon

Gtkmm Avhengigheter

Påkrevd

Atkmm-2.28.3, GTK+-3.24.38, og Pangomm-2.46.3

Valgfri

Doxygen-1.9.7

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.8

Parameterforklaringer

-Dbuild-documentation=true: Hvis du har installert Doxygen-1.9.7 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.8}

Korte Beskrivelser

libgdkmm-3.0.so

inneholder GDK API klasser

libgtkmm-3.0.so

inneholder GTK+ 3 API klasser

gtk-vnc-1.3.1

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.0 plattform.

Pakkeinformasjon

Gtk VNC Avhengigheter

Påkrevd

GnuTLS-3.8.1, GTK+-3.24.38, og libgcrypt-1.10.2

Anbefalt
Valgfri

Cyrus SASL-2.1.28 og PulseAudio-16.1

Installasjon av Gtk VNC

Installer Gtk VNC 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

-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.0 plattform.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK+-3.24.38

Anbefalt
Valgfri

Vala-0.56.11, Valgrind-3.21.0, GTK-Doc-1.33.2, itstool-2.0.7, fop-2.9 (eller dblatex), og Glade

Installasjon av GtkSourceView

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.0 plattform.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK+-3.24.38

Anbefalt
Valgfri

Vala-0.56.11, Valgrind-3.21.0, GTK-Doc-1.33.2, itstool-2.0.7, fop-2.9 (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.8.0

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.0 plattform.

Pakkeinformasjon

GtkSourceView Avhengigheter

Påkrevd

GTK-4.12.0 og pcre2-10.42

Anbefalt
Valgfri

GTK-Doc-1.33.2, sysprof-3.48.0, Vala-0.56.11, Valgrind-3.21.0, og Vulkan

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

-Dgtk_doc=true: Bruk denne bryteren hvis du har GTK-Doc-1.33.2 installert og ønsker å generere API dokumentasjonen.

-Dsysprof=true: Bruk denne bryteren hvis du har sysprof-3.48.0 installert og ønsker å bygge med sysprof profileringsstø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.0

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.0 plattform.

Pakkeinformasjon

imlib2 Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

Doxygen-1.9.7 (for API dokumentasjon), libpng-1.6.40, libjpeg-turbo-3.0.0, libtiff-4.5.1, x265-20230215, og libid3tag

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.0/html &&
install -v -m644    doc/html/* /usr/share/doc/imlib2-1.12.0/html

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--enable-doc-build: Denne bryteren genererer API dokumentasjonen. Doxygen-1.9.7 må være installert.

Innhold

Installerte Programmer: imlib2_bumpmap, imlib2_colorspace, imlib2_conv, imlib2_grab, imlib2_poly, imlib2_show, imlib2_test, og imlib2_view
Installerte Biblioteker: libImlib2.so og ulike filtre og bildelastermoduler.
Installerte Mapper: /usr/lib/imlib2, /usr/share/doc/imlib2-1.12.0, og /usr/share/imlib2

Korte Beskrivelser

imlib2_bumpmap

er for å teste imlib2 bumpmap funksjonen

imlib2_colorspace

er for å teste imlib2 colorspace funksjonen

imlib2_poly

er for å teste imlib2 poly funksjonen

imlib2_conv

konverterer bilder mellom formater

imlib2_grab

tar skjermbilder

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.2.0

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.0 plattform.

Pakkeinformasjon

kColorPicker Avhengigheter

Påkrevd

CMake-3.27.2 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Installasjon av kColorPicker

Installer kColorPicker ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libkColorPicker.a
Installerte Mapper: /usr/lib/cmake/kColorPicker

kImageAnnotator-0.6.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.0 plattform.

Pakkeinformasjon

kImageAnnotator Avhengigheter

Påkrevd

kcolorpicker-0.2.0

Installasjon av kImageAnnotator

Installer kImageAnnotator ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libkImageAnnotator.a
Installerte Mapper: /usr/include/kImageAnnotator, /usr/lib/cmake/kImageAnnotator, og /usr/share/kImageAnnotator

keybinder-0.3.1

Introduksjon til keybinder

keybinder pakken inneholder et verktøys bibliotek som registrerer globale X tastatursnarveier.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

keybinder Avhengigheter

Påkrevd

GTK+-2.24.33

Anbefalt
Valgfri

GTK-Doc-1.33.2 og Lua-5.4.6 (for øyeblikket ødelagt fordi en eldre lua versjon er nødvendig)

Installasjon av keybinder

Installer keybinder ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-lua &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-lua: Bruk denne bryteren for å deaktivere Lua-5.4.6 bindinger (for øyeblikket ødelagt, fordi eldre lua versjon er nødvendig).

--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.so og /usr/lib/python2.7/site-packages/keybinder/_keybinder.so
Installerte Mapper: /usr/lib/python2.7/site-packages/keybinder og /usr/share/gtk-doc/html/keybinder

Korte Beskrivelser

libkeybinder.so

er biblioteket som registrerer globale X tastatursnarveier

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.0 plattform.

Pakkeinformasjon

keybinder-3.0 Avhengigheter

Påkrevd

GTK+-3.24.38

Anbefalt
Valgfri

GTK-Doc-1.33.2

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.3.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.0 plattform.

Pakkeinformasjon

libadwaita Avhengigheter

Påkrevd

GTK-4.12.0

Anbefalt
Valgfri

Gi-DocGen-2023.1

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-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "s/apiversion/'1.3.4'/" -i ../doc/meson.build &&
meson configure -Dgtk_doc=true                    &&
ninja

For å teste resultatene, kjør: ninja test. Testene må kjøres fra en grafisk sesjon.

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

libdazzle-3.44.0

Introduksjon til libdazzle

libdazzle er et følgebibliotek til GObject og GTK+ som legger til APIer for spesielle grafiske effekter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libdazzle Avhengigheter

Påkrevd

GTK+-3.24.38

Anbefalt

Installasjon av libdazzle

Installer libdazzle 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: dazzle-list-counters
Installert Bibliotek: libdazzle-1.0.so
Installert Mappe: /usr/include/libdazzle-1.0

Korte Beskrivelser

dazzle-list-counters

viser tellere som er i bruk av en prosess

libdazzle-1.0.so

inneholder API funksjoner for grafiske effekter

libgedit-amtk-5.8.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.0 plattform.

Pakkeinformasjon

libgedit-amtk Avhengigheter

Påkrevd

GTK+-3.24.38

Valgfri

GTK-Doc-1.33.2 (for dokumentasjon) og Valgrind-3.21.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   \
      -Dgtk_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.

-Dgtk_doc=false: Denne bryteren forhindrer at byggesystemet genererer og installerer API dokumentasjonen. Utelat denne bryteren hvis du har GTK-Doc-1.33.2 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.0.4

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.0 plattform.

Pakkeinformasjon

libgedit-gtksourceview Avhengigheter

Påkrevd

GTK+-3.24.38 og libxml2-2.10.4

Valgfri

GTK-Doc-1.33.2

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 \
            -Dgtk_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.

-Dgtk_doc=false: Deaktiverer bygging av API dokumentasjon. Fjern hvis du har GTK-Doc-1.33.2 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.2

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.0 plattform.

Pakkeinformasjon

libhandy Avhengigheter

Påkrevd

GTK+-3.24.38

Anbefalt
Valgfri

GTK-Doc-1.33.2 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.33.2 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.115

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.0 plattform.

Pakkeinformasjon

libdrm Avhengigheter

Anbefalt
Valgfri

Cairo-1.17.6 (for tester), CMake-3.27.2 (kan brukes til å finne avhengigheter uten pkgconfig filer), docbook-xml-4.5, docbook-xsl-nons-1.79.2, docutils-0.20.1, og libxslt-1.1.38 (for å bygge manual sider), libatomic_ops-7.8.0 (kreves av arkitekturer uten opprinnelige atomoperasjoner), Valgrind-3.21.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   \
            -Dudev=true           \
            -Dvalgrind=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.

-Dudev=true: Denne parameteren muliggjør støtte for bruk av Udev i stedet for mknod.

-Dvalgrind=disabled: Denne parameteren deaktiverer bygging av libdrm med valgrind støtte. Dette fikser byggingen sysprof og andre pakker som bruker libdrm. Endre denne parameteren til "enabled" (eller fjern den) hvis du trenger støtte til 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.0 plattform.

Pakkeinformasjon

libepoxy Avhengigheter

Påkrevd

Mesa-23.1.6

Valgfri

Doxygen-1.9.7 (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.9.7 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

libglade-2.6.4

Introduksjon til libglade

libglade pakken inneholder libglade biblioteker. Disse er nyttig for å laste Glade grensesnittfiler i et program under kjøring.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libglade Avhengigheter

Påkrevd

libxml2-2.10.4 og GTK+-2.24.33

Valgfri

Python-2.7.18 og GTK-Doc-1.33.2

Installasjon av libglade

Installer libglade ved å kjøre følgende kommandoer:

sed -i '/DG_DISABLE_DEPRECATED/d' glade/Makefile.in &&
./configure --prefix=/usr --disable-static &&
make

For å teste resultatene, kjør: make check. En av testene, test-convert, er kjent for å mislykkes.

Nå, som root bruker:

make install

Parameterforklaringer

sed -i '/DG_DISABLE_DEPRECATED/d': Noen av glib funksjoner som libglade bruker ble erklært avviklet i glib-2.30. Denne sed fjerner G_DISABLE_DEPRECATED CFLAG.

--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: libglade-convert (krever python)
Installert Bibliotek: libglade-2.0.so
Installerte Mapper: /usr/{include/libglade-2.0/glade,share/{gtk-doc/html/libglade, xml/libglade}}

Korte Beskrivelser

libglade-convert

brukes til å konvertere gamle Glade grensesnittfiler til Glade-2.0 standarder

libglade-2.0.so

inneholder funksjonene som er nødvendige for å laste Glade grensesnittfiler

libnotify-0.8.2

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.0 plattform.

Pakkeinformasjon

libnotify Avhengigheter

Påkrevd

GTK+-3.24.38

Anbefalt (Nødvendig hvis det skal bygges GNOME)

gobject-introspection-1.76.1

Valgfri

Gi-DocGen-2023.1 og xmlto-0.0.28

Påkrevd (kjøretid)

notification-daemon-3.20.0 eller xfce4-notifyd-0.8.2

Note

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 \
            -Dgtk_doc=false     \
            -Dman=false         \
            ..                  &&
ninja

Denne pakken kommer ikke med en testpakke.

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "/docs_dir =/s@\$@ / 'libnotify'@" \
    -i ../docs/reference/meson.build   &&
meson configure -Dgtk_doc=true         &&
ninja

Nå, som root bruker:

ninja install &&
mv -v /usr/share/doc/libnotify{,-0.8.2}

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.0 plattform.

Pakkeinformasjon

libxklavier Avhengigheter

Påkrevd

GLib-2.76.4, ISO Codes-4.15.0, libxml2-2.10.4 og Xorg Biblioteker

Anbefalt
Valgfri

GTK-Doc-1.33.2 og Vala-0.56.11

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.50.14

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.0 plattform.

Pakkeinformasjon

Pango Avhengigheter

Påkrevd

Fontconfig-2.14.2 (må bygges med FreeType-2.13.1 ved bruk av HarfBuzz-8.1.1), FriBidi-1.0.13, og GLib-2.76.4

Anbefalt
Valgfri

Cantarell fonts (for tester), sysprof-3.48.0, Gi-DocGen-2023.1 (for å generere dokumentasjon), help2man, og libthai

Installasjon av Pango

Først omgå en feil i gcc-13 som utløser en falsk advarsel som bryter et release bygg:

sed -i '/array-bounds/d' meson.build

Installer Pango 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-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed "/docs_dir =/s@\$@ / 'pango-1.50.14'@" -i ../docs/meson.build &&
meson configure -Dgtk_doc=true                                    &&
ninja

For å teste resultatene, kjør: ninja test. En test, test-font er kjent for å mislykkes. Noen tester kan mislykkes hvis ingen Opentype eller Truetype fonter er installert i /usr/share/fonts.

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.

-Dintrospection=disabled: Bruk denne bryteren hvis du ikke ønsker å bruke gobject-introspection-1.76.1.

--wrap-mode=nofallback: Denne bryteren forhindrer meson fra å bruke delprosjektets tilbakefall for evt avhengighetserklæringer i byggefilene, og stopper nedlastingen av 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.50.14 (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.3

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.0 plattform.

Pakkeinformasjon

Pangomm Avhengigheter

Påkrevd

libcairomm-1.14.0, GLibmm-2.66.5 og Pango-1.50.14

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.3}

Korte Beskrivelser

libpangomm-1.4.so

inneholder Pango API klasser

Qt-5.15.10

Introduksjon til Qt5

Qt5 er et applikasjonsrammeverk på tvers av plattformer som er mye brukt for å utvikle applikasjonsprogramvare med et grafikk brukergrensesnitt (GUI) (i hvilke tilfeller Qt5 er klassifisert som et verktøysett for skjermelementer), og brukes også til å utvikle ikke-GUI programmer som kommandolinjeverktøy og konsoller for servere. To av de store brukere av Qt er KDE Rammeverk 5 (KF5) og LXQt.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Qt5 Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

BlueZ-5.68 (for sdpscanner, og ved kjøretid for QtConnectivity modulen), GTK+-3.24.38, ibus-1.5.28, libinput-1.23.0, MariaDB-10.11.4 eller MySQL, MIT Kerberos V5-1.21.2, mtdev-1.1.6 pciutils-3.10.0, PostgreSQL-15.4, PulseAudio-16.1, SDL2-2.28.2, unixODBC-2.3.12, assimp, Flite, Firebird, FreeTDS, libproxy, OpenAL, speech-dispatcher, tslib, and Vulkan

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/qt5

Stille inn installasjonsprefikset

Installere i /opt/qt5

BLFS redaktørene anbefaler å installere Qt5 i en mappe annet enn /usr, dvs /opt/qt5. For å gjøre dette, still inn følgende miljøvariabel:

export QT5PREFIX=/opt/qt5

Tip

Noen ganger er installasjonsbanene hardkodet til installerte filer. Dette er grunnen til at /opt/qt5 brukes som installasjonsprefiks i stedet for /opt/qt-5.15.10. For å lage en versjonert Qt5 mappe etter at installasjonen er fullført, kan du gi nytt navn til mappen og opprette en symbolkobling:

mkdir -pv /opt/qt-5.15.10
ln -sfnv qt-5.15.10 /opt/qt5

Senere vil du kanskje installere andre versjoner av Qt5. For å gjøre det, fjern bare symbolkoblingen og bruk /opt/qt5 som prefiks igjen. Hvilken versjon av Qt5 du bruker avhenger bare av hvor symbollinken peker.

Note

Hvis qca-2.3.7 er installert og du deretter installere eller oppdatere denne pakken på nytt qca må installeres på nytt.

Installasjon av Qt5

Warning

Hvis Qt5 blir reinstallert i samme mappe som en eksisterende forekomst, kjør kommandoene utført av root, som make install, fra en konsoll eller ikke-Qt5 basert vindusbehandler. Den overskriver Qt5 biblioteker som ikke skal være i bruk under installasjonsprosessen.

Caution

Hvis du ikke installerte noen av de anbefalte avhengighetene, undersøk ./configure --help utdataen for å sjekke hvordan du deaktiverer dem eller bruk interne versjoner samlet i kildens tarball.

Note

Byggetiden og plassen som kreves for hele Qt5 er ganske lang. Instruksjonene nedenfor bygger ikke veiledninger og eksemplene. Fjerning av -nomake linjen vil skape et komplett bygg.

Note

BLFS redaktørene anbefaler ikke å installere Qt5 inn i /usr hierarkiet fordi det blir vanskelig å finne komponenter og for å oppdatere til en ny versjon. Hvis du ønsker å installere Qt5 i /usr, mappene må spesifiseres eksplisitt. I dette tilfellet setter du QT5PREFIX=/usr og legger til følgende til konfigureringsargumentene nedenfor:

            -archdatadir    /usr/lib/qt5                \
            -bindir         /usr/bin                    \
            -plugindir      /usr/lib/qt5/plugins        \
            -importdir      /usr/lib/qt5/imports        \
            -headerdir      /usr/include/qt5            \
            -datadir        /usr/share/qt5              \
            -docdir         /usr/share/doc/qt5          \
            -translationdir /usr/share/qt5/translations \
            -examplesdir    /usr/share/doc/qt5/examples

Bruk først en oppdatering for å trekke inn rettelsene kurert av kde for disse moduler som kreves av pakker nevnt i denne boken:

patch -Np1 -i ../qt-everywhere-opensource-src-5.15.10-kf5-1.patch

Oppdateringen er ment å brukes i et git depot, fordi oppførselen til configure kommandoen nedenfor endres i dette tilfellet. Det er nok å lage en .git mappe i qmake mappen, hvor configure skriptet kjøres:

mkdir -pv qtbase/.git

Legg til en annen fiks for å bygge med GCC-13:

sed -e "/pragma once/a#include <cstdint>"                                      \
    -i qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp \
       qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp   \
       qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp

Installer Qt5 ved å kjøre følgende kommandoer:

./configure -prefix $QT5PREFIX                        \
            -sysconfdir /etc/xdg                      \
            -confirm-license                          \
            -opensource                               \
            -dbus-linked                              \
            -openssl-linked                           \
            -system-harfbuzz                          \
            -system-sqlite                            \
            -nomake examples                          \
            -no-rpath                                 \
            -journald                                 \
            -skip qtwebengine                         &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Fjern referanser til byggemappen fra installert bibliotekavhengighets (prl) filer ved å kjøre følgende kommando som root bruker:

find $QT5PREFIX/ -name \*.prl \
   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

Installer bilder og lag menyoppføringer for installerte applikasjoner. QT5BINDIR variabelen brukes her for å peke på mappen for de kjørbare programmene. Hvis du har endret bindir ovenfor, QT5BINDIR må justeres nedenfor. Vær sikker på at QT5BINDIR variabelen er definert i root sitt miljø og som root bruker:

QT5BINDIR=$QT5PREFIX/bin

install -v -dm755 /usr/share/pixmaps/                  &&

install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
                  /usr/share/pixmaps/assistant-qt5.png &&

install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
                  /usr/share/pixmaps/designer-qt5.png  &&

install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
                  /usr/share/pixmaps/linguist-qt5.png  &&

install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
                  /usr/share/pixmaps/qdbusviewer-qt5.png &&

install -dm755 /usr/share/applications &&

cat > /usr/share/applications/assistant-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Assistant
Comment=Shows Qt5 documentation and examples
Exec=$QT5BINDIR/assistant
Icon=assistant-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
EOF

cat > /usr/share/applications/designer-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Designer
GenericName=Interface Designer
Comment=Design GUIs for Qt5 applications
Exec=$QT5BINDIR/designer
Icon=designer-qt5.png
MimeType=application/x-designer;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF

cat > /usr/share/applications/linguist-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Linguist
Comment=Add translations to Qt5 applications
Exec=$QT5BINDIR/linguist
Icon=linguist-qt5.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-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 QDbusViewer
GenericName=D-Bus Debugger
Comment=Debug D-Bus applications
Exec=$QT5BINDIR/qdbusviewer
Icon=qdbusviewer-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Debugger;
EOF

Noen pakker som f.eks VLC-3.0.18 se etter visse kjørbare filer med suffikset -qt5. Kjør følgende kommando som root bruker for å lage de nødvendige symbolkoblingene:

for file in moc uic rcc qmake lconvert lrelease lupdate; do
  ln -sfrvn $QT5BINDIR/$file /usr/bin/$file-qt5
done

Parameterforklaringer

sed ...: Tillater bruk av Python 3 i stedet for Python 2. Denne kommandoen ødelegger bygget for QtWebEngine, så ikke bruk den hvis du fjerner -skip qtwebengine bryteren.

-confirm-license: Godta lisens uten å spørre brukeren under konfigurasjonen.

-opensource: Installer åpen kildekode versjonen av Qt.

-nomake examples: Denne bryteren deaktiverer bygging av eksempelprogrammene inkludert i kilden sin tarball. Fjern den hvis du vil bygge dem.

-system-sqlite: Denne bryteren aktiverer bruk av systemversjonen av SQLite.

-dbus-linked -openssl-linked: Disse brytere muliggjør eksplisitt kobling av D-Bus og OpenSSL biblioteker inn i Qt5 biblioteker i stedet for å dlopen()-ing dem.

-journald: Denne bryteren tillater sending av Qt meldinger til journald loggingssystemet.

-skip qtwebengine: Denne bryteren deaktiverer bygging av QtWebEngine. BLFS redaksjonen har valgt å bygge qtwebengine-5.15.15 separat.

-system-harfbuzz: Denne bryteren aktiverer bruk av systemversjonen av Harfbuzz.

Konfigurere Qt5

Konfigurasjonsinformasjon

Hvis Sudo-1.9.14p3 er installert, bør QT5DIR være tilgjengelig for superbrukeren også. Utfør følgende kommandoer som root bruker:

cat > /etc/sudoers.d/qt << "EOF"
Defaults env_keep += QT5DIR
EOF
Hvis du har installert Qt5 i /usr

Hvis du installerte Qt5 i /usr, opprett en miljøvariabel som kreves av visse pakker. Som root bruker:

cat > /etc/profile.d/qt5.sh << "EOF"
# Begin /etc/profile.d/qt5.sh

QT5DIR=/usr
export QT5DIR

# End /etc/profile.d/qt5.sh
EOF
Hvis du ikke installerte Qt5 i /usr

Hvis du installerte Qt5 på et annet sted enn /usr, må du oppdatere følgende konfigurasjonsfiler slik at Qt5 blir riktig funnet av andre pakker og systemprosesser.

Som root bruker, oppdater /etc/ld.so.conf filen og den dynamiske linkeren sin kjøretids hurtiglagerfil:

cat >> /etc/ld.so.conf << EOF
# Begin Qt addition

/opt/qt5/lib

# End Qt addition
EOF

ldconfig

Som root bruker, opprett /etc/profile.d/qt5.sh filen:

cat > /etc/profile.d/qt5.sh << "EOF"
# Begin /etc/profile.d/qt5.sh

QT5DIR=/opt/qt5

pathappend $QT5DIR/bin           PATH
pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH

export QT5DIR

# End /etc/profile.d/qt5.sh
EOF

Innhold

Installerte Programmer: assistant, balsam, canbusutil, designer, fixqt4headers.pl, lconvert, linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro, meshdebug, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml, qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qgltf, qhelpgenerator, qlalr, qmake, qml, qmlcachegen, qmleasing, qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump, qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qmltime, qmltyperegistrar, qscxmlc, qtattributionscanner, qtdiag, qtpaths, qtplugininfo, qtwaylandscanner, qvkgen, rcc, repc, sdpscanner, syncqt.pl, tracegen, uic, xmlpatterns, og xmlpatternsvalidator
Installerte Biblioteker: libQt53DAnimation.so, libQt53DCore.so, libQt53DExtras.so, libQt53DInput.so, libQt53DLogic.so, libQt53DQuick.so, libQt53DQuickAnimation.so, libQt53DQuickExtras.so, libQt53DQuickInput.so, libQt53DQuickRender.so, libQt53DQuickScene2D.so, libQt53DRender.so, libQt5AccessibilitySupport.a, libQt5Bluetooth.so, libQt5Bodymovin.so, libQt5Bootstrap.a, libQt5Charts.so, libQt5Concurrent.so, libQt5Core.so, libQt5DataVisualization.so, libQt5DBus.so, libQt5DesignerComponents.so, libQt5Designer.so, libQt5DeviceDiscoverySupport.a, libQt5EdidSupport.a, libQt5EglFSDeviceIntegration.so, libQt5EglFsKmsSupport.so, libQt5EglSupport.a, libQt5EventDispatcherSupport.a, libQt5FbSupport.a, libQt5FontDatabaseSupport.a, libQt5Gamepad.so, libQt5GlxSupport.a, libQt5Gui.so,libQt5Help.so, libQt5InputSupport.a, libQt5KmsSupport.a, libQt5LinuxAccessibilitySupport.a, libQt5Location.so, libQt5Multimedia.so, libQt5MultimediaGstTools.so, libQt5MultimediaQuick.so, libQt5MultimediaWidgets.so, libQt5Network.so, libQt5NetworkAuth.so, libQt5Nfc.so, libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PacketProtocol.a, libQt5PlatformCompositorSupport.a, libQt5Positioning.so, libQt5PositioningQuick.so, libQt5PrintSupport.so, libQt5Purchasing.so, libQt5Qml.so, libQt5QmlDebug.a, libQt5QmlDevTools.a, libQt5QmlModels.so, libQt5QmlWorkerScript.so, libQt5Quick.so, libQt5Quick3D.so, libQt5Quick3DAssetImport.so, libQt5Quick3DRender.so, libQt5Quick3DRuntimeRender.so, libQt5Quick3DUtils.so, libQt5QuickControls2.so, libQt5QuickParticles.so, libQt5QuickShapes.so, libQt5QuickTemplates2.so, libQt5QuickTest.so, libQt5QuickWidgets.so, libQt5RemoteObjects.so, libQt5Script.so, libQt5ScriptTools.so, libQt5Scxml.so, libQt5Sensors.so, libQt5SerialBus.so, libQt5SerialPort.so, libQt5ServiceSupport.a, libQt5Sql.so, libQt5Svg.so, libQt5Test.so, libQt5TextToSpeech.so, libQt5ThemeSupport.a, libQt5UiTools.a, libQt5VirtualKeyboard.so, libQt5WaylandClient.so, libQt5WaylandCompositor.so, libQt5WebChannel.so, libQt5WebSockets.so, libQt5WebView.so, libQt5Widgets.so, libQt5X11Extras.so, libQt5XcbQpa.so, libQt5XkbCommonSupport.a, libQt5Xml.so, libQt5XmlPatterns.so, og flere programtillegg under /opt/qt5/{plugins,qml}
Installerte Mapper: /usr/include/qt5, /usr/lib/qt5, /usr/share/doc/qt5, og /usr/share/qt5 eller /opt/qt5 and /opt/qt-5.15.10

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 utforming, støtte for egendefinerte skjermelementer og en avansert ressursbehandler

fixqt4headers.pl

er et skript for å erstatte alle Qt 4 stilinkluderere med Qt 5 inkluderere

lconvert

er en del av Qt5s 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 oversettelsefil i TS format og produserer meldingsfiler som brukes av applikasjonen

lrelease-pro

trekker ut prosjektinformasjon fra qmake prosjekter og sender det til lrelease

lupdate

finner det oversettbare strenger i den angitte kilden, overskriften og Qt Designer grensesnittfiler, og lagrer de utpakkede meldingene i oversettelsesfiler for å bli behandlet av lrelease

lupdate-pro

leser en Qt prosjektfil, og sender den innsamlede informasjonen til lupdate

meshdebug

viser informasjon om qtquick-3d mesh filer

moc

genererer Qt metaobjekt støttekode

pixeltool

er en skrivebordsforstørrelsesglass og mens du beveger musen rundt skjermen vil den vise det forstørrede innholdet i vinduet

qcollectiongenerator

behandler og konverterer Qt hjelpefiler

qdbuscpp2xml

tar en C++ kildefil og genererer en D-Bus XML definisjon av grensesnittet

qdbus

viser tilgjengelige tjenester, objektbaner, metoder, signaler og egenskapene til objekter på en buss

qdbusviewer

er en grafisk D-Bus nettleser

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 Text.QtRendering skal øke oppstarthastigheten 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 til å generere dokumentasjon for programvareprosjekter

qgltf

importerer en rekke 3D modellformater og eksporterer til fast-to-load, optimaliserte glTF ressurser innebygd i Qt ressursfiler

qhelpgenerator

er et verktøy som brukes til å generere en Qt komprimert hjelpefil

qlalr

er et verktøy som brukes til å generere kode fra grammatikkspesifikasjoner

qmake

bruker informasjon som er lagret i prosjektfiler til å bestemme hva som skal gå i makefilene det genererer

qml

kjører en QML fil

qmlcachegen

støtter oppretting av hurtiglagerfiler på byggetidspunktet

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

qmlimportscanner

er et verktøy som brukes til å importere QML filer fra en mappe

qmllint

er en syntakskontroll for QML filer

qmlmin

fjerner kommentarer og layouttegn fra en QML fil

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 overvåker på QML og JavaScript filer på disk og oppdaterer applikasjonen live ved 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

qscxml

konverterer en input.scxml fil til en deklarasjons og cpp fil

qtattributionsscanner

behandler qt_attribution.json filer i Qt kilder

qtdiag

er et verktøy for å rapportere diagnostisk informasjon om Qt og dens miljø

qtpaths

er et verktøy for å spørre Qt stiinformasjon

qtplugininfo

dumper metadata om Qt programtillegg i JSON format

qtwaylandscanner

konverterer Wayland spesifikasjonsfiler til C++ deklarasjoner og kode nødvendig for QtWayland

qvkgen

konverterer Vulkan spesifikasjoner to C++ deklarasjoner og kode

rcc

er en ressurskompilator som brukes sammen med designer

repc

er en Replica kompilator, som genererer QObject deklarasjonsfiler basert på en API definisjonsfil

sdpscanner

utfører en Øktbeskrivelsesprotokoll skanning på en ekstern enhet, ved å bruke SDP serveren representert av den lokale Bluetooth enheten

syncqt.pl

er et skript for å lage videresendingshodene i include mapper. Det er et internt utviklingsverktøy

tracegen

er en sporgenerator for LTTng eller ETW

uic

er en Qt brukergrensesnitt kompilator

xmlpatterns

gir støtte til XPath, XQuery, XSLT, og XML Skjema validering

xmlpatternsvalidator

er et verktøy som brukes til å validere XML dokumenter

qt-alternate-5.15.10

Introduksjon til qt5 (alternativ)

Qt5 er et applikasjonsrammeverk på tvers av plattformer som er mye brukt for å utvikle applikasjonsprogramvare med en grafisk brukergrensesnitt (GUI) (i hvilke tilfeller qt5 er klassifisert som et skjermelement verktøysett), og brukes også til å utvikle ikke-GUI programmer som kommandolinjeverktøy og konsoller for servere. To store brukere av qt er KDE Frameworks 5 (KF5) og LXQt.

Important

Hele qt5 pakken består av 43 separate komponenter. Disse instruksjonene bruker en liten delmengde av hele qt5 installasjonsinstruksjonene ovenfor. De dekker de fleste, men ikke alle, av komponentene som trengs for å bygge pakker i BLFS. Denne siden, og den neste, er gitt for å redusere mengden tid, plass og avhengigheter som trengs for å bygge disse pakkene. De anbefales ikke om du vil bygge KDE Frameworks-5.109.0 baserte Plasma-5.27.7 skrivebordsmiljø.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

qt5 Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt
Valgfri

GTK+-3.24.38, libinput-1.23.0 MariaDB-10.11.4 eller MySQL, MIT Kerberos V5-1.21.2, mtdev-1.1.6 PostgreSQL-15.4, og unixODBC-2.3.12

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/qt5

Stille inn installasjonsprefikset

Installere i /opt/qt5

BLFS redaktørene anbefaler å installere qt5 i en mappe annet enn /usr, dvs. /opt/qt5. For å gjøre dette, still inn følgende miljøvariabel:

export QT5PREFIX=/opt/qt5

Tip

Noen ganger er installasjonsbanene hardkodet til installerte filer. Dette er grunnen /opt/qt5 brukes som installasjonsprefiks i stedet for /opt/qt-5.15.10. For å opprette en versjonert qt5 mappen etter installasjonen er fullført, kan du gi nytt navn til mappen og opprette en symbolkobling:

mkdir -pv /opt/qt-5.15.10
ln -sfnv qt-5.15.10 /opt/qt5

Senere kan du ønske å installere andre versjoner av qt5. For å gjøre det, fjern bare symbolkoblingen og bruk /opt/qt5 som prefiks igjen. Hvilken versjon av qt5 du bruker avhenger bare av hvor symbollinken peker.

Installasjon av qt5

Warning

Hvis qt5 blir reinstallert i samme mappe som en eksisterende forekomst, kjør kommandoene utført av root, som for eksempel make install, fra en konsoll eller ikke-qt5 basert vindusbehandler. Den overskriver qt5 biblioteker som ikke skal være i bruk under installasjonsprosessen.

Caution

Hvis du ikke installerte noen av de anbefalte avhengighetene, undersøk ./configure --help utdataen for å sjekke hvordan du deaktiverer dem eller bruk interne versjoner samlet i kildens tarball.

Note

BLFS redaktørene anbefaler ikke å installere qt5 inn i /usr hierarkiet fordi det blir vanskelig å finne komponenter og å oppdatere til en ny versjon. Hvis du ønsker å installere qt5 i /usr, mappen må spesifiseres eksplisitt. I dette tilfellet setter du QT5PREFIX=/usr og legger til følgende til konfigureringsargumentene nedenfor:

            -archdatadir    /usr/lib/qt5                \
            -bindir         /usr/bin                    \
            -plugindir      /usr/lib/qt5/plugins        \
            -importdir      /usr/lib/qt5/imports        \
            -headerdir      /usr/include/qt5            \
            -datadir        /usr/share/qt5              \
            -docdir         /usr/share/doc/qt5          \
            -translationdir /usr/share/qt5/translations \
            -examplesdir    /usr/share/doc/qt5/examples

Først, bruk en oppdatering for å trekke inn rettelsene vedlikeholdt av kde for disse moduler som kreves av pakker nevnt i denne boken:

patch -Np1 -i ../qt-everywhere-opensource-src-5.15.10-kf5-1.patch

Oppdateringene er ment å brukes i et git depot, fordi oppførselen til configure kommandoen nedenfor endres i dette tilfellet. Det er nok å lage en .git mappe i qmake mappen, hvor configure skriptet kjøres:

mkdir -pv qtbase/.git

På dette tidspunktet ønsker vi å sette opp å hoppe over de fleste komponentene. Gjør det med:

ls -Fd qt* | grep / | sed 's/^/-skip /;s@/@@' > tempconf &&
sed -i -r '/base|tools|x11extras|svg|declarative|wayland/d' tempconf

Nå, installer qt5 ved å kjøre følgende kommandoer:

./configure -prefix $QT5PREFIX   \
            -sysconfdir /etc/xdg \
            -confirm-license     \
            -opensource          \
            -dbus-linked         \
            -openssl-linked      \
            -system-harfbuzz     \
            -system-sqlite       \
            -nomake examples     \
            -no-rpath            \
            -journald            \
            $(cat tempconf)      \
            &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Fjern referanser til byggemappen fra installert bibliotek avhengighet (prl) filer ved å kjøre følgende kommando som root bruker:

find $QT5PREFIX/ -name \*.prl \
   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

Installer bilder og lag menyoppføringer for installerte applikasjoner. QT5BINDIR variabel brukes her for å peke på mappen for de kjørbare programmene. Hvis du har endret bindir ovenfor, QT5BINDIR må justeres nedenfor. Vær sikker på at QT5BINDIR variabel er definert i root sitt miljø og som root bruker:

QT5BINDIR=$QT5PREFIX/bin

install -v -dm755 /usr/share/pixmaps/                  &&

install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
                  /usr/share/pixmaps/assistant-qt5.png &&

install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
                  /usr/share/pixmaps/designer-qt5.png  &&

install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
                  /usr/share/pixmaps/linguist-qt5.png  &&

install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
                  /usr/share/pixmaps/qdbusviewer-qt5.png &&

install -dm755 /usr/share/applications &&

cat > /usr/share/applications/assistant-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Assistant
Comment=Shows Qt5 documentation and examples
Exec=$QT5BINDIR/assistant
Icon=assistant-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
EOF

cat > /usr/share/applications/designer-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Designer
GenericName=Interface Designer
Comment=Design GUIs for Qt5 applications
Exec=$QT5BINDIR/designer
Icon=designer-qt5.png
MimeType=application/x-designer;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF

cat > /usr/share/applications/linguist-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Linguist
Comment=Add translations to Qt5 applications
Exec=$QT5BINDIR/linguist
Icon=linguist-qt5.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-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 QDbusViewer
GenericName=D-Bus Debugger
Comment=Debug D-Bus applications
Exec=$QT5BINDIR/qdbusviewer
Icon=qdbusviewer-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Debugger;
EOF

Noen pakker som f.eks VLC-3.0.18 ser etter visse kjørbare filer med suffikset -qt5. Kjør følgende kommando som root bruker for å opprette de nødvendige symbolkoblingene:

for file in moc uic rcc qmake lconvert lrelease lupdate; do
  ln -sfrvn $QT5BINDIR/$file /usr/bin/$file-qt5
done

Parameterforklaringer

-confirm-license: Godta lisens uten å spørre brukeren under konfigurasjonen.

-opensource: Installer åpen kildekode versjon av qt.

-nomake examples: Denne bryteren deaktiverer bygging av eksempelprogrammene inkludert i kilde tarballen. Fjern den hvis du vil bygge dem.

-system-sqlite: Denne bryteren aktiverer systemversjonen av SQLite.

-system-harfbuzz: Denne bryteren aktiverer systemversjonen avf Harfbuzz.

-dbus-linked -openssl-linked: Disse brytere muliggjør eksplisitt kobling av D-Bus og OpenSSL biblioteker inn i qt5 biblioteker i stedet for å dlopen()-ing dem.

-journald: Denne bryteren lar deg sende qt meldinger til journald loggingssystem.

$(cat tempconf): Denne kommandoen gir en liste over komponenter som ikke skal bygges. Disse oppføringene er i form av "-skip <component>".

Konfigurere qt5

Konfigurasjonsinformasjon

Hvis Sudo-1.9.14p3 er installert, skal QT5DIR være tilgjengelig for superbrukeren også. Utfør følgende kommandoer som root bruker:

cat > /etc/sudoers.d/qt << "EOF"
Defaults env_keep += QT5DIR
EOF
Hvis du installerte qt5 i /usr

Hvis du har installert qt5 i /usr, opprett en miljøvariabel som kreves av visse pakker. Som root bruker:

cat > /etc/profile.d/qt5.sh << "EOF"
# Begin /etc/profile.d/qt5.sh

QT5DIR=/usr
export QT5DIR

# End /etc/profile.d/qt5.sh
EOF
Hvis du ikke installerte qt5 i /usr

Hvis du har installert qt5 på et annet sted enn /usr, må du oppdatere følgende konfigurasjonsfiler slik at qt5 er 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/qt5/lib

# End Qt addition
EOF

ldconfig

Som root bruker, opprett /etc/profile.d/qt5.sh filen:

cat > /etc/profile.d/qt5.sh << "EOF"
# Begin /etc/profile.d/qt5.sh

QT5DIR=/opt/qt5

pathappend $QT5DIR/bin           PATH
pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH

export QT5DIR

# End /etc/profile.d/qt5.sh
EOF

Innhold

Installerte Programmer: assistant, designer, fixqt4headers.pl, lconvert, linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml, qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qhelpgenerator, qlalr, qmake, qml, qmlcachegen, qmleasing, qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump, qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qmltime, qmltyperegistrar, qtattributionscanner, qtdiag, qtpaths, qtplugininfo, qtwaylandscanner, qvkgen, rcc, syncqt.pl, tracegen, og uic
Installerte Biblioteker: libQt5Concurrent.so, libQt5Core.so, libQt5DBus.so, libQt5Designer.so, libQt5DesignerComponents.so, libQt5EglFSDeviceIntegration.so, libQt5EglFsKmsSupport.so, libQt5Gui.so, libQt5Help.so, libQt5Network.so, libQt5OpenGL.so, libQt5PrintSupport.so, libQt5Qml.so, libQt5QmlModels.so, libQt5QmlWorkerScript.so, libQt5Quick.so, libQt5QuickParticles.so, libQt5QuickShapes.so, libQt5QuickTest.so, libQt5WaylandClient.so, libQt5WaylandCompositor.so, libQt5Widgets.so, libQt5X11Extras.so, libQt5XcbQpa.so, libQt5Xml.so, flere statiske biblioteker, og flere programtillegg under /opt/qt5/{plugins,qml}
Installerte Mapper: /usr/include/qt5, /usr/lib/qt5, /usr/share/doc/qt5, og /usr/share/qt5 ELLER /opt/qt5 og /opt/qt-5.15.10

Korte Beskrivelser

Se Qt5 Korte Beskrivelser

qt-components-5.15.10

Introduksjon til qt5 komponenter

Disse instruksjonene viser hvordan du bygger ytterligere Qt5 komponenter utover qt-alternate-5.15.10. De gjelder ikke hvis fulle Qt-5.15.10 pakken er bygget.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

qt5 komponenter Avhengigheter

Påkrevd

qt-alternate-5.15.10

Anbefalte avhengigheter for qtimageformats
Anbefalte avhengigheter for multimedia

Installasjon av qt5 komponenter

Det er noen ekstra komponenter som trengs for forskjellige pakker i BLFS. Disse er qtimageformats, qtlocation, qtwebchannel, qtdoc, og qtmultimedia. Bare de komponentene som er spesifisert for en bestemt pakke er nødvendig. Du trenger bare å bygge de relevante komponentene.

Først, bruk en oppdatering for å trekke inn rettelsene vedlikeholdt av KDE for noen av de moduler oppført ovenfor:

patch -Np1 -i ../qt-everywhere-opensource-src-5.15.10-kf5-1.patch

Neste, hvis du installerer qtlocation, fikse bygget med GCC-13:

sed -e "/pragma once/a#include <cstdint>"                                      \
    -i qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp \
       qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp   \
       qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp

Installer hver ønsket komponent ved å kjøre følgende kommandoer:

cd <component>
qmake <component>.pro
make

Som root bruker:

make install

Fjern referanser til byggemappen fra installert bibliotek avhengighetsfiler (prl) ved å kjøre følgende kommando som root bruker:

find $QT5DIR/ -name \*.prl \
   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libQt5<component>.so
Installerte Mapper: $QTDIR/qml/<component>, $QTDIR/lib/<component>, og $QTDIR/include/<component>

QtWebEngine-5.15.15

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.

Important

Qt-5.15 nådde End Of Life 26. mai 2023. Forlenget levetid Qt5.15 LTS har blitt forlenget til 26. mai 2025 for de med abonnementslisenser. Fordi qtwebengine bruker chromium kode under LGPL, ser det ut til at noen nye tilbakeporterte CVE reparasjoner for QtWebEngine vil være tilgjengelige etter at Qt lager offentlige utgivelser av gjeldende versjoner.

Warning

QtWebEngine bruker en utskilt kopi av chromium, og er derfor sårbar til mange problemer som finnes der. Qt utviklerne har alltid foretrukket å lage utgivelser samtidig som resten av Qt (i stedet for å legge til nødrettinger), men med stabile versjoner som blir utgitt etter gjeldende utviklingsversjon. Nå som de er opptatt av å flytte til Qt6, har 5.15.3 og senere Qt-5.15 utgivelser er i utgangspunktet kun tilgjengelige for betalende kunder. QtWebEngine er noe av et unntak på grunn av sin LGPL lisens, men får git kildene (med utskilt chromium undermodul) til en posisjon hvor det lykkes med å bygge videre på et nåværende BLFS system kan kreve mye arbeid og derfor kan oppdateringer av boken bli forsinket.

Det virker sannsynlig at fremtidige 5.15 serieversjoner også vil bli utgitt lenge etter at chromium sårbarhetene er kjent, men fikser for QtWebEngine finnes i git, og redaktørene mener at kjente sårbarheter i nettlesere bør fikses.

Tarballen lenket nedenfor ble opprettet fra 5.15.15 git grenen og 87 grenen til chromium undermodulen (som er utskilt fra chromium). Se GIT-VERSIONS filen i tarballen for detaljer om siste forpliktelser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Warning

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.

Note

Hvis du oppgraderer og har installert en nyere versjon av ICU-73.2 siden du sist installerte Qt-5.15.10, må du installere Qt5 på nytt før oppgraderingen, ellers vil den siste lenken av denne pakken mislykkes med en advarsel om at versjonen av icu bibliotekene som trengs av libQt5Core.so kan komme i konflikt med versjonen som brukes til denne pakken.

Uvanlig er det leverte GN byggesystemet (brukt til å lage Ninja filene) krever en statisk libstdc++.a selv om de installerte bibliotekene bruker den delte versjonen riktig. Hvis et statisk bibliotek ikke er til stede, vil byggingen mislykkes ganske raskt. Vær oppmerksom på at hvis du prøver å bygge webengine som en del av Qt og det statiske biblioteket ikke er tilgjengelig, vil den byggingen enten fullføres uten å installere webengine, eller mislykkes under installasjonen (begge varianter ble observert i 5.12.0).

Pakkeinformasjon

Ytterligere Nedlastinger

qtwebengine Avhengigheter

Påkrevd

nodejs-18.17.1, nss-3.92, pciutils-3.10.0, og Qt-5.15.10 eller qt-components-5.15.10 med qtlocation og qtwebchannel)

Anbefalt

Note

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

libevent-2.1.12, MIT Kerberos V5-1.21.2, pipewire-0.3.77, Poppler-23.08.0, jsoncpp, libsrtp, snappy

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/qtwebengine

Installasjon av qtwebengine

Bruk en oppdatering for å fikse flere problemer som kan forhindre at byggingen fullføres, og for å tvinge den til å bruke python3:

patch -Np1 -i ../qtwebengine-5.15.15-build_fixes-1.patch

Bruk en oppdatering som løser problemer når du bygger med ffmpeg-5 og senere:

patch -Np1 -i ../qtwebengine-5.15.15-ffmpeg5_fixes-1.patch

Selv om build_fixes oppdateringen har sørget for at git ikke blir påkalt under byggingen, byggesystemet har labyrintiske regler for bysantinsk kompleksitet, og spesielt prøver å bygge uten to .git mapper vil føre til at den til slutt faller inn i uventet og ubyggbar kode som refererer til en privat deklarasjon som ikke er opprettet. Unngå dette ved å opprette de nødvendige mappene:

mkdir -pv .git src/3rdparty/chromium/.git

Fordi denne versjonen av qtwebengine er rettet mot en senere utgivelse enn nåværende offentlige utgivelser, endre den for å bygge for qt-5.15.10 ved bruk av sed:

sed -e '/^MODULE_VERSION/s/5.*/5.15.10/' -i .qmake.conf

Sørg nå for at de lokale deklarasjonene er tilgjengelige når du ikke bygger som del av det komplette Qt-5.15.10:

find -type f -name "*.pr[io]" |
  xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |'

Deretter lar du pulsaudio biblioteket koble på byggetidspunktet i stedet for kjøretid. Dette forhindrer også et problem med nyere pulsaudio:

sed -e '/link_pulseaudio/s/false/true/' \
    -i src/3rdparty/chromium/media/media_options.gni

Deretter fikser du byggeverktøyene slik at de kan kjøres med Python-3.11+:

sed -e 's/\^(?i)/(?i)^/' \
    -i src/3rdparty/chromium/tools/metrics/ukm/ukm_model.py &&
sed -e "s/'rU'/'r'/" \
    -i src/3rdparty/chromium/tools/grit/grit/util.py

Til slutt, fiks en endring i byggesystemet som gjør det mulig for utviklerne å bruke f.eks. -j20 til make (for raske tester av noen områder), men bryter byggingen med LFS sin bruk av miljøvariabelen NINJAJOBS:

sed -i 's/NINJAJOBS/NINJA_JOBS/' src/core/gn_run.pro

Installer qtwebengine ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
qmake .. -- -system-ffmpeg -proprietary-codecs -webengine-icu &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Fjern referanser til byggemappen fra installert bibliotek avhengighetsfiler (prl) ved å kjøre følgende kommandoer som root bruker:

find $QT5DIR/ -name \*.prl \
   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

Parameterforklaringer

qmake: Dette vil bygge den inkluderte kopien av ninja hvis den ikke allerede er installert og bruke den til å konfigurere bygget.

-- -system-ffmpeg -proprietary-codecs -webengine-icu: Hvis noen alternativer sendes til qmake må de komme etter '--' som må følge '..' som peker til hovedmappen. Alternativene her får den til å bruke system ffmpeg og system icu. Alternativet '-proprietary-codecs' tillater ffmpeg for å dekode H264 og H265 kodeker. Hvis bygget er en del av full Qt5, vil system icu brukes automatisk (bare) av Qt5Core hvis det er tilgjengelig, men med mindre dette alternativet brukes, vil webengine alltid bruke sin sendte kopi av icu, som legger til tid og plass til bygget.

-webengine-jumbo-build 0: Hvis dette legges til qmake kommandoen vil det føre til at 'Jumbo Build Merge Limit' blir rapportert som 'no' i stedet for 8. Det slår av jumbo bygget. Noen distroer gjør det for å få en mindre bygging på noen arkitekturer som MIPS. På x86_64 kan den spare litt plass i bygget, men byggetiden vil øke med en veldig stor mengde.

-webengine-kerberos: Legg til denne hvis du har installert MIT Kerberos V5-1.21.2 og ønsker å koble til fra en nettleser ved hjelp av QtWebEngine til en webserver som krever at du kobler deg til via kerberos.

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 nettleser 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 (i $QT5DIR/libexec)
Installerte Biblioteker: libQt5Pdf.so, libQt5PdfWidgets.so, libQt5WebEngineCore.so, libQt5WebEngine.so, og libQt5WebEngineWidgets.so
Installerte Mapper: $QT5DIR/include/QtPdf, $QT5DIR/include/QtPdfWidgets, $QT5DIR/include/QtWebEngine, $QT5DIR/include/QtWebEngineCore, $QT5DIR/include/QtWebEngineWidgets, $QT5DIR/qml/QtWebEngine, og $QT5DIR/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)

libQtWebEngine.so

gir QML typer for gjengivelse av nettinnhold i en QML applikasjon

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.0 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

Tepl-6.8.0

Introduksjon til Tepl

Tepl pakken inneholder et bibliotek som letter utviklingen av GtkSourceView baserte tekstredigerere og IDEer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Tepl Avhengigheter

Påkrevd

gsettings-desktop-schemas-44.0, ICU-73.2, libgedit-amtk-5.8.0, libgeditsourceview-299.0.4, og uchardet-0.0.8

Valgfri

GTK-Doc-1.33.2 (for dokumentasjon) og Valgrind-3.21.0

Installasjon av Tepl

Installer Tepl ved å kjøre følgende kommandoer:

mkdir tepl-build &&
cd    tepl-build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dgtk_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.

-Dgtk_doc=false: Deaktiverer bygging av API dokumentasjon. Fjern hvis du har GTK-Doc-1.33.2 installert og ønsker å bygge API dokumentasjonen.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libtepl-6.so
Installerte Mapper: /usr/include/tepl-6 og /usr/share/gtk-doc/html/tepl-6.0

Korte Beskrivelser

libtepl-6.so

inneholder bekvemmelighetsfunksjoner for GtkSourceView4 baserte programmer

WebKitGTK-2.41.91

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://webkitgtk.org/releases/webkitgtk-2.41.91.tar.xz

  • Nedlasting MD5 sum: 1140f86d9044fb76be974b65f71737d7

  • Nedlastingsstørrelse: 39 MB

  • Estimert diskplass som kreves: 1.2 GB (201 MB installert, legg til 152 MB for GTK-4)

  • Estimert byggetid: 35 SBU (for GTK-3, bruk parallellisme=4, legg til 34 SBU for GTK-4)

WebKitGTK Avhengigheter

Påkrevd

Cairo-1.17.6, CMake-3.27.2, gst-plugins-base-1.22.5, gst-plugins-bad-1.22.5, GTK+-3.24.38, GTK-4.12.0, ICU-73.2, Little CMS-2.14, libgudev-238, libsecret-0.21.0, libsoup-3.4.2, libtasn1-4.19.0, libwebp-1.3.1, Mesa-23.1.6, OpenJPEG-2.5.0, Ruby-3.2.2, SQLite-3.42.0, unifdef-2.12, Which-2.21, og wpebackend-fdo-1.14.2

Anbefalt
Valgfri

Gi-DocGen-2023.1, HarfBuzz-8.1.1, Wayland-1.22.0, WOFF2-1.0.2, ccache, Hyphen, libjxl, og libmanette

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/webkitgtk

Installasjon av WebKitGTK

Installasjon av WebKitGTK

Important

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-44.6. Andre pakker, som f.eks Balsa-2.6.4 eller Evolution-3.48.4, 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 -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_SKIP_RPATH=ON       \
      -DPORT=GTK                  \
      -DLIB_INSTALL_DIR=/usr/lib  \
      -DUSE_LIBHYPHEN=OFF         \
      -DENABLE_GAMEPAD=OFF        \
      -DENABLE_MINIBROWSER=ON     \
      -DENABLE_DOCUMENTATION=OFF  \
      -DUSE_WOFF2=OFF             \
      -DUSE_GTK4=OFF              \
      -DUSE_WPE_RENDERER=ON       \
      -DUSE_JPEGXL=OFF            \
      -DENABLE_BUBBLEWRAP_SANDBOX=ON \
      -Wno-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

Siden -DENABLE_DOCUMENTATION=OFF alternativet brukes, dokumentasjonen er ikke gjenoppbygd eller installert nå. Hvis du trenger dokumentasjon, kan du enten installere Gi-DocGen-2023.1 og fjern dette alternativet fra cmake kommandoen, eller installer den forhåndsbygde dokumentasjonen i stedet:

install -vdm755 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1 &&
install -vm644  ../Documentation/jsc-glib-4.1/*              \
                /usr/share/gtk-doc/html/jsc-glib-4.1         &&
install -vm644  ../Documentation/webkit2gtk-4.1/*            \
                /usr/share/gtk-doc/html/webkit2gtk-4.1       &&
install -vm644  ../Documentation/webkit2gtk-web-extension-4.1/* \
                /usr/share/gtk-doc/html/webkit2gtk-web-extension-4.1

Hvis du vil installere GTK4 versjonen av WebKitGTK, kjør følgende kommandoer:

rm -rf * .[^.]* &&

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_SKIP_RPATH=ON       \
      -DPORT=GTK                  \
      -DLIB_INSTALL_DIR=/usr/lib  \
      -DUSE_LIBHYPHEN=OFF         \
      -DENABLE_GAMEPAD=OFF        \
      -DENABLE_MINIBROWSER=ON     \
      -DENABLE_DOCUMENTATION=OFF  \
      -DUSE_WOFF2=OFF             \
      -DUSE_GTK4=ON               \
      -DUSE_JPEGXL=OFF            \
      -DUSE_WPE_RENDERER=ON       \
      -DENABLE_BUBBLEWRAP_SANDBOX=ON \
      -Wno-dev -G Ninja ..        &&
ninja

Nå, som root bruker:

ninja install

Parameterforklaringer

-DUSE_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).

-DENABLE_DOCUMENTATION=OFF: Denne bryteren deaktiverer regenerering av dokumentasjonenen. Fjern denne bryteren hvis du har Gi-DocGen-2023.1 installert og ønsker å regenerere dokumentasjonen.

-DENABLE_GAMEPAD=OFF: Denne bryteren deaktiverer støtte for gamepad. Fjern denne bryteren hvis du har libmanette installert og ønsker å aktivere den.

-DENABLE_MINIBROWSER=ON: Denne bryteren aktiverer kompilering og installasjon av MiniBrowser.

-DUSE_WPE_RENDERER=ON: Denne bryteren bruker WPE gjengiver, som anbefales av oppstrøms.

-DUSE_JPEGXL=OFF: Denne bryteren slår av støtten for JPEG-XL bilder. Fjern den hvis du har den valgfrie pakken libjxl installert.

-DENABLE_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.8.0 og xdg-dbus-proxy-0.1.5, men merk at dette kan sette deg i fare.

-DUSE_SYSTEM_MALLOC=ON: Denne bryteren gjør det mulig å bygge mot systemets installerte malloc.

-DENABLE_GEOLOCATION=OFF: Bruk denne bryteren hvis du ikke ønsker å installere GeoClue-2.7.0.

-DUSE_AVIF=OFF: Bruk denne bryteren hvis du ikke vil installere libavif-0.11.1. Merk at du ikke vil ha støtte for AVIF bilder hvis du gjør dette.

-DUSE_WOFF2=ON: Bruk denne bryteren hvis den valgfrie pakken WOFF2-1.0.2 er installert. Dette legger til ekstra støtte for fonter.

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: g /usr/include/webkitgtk-4.1, /usr/include/webkitgtk-6.0, /usr/lib{,exec}/webkit2gtk-4.1, /usr/lib{,exec}/webkitgtk-6.0, og /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1

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

Chapter 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-44.1

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.0 plattform.

Pakkeinformasjon

GDM Avhengigheter

Påkrevd

AccountsService-23.13.9, DConf-0.40.0, libcanberra-0.30 (bygget etter GTK+-3.24.38), og Linux-PAM-1.5.3

Valgfri

keyutils-1.6.1

Kjøretids Avhengigheter

gnome-session-44.0, gnome-shell-44.3, og Systemd-254

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 \
      -Dgdm-xsession=true \
      -Drun-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.

-Dinitial-vt=7: Bruk denne bryteren for at GDM skal starte på VT7 i stedet for den første ledige VT.

-Ddefault-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.

-Dgdm-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

Innhold

Installerte Programmer: gdm, gdmflexiserver, og gdm-screenshot
Installerte Biblioteker: libgdm.so og pam_gdm.so (PAM Modul)
Installerte Mapper: /etc/gdm, /usr/include/gdm, /usr/share/gdm, og /usr/share/help/*/gdm

Korte Beskrivelser

gdm

er en påloggingsforespørsel for GNOME

gdm-screenshot

er et skjermbildeverktøy for GDM

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.0 plattform.

Lightdm Pakkeinformasjon

Ytterligere Nedlasting

Note

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.18.0 (for greeter), libgcrypt-1.10.2, itstool-2.0.7, Linux-PAM-1.5.3, og Xorg-Server-21.1.8 (Kjøretid)

Anbefalt
Valgfri

AccountsService-23.13.9 (kjøretid), at-spi2-core-2.48.3, GTK-Doc-1.33.2, (Qt-5.15.10 eller qt-alternate-5.15.10), 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.8.tar.gz &&
cd lightdm-gtk-greeter-2.0.8 &&

./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.8 &&
make

Nå, som root bruker:

make install

Note

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}.conf

Systemd Enhet

Installer lightdm.service enheten inkludert i blfs-systemd-units-20230816 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.8, /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.20.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.0 plattform.

Pakkeinformasjon

SDDM Avhengigheter

Påkrevd

CMake-3.27.2, extra-cmake-modules-5.109.0, og (Qt-5.15.10 eller qt-alternate-5.15.10)

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 -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DRUNTIME_DIR=/run/sddm     \
      -DBUILD_MAN_PAGES=ON        \
      -DDATA_INSTALL_DIR=/usr/share/sddm \
      -DDBUS_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

-DCMAKE_BUILD_TYPE=Release: Denne bryteren er brukt til å legge til ekstra kompilatoroptimaliseringer.

-DDBUS_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.

-DBUILD_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 '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

Note

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: $QT5DIR/qml/SddmComponents, /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.

Chapter 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.0 plattform.

Package Information

Fluxbox Avhengigheter

Påkrevd

et grafiske miljø

Valgfri

dbus-1.14.8 (kjøretid), FriBidi-1.0.13, og imlib2-1.12.0 (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:

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-44.1 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-44.1 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.0 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.4.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.0 plattform.

Pakkeinformasjon

IceWM Avhengigheter

Påkrevd

CMake-3.27.2, et grafiske miljø, og gdk-pixbuf-xlib-2.40.2

Valgfri

asciidoc-10.2.0 (for å regenerere HTML dokumentasjonen), FriBidi-1.0.13 (for språk skrevet fra høyre til venstre), imlib2-1.12.0, librsvg-2.56.3, libao-1.2.0, libsndfile-1.2.2, og alsa-lib-1.2.9 (for det eksperimentelle icesound programmet)

Installasjon av IceWM

Installer IceWM ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCFGDIR=/etc               \
      -DENABLE_LTO=ON             \
      -DCONFIG_GDK_PIXBUF_XLIB=ON \
      -DCONFIG_IMLIB2=OFF         \
      -DDOCDIR=/usr/share/doc/icewm-3.4.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

-DENABLE_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-2.11 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

Tip

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.4.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.0 plattform.

Pakkeinformasjon

Openbox Avhengigheter

Påkrevd

et grafiske miljø og Pango-1.50.14 (kompilert med støtte for libXft)

Valgfri

dbus-1.14.8 (kjøretid), imlib2-1.12.0 (for å aktivere ikoner i høyreklikkmenyen), ImageMagick-7.1.1-15 (for å vise skrivebordsbakgrunner som vist i Konfigurasjonsinformasjonsdelen nedenfor), PyXDG-0.28, startup-notification-0.12, og librsvg-2.56.3

Installasjon av Openbox

Note

Hvis XORG_PREFIX ikke er /usr, fortell gcc om det:

export LIBRARY_PATH=$XORG_PREFIX/lib

Hvis du bare installerte Python 3 PyXDG modulen, konverter en av skriptene til Python 3:

2to3-3.11 -w data/autostart/openbox-xdg-autostart &&
sed 's/python/python3/' -i data/autostart/openbox-xdg-autostart

Installer Openbox ved å kjøre følgende kommandoer:

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

~/.config/openbox/menu.xml kan redigeres med en tekstredigerer eller du kan installere Obmenu (krever pyxml og PyGTK-2.24.0).

For å ha ikoner i høyreklikkmenyen krever installasjon av imlib2-1.12.0 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.14.8:

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

sawfish-1.13.0

Introduksjon til sawfish

sawfish pakken inneholder et vindusbehandler. Dette er nyttig for å organisere og vise vinduer der alle vindusdekorasjoner er konfigurerbare og all brukergrensesnittpolicy er kontrollert gjennom utvidelsesspråket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

sawfish Avhengigheter

Påkrevd

gdk-pixbuf-xlib-2.40.2, rep-gtk-0.90.8.3, og Which-2.21

Valgfri

libnsl-2.0.0

Installasjon av sawfish

Installer sawfish ved å kjøre følgende kommandoer:

./configure --prefix=/usr --with-pango  &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Denne pakken lager seks .desktop filer i /usr/share/xsessions/ mappen. Alle unntatt en er nødvendig i et BLFS system, så unngå at de ekstra filene vises som alternativer i en skjermbehandling. Som root bruker:

rm -v /usr/share/xsessions/sawfish-*.desktop

Konfigurere sawfish

Konfigurasjonsinformasjon

Sørg for å sikkerhetskopiere gjeldende .xinitrc før du fortsetter.

cat >> ~/.xinitrc << "EOF"
exec sawfish
EOF

Eventuelt kan du bruke en Skjermbehandler, som f.eks sddm-0.20.0.

Fra utviklerne: Standard menybinding er noe obskur; du må midtklikke på bakgrunnen for å få frem menyene. (Hvis du har en mus med to knapper, prøv å klikke på begge knappene samtidig). Du finner dette på sawfish's FAQ.

Innhold

Installerte Programmer: sawfish, sawfish-about, sawfish-client, sawfish-config, sawfish-kde4-session, sawfish-kde5-session, sawfish-lumina-session, sawfish-mate-session, og sawfish-xfce-session
Installerte Biblioteker: Flere interne moduler under /usr/lib/sawfish treet
Installert Mappe: /usr/include/sawfish, /usr/lib/sawfish, /usr/lib/rep/sawfish, og /usr/share/sawfish

Korte Beskrivelser

sawfish

er den utvidbare vindusbehandleren som bruker et Lisp basert skriptspråk

sawfish-about

er sawfish om vindu

sawfish-client

lar deg koble til en vindusbehandlingsprosess og vurdere vilkårlige Lisp former

sawfish-config

er sawfish konfigurasjonsbehandler

sawfish-kde4-session

er et skript for å kjøre KDE4 ved bruk av sawfish

sawfish-kde5-session

er et skript for å kjøre Plasma 5 ved bruk av sawfish

sawfish-mate-session

er et skript for å kjøre mate ved bruk av sawfish

sawfish-lumina-session

er et skript for å kjøre Lumina ved bruk av sawfish

sawfish-xfce-session

er et skript for å kjøre xfce ved bruk av sawfish

Chapter 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-44.0

Introduksjon til Adwaita Ikontema

Adwaita Ikontema pakken inneholder et ikontema for GTK+ 3 og GTK 4applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Adwaita Ikontema Avhengigheter

Valgfri

git-2.41.0, GTK+-2.24.33 eller GTK+-3.24.38 (hvis tilstede, librsvg-2.56.3 er også nødvendig, og gtk-update-icon-cache og gtk-encode-symbolic-svg kjøres etter installering), Inkscape-1.3 og Ikonverktøy

Installasjon av Adwaita Ikontema

Installer Adwaita Ikontema 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
Installert Bibliotek: Ingen
Installert Mappe: /usr/share/icons/Adwaita

breeze-icons-5.109.0

Introduksjon til Breeze Ikoner

Breeze Ikoner pakken inneholder standardikoner for KDE Plasma 5 applikasjoner, men den kan brukes til andre vindusmiljøer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Breeze Ikoner Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Valgfri

KDE Frameworks-5.109.0, libxml2-2.10.4, og lxml-4.9.3

Installasjon av Breeze Ikoner

Installer Breeze Ikoner ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DBUILD_TESTING=OFF         \
      -Wno-dev ..

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-DBUILD_TESTING=OFF: Denne parameteren deaktiverer bygging av testrammeverket, som krever noen moduler fra KDE Frameworks-5.109.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.0 plattform.

Pakkeinformasjon

GNOME Ikon Tema Avhengigheter

Påkrevd

GTK+-3.24.38 eller GTK+-2.24.33, hicolor-icon-theme-0.17, 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.0 plattform.

Pakkeinformasjon

GNOME Ekstra Temaikon Avhengigheter

Påkrevd

gnome-icon-theme-3.12.0

Valgfri

git-2.41.0 og Inkscape-1.3

Installasjon av GNOME Ekstra Temaikon

Installer GNOME Ekstra Temaikon ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

gnome-icon-theme-symbolic-3.12.0

Introduksjon til GNOME Symbolsk Temaikon

GNOME Symbolsk Temaikon pakken inneholder symbolske ikoner for standard GNOME ikontema.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GNOME Symbolsk Temaikon Avhengigheter

Påkrevd

gnome-icon-theme-3.12.0

Valgfri

git-2.41.0 og Inkscape-1.3

Installasjon av GNOME Symbolsk Temaikon

Installer GNOME Symbolsk Temaikon ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/icons/gnome/scalable

gnome-themes-extra-3.28

Introduksjon til GNOME Ekstra Temaer

GNOME Ekstra Temaer pakke, tidligere kjent som GNOME Standard Temaer, inneholder ulike komponenter i standard GNOME tema.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GNOME Ekstra Temaer Avhengigheter

Påkrevd

GTK+-2.24.33 eller GTK+-3.24.38 med librsvg-2.56.3 eller begge

Installasjon av GNOME Ekstra Temaer

Installer GNOME Ekstra Temaer ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-gtk2-engine: Denne bryteren deaktiverer GTK+-2 temamotoren.

--disable-gtk3-engine: Denne bryteren deaktiverer GTK+-3 temamotoren.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libadwaita.so
Installerte Mapper: /usr/lib/gtk-2.0/2.10.0/engines, /usr/share/icons/HighContrast, /usr/share/themes/Adwaita, /usr/share/themes/Adwaita-dark, og /usr/share/themes/HighContrast

Korte Beskrivelser

libadwaita.so

er Adwaita GTK+-2 temamotoren

hicolor-icon-theme-0.17

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.0 plattform.

Pakkeinformasjon

Installasjon av hicolor-icon-theme

Installer hicolor-icon-theme 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/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.0 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.0 plattform.

Pakkeinformasjon

LXDE Ikontema Avhengigheter

Valgfri

GTK+-2.24.33 eller GTK+-3.24.38 (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-icons5-5.109.0

Introduksjon til oxygen-icons5

Oxygen ikonene 5 temaet 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.0 plattform.

Pakkeinformasjon

oxygen-icons5 Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Installasjon av oxygen-icons5

Aktiver først skalerbare ikoner:

sed -i '/( oxygen/ s/)/scalable )/' CMakeLists.txt

Installer oxygen-icons5 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr -Wno-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

Part 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/.

Chapter 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.

KDE5 systemet har to hovedblokker: bibliotekene, kalt KDE Frameworks 5 eller KF5, som kan brukes i andre miljøer, og skrivebordsmiljøet kalt KDE Plasma 5. De fleste applikasjonene som er skrevet av KDE teamet bruker kun KF5, og trenger ikke plasmamiljøet.

For mer informasjon besøk den offisielle KDE prosjektsiden på https://kde.org/.

extra-cmake-modules-5.109.0

Introduksjon til Ekstra Cmake Moduler

Ekstra Cmake Moduler pakken inneholder ekstra CMake moduler brukt av KDE Frameworks 5 og andre pakker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ekstra Cmake Moduler Avhengigheter

Påkrevd

CMake-3.27.2

Valgfri

sphinx-7.1.2 (for bygge dokumentasjon) og PyQt (eksperimentell støtte for å bygge KDE Python bindinger)

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 -DCMAKE_INSTALL_PREFIX=/usr .. &&
make

Denne pakken kommer ikke med en testpakke.

Note

I motsetning til andre KF5 pakker, er denne modulen installert i /usr fordi den kan brukes av noen ikke-KF5 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/kf5 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.11.1

Introduksjon til Phonon

Phonon er multimedia API for KDE. Den erstatter det gamle aRts pakken. Phonon trenger enten GStreamer eller VLC bakstykke.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Phonon Avhengigheter

Påkrevd

CMake-3.27.2, extra-cmake-modules-5.109.0, GLib-2.76.4, og Qt-5.15.10

Minst en av phonon-backend-gstreamer-4.10.0 eller phonon-backend-vlc-0.11.3 må være installert etterpå for multimedia operasjoner i KDE.

Valgfri

PulseAudio-16.1

Installasjon av Phonon

Installer Phonon ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&
make

Nå, som root bruker:

make install

Parameterforklaringer

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

Innhold

Installerte Programmer: phononsettings
Installerte Biblioteker: libphonon4qt5.so og libphonon4qt5experimental.so
Installerte Mapper: /usr/include/phonon4qt5, /usr/lib/cmake/phonon4qt5, /usr/lib/plugins/designer, og /usr/share/phonon4qt5

Phonon-backend-gstreamer-4.10.0

Introduksjon til Phonon-backend-gstreamer

Denne pakken gir et Phonon bakstykke som utnytter GStreamer media rammeverket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Phonon-backend-gstreamer Avhengigheter

Påkrevd

gstreamer-1.22.5, libxml2-2.10.4, og phonon-4.11.1

Anbefalt

Installasjon av Phonon-backend-gstreamer

Installer Phonon-backend-gstreamer ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr    \
      -DCMAKE_BUILD_TYPE=Release     \
      .. &&
make

Nå, som root bruker:

make install

Parameterforklaringer

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bruke høyere nivå av kompilatoroptimaliseringer.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: phonon_gstreamer.so
Installerte Mapper: /usr/lib/plugins/phonon4qt5_backend

Phonon-backend-vlc-0.11.3

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.0 plattform.

Pakkeinformasjon

Phonon-backend-vlc Avhengigheter

Påkrevd

phonon-4.11.1 og VLC-3.0.18

Installasjon av Phonon-backend-vlc

Installer Phonon-backend-vlc ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&
make

Nå, som root bruker:

make install

Parameterforklaringer

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bruke høyere nivå av kompilatoroptimaliseringer.

Innhold

Installert Program: Ingen
Installerte Biblioteker: phonon_vlc.so
Installert Mappe: /usr/lib/plugins/phonon4qt5_backend

Polkit-Qt-0.114.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.0 plattform.

Pakkeinformasjon

Polkit-Qt Avhengigheter

Påkrevd

CMake-3.27.2, Polkit-123, og Qt-5.15.10

Installasjon av Polkit-Qt

Installer Polkit-Qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libpolkit-qt5-agent-1.so, libpolkit-qt5-core-1.so, og libpolkit-qt5-gui-1.so
Installerte Mapper: /usr/include/polkit-qt5-1 og /usr/lib/cmake/PolkitQt5-1

libdbusmenu-qt-0.9.3+16.04.20160218

Introduksjon til libdbusmenu-qt

Dette biblioteket gir en Qt implementering av DBusMenu spesifikasjonen som viser menyer via DBus.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libdbusmenu-qt Avhengigheter

Påkrevd

Qt-5.15.10

Installasjon av libdbusmenu-qt

Installer libdbusmenu-qt ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DWITH_DOC=OFF              \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å bygge uten å feilsøkingssymboler og bruke et høyere nivå av kompilatoroptimaliseringer.

-DWITH_DOC=OFF: Dette alternativet er satt til å unngå bygging av API dokumentasjonen som krever utdatert Qt4.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libdbusmenu-qt5.so
Installert Mappe: /usr/lib/cmake/dbusmenu-qt5 og /usr/include/dbusmenu-qt5

Plasma-wayland-protocols-1.10.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.0 plattform.

Pakkeinformasjon

Plasma-wayland-protocols Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0

Installasjon av Plasma-wayland-protocols

Installer Plasma-wayland-protocols ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_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

kuserfeedback-1.2.0

Introduksjon til Kuserfeedback

kuserfeedback pakken inneholder et rammeverk for innsamling av brukertilbakemeldinger for applikasjoner via telemetri og undersøkelser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Kuserfeedback Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0 og Qt-5.15.10

Installasjon av Kuserfeedback

Installer kuserfeedback ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_TESTING=OFF         \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libKUserFeedbackCore.so og libKUserFeedbackWidgets.so
Installerte Mapper: /usr/include/KUserFeedback, /usr/lib/qml/org/kde/userfeedback, /usr/lib/cmake/KUserFeedback, /usr/share/KDE/UserFeedbackConsole, og /usr/share/qlogging-categories5

Chapter 30. KDE Rammeverk 5

KDE Rammeverk 5 Konfigurasjon før Installasjon

KF5 kan installeres i /usr eller /opt/kf5. BLFS redaktører anbefaler sistnevnte i BLFS miljøet.

Installere i /usr

Et alternativ er å installere KDE Rammeverk 5 i /usr hierarkiet. Dette skaper et enklere oppsett, men gjør det vanskeligere å prøve flere versjoner av KDE Rammeverk.

export KF5_PREFIX=/usr

Det er en god ide å legge til følgende variabler til ditt system eller personlige profiler:

cat >> /etc/profile.d/qt5.sh << "EOF"
# Begin kf5 extension for /etc/profile.d/qt5.sh

pathappend /usr/lib/plugins        QT_PLUGIN_PATH
pathappend $QT5DIR/lib/plugins     QT_PLUGIN_PATH

pathappend /usr/lib/qt5/qml        QML2_IMPORT_PATH
pathappend $QT5DIR/lib/qml         QML2_IMPORT_PATH

# End extension for /etc/profile.d/qt5.sh
EOF

cat > /etc/profile.d/kf5.sh << "EOF"
# Begin /etc/profile.d/kf5.sh

export KF5_PREFIX=/usr

# End /etc/profile.d/kf5.sh
EOF

Note

Hvis qt5 var installert i /usr, $QT5DIR/lib/ deler av stiene ovenfor må kanskje endres til $QT5DIR/lib/qt5/.

I tillegg, hvis Sudo-1.9.14p3 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 += KF5_PREFIX
EOF

Installere i /opt

En metode for å bygge installasjoner med flere versjoner av KDE Rammeverk 5 i /opt hierarkiet:

export KF5_PREFIX=/opt/kf5

Hvis du ikke installerer KDE Rammeverk 5 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/kf5.sh << "EOF"
# Begin /etc/profile.d/kf5.sh

export KF5_PREFIX=/opt/kf5

pathappend $KF5_PREFIX/bin              PATH
pathappend $KF5_PREFIX/lib/pkgconfig    PKG_CONFIG_PATH

pathappend $KF5_PREFIX/etc/xdg          XDG_CONFIG_DIRS
pathappend $KF5_PREFIX/share            XDG_DATA_DIRS

pathappend $KF5_PREFIX/lib/plugins      QT_PLUGIN_PATH
pathappend $KF5_PREFIX/lib/plugins/kcms QT_PLUGIN_PATH

pathappend $KF5_PREFIX/lib/qml          QML2_IMPORT_PATH

pathappend $KF5_PREFIX/lib/python3.11/site-packages PYTHONPATH

pathappend $KF5_PREFIX/share/man        MANPATH

pathappend $KF5_PREFIX/include          CPLUS_INCLUDE_PATH
# End /etc/profile.d/kf5.sh
EOF

cat >> /etc/profile.d/qt5.sh << "EOF"
# Begin Qt5 changes for KF5

pathappend /usr/lib/plugins            QT_PLUGIN_PATH
pathappend $QT5DIR/plugins             QT_PLUGIN_PATH
pathappend $QT5DIR/qml                 QML2_IMPORT_PATH

# End Qt5 changes for KF5
EOF

Utvid din /etc/ld.so.conf fil:

cat >> /etc/ld.so.conf << "EOF"
# Begin KF5 addition

/opt/kf5/lib

# End KF5 addition
EOF

Flere KDE Rammeverk 5 og KDE Plasma 5 pakker installeres filer i D-Bus, Polkit, og systemd mappene. Når installering av KDE 5 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           $KF5_PREFIX/{etc,share} &&
ln -sfv /etc/dbus-1         $KF5_PREFIX/etc         &&
ln -sfv /usr/share/dbus-1   $KF5_PREFIX/share       &&
ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share       &&
install -v -dm755           $KF5_PREFIX/lib         &&
ln -sfv /usr/lib/systemd    $KF5_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.17. Kjør følgende kommandoer som root bruker:

install -v -dm755                $KF5_PREFIX/share/icons &&
ln -sfv /usr/share/icons/hicolor $KF5_PREFIX/share/icons

Tip

Noen ganger er installasjonsbanene hardkodet til installerte filer. Dette er grunnen til at /opt/kf5 brukes som installasjonsprefiks i stedet for /opt/kf5-5.109.0. Etter installasjon av KDE Rammeverk, du kan gi nytt navn til mappen og lage en symbolkobling:

mv /opt/kf5{,-5.109.0}
ln -sfv kf5-5.109.0 /opt/kf5

Senere kan det være lurt å installere andre versjoner av KDE Rammeverk 5. For å gjøre det, bare fjern symbolkoblingen og bruk /opt/kf5 som prefiks igjen. Hvilken versjon av KDE Rammeverk 5 du bruker avhenger bare av hvor symbolkoblingen peker. Ingen annen rekonfigurering vil være nødvendig.

Bygge KDE Rammeverk 5 (KF5)

KDE Rammeverk 5 er en samling av biblioteker basert på toppen av Qt5 og QML avledet fra de monolittiske KDE 4 bibliotekene. De kan brukes uavhengig av KDE skjermmiljøet (Plasma 5).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Instruksjonene nedenfor bygger alle KDE Rammeverk pakkene i et trinn ved å bruke et bashskript.

Pakkeinformasjon

KF5 Avhengigheter

Påkrevd

Boost-1.83.0, extra-cmake-modules-5.109.0, docbook-xml-4.5, docbook-xsl-nons-1.79.2, giflib-5.2.1, libepoxy-1.5.10, libgcrypt-1.10.2, libical-3.0.16, libjpeg-turbo-3.0.0, libpng-1.6.40, libxslt-1.1.38, lmdb-0.9.31, qca-2.3.7, qrencode-4.1.1, phonon-4.11.1, plasma-wayland-protocols-1.10.0, shared-mime-info-2.2, URI-5.17, og Wget-1.21.4 (kreves for å laste ned pakkene)

Anbefalt
Valgfri

BlueZ-5.68 (nødvendig for å bygge Bluez-Qt), Datamatrix (ansett anbefalt for Prison av oppstrøms)

Kjøretids Avhengigheter for FrameworkIntegration

Noto fonts

Ytterligere anbefalte avhengigheter for kapidox
Ytterligere bildeformat støtte i KImageFormats

JasPer-4.0.0, libavif-0.11.1, libraw-0.21.1, libheif, libjxl, og OpenEXR

Valgfrie avhengigheter for KIO

MIT Kerberos V5-1.21.2

Valgfrie avhengigheter for Solid

UDisks-2.10.0, UPower-1.90.2 og media-player-info (kjøretid)

Valgfrie avhengigheter for KWallet

GPGME-1.21.0, bygget med C++ bindinger (som er standard).

Valgfrie avhengigheter for kdewebkit

QtWebkit

Valgfrie ordbok bakstykker for Sonnet

Hspell og Hunspell

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/kf5

Laste ned KDE Rammeverk

Den enkleste måten å få KDE Rammeverk pakkene på er å bruke en enkelt wget for å hente dem alle på en gang:

url=https://download.kde.org/stable/frameworks/5.109/
wget -r -nH -nd -A '*.xz' -np $url

The options used here are:
  -r            gjentakelse gjennom undermapper
  -nH           deaktiver generering av vertsprefikserte mapper
  -nd           ikke lag et hierarki av mapper
  -A '*.xz'     bare hent *.xz filer
  -np           ikke hent overordnede mapper

Angi Pakkerekkefølge

Rekkefølgen på bygging av filer er viktig på grunn av interne avhengigheter. Lag listen over filer i riktig rekkefølge som følger:

cat > frameworks-5.109.0.md5 << "EOF"
b025406c6818d92ad3fedd585bd8a428  attica-5.109.0.tar.xz
#0baf0a3ded2fed5e0442591dde276c4e  extra-cmake-modules-5.109.0.tar.xz
e4cc63aafbbe019ebb8d62f6c02e9d2e  kapidox-5.109.0.tar.xz
d096b76119d8d9da91fd112811d2b408  karchive-5.109.0.tar.xz
64087cda04bec6ad068f22ce1e3dcb1e  kcodecs-5.109.0.tar.xz
fe2b1c516c2f9caadd6c8e3bf35ffd96  kconfig-5.109.0.tar.xz
b88be3c775bef6277e047f09b531ba1d  kcoreaddons-5.109.0.tar.xz
5b00c0b729b5c11d2a5733ea7db5674f  kdbusaddons-5.109.0.tar.xz
993090bb9a0e678154382daa0626fa48  kdnssd-5.109.0.tar.xz
3fc1c5e58a8202cd0722aa7ec99ad584  kguiaddons-5.109.0.tar.xz
13b867e8189e91e402e5e9b9aa33b613  ki18n-5.109.0.tar.xz
d8f87c99c0b798f04ac328d7050d2d97  kidletime-5.109.0.tar.xz
777d46bc3c7c7e66804402220dac2df0  kimageformats-5.109.0.tar.xz
e3321430de25b4b16ad48c6c2f168170  kitemmodels-5.109.0.tar.xz
c5efe890400ab8b97270f9a3e821d510  kitemviews-5.109.0.tar.xz
f334911f97cd4592e3b823dfc518f9eb  kplotting-5.109.0.tar.xz
67f4605da5e119342e91fc4670114a2b  kwidgetsaddons-5.109.0.tar.xz
2b384fcad72c84ccda75f300c14f633c  kwindowsystem-5.109.0.tar.xz
4dcacee7da9987c587511634ca90f064  networkmanager-qt-5.109.0.tar.xz
8952c4756ed0bc072a8bad998ed81bc6  solid-5.109.0.tar.xz
8aff00ce75275252f45d915c478279de  sonnet-5.109.0.tar.xz
f98889ea3fa22aaeaa9f8a85a602f3a6  threadweaver-5.109.0.tar.xz
62195272670cdec8ceb0fbda4bd8c43b  kauth-5.109.0.tar.xz
9b99972d3a25f521c20c04d1867fc3dd  kcompletion-5.109.0.tar.xz
fc2f3a9c7d12066b659b46e13a75e97a  kcrash-5.109.0.tar.xz
43e0fddae05e83dfb7cd0b0bb5cc11e5  kdoctools-5.109.0.tar.xz
7ccb53e9023ada6a5e08e4d562769ef3  kpty-5.109.0.tar.xz
30d32d8dc23c6ad4915be89831238c54  kunitconversion-5.109.0.tar.xz
eb1a478738f8f5bd5ab7bd23145594b7  kconfigwidgets-5.109.0.tar.xz
2353574c0c41d1f9e274d29fc3f174c3  kservice-5.109.0.tar.xz
8f2118a5544acd0bcb9a2202180e1e27  kglobalaccel-5.109.0.tar.xz
f9ce944b2dcc815e8df677b7018530cd  kpackage-5.109.0.tar.xz
737509807d74878037d564ab19f8f4fb  kdesu-5.109.0.tar.xz
f8ec4f236ad6d229294003478b2c8660  kemoticons-5.109.0.tar.xz
8d23dcfeaa45d04f3a03b993794c1929  kiconthemes-5.109.0.tar.xz
b108a7c58d5e63248e4043a6e2d5cd3d  kjobwidgets-5.109.0.tar.xz
37840b5eff97d1cb6105a276a14f6982  knotifications-5.109.0.tar.xz
520e1568726e76671fdbc3c5180d1e12  ktextwidgets-5.109.0.tar.xz
d52b000182f1530befcb9023db853620  kxmlgui-5.109.0.tar.xz
e230f6ef16e636ed103bd30ee9256d9d  kbookmarks-5.109.0.tar.xz
fb90ee7dad377b5fe11cc5a60c0721c5  kwallet-5.109.0.tar.xz
ab29c38a4efbb1c2a8ae844aae1482ea  kded-5.109.0.tar.xz
73fc6504264e620b0f9d0ba96c9d8ca4  kio-5.109.0.tar.xz
1d180f9106dd4e55346bf6b68f144594  kdeclarative-5.109.0.tar.xz
a3a6afb25c9d4dd0b027468c318763cb  kcmutils-5.109.0.tar.xz
4f555c40672c66df4c6d685bee6c5ae1  kirigami2-5.109.0.tar.xz
f355ac0e56c60d258c242bb5115c5879  syndication-5.109.0.tar.xz
9d263510d765e23f80558e8c83b113fd  knewstuff-5.109.0.tar.xz
d3b4d1a97b4c724a99b9920f3931db58  frameworkintegration-5.109.0.tar.xz
3ecd4e79453f9a8b378b87a63a698280  kinit-5.109.0.tar.xz
b65f54d2f7b5c7b54926f147114c3ab4  kparts-5.109.0.tar.xz
7111af3ca1d17b3b085513bf4067557e  kactivities-5.109.0.tar.xz
#929785c0f7a5594f4eac30c2f40645d5  kdewebkit-5.109.0.tar.xz
e970abb368b963a075f10f2ef26a95c0  syntax-highlighting-5.109.0.tar.xz
9405ebf54d7c675a39ef00afc81e472d  ktexteditor-5.109.0.tar.xz
cd659fa310535c476d3dcb7cba5499f8  kdesignerplugin-5.109.0.tar.xz
b9ce7efb96ee1f88f3d8c505a3c8e8b1  kwayland-5.109.0.tar.xz
08ec7edef427f681dfb3b1533ab0d880  plasma-framework-5.109.0.tar.xz
5e66a95d9998d4874aa1d9004b2bdc50  modemmanager-qt-5.109.0.tar.xz
e66ebdbc5547881e8562bab6a02ce8bb  kpeople-5.109.0.tar.xz
a1af96f8f082e4f9fca0ce476528b6ae  kxmlrpcclient-5.109.0.tar.xz
91a2f23a8a88b7ac17c94f70b50a6b71  bluez-qt-5.109.0.tar.xz
c796f5097f2185c33a61d8e32a296066  kfilemetadata-5.109.0.tar.xz
2d0a01f671615c6a1559eaa4d73193c2  baloo-5.109.0.tar.xz
#40721040f8c42a60450a94b7975d18e3  breeze-icons-5.109.0.tar.xz
#cb7872cff65fe1f62815339f40c639d8  oxygen-icons5-5.109.0.tar.xz
f09fd15d79bca7374094ea1126e6aef6  kactivities-stats-5.109.0.tar.xz
7c7a7502b568b7c3c45f7c43cefa92e7  krunner-5.109.0.tar.xz
00d1282f4dd770085cf2d72371cd3388  prison-5.109.0.tar.xz
12f3d0a80404bcd1111f5164d8e9dfd0  qqc2-desktop-style-5.109.0.tar.xz
4ca7a857b39d805ba61c94d17cbe6862  kjs-5.109.0.tar.xz
06545a811be0293dc9a79d65ce265a4e  kdelibs4support-5.109.0.tar.xz
2c1d3e7d57e6793e7bfbcd7424a199bc  khtml-5.109.0.tar.xz
b9ab15ac90dece7fa6b623be95ef40f9  kjsembed-5.109.0.tar.xz
405558700e5518f7e25eb252c0027410  kmediaplayer-5.109.0.tar.xz
e647b806ba546ea010b304f707a9d696  kross-5.109.0.tar.xz
0fc9e9fda1d3a55fd61f655a1dec0b39  kholidays-5.109.0.tar.xz
08946785eb0fa4a3d5b1ac174433f9a7  purpose-5.109.0.tar.xz
c4faaf8fa6587a0b80a0618810e9d41a  kcalendarcore-5.109.0.tar.xz
588289805cb18731d9b73ea86236b458  kcontacts-5.109.0.tar.xz
08b2dcd842dfcda7e406d16646b082bb  kquickcharts-5.109.0.tar.xz
8612d9d00ff9daeb507548ed9150d00d  knotifyconfig-5.109.0.tar.xz
d4e4e96920394601cf599ed8e36bd635  kdav-5.109.0.tar.xz
EOF

Legg merke til at noen filer har blitt kommentert ut i listen ovenfor med et hash-tegn (#). Extra-cmake-modules oppføringen har blitt kommentert ut fordi de ble bygget tidligere i Introduksjon til KDE. Ikon pakker dekkes separat på breeze-icons-5.109.0 og oxygen-icons5-5.109.0. kdewebkit pakken kan bygges hvis den eksterne pakken QtWebkit har blitt bygget.

Installasjon av KDE Rammeverk

Note

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.14p3 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

Caution

Hvis du installerer i /opt og det er en eksisterende /opt/kf5 enten som en vanlig mappe eller en symbolsk lenke, bør den initialiseres på nytt (som bruker):

mv -v /opt/kf5 /opt/kf5.old                         &&
install -v -dm755           $KF5_PREFIX/{etc,share} &&
ln -sfv /etc/dbus-1         $KF5_PREFIX/etc         &&
ln -sfv /usr/share/dbus-1   $KF5_PREFIX/share       &&
ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share       &&
install -v -dm755           $KF5_PREFIX/lib         &&
ln -sfv /usr/lib/systemd    $KF5_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|-5.*$||') # 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 $PWD
          as_root pip3 install --no-index --find-links dist --no-cache-dir --no-user kapidox
          popd
          rm -rf $packagedir
          continue
          ;;
      esac

      mkdir build
      cd    build

      cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
            -DCMAKE_PREFIX_PATH=$QT5DIR        \
            -DCMAKE_BUILD_TYPE=Release         \
            -DBUILD_TESTING=OFF                \
            -Wno-dev ..
      make
      as_root make install
    popd

  as_root rm -rf $packagedir
  as_root /sbin/ldconfig

done < frameworks-5.109.0.md5

exit

Note

Eventuelle moduler som er utelatt kan installeres senere ved å bruke de samme mkdir build; cd build; cmake; make; make install prosedyrene som ovenfor.

Noen ganger er installasjonsbanene hardkodet i installerte filer. Hvis den installerte mappen ikke er /usr, gi nytt navn til mappen og opprett en symbolkobling:

mv -v /opt/kf5 /opt/kf5-5.109.0
ln -sfvn kf5-5.109.0 /opt/kf5

Parameterforklaringer

-DCMAKE_PREFIX_PATH=$QT5DIR: Denne bryteren brukes for å la cmake finne de riktige Qt bibliotekene.

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

-DBUILD_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, checkXML5, depdiagram-generate, depdiagram-generate-all, depdiagram-prepare, desktoptojson, gentrigrams, kactivities-cli, kapidox_generate, kate-syntax-highlighter, kbuildsycoca5, kcookiejar5, kdebugdialog5, kded5, kdeinit5, kdeinit5_shutdown, kdeinit5_wrapper, kf5-config, kf5kross, kgendesignerplugin, kglobalaccel5, kiconfinder5, kjs5, kjscmd5, kjsconsole, knewstuff-dialog, kpackagelauncherqml, kpackagetool5, kquitapp5, kreadconfig5, kshell5, ktelnetservice5, ktrash5, kwalletd5, kwallet-query, kwrapper5, kwriteconfig5, meinproc5, parsetrigrams, plasmapkg2, preparetips5, protocoltojson, and solid-hardware5
Installerte Biblioteker: libkdeinit5_klauncher.so, libKF5Activities.so, libKF5ActivitiesStats.so, libKF5Archive.so, libKF5Attica.so, libKF5AuthCore.so, libKF5Auth.so, libKF5Baloo.so, libKF5BluezQt.so, libKF5Bookmarks.so, libKF5CalendarCore.so, libKF5CalendarEvents.so, libKF5Codecs.so, libKF5Completion.so, libKF5ConfigCore.so, libKF5ConfigGui.so, libKF5ConfigWidgets.so, libKF5Contacts.so, libKF5CoreAddons.so, libKF5Crash.so, libKF5DAV.so, libKF5DBusAddons.so, libKF5Declarative.so, libKF5DNSSD.so, libKF5DocTools.so, libKF5Emoticons.so, libKF5FileMetaData.so, libKF5GlobalAccel.so, libKF5GuiAddons.so, libKF5Holidays.so, libKF5I18n.so, libKF5IconThemes.so, libKF5IdleTime.so, libKF5ItemModels.so, libKF5ItemViews.so, libKF5JobWidgets.so, libKF5JSApi.so, libKF5JsEmbed.so, libKF5JS.so, libKF5KCMUtils.so, libKF5KDELibs4Support.so, libKF5KHtml.so, libKF5KIOCore.so, libKF5KIOFileWidgets.so, libKF5KIOGui.so, libKF5KIONTLM.so, libKF5KIOWidgets.so, libKF5Kirigami2.so, libKF5KrossCore.so, libKF5KrossUi.so, libKF5MediaPlayer.so, libKF5NetworkManagerQt.so, libKF5NewStuffCore.so, libKF5NewStuff.so, libKF5Notifications.so, libKF5NotifyConfig.so, libKF5Package.so, libKF5Parts.so, libKF5PeopleBackend.so, libKF5People.so, libKF5PeopleWidgets.so, libKF5PlasmaQuick.so, libKF5Plasma.so, libKF5Plotting.so, libKF5Prison.so, libKF5Pty.so, libKF5Purpose.so, libKF5PurposeWidgets.so, libKF5QuickAddons.so, libKF5Runner.so, libKF5Service.so, libKF5Solid.so, libKF5SonnetCore.so, libKF5SonnetUi.so, libKF5Style.so, libKF5Su.so, libKF5SyntaxHighlighting.so, libKF5TextEditor.so, libKF5TextWidgets.so, libKF5ThreadWeaver.so, libKF5UnitConversion.so, libKF5Wallet.so, libKF5WaylandClient.so, libKF5WaylandServer.so, libKF5WidgetsAddons.so, libKF5WindowSystem.so, libKF5XmlGui.so, libKF5XmlRpcClient.so, and libkwalletbackend5.so
Installerte Mapper: /opt/kf5 (symbolkobling til /opt/kf5-5.109.0) hvis du installerer i /opt

Korte Beskrivelser

checkXML5

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 punktfiler

desktoptojson

er et verktøy for å konvertere en .desktop fil til en .json fil

kbuildsycoca5

gjenoppbygger KService skrivebordsfilsystemkonfigurasjonen hurtiglageret

kcookiejar5

er et kommandolinjegrensesnitt til HTTP lageret for informasjonskapsler som brukes av KDE, en D-BUS tjeneste for å lagre/hente/rense informasjonskapsler

kded5

konsoliderer flere små tjenester i en prosess

kdeinit5

er en prosessstarter som ligner litt på den berømte init som brukes for oppstart av UNIX

kf5-config

er et kommandolinjeprogram som brukes til å hente informasjon om KDE installasjon eller brukerstier

kf5kross

kjører kross-skript skrevet i KDE Javascript, Python, Ruby, Java og Falcon

kgendesignerplugin

genererer skjermelement programtillegg for Qt(TM) Designer

kglobalaccel5

er en nisse som brukes til å registrere nøkkelbindingene og for å få varslet når handlingen utløses

kjs5

er KDE ECMAScript/JavaScript motor

kjscmd5

er et verktøy for å starte KJSEmbed skript fra kommandolinjen

kjsconsole

er en konsoll for kjs5

kpackagelauncherqml

er et kommandolinjeverktøy for å starte kpackage QML applikasjonen

kpackagetool5

er et kommandolinjeverktøy for kpackage

kreadconfig5

er et kommandolinjeverktøy for å hente verdier fra KDE konfigurasjonsfiler

kshell5

start applikasjoner via kdeinit

ktelnetservice5

er en telnet tjeneste

ktrash5

er et hjelpeprogram for å håndtere KDE papirkurven

kwalletd5

er lommebokbehandler nissen

kwriteconfig5

er et kommandolinjeverktøy for å skrive verdier i KDE konfigurasjonsfiler

meinproc5

konverterer DocBook filer til HTML

plasmapkg2

er et verktøy for å installere, liste, fjerne Plasma pakker

preparetips5

er et skript for å trekke ut teksten fra en tips fil

solid-hardware5

er et kommandolinjeverktøy for å undersøke tilgjengelige enheter

Chapter 31. KDE Rammeverk 5 Baserte Applikasjoner

Ark-23.08.0

Introduksjon til Ark

Ark pakken er et KF5 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.0 plattform.

Pakkeinformasjon

Ark Avhengigheter

Påkrevd

KDE Frameworks-5.109.0 og libarchive-3.7.1

Anbefalt

Installasjon av Ark

Installer Ark ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-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: $KF5_PREFIX/lib/plugins/kerfuffle, $KF5_PREFIX/share/doc/HTML/*/ark, og $KF5_PREFIX/share/kxmlgui5/ark

Korte Beskrivelser

ark

er en KF5 basert arkivbehandler

Kdenlive-23.08.0

Introduksjon til Kdenlive

Kdenlive pakken er en KF5 basert video redigerer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Kdenlive Avhengigheter

Påkrevd

KDE Frameworks-5.109.0, mlt-7.18.0, og v4l-utils-1.24.1 (kjøretid)

Anbefalt

Installasjon av Kdenlive

Installer Kdenlive ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-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: $KF5_PREFIX/share/doc/HTML/*/kdenlive, $KF5_PREFIX/share/kdenlive, og $KF5_PREFIX/share/kxmlgui5/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-23.08.0

Introduksjon til KMix

KMix Pakken inneholder en KF5 basert lydmikser applikasjon.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

KMix Avhengigheter

Påkrevd

KDE Frameworks-5.109.0

Anbefalt
Valgfri

libcanberra-0.30 og PulseAudio-16.1

Installasjon av KMix

Installer KMix ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-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: $KF5_PREFIX/share/kmix, $KF5_PREFIX/share/kxmlgui5/kmix, og $KF5_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

kio-extras-23.08.0

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.0 plattform.

Pakkeinformasjon

kio-extras Avhengigheter

Påkrevd

kdsoap-2.1.1 og KDE Frameworks-5.109.0

Valgfri

libtirpc-1.3.3, Samba-4.18.6, taglib-1.13.1, libmtp, libssh, og OpenEXR

Installasjon av kio-extras

Installer kio-extras ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libkioarchive.so og 32 programtillegg
Installerte Mapper: Ingen

Khelpcenter-23.08.0

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.0 plattform.

Pakkeinformasjon

Khelpcenter Avhengigheter

Påkrevd

grantlee-5.3.1, KDE Frameworks-5.109.0, libxml2-2.10.4, og xapian-1.4.23

Anbefalt

Installasjon av Khelpcenter

Installer khelpcenter ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install  &&

mv -v $KF5_PREFIX/share/kde4/services/khelpcenter.desktop /usr/share/applications/ &&
rm -rv $KF5_PREFIX/share/kde4

Innhold

Installert Program: khelpcenter
Installerte Biblioteker: libkdeinit5_khelpcenter.so
Installerte Mapper: $KF5_PREFIX/share/khelpcenter, $KF5_PREFIX/share/kxmlgui5/khelpcenter, og $KF5_PREFIX/share/doc/HTML/*/{khelpcenter,fundamentals,onlinehelp}

Korte Beskrivelser

khelpcenter

er hjelpeviseren for KDE applikasjoner

Konsole-23.08.0

Introduksjon til Konsole

Konsole pakken er en KF5 basert terminal emulator.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Konsole Avhengigheter

Påkrevd

KDE Frameworks-5.109.0

Installasjon av Konsole

Note

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-23.08.0-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 -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: konsole og konsoleprofile
Installerte Biblioteker: libkdeinit5_konsole.so og libkonsoleprivate.so
Installerte Mapper: $KF5_PREFIX/share/doc/HTML/*/konsole, $KF5_PREFIX/share/konsole, og $KF5_PREFIX/share/kxmlgui5/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

libkexiv2-23.08.0

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.0 plattform.

Pakkeinformasjon

libkexiv2 Avhengigheter

Påkrevd

KDE Frameworks-5.109.0 og Exiv2-0.28.0

Installasjon av libkexiv2

Installer libkexiv2 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKF5KExiv2.so
Installerte Mapper: $KF5_PREFIX/include/KF5/KExiv2 og $KF5_PREFIX/lib/cmake/KF5KExiv2

Okular-23.08.0

Introduksjon til Okular

Okular er en dokumentviser for KDE. Den kan vise dokumenter av mange typer inkludert PDF, PostScript, TIFF, Microsoft CHM, DjVu, DVI, XPS og ePub.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Okular Avhengigheter

Påkrevd

KDE Frameworks-5.109.0

Anbefalt
Valgfri

qca-2.3.7, discount, DjVuLibre, kpimtextedit, libspectre (for PostScript support), libchm, libepub, og Mobipocket

Installasjon av Okular

Installer Okular ved å kjøre følgende kommandoer:

Note

Hvis noen av de valgfrie avhengighetene er installert, fjern tilknyttet referanse i SKIP_OPTIONAL miljøvariabelen.

mkdir build &&
cd    build &&

SKIP_OPTIONAL='LibSpectre;CHM;LibZip;DjVuLibre;EPub;QMobipocket;Discount'

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -DFORCE_NOT_REQUIRED_DEPENDENCIES="$SKIP_OPTIONAL" \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: okular
Installert Bibliotek: libOkular5Core.so
Installerte Mapper: $KF5_PREFIX/include/okular, $KF5_PREFIX/lib/cmake/Okular5, $KF5_PREFIX/lib/plugins/okular, $KF5_PREFIX/share/kxmlgui5/okular, $KF5_PREFIX/share/okular, $KF5_PREFIX/share/doc/HTML/*/okular, og

Korte Beskrivelser

okular

er en dokumentviser

libkdcraw-23.08.0

Introduksjon til libkdcraw

Libkdcraw er en KDE innpakning rundt libraw-0.21.1 bibliotek for å manipulere bildemetadata.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libkdcraw Avhengigheter

Påkrevd

KDE Frameworks-5.109.0 og libraw-0.21.1

Installasjon av libkdcraw

Installer libkdcraw ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-dev .. &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKF5KDcraw.so
Installerte Mapper: $KF5_PREFIX/include/KF5/KDCRAW og $KF5_PREFIX/lib/cmake/KF5KDcraw

Gwenview-23.08.0

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.0 plattform.

Pakkeinformasjon

Gwenview Avhengigheter

Påkrevd

Exiv2-0.28.0, kimageannotator-0.6.1, KDE Frameworks-5.109.0, og Little CMS-2.14

Anbefalt
Valgfri

KF5Kipi

Installasjon av Gwenview

Installer Gwenview ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-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: $KF5_PREFIX/share/{kxmlgui5/gvpart,gwenview,doc/HTML/*/gwenview}

Korte Beskrivelser

gwenview

er KDE bildeviser

gwenview_importer

er en foto importør

libkcddb-23.08.0

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.0 plattform.

Pakkeinformasjon

libkcddb Avhengigheter

Påkrevd

KDE Frameworks-5.109.0 og libmusicbrainz-5.1.0

Installasjon av libkcddb

Installer libkcddb ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-dev ..                        &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libKF5Cddb.so og kcm_cddb.so
Installerte Mapper: $KF5_PREFIX/include/KF5/KCddb og $KF5_PREFIX/lib/cmake/KF5Cddb $KF5_PREFIX/share/doc/HTML/*/kcontrol

Korte Beskrivelser

libkcddb.so

inneholder funksjoner som brukes til å hente lyd-CD metadata fra internett

k3b-23.08.0

Introduksjon til K3b

K3b pakken inneholder en KF5 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.0 plattform.

Pakkeinformasjon

K3b Avhengigheter

Påkrevd

KDE Frameworks-5.109.0, libkcddb-23.08.0, libsamplerate-0.2.2, og shared-mime-info-2.2

CD/DVD stasjonen oppdages ved kjøretid ved hjelp av UDisks-2.10.0, som derfor må installeres før kjøring av k3b.

Anbefalt
Valgfri Kjøretid

FFmpeg-6.0

Valgfri

FLAC-1.4.3, LAME-3.100, libmad-0.15.1b, libsndfile-1.2.2, libvorbis-1.3.7, libmusicbrainz-2.1.5, og Musepack (libmpcdec)

Installasjon av K3b

Installer K3b ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-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: $KF5_PREFIX/share/{,kxmlgui5/}k3b og $KF5_PREFIX/share/doc/HTML/*/k3b

Korte Beskrivelser

k3b

er det grafiske CD/DVD programmet

Flere KDE5 pakker

Denne delen ga ikke instruksjoner for alle de tilgjengelige pakkene i KDE5 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å KDE5 serverne på https://download.kde.org/stable/release-service/23.08.0/src.

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.

  • En rekke (ca. 40) KDE spill inkludert: kpat, kfourinline, og kmines.

Note

Noen pakker vil kreve ytterligere avhengigheter. Å bestemme hvilke avhengigheter som trengs, kjør fra toppen av kildetreet:

cmake -Wno-dev -L .

De fleste av disse pakkene kan bygges med standard KDE5 instruksjoner:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-dev .. &&
make

Og som root bruker:

make install

Chapter 32. KDE Plasma 5

KDE Plasma 5 er et skrivebordsmiljø bygget med KDE Rammeverk 5 og QML som kjører på toppen av en fullt maskinvareakselerert grafikkstabel ved hjelp av Qt5, QtQuick 2 og en OpenGL(-ES) scenegraf.

Ingen ekstra konfigurasjon er nødvendig før du bygger KDE Plasma 5 fordi den bruker samme konfigurasjon som KDE Rammeverk 5 bruker.

Bygge Plasma 5

KDE Plasma 5 er en samling pakker basert på toppen av KDE Rammeverk 5 og QML. De implementerer KDE Skjermmiljø (Plasma 5).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Instruksjonene nedenfor bygger alle Plasma 5 pakkene i et trinn ved å bruke et bashskript.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.kde.org/stable/plasma/5.27.7

  • Nedlasting MD5 sum: See Below

  • Nedlastingsstørrelse: 258 MB

  • Estimert diskplass som kreves: 1.7 GB (419 MB installert)

  • Estimert byggetid: 19 SBU (bruke parallellisme=4)

Plasma 5 Avhengigheter

Påkrevd

GTK+-2.24.33, GTK+-3.24.38, KDE Frameworks-5.109.0, kuserfeedback-1.2.0, libpwquality-1.4.5, libqalculate-4.7.0, libxkbcommon-1.5.0, Mesa-23.1.6 bygget med Wayland-1.22.0, NetworkManager-1.44.0, pipewire-0.3.77, PulseAudio-16.1, qca-2.3.7, sassc-3.6.2, taglib-1.13.1, og xcb-util-cursor-0.1.4

Anbefalt
Anbefalt (kjøretid)
Valgfri

GLU-9.0.3, ibus-1.5.28, qtwebengine-5.15.15, Xorg Synaptics Driver-1.9.2, appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM, og socat (for pam_kwallet)

Note

qtwebengine-5.15.15 er nødvendig for aura nettleseren. Den er også valgfritt for to andre pakker: libksysguard og kdeplasma programtillegg. Hvis QtWebEngine installeres senere, bare disse to pakkene må bygges om. Dette tillater en mer komplett visning i systemmonitorapplikasjonen.

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/kf5

Nedlaste KDE Plasma5

Den enkleste måten å få KDE Plasma5 pakkene på er å bruke en singel wget for å hente dem alle på en gang:

url=https://download.kde.org/stable/plasma/5.27.7/
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 kataloger

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-5.27.7.md5 << "EOF"
f8e36636128efc0172b0664df372f350  kdecoration-5.27.7.tar.xz
0f40e7e4ef0675cf06afc828c6056821  libkscreen-5.27.7.tar.xz
fdbbd274867d8013631eb66f889da983  libksysguard-5.27.7.tar.xz
6d0358ed7bbb27557c073cfce675120f  breeze-5.27.7.tar.xz
7dac534103b595e861fb923e0a46af8a  breeze-gtk-5.27.7.tar.xz
27839d93e7bf42bd8e6e9d822572a3d3  layer-shell-qt-5.27.7.tar.xz
56e13a523dc2b27dd2fe7d17cf87c427  kscreenlocker-5.27.7.tar.xz
1806b24c107c30a0144be0c58361c391  oxygen-5.27.7.tar.xz
b3b25a757de32befe4c282ebc9b928c3  kinfocenter-5.27.7.tar.xz
f992f11ed7704e94809f4a609b444074  kwin-5.27.7.tar.xz
5aa3a8e2e8c97b182cb15090f9149831  plasma-workspace-5.27.7.tar.xz
2b3c139e30eaaf4cf42706c9e6212ca5  plasma-disks-5.27.7.tar.xz
a347a0848863114e96ca25868b1d2483  bluedevil-5.27.7.tar.xz
77731f7530552c096785e938554c5c0e  kde-gtk-config-5.27.7.tar.xz
19a17f02655872c827380bd1fc485b50  khotkeys-5.27.7.tar.xz
4777cae88cb32e1dc77d6765f3cf17e3  kmenuedit-5.27.7.tar.xz
a9618c0aa86cf8d0186e146aef644cd7  kscreen-5.27.7.tar.xz
d75c043ef114b2b590f8ede12bb86a24  kwallet-pam-5.27.7.tar.xz
9c4ebb3d608c08c83b87a880b731ef11  kwayland-integration-5.27.7.tar.xz
2d04936cfcdb3da0ecab6b9c7f83339e  kwrited-5.27.7.tar.xz
ea10ad5ac86ad2a1f1c0dfdb28918ad8  milou-5.27.7.tar.xz
1640a01420f5885d87e55a3fc3ca8410  plasma-nm-5.27.7.tar.xz
24cdd5610e2b02c774486cdeaf0074f5  plasma-pa-5.27.7.tar.xz
4d941372e2a0ba9fe4a42a668dfd6aeb  plasma-workspace-wallpapers-5.27.7.tar.xz
003d40545b13d58a2fa024236c92c18f  polkit-kde-agent-1-5.27.7.tar.xz
2708af1b47a164321111220f3e3fb5f8  powerdevil-5.27.7.tar.xz
7f7d2bea26b4d825c9a6e8d57e400a4a  plasma-desktop-5.27.7.1.tar.xz
#b8f2c72d4d0ffd37573c1f949e8604aa  plasma-desktop-5.27.7.tar.xz
f66aefab6b7b3115ead7cf3966d6e2c6  kgamma5-5.27.7.tar.xz
614a24e70dfdcbf225047951d1bb35af  ksshaskpass-5.27.7.tar.xz
#8e9460adae337baab8d80da3422f9e34  plasma-sdk-5.27.7.1.tar.xz
#69bcb008dc0c22bb9dad2f990778b46e  plasma-sdk-5.27.7.5.27.7.1.tar.xz
#cba2b18c587dff393bd232d61a35046d  plasma-sdk-5.27.7.tar.xz
293fa8cd57834e07c719a055e2b47fbe  sddm-kcm-5.27.7.tar.xz
#7857d8972a9cc45cc3b672a6d5ff2b12  discover-5.27.7.tar.xz
#9727481d29a7468420cb1a37a0b36e9e  breeze-grub-5.27.7.tar.xz
#157416774eb4bfc57a4e2caf4512f069  breeze-plymouth-5.27.7.tar.xz
cdda9f9d374615768d8a324dae92ad1d  kactivitymanagerd-5.27.7.tar.xz
3e8fd694b222d4d6c3d4e2b952099fb0  plasma-integration-5.27.7.tar.xz
#7bd722f2799f4b1c562be46c5b2d0da1  plymouth-kcm-5.27.7.tar.xz
26e40eaf358dc02d71ab5cb511a5b3a8  xdg-desktop-portal-kde-5.27.7.tar.xz
ce2a9be64095829d124d4f83c14a464c  drkonqi-5.27.7.tar.xz
410818deea59fc12aa3ed155e350e931  plasma-vault-5.27.7.tar.xz
4636852897f802e64501fbae5e3dfb24  plasma-browser-integration-5.27.7.tar.xz
3febab89d2fca2e67271d5e35723d7be  kde-cli-tools-5.27.7.tar.xz
799ec2ab0012e47d2b1660affe5f333e  systemsettings-5.27.7.tar.xz
fa9f2208c27d8a3e99c0cbb113087338  plasma-thunderbolt-5.27.7.tar.xz
#c4dbf6737cc9d8d3396214d4bed14abf  plasma-nano-5.27.7.tar.xz
#74a1ec9c76b979fb8a3906204c93add4  plasma-mobile-5.27.7.tar.xz
ca0a794b2d65c9c763d0f932b2bd9c1e  plasma-firewall-5.27.7.tar.xz
4f3a9803e3741521b1867303b179670a  plasma-systemmonitor-5.27.7.tar.xz
29fb63dc5c266b3fe0a2e849f1a1db28  qqc2-breeze-style-5.27.7.tar.xz
2e3689a958a72aa1a09aa6edf471ce11  ksystemstats-5.27.7.tar.xz
08434c4829aefd689c877fe84baa5ad6  oxygen-sounds-5.27.7.tar.xz
#2b1b01328d062d6d9c3d92daaa26d13c  aura-browser-5.27.7.tar.xz
a32fedd93e3ecef504ea28ec27cbfd55  kdeplasma-addons-5.27.7.tar.xz
1d759ab0bb02f630385e4dc267aaef6e  kpipewire-5.27.7.tar.xz
553afd4e952b601147ca868b7129303d  plank-player-5.27.7.tar.xz
51ad32e45ad4a0f5291d1a9ce4efa0f2  plasma-bigscreen-5.27.7.tar.xz
fb25df16ef388f7dbfc163911e7828be  plasma-remotecontrollers-5.27.7.tar.xz
#507a8d13920b160b4683b093e90f6088  flatpak-kcm-5.27.7.tar.xz
#9eadbc5ec19e2122f81742e0f38941f7  plasma-welcome-5.27.7.tar.xz
EOF

Om Kommenterte ut Pakker

Breeze-grub, breeze-plymouth og plymouth-kcm pakkene ovenfor er alle for tilpasset støtte av Plymouth som er designet for å kjøres på en innledende ram-disk under oppstart (se the section called “Om initramfs”). Plasma-sdk pakken er valgfri og brukes til programvareutvikling. Plasma-nano pakken brukes til innebygde systemer og plasma-mobil gir telefonfunksjonalitet for plasma. Aura nettleserpakken krever qtwebengine-5.15.15. discover pakken krever den eksterne pakken appstream-qt. plasma-welcome pakken krever ekstern pakke kaccounts-integration. Flatpack-kcm pakken er for å administrere støtte for flatpack applikasjoner.

Installasjon av Plasma5

Note

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.14p3 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.*||') # Package directory

    tar -xf $file
    pushd $packagedir

       mkdir build
       cd    build

       cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
             -DCMAKE_BUILD_TYPE=Release         \
             -DBUILD_TESTING=OFF                \
             -Wno-dev ..  &&

        make
        as_root make install
    popd


    as_root rm -rf $packagedir
    as_root /sbin/ldconfig

done < plasma-5.27.7.md5

exit

Hvis du ikke satte $KF5_PREFIX til /usr, lage symbolkoblinger for å tillate skjermbehandlere å finne Plasma:

as_root install -dvm 755 /usr/share/xsessions              &&
cd /usr/share/xsessions/                                   &&
[ -e plasma.desktop ]                                      ||
as_root ln -sfv $KF5_PREFIX/share/xsessions/plasma.desktop &&
as_root install -dvm 755 /usr/share/wayland-sessions       &&
cd /usr/share/wayland-sessions/                            &&
[ -e plasmawayland.desktop ]                               ||
as_root ln -sfv $KF5_PREFIX/share/wayland-sessions/plasmawayland.desktop

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 Plasma5

Du kan starte Plasma5 fra en TTY, ved hjelp av xinit-1.4.2.

For å starte Plasma 5 ved bruk av xinit-1.4.2, kjør følgende kommandoer:

cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 $KF5_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 (63 i /opt/kf5/bin) til å ramse opp separat her.
Installerte Biblioteker: Det er for mange many plasma biblioteker (40 i /opt/kf5/lib) til å ramse opp separat her.
Installerte Mapper: Det er for mange plasma mapper (over 1000 i /opt/kf5) til å ramse opp separat her.

Part VIII. GNOME

Chapter 33. GNOME Biblioteker og Skrivebord

Målet med denne delen er å bygge et GNOME skrivebord.

Biblioteker

Gcr-3.41.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.0 plattform.

Pakkeinformasjon

Gcr Avhengigheter

Påkrevd

GLib-2.76.4, libgcrypt-1.10.2, og p11-kit-0.25.0

Anbefalt
Valgfri

Gi-DocGen-2023.1 og Valgrind-3.21.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 \
            -Dgtk_doc=false     \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed -e "/install_dir/s@,\$@ / 'gcr-3.41.1'&@" \
    -e "/fatal-warnings/d"                    \
    -i ../docs/*/meson.build                  &&
meson configure -Dgtk_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.

-Dgtk=false: Bruk denne bryteren hvis du ikke har installert GTK+-3.24.38. Merk at gcr-viewer vil ikke bli installert hvis dette sendes til meson.

-Dgtk_doc=true: Tillat å bygge denne pakken uten Gi-DocGen-2023.1 installert. Hvis du har Gi-DocGen-2023.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, en meson configure kommando 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.1.0

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.0 plattform.

Pakkeinformasjon

Gcr Avhengigheter

Påkrevd

GLib-2.76.4, libgcrypt-1.10.2, og p11-kit-0.25.0

Anbefalt
Valgfri

Gi-DocGen-2023.1 og Valgrind-3.21.0

Installasjon av Gcr

Note

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-44.3 og Epiphany-44.6.

Installer Gcr ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dgtk_doc=false     \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed -e "/install_dir/s@,\$@ / 'gcr-4.1.0'&@" \
    -e "/fatal-warnings/d"                   \
    -i ../docs/*/meson.build                 &&
meson configure -Dgtk_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.

-Dgtk=false: Bruk denne bryteren hvis du ikke har installert GTK-4.12.0. Merk at gcr-viewer vil ikke bli installert hvis dette sendes til meson.

-Dgtk_doc=true: Tillat å bygge denne pakken uten Gi-DocGen-2023.1 installert. Hvis du har Gi-DocGen-2023.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, en meson configure kommando vil tilbakestille dette alternativet.

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-44.0

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.0 plattform.

Pakkeinformasjon

GSettings Skrivebordsskjemaer Avhengigheter

Påkrevd

gobject-introspection-1.76.1

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

Note

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.0

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.0 plattform.

Pakkeinformasjon

libsecret Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

Gi-DocGen-2023.1 og docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.38 (for å bygge manualsider), og Valgrind-3.21.0 (kan bli brukt i tester)

Valgfri (Nødvendig for testpakken)

D-Bus Python-1.3.2, Gjs-1.76.2, PyGObject-3.44.1 (Python 3 modul), og tpm2-tss

Kjøretids Avhengighet

gnome-keyring-42.1

Note

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 \
            -Dgtk_doc=false     \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s/api_version_major/'0.20.5'/"            \
    -i ../docs/reference/libsecret/meson.build &&
meson configure -Dgtk_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.

-Dgtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2023.1 installert. Hvis du har Gi-DocGen-2023.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, en meson configure kommando vil tilbakestille dette alternativet.

-Dmanpage=false: Bruk denne bryteren hvis du ikke har installert libxslt-1.1.38 og DocBook pakker.

-Dgcrypt=false: Bruk denne bryteren hvis du ikke har installert den anbefalte avhengigheten av libgcrypt-1.10.2.

Innhold

Installert Program: secret-tool
Installert Bibliotek: libsecret-1.so
Installerte Mapper: /usr/include/libsecret-1 og /usr/share/doc/libsecret-0.21.0

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 å lette ekstern bruk av RESTful API.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

rest Avhengigheter

Påkrevd

JSON-GLib-1.6.6, libsoup-3.4.2, og make-ca-1.12

Anbefalt
Valgfri

Gi-DocGen-2023.1, libadwaita-1.3.4 og gtksourceview5-5.8.0 (for å bygge demoen), og Vala-0.56.11

Installasjon av rest

Installer rest ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dexamples=false    \
            -Dgtk_doc=false     \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2023.1 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 -Dgtk_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.

-Dgtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2023.1 installert. Hvis du har Gi-DocGen-2023.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, en meson configure kommando vil tilbakestille dette alternativet.

-Dexamples=false: Fjern dette alternativet hvis libadwaita-1.3.4 og gtksourceview5-5.8.0 er installert og du ønsker å bygge demonstrasjonsapplikasjonen som følger med denne pakken.

-Dvapi=true: Bruk denne bryteren hvis Vala-0.56.11 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.0 plattform.

Pakkeinformasjon

Totem PL Analyser Avhengigheter

Anbefalt
Valgfri

CMake-3.27.2, GTK-Doc-1.33.2, Gvfs-1.50.6 (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

Note

En Internett tilkobling er nødvendig for noen tester av 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.72.2

Introduksjon til VTE

VTE pakken inneholder en termcap filimplementering for terminalemulatorer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

VTE Avhengigheter

Påkrevd

GTK+-3.24.38, libxml2-2.10.4, og pcre2-10.42

Anbefalt
Valgfri

FriBidi-1.0.13, Gi-DocGen-2023.1, og GTK-4.12.0

Installasjon av VTE

Installer VTE ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -Dfribidi=false .. &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed -e "/docdir =/s@\$@/ 'vte-0.72.2'@" \
    -e "/fatal-warnings/d"              \
    -i ../doc/reference/meson.build     &&
meson configure -Ddocs=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.

-Dfribidi=false: Utelat denne bryteren hvis du vil aktivere toveisfunksjoner.

-Dgnutls=false: Legg til denne bryteren hvis du ikke ønsker å aktivere GnuTLS støtte.

-Dvapi=false: Legg til denne bryteren hvis du ikke ønsker å aktivere vala bindinger.

-Dgtk4=true: Legg til denne bryteren for å bygge GTK4 skjermelementet.

Innhold

Installert Program: vte-2.91
Installert Bibliotek: libvte-2.91.so
Installerte Mapper: /usr/include/vte-2.91 og (optional) /usr/share/doc/vte-0.72.2

Korte Beskrivelser

vte-2.91

er en testapplikasjon for VTE biblioteker

libvte-2.91.so

er et bibliotek som implementerer en terminalemulator skjermelement for GTK+ 3

yelp-xsl-42.1

Introduksjon til Yelp XSL

Yelp XSL pakken inneholder XSL stilark som brukes av Yelp hjelpe nettleseren til å formatere Docbook og Mallard dokumenter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Yelp XSL Avhengigheter

Påkrevd

libxslt-1.1.38 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

GConf-3.2.6

Introduksjon til GConf

GConf pakken inneholder en konfigurasjons databasesystem som brukes av mange GNOME applikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GConf Avhengigheter

Påkrevd

dbus-glib-0.112 og libxml2-2.10.4

Anbefalt
Valgfri

OpenLDAP-2.6.6

Installasjon av GConf

Installer GConf ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --disable-orbit \
            --disable-static &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
ln -s gconf.xml.defaults /etc/gconf/gconf.xml.system

Parameterforklaringer

--disable-orbit: Denne bryteren er nødvendig hvis ORBit2 ikke er installert. ORBit2 er en utdatert pakke.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: gconf-merge-tree, gconftool-2, gsettings-data-convert og gsettings-schema-convert
Installerte Biblioteker: libgconf-2.so og libgsettingsgconfbackend.so (GIO Modul installert i /usr/lib/gio/modules)
Installerte Mapper: /etc/gconf, /usr/include/gconf, /usr/lib/GConf, /usr/share/gtk-doc/html/gconf og /usr/share/sgml/gconf

Korte Beskrivelser

gconf-merge-tree

slår sammen et XML filsystemhierarki

gconftool-2

er et kommandolinjeverktøy som brukes til å manipulere GConf databasen

gsettings-data-convert

leser verdier ut av bruker sin GConf database og lagrer dem i GSettings

gsettings-schemas-convert

konverterer mellom GConf og GSettings skjemafilformater

libgconf-2.so

gir funksjonene som er nødvendige for å vedlikeholde konfigurasjonsdatabase

geocode-glib-3.26.4

Introduksjon til Geocode GLib

Geocode GLib er et praktisk bibliotek for Yahoo! Place Finder APIer. Netttjenesten Place Finder tillater å gjøre geokoding (finne lengde- og breddegrad fra en adresse), og omvendt geokoding (finne en adresse fra koordinater).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Geocode GLib Avhengigheter

Påkrevd

JSON-GLib-1.6.6 og libsoup-3.4.2

Anbefalt
Valgfri

GTK-Doc-1.33.2

Installasjon av Geocode GLib

Installer Geocode GLib ved å kjøre følgende kommandoer:

mkdir build                   &&
cd    build                   &&

meson setup --prefix /usr           \
            --buildtype=release     \
            -Denable-gtk-doc=false  \
            -Dsoup2=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.

-Denable-gtk-doc=false: La denne pakken bli bygget uten GTK-Doc-1.33.2. Fjern denne parameteren hvis GTK-Doc-1.33.2 er installert og du ønsker å bygge om og installere API dokumentasjonen.

-Dsoup2=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.76.2

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.0 plattform.

Pakkeinformasjon

Gjs Avhengigheter

Påkrevd

Cairo-1.17.6, dbus-1.14.8, gobject-introspection-1.76.1, og JS-102.13.0

Påkrevd (påkrevd for GNOME)
Valgfri

sysprof-3.48.0, Valgrind-3.21.0 (for tester), DTrace, LCOV, 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.

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 stopper nedlastingen av eventuell valgfrie avhengigheter som ikke er installert på systemet.

-Dprofiler=disabled: hindrer bygging av profilerings bakstykket selv om sysprof-3.48.0 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.4

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.0 plattform.

Pakkeinformasjon

gnome-autoar Avhengigheter

Påkrevd

libarchive-3.7.1 og GTK+-3.24.38

Anbefalt
Valgfri

GTK-Doc-1.33.2 (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 \
            -Dvapi=true         \
            -Dtests=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.

-Dgtk_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.0

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.0 plattform.

Pakkeinformasjon

GNOME Skrivebord Avhengigheter

Påkrevd

gsettings-desktop-schemas-44.0, GTK+-3.24.38, GTK-4.12.0, ISO Codes-4.15.0, itstool-2.0.7, libseccomp-2.5.4, libxml2-2.10.4, og xkeyboard-config-2.39

Anbefalt
Valgfri

GTK-Doc-1.33.2

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.0 plattform.

Pakkeinformasjon

GNOME Menyer Avhengigheter

Påkrevd

GLib-2.76.4

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-video-effects-0.6.0

Introduksjon til GNOME Videoeffekter

GNOME Videoeffekter pakken inneholder en samling av GStreamer effekter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av GNOME Videoeffekter

Installer GNOME Videoeffekter 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/gnome-video-effects

gnome-online-accounts-3.48.0

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.0 plattform.

Pakkeinformasjon

GNOME Nettkontoer Avhengigheter

Påkrevd

Gcr-3.41.1, JSON-GLib-1.6.6, rest-0.9.1, Vala-0.56.11, og WebKitGTK-2.41.91

Anbefalt
Valgfri

GTK-Doc-1.33.2, MIT Kerberos V5-1.21.2, og Valgrind-3.21.0

Installasjon av GNOME Nettkontoer

Note

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                             \
      -Dkerberos=false                                \
      -Dgoogle_client_secret=5ntt6GbbkjnTVXx-MSxbmx5e \
      -Dgoogle_client_id=595013732528-llk8trb03f0ldpqq6nprjp1s79596646.apps.googleusercontent.com \
      .. &&
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.

-Dgoogle_*: Disse bryterne setter BLFS OAuth ID og hemmelighet for Google tjenester.

-Dgtk_doc=true: Bruk denne bryteren hvis du har GTK-Doc-1.33.2 installert og du ønsker å generere API dokumentasjonen.

-Dkerberos=true: Bruk denne bryteren hvis du har installert MIT Kerberos V5-1.21.2 og ønsker å bruke den med GNOME Nettkontoer.

Innhold

Installerte Programmer: goa-daemon og goa-identity-service (kjørbare biblioteker)
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

goa-daemon

er GNOME Nettkontoer nissen

libgoa-1.0.so

inneholder GNOME Nettkontoer API funksjoner

libgoa-backend-1.0.so

inneholder funksjoner som brukes av GNOME Nettkontoer bakstykker

Grilo-0.3.16

Introduksjon til Grilo

Grilo er et rammeverk fokusert på å lage medieoppdagelse og surfing enkelt for applikasjoner og applikasjonsutviklere.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Grilo Avhengigheter

Påkrevd

GLib-2.76.4 og libxml2-2.10.4

Anbefalt
Valgfri

DocBook-utils-0.6.14, liboauth-1.0.3, og GTK-Doc-1.33.2

Installasjon av Grilo

Installer Grilo ved å kjøre følgende kommandoer:

mkdir build &&
cd    build    &&

meson setup --prefix=/usr          \
            --buildtype=release    \
            -Denable-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.

-Denable-gtk-doc=false: Dette alternativet deaktiverer generering av dokumentasjon. Hvis du har GTK-Doc-1.33.2 installert og ønsker å generere dokumentasjonen, fjern dette alternativet.

Innhold

Installerte Programmer: grilo-test-ui-0.3, grl-inspect-0.3 og grl-launch-0.3
Installerte Biblioteker: libgrilo-0.3.so, libgrlnet-0.3.so og libgrlpls-0.3.so
Installerte Mapper: /usr/include/grilo-0.3

Korte Beskrivelser

grilo-test-ui-0.3

er en enkel lekeplassapplikasjon som du kan bruke til å teste rammeverket og dets programtillegg

grl-inspect-0.3

er et verktøy som skriver ut informasjon om tilgjengelige Grilo kilder

grl-launch-0.3

er et verktøy for å kjøre Grilo operasjoner fra kommandolinjen

libgrilo.so

gir Grilo rammeverket

libgrlnet.so

gir Grilo nettverkshjelpere for programtillegg

libgrlpls.so

gir funksjoner for håndtering av spillelister

libchamplain-0.12.21

Introduksjon til libchamplain

libchamplain pakken inneholder en Clutter-basert skjermelement som brukes til å vise rike og interaktive kart.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libchamplain Avhengigheter

Påkrevd

clutter-gtk-1.8.4, GTK+-3.24.38, libsoup-3.4.2, og SQLite-3.42.0

Anbefalt
Valgfri

GTK-Doc-1.33.2 og libmemphis

Installasjon av libchamplain

Installer libchamplain 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: Ingen
Installerte Biblioteker: libchamplain-0.12.so og libchamplain-gtk-0.12.so
Installerte Mapper: /usr/include/champlain-0.12 og /usr/share/gtk-doc/html/champlain-0.12

Korte Beskrivelser

libchamplain-0.12.so

inneholder libchamplain API funksjoner

libchamplain-gtk-0.12.so

inneholder libchamplain GTK+ bindinger

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.0 plattform.

Pakkeinformasjon

libgdata Avhengigheter

Påkrevd

libsoup-2.74.3, gnome-online-accounts-3.48.0, GTK+-3.24.38, JSON-GLib-1.6.6, og Vala-0.56.11

Anbefalt
Valgfri

GTK-Doc-1.33.2 (for dokumentasjon), liboauth-1.0.3 (for OAuth v1 støtte), og uhttpmock-0.5.3 (nødvendig for tester)

Installasjon av libgdata

Installer libgdata ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr              \
            --buildtype=release        \
            -Dgtk_doc=false            \
            -Dalways_build_tests=false \
            ..                         &&
ninja

Hvis du ønsker å kjøre testpakken, sørg for at uhttpmock-0.5.3 er installert og fjern -Dalways_build_tests=false i meson kommandolinjen. For å teste resultatene, kjør: ninja test. Merk at testene trenger nettverkstilgang.

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=false: Fjern denne hvis du har GTK-Doc-1.33.2 installert og ønsker å gjenoppbygge dokumentasjon med det.

-Doauth1=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.6

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.0 plattform.

Pakkeinformasjon

libgee Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

Vala-0.56.11 (med Valadoc) og LCOV

Installasjon av libgee

Installer libgee 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
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.40.0

Introduksjon til libgtop

libgtop pakken inneholder GNOME top biblioteker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libgtop Avhengigheter

Påkrevd

GLib-2.76.4 og Xorg Biblioteker

Anbefalt
Valgfri

GTK-Doc-1.33.2

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.2.0

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.0 plattform.

Pakkeinformasjon

libgweather Avhengigheter

Påkrevd

geocode-glib-3.26.4, GTK+-3.24.38, libsoup-3.4.2, og PyGObject-3.44.1

Anbefalt
Valgfri

Gi-DocGen-2023.1 (gi-docgen leveres også som meson delprosjekt, som vil bli brukt hvis -Dgtk_doc=false ikke er overført til meson), LLVM-16.0.5 (for clang-format), og pylint

Installasjon av libgweather

Installer libgweather ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dgtk_doc=false     \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s/libgweather_full_version/'libgweather-4.2.0'/" \
    -i ../doc/meson.build                             &&
meson configure -Dgtk_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. En test, metar, er kjent for å mislykkes.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dgtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2023.1 installert. Hvis du har Gi-DocGen-2023.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, en meson configure kommando 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.0 plattform.

Pakkeinformasjon

libpeas Avhengigheter

Påkrevd

gobject-introspection-1.76.1 og GTK+-3.24.38

Anbefalt
Valgfri

Gi-DocGen-2023.1, Glade, embed, LGI (for LUA bindinger, bygget med LUA-5.1), med enten luajit 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-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/docs_dir =/s@\$@/ 'libpeas-1.36.0'@" \
    -i ../docs/reference/meson.build       &&
meson configure -Dgtk_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 stopper nedlastingen av eventuell valgfrie avhengigheter som ikke er installert på systemet.

-Dvapi=true: Legg til denne bryteren hvis du ønsker å generere vapi (vala) data.

-Ddemos=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.0.5

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.0 plattform.

Pakkeinformasjon

libshumate Avhengigheter

Påkrevd

GTK-4.12.0 og libsoup-3.4.2

Anbefalt
Valgfri

Gi-DocGen-2023.1

Installasjon av libshumate

Installer libshumate ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dgtk_doc=false     \
            ..                  &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed 's/lib_version/version/' -i ../docs/meson.build &&
meson configure -Dgtk_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.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libshumate-1.0.so
Installerte Mapper: /usr/include/shumate-1.0 and /usr/share/doc/libshumate-1.0.5 (valgfri)

Korte Beskrivelser

libshumate-1.0.so

inneholder funksjoner som gir et GTK-4 skjermelement for å vise kart

libwnck-43.0

Introduksjon til libwnck

libwnck pakken inneholder Vindusnavigator konstruksjonssett.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libwnck Avhengigheter

Påkrevd

GTK+-3.24.38

Anbefalt
Valgfri

GTK-Doc-1.33.2

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

evolution-data-server-3.48.4

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.0 plattform.

Pakkeinformasjon

Evolution Dataserver Avhengigheter

Påkrevd

libical-3.0.16, libsecret-0.21.0, nss-3.92, og SQLite-3.42.0

Anbefalt
Valgfri

Berkeley DB-5.3.28, GTK-Doc-1.33.2, MIT Kerberos V5-1.21.2, en MTA (som gir en sendmail kommando), OpenLDAP-2.6.6, og libphonenumber

Installasjon av Evolution Dataserver

Installer Evolution Dataserver ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr    \
      -DSYSCONF_INSTALL_DIR=/etc     \
      -DENABLE_VALA_BINDINGS=ON      \
      -DENABLE_INSTALLED_TESTS=ON    \
      -DWITH_OPENLDAP=OFF            \
      -DWITH_KRB5=OFF                \
      -DENABLE_INTROSPECTION=ON      \
      -DENABLE_GTK_DOC=OFF           \
      -DWITH_LIBDB=OFF               \
      -Wno-dev -G Ninja ..           &&
ninja

Nå, som root bruker:

ninja install

For å teste resultatene, utsted: ninja test.

Parameterforklaringer

-DENABLE_VALA_BINDINGS=ON: Denne bryteren bygger Vala bindingene. Fjern hvis du ikke har Vala-0.56.11 installert.

-DENABLE_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.

-DWITH_LIBDB=OFF: Denne bryteren tillater bygging av denne pakken uten Berkeley DB-5.3.28. Denne pakken bruker kun Berkeley DB-5.3.28 å importere data fra svært utdaterte utgivelser. SQLite-3.42.0 brukes til normal drift.

-DENABLE_OAUTH2_WEBKITGTK4=OFF: Bruk denne bryteren hvis du ikke bygde WebKitGTK-2.41.91 med GTK-4.

Note

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

Tracker-3.5.3

Introduksjon til Tracker

Tracker er filindeksering og søkeleverandør som brukes i GNOME skrivebordsmiljøet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Tracker Avhengigheter

Påkrevd

JSON-GLib-1.6.6, libseccomp-2.5.4, og Vala-0.56.11

Anbefalt
Valgfri

asciidoc-10.2.0, Graphviz-8.1.0, libsoup-2.74.3, bash-completion, og libstemmer

Installasjon av Tracker

Fiks plasseringen å installere dokumentasjonen på:

mv docs/reference/libtracker-sparql/doc/{Tracker-3.0,tracker-3.5.3} &&
sed '/docs_name/s/Tracker-3.0/tracker-3.5.3/' \
    -i docs/reference/libtracker-sparql/meson.build

Installer Tracker ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dman=false         \
            ..                  &&
ninja

Nå, som root bruker:

ninja install

For å teste resultatene, utsted: meson configure -Ddebug=true && ninja test. Testpakken skal kjøres fra en grafisk sesjon. En test, tracker: fts / fts, er kjent for å mislykkes på grunn av en inkompatibilitet med SQLite-3.42.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dman=false: Denne bryteren forhindrer byggeprosessen fra å generere mansider. Utelat denne bryteren hvis du har asciidoc-10.2.0 installert og ønsker å generere og installer mansidene.

meson configure -Ddebug=true: Denne kommandoen aktiverer noen feilsøkingskontroller som er nødvendige for testpakken. Vi vil ikke aktiver dem for de installerte Tracker 3 bibliotekene og programmene, så vi kjører testpakken etter installasjonen.

Innhold

Installerte Programmer: tracker3
Installert Bibliotek: libtracker-sparql-3.0.so
Installerte Mapper: /usr/{include,lib}/tracker-3.0, /usr/libexec/tracker3, /usr/share/tracker3, og /usr/share/doc/Tracker-3.0 (valgfri)

Korte Beskrivelser

tracker3

er et kontrollprogram for indekseren

libtracker-sparql-3.0.so

inneholder ressursstyring og databasefunksjoner

Tracker-miners-3.5.2

Introduksjon til Tracker-miners

Tracker-miners pakken inneholder et sett med datauttrekkere for Tracker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Tracker-miners Avhengigheter

Påkrevd

gst-plugins-base-1.22.5, Tracker-3.5.3, Exempi-2.6.4, og gexiv2-0.14.2

Anbefalt
Valgfri

asciidoc-10.2.0, CMake-3.27.2, DConf-0.40.0, FFmpeg-6.0, libgsf-1.14.50, NetworkManager-1.44.0, taglib-1.13.1, totem-pl-parser-3.26.6, UPower-1.90.2, libcue, libitpcdata, libosinfo, og gupnp

Installasjon av Tracker-miners

Note

Hvis du planlegger å kjøre testene, er noen tidsavbrudd for korte ved bruk av 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, en global 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 Tracker-miners ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dman=false         \
            ..                  &&
ninja

For å teste resultatene, kjør (justere den individuelle testtidsavbruddet til en verdi som passer for din maskin, se merknaden ovenfor):

dbus-run-session env TRACKER_TESTS_AWAIT_TIMEOUT=20 ninja test &&
rm -rf ~/tracker-tests

Note

Testene lager filer i brukermappen (opptil 24 MB), så de må fjernes etterpå.

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.

-Dman=false: Denne bryteren forhindrer byggeprosessen fra å generere mansider. Utelat denne bryteren hvis du har asciidoc-10.2.0 installert og ønsker å generere og installere mansidene.

-Dseccomp=false: Dette alternativet deaktiverer seccomp system anropsfilter. På noen arkitekturer, som i686 og ARM, fungerer funksjonene som tracker-miners bruker er ikke bevoktet ordentlig, og tracker-miners vil bli drept med en SIGSYS som resultat.

-Dminer_rss=false: Bruk dette alternativet hvis du ikke har installert den anbefalte avhengigheten libgrss.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: Flere moduler under /usr/lib/tracker-miners-3.0
Installerte Mapper: /usr/lib/tracker-miners-3.0, /usr/libexec/tracker3, og /usr/share/tracker3-miners

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.0 plattform.

Pakkeinformasjon

gsound Avhengigheter

Påkrevd

libcanberra-0.30

Anbefalt
Valgfri

GTK-Doc-1.33.2 (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

GNOME Skrivebordskomponenter

DConf-0.40.0 / DConf-Editor-43.0

Introduksjon til DConf

DConf pakken inneholder et lavt nivå konfigurasjonssystem. Hovedformålet er å gi et bakstykke til GSettings på plattformer som ikke allerede har konfigurasjonslagrings systemer.

DConf-Editor, som navnet antyder, er et grafisk redigeringsprogram for DConf databasen. Installasjon er valgfritt, fordi gsettings fra GLib-2.76.4 gir lignende funksjonalitet på kommandolinjen.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

DConf Avhengigheter

Påkrevd

dbus-1.14.8, GLib-2.76.4, GTK+-3.24.38 (for redigeringsprogrammet), libhandy-1.8.2 (for redigeringsprogrammet), og libxml2-2.10.4 (for redigeringsprogrammet)

Anbefalt
Valgfri

GTK-Doc-1.33.2 og bash-completion

Installasjon av DConf

Installer DConf ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr           \
            --buildtype=release     \
            -Dbash_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-43.0.tar.xz &&
cd dconf-editor-43.0                &&

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

Som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dgtk_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-44.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.0 plattform.

Pakkeinformasjon

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.50.6

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.0 plattform.

Pakkeinformasjon

Gvfs Avhengigheter

Påkrevd

dbus-1.14.8, GLib-2.76.4, libusb-1.0.26, og libsecret-0.21.0

Anbefalt
Valgfri

Apache-2.4.57, Avahi-0.8, BlueZ-5.68, Fuse-3.16.1, gnome-online-accounts-3.48.0, GTK-Doc-1.33.2, libarchive-3.7.1, libgcrypt-1.10.2, libgdata-0.18.1, libxml2-2.10.4, libxslt-1.1.38, OpenSSH-9.4p1, Samba-4.18.6, gnome-desktop-testing (for tester), libbluray, libgphoto2, libimobiledevice, 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 \
      -Dfuse=false        \
      -Dgphoto2=false     \
      -Dafc=false         \
      -Dbluray=false      \
      -Dnfs=false         \
      -Dmtp=false         \
      -Dsmb=false         \
      -Ddnssd=false       \
      -Dgoa=false         \
      -Dgoogle=false      .. &&
ninja

Testpakken krever gnome-desktop-testing, som er utenfor rammen av BLFS.

Nå, som root bruker:

ninja install

Note

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.

-Dcdda=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.2

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.0 plattform.

Pakkeinformasjon

gexiv2 Avhengigheter

Påkrevd

Exiv2-0.28.0

Anbefalt
Valgfri

GTK-Doc-1.33.2 (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 -Dtests=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-44.2.1

Introduksjon til Nautilus

Nautilus pakken inneholder GNOME filbehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Nautilus Avhengigheter

Påkrevd

bubblewrap-0.8.0, gexiv2-0.14.2, gnome-autoar-0.4.4, gnome-desktop-44.0, libadwaita-1.3.4, libcloudproviders-0.3.2, libnotify-0.8.2, libportal-0.6, libseccomp-2.5.4, og Tracker-3.5.3

Anbefalt
Valgfri

Gi-DocGen-2023.1

Anbefalt (Kjøretid)

Installasjon av Nautilus

Fiks plasseringen for å installere API dokumentasjonen:

sed "/docdir =/s@\$@ / 'nautilus-44.2.1'@" -i meson.build

Installer Nautilus ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dselinux=false     \
            -Dpackagekit=false  \
            ..                  &&

ninja

For å teste resultatene, kjør: ninja test. Testene må kjøres i et grafisk miljø. En test er kjent for å mislykkes hvis tracker-miners-3.5.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

Note

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.

-Dselinux=false: Denne bryteren deaktiverer bruken av selinux som ikke støttes av BLFS.

-Dpackagekit=false: Denne bryteren deaktiverer bruken av PackageKit som ikke er egnet for BLFS.

Innhold

Installerte Programmer: nautilus og nautilus-autorun-software
Installert Bibliotek: libnautilus-extension.so
Installerte Mapper: /usr/{include,lib,share}/nautilus og /usr/share/gtk-doc/html/libnautilus-extension (optional)

Korte Beskrivelser

nautilus

er GNOME filbehandler

libnautilus-extension.so

leverer funksjonene som trengs av filbehandlerutvidelsene

gnome-bluetooth-42.6

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.0 plattform.

Pakkeinformasjon

GNOME Bluetooth Avhengigheter

Påkrevd

GTK-4.12.0, gsound-1.0.3, libnotify-0.8.2, og UPower-1.90.2

Anbefalt
Valgfri

GTK-Doc-1.33.2 og dbusmock-0.29.1

Kjøretids Avhengigheter

BlueZ-5.68

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-42.1

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.0 plattform.

Pakkeinformasjon

GNOME Nøkkelring Avhengigheter

Påkrevd

dbus-1.14.8 og Gcr-3.41.1

Anbefalt
Valgfri

LCOV, libcap-ng, GnuPG-2.4.3, og Valgrind-3.21.0

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 &&
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.

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-44.1

Introduksjon til GNOME Innstillingsnisse

GNOME Innstillingsnisse er ansvarlig for å stille inn ulike parametere for en GNOME Økt og applikasjonene som kjører under den.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GNOME Innstillingsnisse Avhengigheter

Påkrevd

alsa-lib-1.2.9, colord-1.4.6, Fontconfig-2.14.2, Gcr-4.1.0, GeoClue-2.7.0, geocode-glib-3.26.4, gnome-desktop-44.0, Little CMS-2.14, libcanberra-0.30, libgweather-4.2.0, libnotify-0.8.2, libwacom-2.7.0, PulseAudio-16.1, og UPower-1.90.2

Anbefalt

Note

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-44.0, Mutter-44.3, dbusmock-0.29.1, umockdev-0.17.18, og Xvfb (for tester, fra Xorg-Server-21.1.8 eller Xwayland-23.2.0)

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-44, /usr/lib/gnome-settings-daemon-44, og /usr/share/gnome-settings-daemon

gnome-control-center-44.3

Introduksjon til GNOME Kontrollsenter

GNOME Kontrollsenter pakken inneholder GNOME innstillingsbehandling.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GNOME Kontrollsenter Avhengigheter

Påkrevd

AccountsService-23.13.9, colord-gtk-0.3.0, gnome-online-accounts-3.48.0, gnome-settings-daemon-44.1, gsound-1.0.3, libgtop-2.40.0, libpwquality-1.4.5, MIT Kerberos V5-1.21.2, shared-mime-info-2.2, og UDisks-2.10.0

Anbefalt
Valgfri

Xvfb (fra Xorg-Server-21.1.8 eller Xwayland-23.2.0) og dbusmock-0.29.1 (begge for tester)

Valgfrie Kjøretids Avhengigheter

cups-pk-helper-0.2.7 (Skriverpanel), gnome-color-manager-3.36.0 (Fargepanel), gnome-shell-44.3 (Applikasjonspanel), og sound-theme-freedesktop-0.8 (Ytterligere lydeffekter i lydpanelet)

Note

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

Note

Hvis du oppgraderer fra gnome-control-center-41 eller tidligere, fjern en skrivebordsfil som vil resultere i dupliserte menyoppføringer. Som root bruker:

rm -f /usr/share/applications/gnome-control-center.desktop

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-44.3

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.0 plattform.

Pakkeinformasjon

Mutter Avhengigheter

Påkrevd

gnome-settings-daemon-44.1, graphene-1.10.8, libxcvt-0.1.2, libxkbcommon-1.5.0, og pipewire-0.3.77

Anbefalt
Anbefalt (Påkrevd for å bygge Wayland sammensetteren)
Valgfri

dbusmock-0.29.1 (påkrevd for tester), sysprof-3.48.0, Xorg-Server-21.1.8 (for X11 økter)

Installasjon av Mutter

Installer Mutter ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr              \
            --buildtype=release        \
            -Dtests=false              \
            -Dprofiler=false           \
            ..                         &&
ninja

Testpakken krever et eksternt program kalt xvfb-run. Hvis du ønsker å kjøre testene, bør du laste ned og installere den før du kjører meson. Du kan få det fra xvfb-run, og installere det med kjørbare tillatelser i /usr/bin. xvfb-run trenger Xvfb ved kjøretid, og Xvfb kan bli installert fra Xorg-Server-21.1.8 eller Xwayland-23.2.0. Du bør også bytte ut -Dtests=false i meson kommandoen, med -Dtests=true -Dclutter_tests=false. Testpakken krever at mutter skjemaet er installert på systemet, så det er bedre å kjøre testene etter installasjon av pakken.

Du kan også teste grunnleggende funksjoner til Mutter ved å følge the section called “Starte Mutter”, etter å ha installert den.

Nå, som root bruker:

ninja install

Hvis du ønsker å kjøre testene, fjern referansen til Zenity som ikke er en del av BLFS fra en test:

sed 's/zenity --[a-z]*/gtk4-demo/' -i ../src/tests/x11-test.sh

Kjør nå testpakken:

HOME= ninja test

Testene krever en aktiv X eller wayland økt. To tester navngitt cogl-test-framebuffer-get-bits-gl3 og native-unit er kjent for å mislykkes. Noen få andre tester kan mislykkes avhengig av konfigurasjonen. Ikke gjør noen mus eller tastatur inndata mens testpakken kjører ellers kan noen tester mislykkes.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dtests=false: Hindrer å bygge testene, og fjerner et hardt krav på xvfb-run.

-Dprofiler=false: Tillater å bygge denne pakken uten Sysprof. Fjern dette alternativet hvis du har installert Sysprof og vil analysere gjengivelsesytelsen til Mutter.

-Dtests=true -Dclutter_tests=false: Bygger alle tester, uten testene for det sendte Clutter biblioteket. Clutter tester er kjent for mislykkes med --buildtype=release.

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-12.so and libmutter-test-12.so (valgfri)
Installerte Mapper: /usr/{lib,include,libexec/installed-tests,share/{,installed-tests}}/mutter-12

Korte Beskrivelser

mutter

er Clutter basert sammensetnings GTK+ Vindusbehandler

libmutter-12.so

inneholder Mutter API funksjoner

libmutter-test-12.so

inneholder Mutter testpakke API funksjoner; dette biblioteket er bare installert hvis testpakken til denne pakken er aktivert og den er nødvendig av gnome-shell testpakken

gnome-shell-44.3

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.0 plattform.

Pakkeinformasjon

GNOME Skallet Avhengigheter

Påkrevd

evolution-data-server-3.48.4, Gcr-4.1.0, Gjs-1.76.2, gnome-desktop-44.0, ibus-1.5.28, Mutter-44.3, Polkit-123, sassc-3.6.2, og startup-notification-0.12

Anbefalt
Valgfri

GTK-Doc-1.33.2 og bash-completion

Nødvendige Kjøretids Avhengigheter

adwaita-icon-theme-44.0, DConf-0.40.0, GDM-44.1, gnome-backgrounds-44.0, gnome-control-center-44.3, libgweather-4.2.0, Systemd-254, og telepathy-mission-control-5.16.6

Installasjon av GNOME Skallet

Installer GNOME Skallet ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dtests=false       \
            ..                  &&
ninja

For å teste resultatene må du fjerne -Dtests=false bryteren, og å ha Mutter-44.3 kompilert og installert med tester også. For å kjøre testene, utsted: ninja test. Du må kjører en X økt for å kjøre testene. Noen vil mislykkes hvis GDM-44.1 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.

-Dtests=false: Fjern denne bryteren hvis du vil bygge testene. Men da vil meson mislykkes hvis Mutter-44.3 tester ikke er installert.

-Dextensions_tool=false: Denne bryteren tillater bygging av denne pakken uten gnome-autoar-0.4.4 installert.

Innhold

Installerte Programmer: gnome-extensions, gnome-extensions-app, gnome-shell, gnome-shell-extension-prefs, gnome-shell-extension-tool, og gnome-shell-perf-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 3 Skrivebordet

gnome-shell-extensions-44.0

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.0 plattform.

Pakkeinformasjon

GNOME Skallutvidelser Avhengigheter

Påkrevd

libgtop-2.40.0

Valgfri

gnome-menus-3.36.0 (kjøretid, for utvidelse av applikasjoner meny) og sassc-3.6.2

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-44.0

Introduksjon til GNOME Økt

GNOME Økt pakken inneholder GNOME øktbehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GNOME Økt Avhengigheter

Påkrevd

gnome-desktop-44.0, JSON-GLib-1.6.6, Mesa-23.1.6, Systemd-254 (kjøretid), og UPower-1.90.2

Valgfri

xmlto-0.0.28, og libxslt-1.1.38 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.22.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{,-44.0}

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-44.1 er den anbefalte skjermbehandleren.

Det er også mulig å starte GNOME fra kommandolinjen. Du må imidlertid fortsatt ha GDM-44.1 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.2, 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-44.0 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-40.10

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.0 plattform.

Pakkeinformasjon

GNOME Tweaks Avhengigheter

Påkrevd

GTK+-3.24.38, gsettings-desktop-schemas-44.0, libhandy-1.8.2, PyGObject-3.44.1, 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.11/site-packages/gtweak og /usr/share/gnome-tweaks

Korte Beskrivelser

gnome-tweaks

brukes til å justere avanserte GNOME innstillinger

gnome-user-docs-44.3

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.0 plattform.

Pakkeinformasjon

GNOME Brukerdokumenter Avhengigheter

Påkrevd

itstool-2.0.7 og libxml2-2.10.4

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.0 plattform.

Pakkeinformasjon

Yelp Avhengigheter

Påkrevd

gsettings-desktop-schemas-44.0, WebKitGTK-2.41.91 og yelp-xsl-42.1

Anbefalt
Valgfri

GTK-Doc-1.33.2

Note

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 help i gnome applikasjoner vil 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

Chapter 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-44.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.0 plattform.

Pakkeinformasjon

Baobab Avhengigheter

Påkrevd

adwaita-icon-theme-44.0, GTK-4.12.0, itstool-2.0.7, libadwaita-1.3.4, og Vala-0.56.11

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 CD/DVD 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.0 plattform.

Pakkeinformasjon

Brasero Avhengigheter

Påkrevd

gst-plugins-base-1.22.5, itstool-2.0.7, libcanberra-0.30, og libnotify-0.8.2

Anbefalt
Valgfri

GTK-Doc-1.33.2

Anbefalt (Kjøretid)
Valgfri (Kjøretid)

Cdrdao-1.2.4, libdvdcss-1.4.3, Cdrtools-3.02a09, og VCDImager

Installasjon av Brasero

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

Cheese-44.1

Introduksjon til Cheese

Cheese brukes til å ta bilder og videoer med morsomme grafiske effekter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Cheese Avhengigheter

Påkrevd

clutter-gst-3.0.27, clutter-gtk-1.8.4, gnome-desktop-44.0, gst-plugins-bad-1.22.5, gst-plugins-good-1.22.5 (bygget med v4l-utils-1.24.1), libcanberra-0.30, og libgudev-238

Anbefalt
Valgfri

GTK-Doc-1.33.2, libxslt-1.1.38, appstream-glib, LCOV , og Nautilus SendTo

Kjernekonfigurasjon

Avhengig av kameraet ditt, aktiver de aktuelle alternativene og kompiler kjernen på nytt om nødvendig:

Device Drivers --->
  <*/M> Multimedia support --->                                  [MEDIA_SUPPORT]
    [*] Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)
                                                  ...  [MEDIA_SUBDRV_AUTOSELECT]
    Media device types --->
      [*] Cameras and video grabbers                      [MEDIA_CAMERA_SUPPORT]
    Media drivers --->
      [ /*] Media USB Adapters --->                          [MEDIA_USB_SUPPORT]
        # Most modern USB camera needs this.
        # For other devices you need to figure it out yourself:
        < /*/M> USB Video Class (UVC)                          [USB_VIDEO_CLASS]

Installasjon av Cheese

Installer Cheese ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr        \
            --buildtype=release  \
            -Dgtk_doc=false      \
            -Dtests=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.

-Dgtk_doc=false: Denne bryteren forhindrer byggesystemet fra å generere og installere API dokumentasjonen. Utelat denne bryteren hvis du har GTK-Doc-1.33.2 installert og ønsker å generere og installere API dokumentasjonen. Byggedokumentasjonen er ødelagt på grunn av en inkompatibilitet med gtk-doc.

-Dtests=true: Denne bryteren lar deg bygge tester slik at testpakken kan kjøres. Fjern denne bryteren hvis du ikke kommer til å kjøre testene.

Innhold

Installert Program: cheese
Installert Bibliotek: libcheese.so og libcheese-gtk.so
Installerte Mapper: /usr/{include,share/gtk-doc/html,share/help/*}/cheese

Korte Beskrivelser

cheese

er et webkameraverktøy med grafiske effekter

libcheese.so

inneholder Cheese API funksjoner

libcheese-gtk.so

inneholder Cheese GTK+ skjermelementer

EOG-44.3

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.0 plattform.

Pakkeinformasjon

EOG Avhengigheter

Påkrevd

adwaita-icon-theme-44.0, Exempi-2.6.4, gnome-desktop-44.0, libhandy-1.8.2, libjpeg-turbo-3.0.0, libpeas-1.36.0, og shared-mime-info-2.2

Anbefalt
Valgfri

GTK-Doc-1.33.2 og libportal-0.6

Installasjon av EOG

Installer EOG ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dlibportal=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-44.2.1 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.

-Dlibportal=false: Denne parameteren deaktiverer bygging av EOG med støtte for flatpak portaler. Fjern denne parameteren hvis du har libportal-0.6 installert og ønsker å ha støtte for flatpak portaler.

-Dgtk_doc=true: Bruk dette alternativet hvis GTK-Doc-1.33.2 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-44.3

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.0 plattform.

Pakkeinformasjon

Evince Avhengigheter

Påkrevd

adwaita-icon-theme-44.0, gsettings-desktop-schemas-44.0, GTK+-3.24.38, itstool-2.0.7, libhandy-1.8.2, libxml2-2.10.4, og OpenJPEG-2.5.0

Anbefalt
Valgfri

Cups-2.4.6 (for å aktivere utskrift hvis støtte er bygd inn i GTK+ 3), gnome-desktop-44.0, gspell-1.12.2, gst-plugins-base-1.22.5, Gi-DocGen-2023.1, libgxps-0.3.2, libtiff-4.5.1, texlive-20230313 (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/2023/include" \
meson setup --prefix=/usr          \
            --buildtype=release    \
            -Dgtk_doc=false        \
            --wrap-mode=nodownload \
            ..                     &&
ninja

Hvis du har Gi-DocGen-2023.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "/docs_dir/s@\$@ / 'evince-44.3'@" -i ../help/meson.build &&
sed '/fatal-warnings/d' -i ../help/reference/*/meson.build    &&
meson configure -Dgtk_doc=true                                &&
ninja

Denne pakken har ikke en fungerende testpakke.

Nå, som root bruker:

ninja install

Note

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/...": 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 -Dgtk_doc=false er gitt.

-Dgtk_doc=false: Tillat å bygge denne pakken uten Gi-DocGen-2023.1 installert. Hvis du har Gi-DocGen-2023.1 installert og du ønsker å gjenoppbygge og installere API dokumentasjonen, en meson configure kommando vil tilbakestille dette alternativet.

-Dgspell=false: Denne bryteren slår av støtten for stavekontroll programtillegget.

-Dintrospection=false: Bruk dette alternativet hvis du ikke har gobject-introspection-1.76.1 installert og ikke ønsker å ha introspection støtte innebygd i Evince.

-Dnautilus=false: Denne bryteren deaktiverer bygging av Nautilus Programmtillegget. Bruk denne bryteren hvis Nautilus ikke er installert.

-Dkeyring=false: Denne bryteren deaktiverer bruken av libsecret. Bruk denne bryteren hvis libsecret ikke er installert.

-Dps=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.48.4

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.0 plattform.

Pakkeinformasjon

Evolution Avhengigheter

Påkrevd

adwaita-icon-theme-44.0, evolution-data-server-3.48.4, Gcr-4.1.0, gnome-autoar-0.4.4, shared-mime-info-2.2, og WebKitGTK-2.41.91

Anbefalt
Valgfri

clutter-gtk-1.8.4, GeoClue-2.7.0, geocode-glib-3.26.4, og libchamplain-0.12.21 (Contact Maps programtillegg), GTK-Doc-1.33.2, cmark, Glade, libpst, libunity, libytnef

Installasjon av Evolution

Installer Evolution ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DSYSCONF_INSTALL_DIR=/etc  \
      -DENABLE_INSTALLED_TESTS=ON \
      -DENABLE_PST_IMPORT=OFF     \
      -DENABLE_YTNEF=OFF          \
      -DENABLE_CONTACT_MAPS=OFF   \
      -DENABLE_MARKDOWN=OFF       \
      -DENABLE_WEATHER=ON         \
      -G Ninja .. &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-DENABLE_YTNEF=OFF: Denne bryteren brukes til å deaktiver bruken av yTNEF biblioteket fordi libytnef ikke er en del av BLFS.

-DENABLE_PST_IMPORT=OFF: Denne bryteren brukes til å deaktivere pst-import programtillegget fordi libpst ikke er en del av BLFS.

-DENABLE_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.

-DENABLE_MARKDOWN=OFF: Denne bryteren tillater bygging uten cmark. Fjern denne bryteren hvis du trenger markdown støtte og du har installert nødvendige avhengigheter.

-DENABLE_WEATHER=ON: Denne bryteren tillater bygging mot libgweather-4.2.0.

-DWITH_HELP=OFF: Denne bryteren deaktiverer bygging av manualen til denne pakken. Bruk denne bryteren hvis du ikke har installert itstool-2.0.7.

-DWITH_OPENLDAP=OFF: Bruk denne bryteren hvis du ikke har installert OpenLDAP-2.6.6.

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-43.0

Introduksjon til File Roller

File Roller er en arkivbehandler for GNOME med støtte for tar, bzip2, 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.0 plattform.

Note

File Roller er kun et grafisk grensesnitt til arkiveringsverktøy som f.eks tar og zip.

Pakkeinformasjon

File Roller Avhengigheter

Påkrevd

GTK+-3.24.38 og itstool-2.0.7

Anbefalt
Valgfri (for API dokumentasjonen)

Gi-DocGen-2023.1

Valgfri (Kjøretid)

UnRar-6.2.10, UnZip-6.0, 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 \
            -Dpackagekit=false  \
            ..                  &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install &&
chmod -v 0755 /usr/libexec/file-roller/isoinfo.sh

Note

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

Note

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/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK+-2.24.33 eller GTK+-3.24.38 installert (for ikonbufferen) og desktop-file-utils-0.26 (for skrivebordsbufferen) og kjøre 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.

-Dpackagekit=false: Denne bryteren deaktiverer bruken av PackageKit som ikke er egnet for BLFS.

-Dapi_docs=enabled: Bruk denne bryteren hvis du har Gi-DocGen-2023.1 installert og ønsker å generere API dokumentasjonen.

Innhold

Installert Program: file-roller
Installerte Biblioteker: libnautilus-fileroller.so
Installerte Mapper: /usr/{libexec,share{,/help/*}}/file-roller

Korte Beskrivelser

file-roller

er arkivbehandler for GNOME

gnome-calculator-44.0

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.0 plattform.

Pakkeinformasjon

GNOME Kalkulator Avhengigheter

Påkrevd

gtksourceview5-5.8.0, itstool-2.0.7, libadwaita-1.3.4, libgee-0.20.6, libhandy-1.8.2, og libsoup-3.4.2

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.0

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.0 plattform.

Pakkeinformasjon

GNOME Fargebehandler Avhengigheter

Påkrevd

colord-1.4.6, GTK+-3.24.38, itstool-2.0.7, Little CMS-2.14, libcanberra-0.30, og libexif-0.6.24

Anbefalt
Valgfri

appstream-glib og 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, og 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-disk-utility-44.0

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.0 plattform.

Pakkeinformasjon

GNOME Diskverktøy Avhengigheter

Påkrevd

gnome-settings-daemon-44.1, itstool-2.0.7, libdvdread-6.1.3, libhandy-1.8.2, libpwquality-1.4.5, libsecret-0.21.0, og UDisks-2.10.0

Valgfri

appstream-glib

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-43.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.0 plattform.

Pakkeinformasjon

GNOME Logger Avhengigheter

Påkrevd

GTK-4.12.0, gsettings-desktop-schemas-44.0, itstool-2.0.7, og libadwaita-1.3.4

Valgfri

desktop-file-utils-0.26 (for testpakken), og docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.38 (for å bygge manual sider), appstream-glib, 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-44.3

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.0 plattform.

Pakkeinformasjon

GNOME Kart Avhengigheter

Påkrevd

desktop-file-utils-0.26, GeoClue-2.7.0, geocode-glib-3.26.4, Gjs-1.76.2, libadwaita-1.3.4, libshumate-1.0.5, libgweather-4.2.0, 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

Denne pakken kommer ikke med en testpakke.

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

GNOME Nettverktøy Avhengigheter

Påkrevd

GTK+-3.24.38, itstool-2.0.7, og libgtop-2.40.0

Kjøretids Avhengigheter

BIND Utilities-9.18.18, Nmap-7.94, Net-tools-2.10, Traceroute-2.1.2, 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.0 plattform.

Pakkeinformasjon

GNOME Strømstyring Avhengigheter

Påkrevd

GTK+-3.24.38 og UPower-1.90.2

Valgfri

DocBook-utils-0.6.14 og appstream-glib

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.0 plattform.

Pakkeinformasjon

GNOME Skjermbilde Avhengigheter

Påkrevd

GTK+-3.24.38, libcanberra-0.30 (Kompilert med GTK+3 støtte), og libhandy-1.8.2

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

Note

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-45.0

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.0 plattform.

Pakkeinformasjon

GNOME Systemovervåking Avhengigheter

Påkrevd

adwaita-icon-theme-44.0, Gtkmm-3.24.8, itstool-2.0.7, libgtop-2.40.0, libhandy-1.8.2, og librsvg-2.56.3

Valgfri

desktop-file-utils-0.26, appstream-glib, 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.48.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.0 plattform.

Pakkeinformasjon

GNOME Terminal Avhengigheter

Påkrevd

DConf-0.40.0, gnome-shell-44.3, gsettings-desktop-schemas-44.0, itstool-2.0.7, pcre2-10.42, og VTE-0.72.2

Anbefalt
Valgfri

desktop-file-utils-0.26, og appstream-glib

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

Note

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.

-Dsearch_provider=false: Denne bryteren deaktiverer search gnome-shell leverandøren. Bruk dette alternativet hvis du ikke har gnome-shell installert.

-Dnautilus_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-44.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.0 plattform.

Pakkeinformasjon

GNOME Vær Avhengigheter

Påkrevd

Gjs-1.76.2, libadwaita-1.3.4, og libgweather-4.2.0

Valgfri

appstream-glib

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-15.0.4

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Gucharmap Avhengigheter

Påkrevd

desktop-file-utils-0.26, gsettings-desktop-schemas-44.0, GTK+-3.24.38, itstool-2.0.7, pcre2-10.42, og UnZip-6.0

Anbefalt
Valgfri

appstream-glib og GTK-Doc-1.33.2

Installasjon av Gucharmap

Note

Denne pakken bruker to uversjonerte nedlastinger. Det kan være lurt å gi nytt navn til disse til et versjonert navn, f.eks. UCD-15.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 \
            -Ducd_path=./ucd    \
            -Ddocs=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.

-Ducd_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.

-Ddocs=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.

-Dgir=false: Bruk denne hvis du ikke har installert gobject-introspection-1.76.1.

-Dvapi=false: Bruk denne hvis du ikke har installert Vala-0.56.11.

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-43.0

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.0 plattform.

Pakkeinformasjon

Seahorse Avhengigheter

Påkrevd

Gcr-3.41.1, GnuPG-2.4.3, GPGME-1.21.0, itstool-2.0.7, libhandy-1.8.2, libpwquality-1.4.5 og libsecret-0.21.0

Anbefalt
Valgfri

Avahi-0.8

Kjøretids Avhengigheter

gnome-keyring-42.1

Installasjon av Seahorse

Installer Seahorse ved å kjøre følgende kommandoer:

sed -i -r 's:"(/apps):"/org/gnome\1:' data/*.xml &&

sed -i "s/'2.3.0'/'2.3.0', '2.4.0'/" meson.build &&

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.

sed ... meson.build: Denne kommandoen fikser bygging med GnuPG-2.4 installert.

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

Vinagre-3.22.0

Introduksjon til Vinagre

Vinagre er en VNC klient for GNOME Skrivebordet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Vinagre Avhengigheter

Påkrevd

gtk-vnc-1.3.1, itstool-2.0.7, og libsecret-0.21.0

Anbefalt
Valgfri

Avahi-0.8, appstream-glib, FreeRDP (For tilkobling til Windows skrivebord), og Spice-GTK

Installasjon av Vinagre

Først fiks et problem eksponert av GCC-10:

sed -e '/_VinagreVnc/i gboolean scaling_command_line;' \
    -i plugins/vnc/vinagre-vnc-connection.c &&
sed -e '/scaling_/s/^/extern /' \
    -i plugins/vnc/vinagre-vnc-connection.h

Installer Vinagre ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --enable-compile-warnings=minimum &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-compile-warnings=minimum: Denne bryteren deaktiverer kompilatoradvarsler som kan føre til at byggingen mislykkes når det bygges under GCC6.

Innhold

Installerte Programmer: vinagre
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/help/*/vinagre og /usr/share/vinagre

Korte Beskrivelser

vinagre

er en ekstern skrivebordsvisning for GNOME Skrivebordet

Part IX. Xfce

Chapter 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.18.1

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.0 plattform.

Pakkeinformasjon

libxfce4util Avhengigheter

Påkrevd

GLib-2.76.4 og gobject-introspection-1.76.1

Anbefalt
Valgfri

GTK-Doc-1.33.2

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.18.1

Introduksjon til Xfconf

Xfconf er konfigurasjonslagringssystemet for Xfce.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Xfconf Avhengigheter

Påkrevd

libxfce4util-4.18.1

Valgfri

GTK-Doc-1.33.2 og Vala-0.56.11

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.18.4

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.0 plattform.

Pakkeinformasjon

libxfce4ui Avhengigheter

Påkrevd

GTK+-3.24.38 og Xfconf-4.18.1

Anbefalt
Valgfri

GTK-Doc-1.33.2, libgtop-2.40.0, 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.18.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.0 plattform.

Pakkeinformasjon

Exo Avhengigheter

Påkrevd

GTK+-3.24.38, libxfce4ui-4.18.4, og libxfce4util-4.18.1

Valgfri

GTK-Doc-1.33.2

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.18.1

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.0 plattform.

Pakkeinformasjon

Garcon Avhengigheter

Påkrevd

libxfce4ui-4.18.4 og GTK+-3.24.38

Valgfri

GTK-Doc-1.33.2

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

xfce4-panel-4.18.4

Introduksjon til Xfce4 Panel

Xfce4 Panel pakken inneholder Xfce4 Panel.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Xfce4 Panel Avhengigheter

Påkrevd

Cairo-1.17.6, Exo-4.18.0, Garcon-4.18.1, og libwnck-43.0

Valgfri

GTK-Doc-1.33.2 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.18.6

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.0 plattform.

Pakkeinformasjon

Thunar Avhengigheter

Påkrevd

Exo-4.18.0

Påkrevd (Kjøretid)

hicolor-icon-theme-0.17

Anbefalt
Valgfri

GTK-Doc-1.33.2 (for dokumentasjon), Gvfs-1.50.6 (for fjernsurfing og automontering), libexif-0.6.24 og tumbler-4.18.1 (kjøretid)

Installasjon av Thunar

Installer Thunar ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/thunar-4.18.6 &&
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.18.6, 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.18.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.0 plattform.

Pakkeinformasjon

Thunar Volumbehandler Avhengigheter

Påkrevd

Exo-4.18.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.18.1

Introduksjon til tumbler

Tumbler pakken inneholder en D-Bus miniatyrbildetjeneste basert på miniatyrbilderbehandling av D-Bus spesifikasjoner. Dette er nyttig for å generere miniatyrbilder av filer.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Tumbler Avhengigheter

Påkrevd

GLib-2.76.4

Valgfri

cURL-8.2.1, FreeType-2.13.1, gdk-pixbuf-2.42.10, gst-plugins-base-1.22.5, GTK-Doc-1.33.2, libjpeg-turbo-3.0.0, libgsf-1.14.50, libpng-1.6.40, Poppler-23.08.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.18.1

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.0 plattform.

Pakkeinformasjon

Xfce4 Appfinder Avhengigheter

Påkrevd

Garcon-4.18.1

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.18.2

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.0 plattform.

Pakkeinformasjon

Xfce4 Strømbehandler Avhengigheter

Påkrevd

libnotify-0.8.2, UPower-1.90.2, og xfce4-panel-4.18.4

Anbefalt
Valgfri

NetworkManager-1.44.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.18.3

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.0 plattform.

Pakkeinformasjon

Xfce4 Innstillinger Avhengigheter

Påkrevd

Exo-4.18.0 og Garcon-4.18.1

Påkrevd (Kjøretid)

gnome-icon-theme-3.12.0 eller lxde-icon-theme-0.5.1

Anbefalt
Valgfri

colord-1.4.6, libinput-1.23.0, og UPower-1.90.2

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.18.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.0 plattform.

Pakkeinformasjon

Xfdesktop Avhengigheter

Påkrevd

Exo-4.18.0 og libwnck-43.0

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.18.0

Introduksjon til Xfwm4

Xfwm4 er vindusbehandleren for Xfce.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Xfwm4 Avhengigheter

Påkrevd

libwnck-43.0 og libxfce4ui-4.18.4

Anbefalt
Valgfri

libxpresent

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.18.3

Introduksjon til Xfce4 Økter

Xfce4 Økter er øktbehandler for Xfce. Dens oppgave er å lagre tilstanden til ditt skrivebord (åpnede applikasjoner og deres plassering) og gjenopprett det i løpet av neste oppstart. Du kan lage flere forskjellige økter og velge en av dem ved oppstart.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Xfce4 Økter Avhengigheter

Påkrevd

libwnck-43.0 og libxfce4ui-4.18.4

Anbefalt
Påkrevd Kjøretid

Xfdesktop-4.18.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.14.8, GnuPG-2.4.3, hicolor-icon-theme-0.17 OpenSSH-9.4p1 og xinit-1.4.2

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.2, eller fra en grafisk skjermbehandler, som f.eks lightdm-1.32.0.

For å starte Xfce4 ved bruk av xinit-1.4.2, 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

Chapter 36. Xfce Applikasjoner

Dette er en liten samling av valgfrie applikasjoner som legger til ekstra kapasiteter til ditt Xfce skrivebord.

Parole-4.18.0

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.0 plattform.

Note

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

gst-plugins-base-1.22.5, gst-plugins-good-1.22.5 og libxfce4ui-4.18.4

Anbefalt
Valgfri

GTK-Doc-1.33.2

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.0

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.0 plattform.

Pakkeinformasjon

Xfce4 Terminal Avhengigheter

Påkrevd

libxfce4ui-4.18.4 og VTE-0.72.2

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.0

Introduksjon til Xfburn

Xfburn er et GTK+ 3 GUI grensesnitt for Libisoburn. Dette er nyttig for å lage CDer og DVDer fra filer på datamaskinen eller ISO bilder lastet ned fra andre steder.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Xfburn Avhengigheter

Påkrevd

Exo-4.18.0, libburn-1.5.6, libisofs-1.5.6, og libxfce4ui-4.18.4

Valgfri

gst-plugins-base-1.22.5 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.1

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.0 plattform.

Pakkeinformasjon

Ristretto Avhengigheter

Påkrevd

libexif-0.6.24 og libxfce4ui-4.18.4

Valgfri

tumbler-4.18.1 (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-dev-tools-4.18.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.0 plattform.

Pakkeinformasjon

Xfce4 Utviklingsverktøy Avhengigheter

Påkrevd

GLib-2.76.4

Installasjon av Xfce4 Utviklingsverktøy

Installer Xfce4 Utviklingsverktøy ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installert Program: xdt-autogen og xdt-csource
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

xfce4-notifyd-0.8.2

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.0 plattform.

Pakkeinformasjon

The Xfce4 Varslingsnisse Avhengigheter

Påkrevd

libnotify-0.8.2, libxfce4ui-4.18.4, xfce4-dev-tools-4.18.0, og xfce4-panel-4.18.4

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.7

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.0 plattform.

Pakkeinformasjon

Xfce4 Pulseaudio Programtillegg Avhengigheter

Påkrevd

dbus-glib-0.112, libnotify-0.8.2, PulseAudio-16.1, og xfce4-panel-4.18.4

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

Part X. LXDE

Chapter 37. LXDE Skrivebord

LXDE er et ekstremt raskt og energibesparende skrivebordsmiljø.

LXDE kommer med et vakkert grensesnitt, flerspråklig støtte, standard tastatur snarveier og tilleggsfunksjoner som filsurfing med faner. LXDE bruker mindre CPU og mindre RAM enn andre miljøer. Den er spesielt utviklet for skydatamaskiner med lave maskinvarespesifikasjoner, for eksempel netbooks, mobile enheter (f.eks. MID-er) eller eldre datamaskiner.

Bygg LXDE kjernepakker i den rekkefølgen som er presentert i boken for enkleste løsning av avhengigheter.

lxmenu-data-0.1.5

Introduksjon til LXMenu Data

LXMenu Data pakken gir filer som kreves for å bygge freedesktop.org menyspesifikasjonskompatible skrivebordsmenyer for LXDE.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Installasjon av LXMenu Data

Installer LXMenu Data 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
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/xdg/menus og /usr/share/desktop-directories

libfm-extra-1.3.2

Introduksjon til libfm-extra

libfm-extra pakken inneholder et bibliotek og andre filer som kreves av menu-cache-gen libexec av menu-cache-1.1.0.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libfm-extra Avhengigheter

Påkrevd

GLib-2.76.4

Installasjon av libfm-extra

Installer libfm-extra ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --with-extra-only \
            --with-gtk=no     \
            --disable-static  &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--with-extra-only: Denne bryteren deaktiverer alle komponenter bortsett fra libfm-extra biblioteket.

--with-gtk=no: Denne bryteren deaktiverer støtte for GTK+ fordi det ikke er nødvendig for denne pakken.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libfm-extra.so
Installerte Mapper: /usr/include/libfm (symbolkobling) og /usr/include/libfm-1.0

Korte Beskrivelser

libfm-extra.so

inneholder libfm-extra API funksjoner

menu-cache-1.1.0

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Meny Cache Avhengigheter

Påkrevd

libfm-extra-1.3.2

Valgfri

GTK-Doc-1.33.2 og xdg-utils-1.1.3

Installasjon av Meny Cache

Først fiks en minnelekkasje og flere definisjons problemer:

patch -Np1 -i ../menu-cache-1.1.0-consolidated_fixes-1.patch

Installer Meny Cache 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 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-1.3.2

Introduksjon til libfm

libfm pakken inneholder et bibliotek som brukes til å utvikle filbehandlere som tilbyr noen filbehandlingsverktøy.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libfm Avhengigheter

Påkrevd

GTK+-2.24.33 eller GTK+-3.24.38 (GTK+-2 anbefalt siden LXDE GTK+-3 støtte fortsatt er eksperimentell), og menu-cache-1.1.0

Recommended
Anbefalt

GTK-Doc-1.33.2, dbus-glib-0.112 og Gvfs-1.50.6 eller udisks (for volumstyring - eksperimentell)

Installasjon av libfm

Installer libfm ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--with-gtk=3: Dette alternativet velger versjon av gtk+ å bruke. Standard er gtk+-2.

--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: libfm-pref-apps og lxshortcut
Installerte Biblioteker: libfm.so, libfm-extra.so og libfm-gtk.so
Installerte Mapper: /etc/xdg/libfm, /usr/lib/libfm, /usr/share/gtk-doc/html/libfm og /usr/share/libfm

Korte Beskrivelser

libfm-pref-apps

setter foretrukne applikasjoner for programmer basert på libfm

lxshortcut

er et lite program som brukes til å redigere applikasjonssnarveier

libfm.so

inneholder libfm API funksjoner

PCManFM-1.3.2

Introduksjon til PCManFM

PCManFM pakken inneholder en ekstremt rask, lett, men funksjonsrik filbehandler med fanebasert surfing.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

PCManFM Avhengigheter

Påkrevd

libfm-1.3.2

Anbefalt

Installasjon av PCManFM

Installer PCManFM 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

--with-gtk=3: Velger versjonen av GTK+ som skal brukes. Du må bruke denne bryteren hvis du har bygget libfm-1.3.2 med GTK+3 støtte.

Innhold

Installert Program: pcmanfm
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/xdg/pcmanfm, /usr/lib/pcmanfm og /usr/share/pcmanfm

Korte Beskrivelser

pcmanfm

er en lettvekts GTK+ basert filbehandler for X Vindussystemet

libwnck-2.30.7

Introduksjon til libwnck

libwnck pakken inneholder en vindusnavigator byggesett.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libwnck Avhengigheter

Påkrevd

GTK+-2.24.33

Anbefalt
Valgfri

gobject-introspection-1.76.1 og GTK-Doc-1.33.2

Installasjon av libwnck

Installer libwnck ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --disable-static \
            --program-suffix=-1 &&
make GETTEXT_PACKAGE=libwnck-1

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make GETTEXT_PACKAGE=libwnck-1 install

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--program-suffix=-1: Dette alternativet legger til -1 til slutten av navnene på de installerte programmene for å unngå å overskrive programmer installert av libwnck-43.0.

GETTEXT_PACKAGE=libwnck-1: Denne parameteren legger til -1 til slutten av navnene på gettext filene som er installert av pakken for å unngå å overskrive filene installert av libwnck-43.0.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Innhold

Installerte Programmer: wnckprop-1 og wnck-urgency-monitor-1
Installert Bibliotek: libwnck-1.so
Installerte Mapper: /usr/include/libwnck-1.0 og /usr/share/gtk-doc/html/libwnck-1.0

Korte Beskrivelser

wnckprop-1

Skriver ut, endrer eller samhandler med egenskapene til en skjerm/arbeidsområde/vindu

libwnck-1.so

inneholder funksjoner for å skrive tekstvisningprogram og oppgavelister

LXPanel-0.10.1

Introduksjon til LXPanel

LXPanel pakken inneholder en lett X11 skrivebordspanel.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXPanel Avhengigheter

Påkrevd

gdk-pixbuf-xlib-2.40.2, keybinder-0.3.1, libwnck-2.30.7, lxmenu-data-0.1.5 og menu-cache-1.1.0

Anbefalt
Valgfri

libindicator (indicator programtillegg)

Installasjon av LXPanel

Installer LXPanel 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: lxpanel og lxpanelctl
Installerte Biblioteker: liblxpanel.so og flere under /usr/lib/lxpanel/plugins
Installerte Mapper: /etc/xdg/lxpanel, /usr/include/lxpanel, /usr/lib/lxpanel, og /usr/share/lxpanel

Korte Beskrivelser

lxpanel

er en lettvekts GTK+ basert panel for LXDE Skrivebordet

lxpanelctl

er et program som kontrollerer lxpanel

LXAppearance-0.6.3

Introduksjon til LXAppearance

LXAppearance pakken inneholder en skrivebordsuavhengig temabytter for GTK+.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXAppearance Avhengigheter

Påkrevd

GTK+-2.24.33

Anbefalt
Valgfri

libxslt-1.1.38 med docbook-xml-4.5 og docbook-xsl-nons-1.79.2 (for å bygge mansider)

Installasjon av LXAppearance

Installer LXAppearance ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --enable-dbus     &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--enable-dbus: Denne bryteren aktiverer DBus støtte i LXAppearance som er nyttig for å kommunisere med LXSession. Fjern den hvis du ikke bygger LXDE eller ikke har installert dbus-glib-0.112.

--enable-man: Bruk denne bryteren hvis du har installert valgfrie avhengigheter og ønsker å gjenoppbygge manualsider.

Innhold

Installert Program: lxappearance
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/include/lxappearance og /usr/share/lxappearance

Korte Beskrivelser

lxappearance

er et program som brukes til å endre GTK+ temaer, ikontemaer og skrifter som brukes av programmer

LXSession-0.5.5

Introduksjon til LXSession

LXSession pakken inneholder standard øktbehandler for LXDE.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXSession Avhengigheter

Påkrevd

dbus-glib-0.112, libunique-1.1.6, Polkit-123, og Vala-0.56.11

Valgfri

lsb-tools-0.10 (kan brukes under kjøring for å vise distribusjonsutgivelsen i utloggingsdialogen), GTK+-3.24.38, og libxslt-1.1.38 med docbook-xml-4.5 og docbook-xsl-nons-1.79.2 (for å bygge mansider)

Installasjon av LXSession

Installer LXSession ved å kjøre følgende kommandoer:

./configure --prefix=/usr --disable-man &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

--disable-man: Denne bryteren deaktiverer bygging av manualsidene. Fjern den hvis du har installert valgfrie avhengigheter og ønsker å bygge manualsidene.

--enable-gtk3: Bygger mot GTK+-3 i stedet for GTK+-2, som uansett kreves av libunique.

Innhold

Installerte Programmer: lxclipboard, lxlock, lxpolkit, lxsession, lxsession-db, lxsession-default, lxsession-default-apps, lxsession-default-terminal, lxsession-edit, lxsession-logout, lxsession-xdg-autostart, lxsession-xsettings, og lxsettings-daemon
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/lxsession

Korte Beskrivelser

lxclipboard

er et utklippstavleverktøy for LXSession og LXDE

lxlock

låser den lokale X skjermen til et passord er angitt

lxpolkit

er en polkit agent

lxsession

er en lettvekts X øktbehandler

lxsession-db

brukes til å endre databasen for administrasjon av økter i lxsession

lxsession-default

starter standardapplikasjoner angitt av LXsession

lxsession-default-apps

er et verktøy for å konfigurere lxsession og standardapplikasjonene

lxsession-default-terminal

starter standardterminalen angitt av LXSession

lxsession-edit

er standard øktredigeringsbehandler som brukes av LXDE

lxsession-logout

er et program for å logge ut fra LXSession

lxsession-xdg-autostart

håndterer autostartspesifikasjonen til freedesktop.org

lxsession-xsettings

er et verktøy for å konfigurere gtk+ temaer, tastatur og mus for deg ved oppstart av økten

lxsettings-daemon

er innstillingsnissen for LXsession

lxde-common-0.99.2

Introduksjon til LXDE Felles

LXDE Felles pakken gir et sett med standardkonfigurasjon for LXDE.

Note

LXDE har ingen bakgrunnslyskontrollfunksjonalitet for bærbare datamaskiner. Hvis du trenger bakgrunnslyskontroll, bør du bruke et alternativt skrivebordsmiljø, eller vurder å justere bakgrunnsbelysningen på den bærbare datamaskinen manuelt ved å bruke instruksjonene fra Arch Linux Wiki - Backlight.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXDE Felles Avhengigheter

Påkrevd

lxde-icon-theme-0.5.1, LXPanel-0.10.1, LXSession-0.5.5, openbox-3.6.1 (kjøretid), og PCManFM-1.3.2

Anbefalt
Valgfrie Kjøretids Avhengigheter

En varslingsnisse som f.eks notification-daemon-3.20.0 eller xfce4-notifyd-0.8.2, og en skjermbehandler som f.eks sddm-0.20.0 eller lightdm-1.32.0

Installasjon av LXDE Felles

Installer LXDE 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 install

Hvis du har installert anbefalte avhengigheter, kjør følgende kommandoer som root bruker:

update-mime-database /usr/share/mime &&
gtk-update-icon-cache -qf /usr/share/icons/hicolor &&
update-desktop-database -q

Starte LXDE

Du kan starte LXDE fra kjørenivå 3, ved hjelp av xinit-1.4.2, eller fra kjørenivå 5, ved å bruke en Skjermbehandler, som sddm-0.20.0 eller lightdm-1.32.0.

For å starte LXDE ved hjelp av xinit-1.4.2, kjør følgende kommandoer:

cat > ~/.xinitrc << "EOF"
# No need to run dbus-launch, since it is run by startlxde
startlxde
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: lxde-logout, openbox-lxde og startlxde
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/xdg/{lxpanel,lxsession,openbox,pcmanfm}/LXDE og /usr/share/lxde

Korte Beskrivelser

lxde-logout

brukes til å avslutte skrivebordsøkten for LXDE

openbox-lxde

er et innpakningsskript som kjører Openbox med LXDE spesifikk konfigurasjonsfil

startlxde

brukes til å starte skrivebordsøkten for LXDE

Chapter 38. LXDE Applikasjoner

Dette er en liten samling av valgfrie applikasjoner som legger til ekstra kapasiteter til LXDE skrivebordet.

GPicView-0.2.5

Introduksjon til GPicView

GPicView pakken inneholder en lettvekts bildeviser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

GPicView Avhengigheter

Påkrevd

GTK+-2.24.33

Installasjon av GPicView

Installer GPicView ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
sed -i 's/Utility;//' /usr/share/applications/gpicview.desktop

Hvis du har xdg-utils-1.1.3 installert, som root bruker, bør du kjøre xdg-icon-resource forceupdate --theme hicolor kommandoen, for at det installerte ikonet skal vises i menyelementet.

Parameterforklaringer

sed -i ...: Retter undermeny for GPicView.

Innhold

Installert Program: gpicview
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/gpicview

Korte Beskrivelser

gpicview

er en lettvekts bildeviser

lxappearance-obconf-0.2.3

Introduksjon til LXAppearance OBconf

LXAppearance OBconf pakken inneholder et programtillegg for LXAppearance for å konfigurere OpenBox.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXAppearance OBconf Avhengigheter

Påkrevd

LXAppearance-0.6.3 og openbox-3.6.1

Installasjon av LXAppearance OBconf

Installer LXAppearance OBconf 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: /usr/lib/lxappearance/plugins/obconf.so
Installerte Mapper: /usr/lib/lxappearance og /usr/share/lxappearance/obconf

LXInput-0.3.5

Introduksjon til LXInput

LXInput pakken inneholder et lite program som brukes til å konfigurere tastatur og mus for LXDE.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXInput Avhengigheter

Påkrevd

GTK+-2.24.33

Installasjon av LXInput

Installer LXInput 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: lxinput
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/lxinput

Korte Beskrivelser

lxinput

er et program som brukes til å konfigurere tastatur og mus

LXRandR-0.3.2

Introduksjon til LXRandR

LXRandR pakken inneholder et skjermkonfigurasjonsverktøy for LXDE.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXRandR Avhengigheter

Påkrevd

GTK+-2.24.33 og Xorg Applikasjoner

Valgfri

libxslt-1.1.38 med docbook-xml-4.5 og docbook-xsl-nons-1.79.2 (for å bygge mansider)

Installasjon av LXRandR

Installer LXRandR 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-man: Bruk denne bryteren hvis du har installert valgfrie avhengigheter og ønsker å bygge manual sider.

Innhold

Installert Program: lxrandr
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

lxrandr

er GTK+ grensesnittet til XRandR

LXTask-0.1.10

Introduksjon til LXTask

LXTask pakken inneholder en lett og skrivebordsuavhengig oppgavebehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXTask Avhengigheter

Påkrevd

GTK+-2.24.33

Installasjon av LXTask

Installer LXTask 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: lxtask
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

Korte Beskrivelser

lxtask

er en lett og skrivebordsuavhengig oppgavebehandler

Vte-0.28.2

Introduksjon til Vte

Vte er et bibliotek (libvte) som implementerer en terminalemulator skjermelement for GTK+ 2, og en minimal demonstrasjonsapplikasjon (vte) som bruker libvte.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Vte Avhengigheter

Påkrevd

GTK+-2.24.33

Valgfri

gobject-introspection-1.76.1, GTK-Doc-1.33.2 og PyGTK-2.24.0

Installasjon av Vte

Installer Vte ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --libexecdir=/usr/lib/vte \
            --disable-static  &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Parameterforklaringer

--libexecdir=/usr/lib/vte : både denne pakken og VTE-0.72.2 installerer filer med samme navn. Denne bryteren sikrer at de ikke overskriver hverandre hvis begge er installert.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installert Program: vte
Installert Bibliotek: libvte.so
Installerte Mapper: /usr/include/vte-0.0, /usr/lib/vte, /usr/share/gtk-doc/html/vte-0.0 og /usr/share/vte

Korte Beskrivelser

vte

er en enkel terminalemulator

libvte.so

inneholder Vte API funksjoner

LXTerminal-0.4.0

Introduksjon til LXTerminal

LXTerminal pakken inneholder en VTE basert terminalemulator for LXDE med støtte for flere faner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

LXTerminal Avhengigheter

Påkrevd

Vte-0.28.2

Valgfri

libxslt-1.1.38 med docbook-xml-4.5 og docbook-xsl-nons-1.79.2 (for å bygge mansider)

Installasjon av LXTerminal

Installer LXTerminal 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-man: Bruk denne bryteren hvis du har installert valgfrie avhengigheter og ønsker å bygge manualsider.

Innhold

Installert Program: lxterminal
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/lxterminal

Korte Beskrivelser

lxterminal

en lett terminalemulator for LXDE skrivebordet

Part XI. LXQt

Chapter 39. 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-5.15.10 er ganske lang og har mange avhengigheter. Som et alternativ kan de nødvendige komponentene som trengs for LXQt bygges ved å bruke prosedyrene i qt-alternate-5.15.10.

  3. Bygg til slutt LXQt skrivebordet ved å bruke sidene nedenfor i rekkefølge. Pakkene i applikasjonsdelen er valgfrie, men som et minimum, qterminal-1.3.0 er anbefalt.

KF5, Plasma og Diverse Avhengigheter

kwindowsystem-5.109.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.0 plattform.

Important

Denne pakken er hentet fra KF5 settet med pakker. Hvis KDE Frameworks-5.109.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

kwindowsystem Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0, Xorg Biblioteker, og (Qt-5.15.10 eller qt-alternate-5.15.10)

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/kwindowsystem

Installasjon av kwindowsystem

Installer kwindowsystem ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_TESTING=OFF         \
      -Wno-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Til slutt, fjern noen unødvendige filer som root bruker:

rm -rf /usr/mkspecs

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKF5WindowSystem.so
Installerte Mapper: /usr/lib/cmake/KF5WindowSystem, /usr/include/KF5, og /usr/lib/plugins/kf5

Korte Beskrivelser

libKF5WindowSystem.so

inneholder KF5 Windowing API funksjoner

kwayland-5.109.0 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.0 plattform.

Important

Denne pakken er hentet fra KF5 settet med pakker. Hvis KDE Frameworks-5.109.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

kwayland Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0, Mesa-23.1.6 (bygget med Wayland-1.22.0 støtte), plasma-wayland-protocols-1.10.0, og (Qt-5.15.10 eller qt-alternate-5.15.10)

Installasjon av kwayland

Installer kwayland ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_TESTING=OFF         \
      -Wno-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Til slutt, fjern noen unødvendige filer som root bruker:

rm -rf /usr/mkspecs

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKF5WaylandClient.so og libKF5WaylandServer.so
Installerte Mapper: /usr/lib/cmake/KF5Wayland, /usr/include/KF5/KWayland, og /usr/share/qlogging-categories5

Korte Beskrivelser

libKF5WaylandClient.so

inneholder wayland-client Qt stil innpakningsbibliotek

libKF5WaylandServer.so

inneholder wayland-server Qt stil innpakningsbibliotek

kconfig-5.109.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.0 plattform.

Important

Denne pakken er hentet fra KF5 settet med pakker. Hvis KDE Frameworks-5.109.0 er bygget, IKKE bygg denne pakken som er presentert her også.

Pakkeinformasjon

kconfig Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Installasjon av kconfig

Installer kconfig ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_LIBDIR=lib  \
      -DBUILD_TESTING=OFF         \
      -Wno-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Til slutt, fjern noen unødvendige filer som root bruker:

rm -rf /usr/mkspecs &&
rm -rf /usr/lib/libexec

Innhold

Installerte Programmer: kreadconfig5 og kwriteconfig5
Installert Bibliotek: libKF5ConfigCore.so, libKF5ConfigGui.so, og libKF5ConfigQml.so
Installerte Mapper: /usr/lib/cmake/KF5Config og /usr/include/KF5/{KConfigCore,KConfig,KConfigQml,KConfigGui}

Korte Beskrivelser

kreadconfig5

leser en konfigurasjonsfil ved å bruke KConfig grensesnittet

kwriteconfig5

skriver til en konfigurasjonsfil ved å bruke KConfig grensesnittet

libKF5ConfigCore.so

inneholder kjernekonfigurasjonsbiblioteket for KF5

libKF5ConfigGui.so

inneholder funksjoner for en GUI for KConfig

libKF5ConfigQml.so

inneholder et QML grensesnitt til KConfig

solid-5.109.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.0 plattform.

Important

Denne pakken er hentet fra KF5 settet med pakker. Hvis KDE Frameworks-5.109.0 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

solid Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Valgfri (kjøretid)

UDisks-2.10.0, UPower-1.90.2, libimobiledevice, og media-player-info

Installasjon av solid

Installer solid ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_TESTING=OFF         \
      -Wno-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Til slutt, fjern noen unødvendige filer som root bruker:

rm -rf /usr/mkspecs

Innhold

Installerte Programmer: solid-hardware5
Installert Bibliotek: libKF5Solid.so
Installerte Mapper: /usr/include/KF5/Solid, /usr/lib/cmake/KF5Solid, og /usr/lib/qml/org/kde/solid

Korte Beskrivelser

solid-hardware5

spør etter maskinvareinformasjon fra systemet

libKF5Solid.so

gir en måte å spørre og samhandle med maskinvare uavhengig av det underliggende operativsystemet

kidletime-5.109.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.0 plattform.

Important

Denne pakken er hentet fra KF5 settet med pakker. Hvis KDE Frameworks-5.109.0 er bygget, IKKE bygge denne pakken som presentert her også.

Pakkeinformasjon

kidletime Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0, plasma-wayland-protocols-1.10.0, og (Qt-5.15.10 eller qt-alternate-5.15.10)

Installasjon av kidletime

Installer kidletime ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_TESTING=OFF         \
      -Wno-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Til slutt, fjern noen unødvendige filer som root bruker:

rm -rf /usr/mkspecs

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libKF5IdleTime.so
Installerte Mapper: /usr/lib/plugins/kf5/org.kde.kidletime.platforms, /usr/lib/cmake/KF5IdleTime, og /usr/include/KF5/KIdleTime

Korte Beskrivelser

libKF5GuiAddons.so

inneholder KDE API for inaktive tidsrapporter

libkscreen-5.27.7 for lxqt

Introduksjon til libkscreen

libkscreen pakken inneholder KDE Skjermbehandlingsbiblioteket.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Important

Denne pakken er trukket ut fra plasma settet med pakker. Hvis Plasma-5.27.7 er bygget, IKKE bygg denne pakken som presentert her også.

Pakkeinformasjon

libkscreen Avhengigheter

Påkred

kconfig-5.27.7 for lxqt og kwayland-5.109.0 for lxqt

Installasjon av libkscreen

Installer libkscreen ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_LIBDIR=lib  \
      -DBUILD_TESTING=OFF         \
      -Wno-dev ..                 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Til slutt, fjern noen unødvendige filer som root bruker:

rm -rf /usr/mkspecs &&
rm -rf /usr/lib/libexec

Innhold

Installerte Programmer: kscreen-doctor
Installert Bibliotek: libKF5Screen.so og libKF5ScreenDpms.so
Installerte Mapper: /usr/lib/cmake/KF5Screen, /usr/include/KF5/KScreen, og /usr/lib/plugins/kf5/kscreen

Korte Beskrivelser

kscreen-doctor

lar deg endre skjermoppsettet fra kommandolinjen

libKF5Screen.so

inneholder KDE Skjermbehandlingsbiblioteket

libKF5ScreenDpms.so

inneholder API funksjoner for håndtering av DPMS

muparser-2.3.4

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.0 plattform.

Pakkeinformasjon

muparser Avhengigheter

Påkrevd

CMake-3.27.2

Installasjon av muparser

Installer muparser ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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-0.13.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.0 plattform.

Pakkeinformasjon

lxqt-build-tools Avhengigheter

Påkrevd

CMake-3.27.2 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/lxqt-build-tools

Installasjon av lxqt-build-tools

Installer lxqt-build-tools ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: lxqt-transupdate
Installert Bibliotek: Ingen
Installerte Mapper: /usr/share/cmake/lxqt-build-tools

Korte Beskrivelser

lxqt-transupdate

oppdaterer oversettelser for LXQt komponenter

libqtxdg-3.11.0

Introduksjon til libqtxdg

libqtxdg er en Qt implementering av freedesktop.org xdg spesifikasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libqtxdg Avhengigheter

Påkrevd

CMake-3.27.2 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Valgfri (kjøretid)

GTK+-2.24.33 eller GTK+-3.24.38 (for gtk-update-icon-cache)

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/libqtxdg

Installasjon av libqtxdg

Installer libqtxdg ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_LIBDIR=lib  \
      ..       &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-DBUILD_TESTS=ON: Bruk dette alternativet hvis du ønsker å bygge tester. Hvis du bruker dette alternativet, kan du kjøre testene ved å kjøre: make test.

-DBUILD_DEV_UTILS=ON: Bruk denne bryteren hvis du ønsker å bygge og installere utviklingsverktøyene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libQt5Xdg.so og libQt5XdgIconLoader.so
Installerte Mapper: /usr/include/{qt5xdg,qt5xdgiconloader} og /usr/share/cmake/{qt5xdg,qt5xdgiconloader}

Korte Beskrivelser

libQt5Xdg.so

inneholder libQt5Xdg API funksjoner

libQt5XdgIconLoader.so

inneholder libQt5XdgIconLoader API funksjoner

lxqt-menu-data-20230619

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.0 plattform.

Pakkeinformasjon

lxqt-menu-data Avhengigheter

Påkrevd

lxqt-build-tools-0.13.0

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/lxqt-menu-data

Installasjon av lxqt-menu-data

Installer lxqt-menu-data ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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 og /usr/share/cmake/lxqt-menu-data

liblxqt-1.3.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.0 plattform.

Pakkeinformasjon

liblxqt Avhengigheter

Påkrevd

libqtxdg-3.11.0, (kwindowsystem-5.109.0 for lxqt eller KDE Frameworks-5.109.0), og polkit-qt-0.114.0

Installasjon av liblxqt

Installer liblxqt ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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 og /usr/share/cmake/lxqt

Korte Beskrivelser

lxqt-backlight_backend

stiller inn bakgrunnsbelysningsnivået for en skjerm

liblxqt.so

inneholder liblxqt API funksjoner

libsysstat-0.4.6

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.0 plattform.

Pakkeinformasjon

libsysstat Avhengigheter

Påkrevd

lxqt-build-tools-0.13.0

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/libsysstat

Installasjon av libsysstat

Installer libsysstat ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      ..                          &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: Ingen
Installert Bibliotek: libsysstat-qt5.so
Installerte Mapper: /usr/include/sysstat-qt5 og /usr/share/cmake/sysstat-qt5

Korte Beskrivelser

libsysstat-qt5.so

inneholder libsysstat-qt5 API funksjoner

qtxdg-tools-3.11.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.0 plattform.

Pakkeinformasjon

qtxdg-tools Avhengigheter

Påkrevd

libqtxdg-3.11.0

Installasjon av qtxdg-tools

Installer qtxdg-tools ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_LIBDIR=lib  \
      ..                          &&
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-qt-1.3.0

Introduksjon til libfm-qt

libfm-qt er en Qt overføring til libfm, et bibliotek som leverer komponenter for å bygge skrivebordsfilbehandlere.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libfm-qt Avhengigheter

Påkrevd

CMake-3.27.2, libexif-0.6.24, menu-cache-1.1.0, og (Qt-5.15.10 eller qt-alternate-5.15.10)

Installasjon av libfm-qt

Installer libfm-qt ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      ..                          &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libfm-qt.so
Installerte Mapper: /usr/include/libfm-qt, /usr/share/libfm-qt, og /usr/share/cmake/fm-qt

Korte Beskrivelser

libfm-qt.so

inneholder libfm-qt API funksjoner

lxqt-themes-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-themes Avhengigheter

Påkrevd

lxqt-build-tools-0.13.0

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/lxqt-themes

Installasjon av lxqt-themes

Installer lxqt-themes ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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-qtplugin-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-qtplugin Avhengigheter

Påkrevd

liblxqt-1.3.0 og libdbusmenu-qt-0.9.3+16.04.20160218

Installasjon av lxqt-qtplugin

Installer lxqt-qtplugin ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      ..       &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Konfigurere lxqt-qtplugin

Konfigurasjonsinformasjon

For å bruke programtillegget i Qt 5, miljøvariabelen QT_QPA_PLATFORMTHEME må settes til lxqt. En måte å gjøre det på er å utstede som root bruker:

cat >> /etc/profile.d/lxqt.sh << "EOF"
# Begin lxqt-qtplugin configuration

export QT_QPA_PLATFORMTHEME=lxqt

# End lxqt-qtplugin configuration
EOF

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libqtlxqt.so (i $QT5DIR/plugins/platformthemes)
Installert Mappe: $QT5DIR/plugins/platformthemes

Korte Beskrivelser

libqtlxqt.so

inneholder LXQt QT programtillegg lasteren

lxqt-about-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-about Avhengigheter

Påkrevd

liblxqt-1.3.0

Installasjon av lxqt-about

Installer lxqt-about ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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-admin-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-admin Avhengigheter

Påkrevd

liblxqt-1.3.0 og Polkit-123

Installasjon av lxqt-admin

Installer lxqt-admin ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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-openssh-askpass-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-openssh-askpass Avhengigheter

Påkrevd

liblxqt-1.3.0

Installasjon av lxqt-openssh-askpass

Installer lxqt-openssh-askpass ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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: Ingen

Korte Beskrivelser

lxqt-config-openssh-askpass

spør en bruker om legitimasjon på vegne av et annet program

lxqt-sudo-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-sudo Avhengigheter

Påkrevd

liblxqt-1.3.0

Installasjon av lxqt-sudo

Installer lxqt-sudo ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      ..       &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: lxdoas, lxqt-sudo, lxsu, og lxsudo
Installerte Biblioteker: Ingen
Installerte Mapper: Ingen

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-config-1.3.0

Introduksjon til lxqt-config

lxqt-config pakken gir LXQt Konfigurasjonssenter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

lxqt-config Avhengigheter

Påkrevd

liblxqt-1.3.0, (kconfig-5.27.7 for lxqt og libkscreen-5.27.7 for lxqt) eller Plasma-5.27.7, og Xorg Libinput-1.3.0

Installasjon av lxqt-config

Installer lxqt-config ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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

obconf-qt-0.16.2

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.0 plattform.

Pakkeinformasjon

obconf-qt Avhengigheter

Påkrevd

hicolor-icon-theme-0.17, liblxqt-1.3.0, og openbox-3.6.1

Installasjon av obconf-qt

Installer obconf-qt ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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

lxqt-globalkeys-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-globalkeys Avhengigheter

Påkrevd

liblxqt-1.3.0

Installasjon av lxqt-globalkeys

Installer lxqt-globalkeys ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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 lxqt-globalkeys API funksjoner

liblxqt-globalkeys-ui.so

inneholder liblxqt-globalkeys-ui API funksjoner

lxqt-policykit-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-policykit Avhengigheter

Påkrevd

liblxqt-1.3.0 og polkit-qt-0.114.0

Installasjon av lxqt-policykit

Installer lxqt-policykit ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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-session-1.3.0

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.0 plattform.

Pakkeinformasjon

lxqt-session Avhengigheter

Påkrevd

liblxqt-1.3.0, (kwindowsystem-5.109.0 for lxqt eller KDE Frameworks-5.109.0), qtxdg-tools-3.11.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 -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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.18.0. Vær oppmerksom på at IceWM-3.4.1 er ikke en god erstatning. Fluxbox fungerer, skjønt i denne sammenhengen (med lxqt-config-1.3.0), 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: Ingen

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

pcmanfm-qt-1.3.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.0 plattform.

Pakkeinformasjon

pcmanfm-qt Avhengigheter

Påkrevd

liblxqt-1.3.0, libfm-qt-1.3.0, og lxqt-menu-data-20230619

Anbefalt

Installasjon av pcmanfm-qt

Installer pcmanfm-qt ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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-panel-1.3.0

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.0 plattform.

Pakkeinformasjon

lxqt-panel Avhengigheter

Påkrevd

libdbusmenu-qt-0.9.3+16.04.20160218, liblxqt-1.3.0, lxqt-globalkeys-1.3.0, lxqt-menu-data-20230619, (solid-5.109.0 for lxqt eller KDE Frameworks-5.109.0), og menu-cache-1.1.0

Anbefalt

Installasjon av lxqt-panel

Hvis KDE Frameworks-5.109.0 ikke ble installert i /usr, hjelp koden finne noen deklarasjoner som den trenger:

export CXXFLAGS+="-I $KF5_PREFIX/include"
export CFLAGS+="-I $KF5_PREFIX/include"

Installer lxqt-panel ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      ..                          &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-D<plugin>_PLUGIN=no: Deaktiver en <plugin>, hvor <plugin> kan være CLOCK, COLORPICKER, CPULOAD, DIRECTORYMENU, DESKTOPSWITCH, KBINDICATOR, MAINMENU, MOUNT, QUICKLAUNCH, SENSORS, SHOWDESKTOP, NETWORKMONITOR, SYSSTAT, TASKBAR, STATUSNOTIFIER, TRAY, VOLUME, WORLDCLOCK, eller SPACER

Innhold

Installert Program: lxqt-panel
Installerte Biblioteker: flere programtillegg under /usr/lib/lxqt-panel
Installerte Mapper: /usr/lib/lxqt-panel, /usr/share/lxqt/panel, og /usr/share/lxqt/panel

Korte Beskrivelser

lxqt-panel

er et lettvekts Qt5 basert panel for LXQt Skrivebordet

lxqt-powermanagement-1.3.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.0 plattform.

Pakkeinformasjon

lxqt-powermanagement Avhengigheter

Påkrevd

liblxqt-1.3.0, (kidletime-5.109.0 for lxqt eller KDE Frameworks-5.109.0), og UPower-1.90.2

Installasjon av lxqt-powermanagement

Installer lxqt-powermanagement ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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-1.3.0

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.0 plattform.

Pakkeinformasjon

lxqt-runner Avhengigheter

Påkrevd

lxqt-globalkeys-1.3.0 og muparser-2.3.4

Installasjon av lxqt-runner

Installer lxqt-runner ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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

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.18.0, eller kwin fra Plasma-5.27.7. Merk at IceWM-3.4.1 er ikke egnet for LXQt.

Anbefalt
Valgfri

lightdm-1.32.0 eller en annen Skjermbehandler, f.eks. sddm-0.20.0, og XScreenSaver-6.06

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.2, eller ved å bruke en grafisk skjermbehandler som f.eks lightdm-1.32.0.

For å starte LXQt ved hjelp av xinit-1.4.2, 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.

Note

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".

Chapter 40. LXQt Applikasjoner

Dette er en liten samling av valgfrie applikasjoner som legger til ekstra kapasiteter til LXQt skrivebordet.

lximage-qt-1.3.0

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.0 plattform.

Pakkeinformasjon

lximage-qt Avhengigheter

Påkrevd

libfm-qt-1.3.0

Installasjon av lximage-qt

Installer lximage-qt ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      ..       &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har xdg-utils-1.1.3 installert, som root bruker, kjør xdg-icon-resource forceupdate --theme hicolor.

Innhold

Installert Program: lximage-qt
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

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-0.8.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.0 plattform.

Pakkeinformasjon

lxqt-archiver Avhengigheter

Påkrevd

liblxqt-1.3.0 og JSON-GLib-1.6.6

Installasjon av lxqt-archiver

Installer lxqt-archiver ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_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: Ingen

Korte Beskrivelser

lxqt-archiver

er en Qt basert filarkiver

lxqt-notificationd-1.3.0

Introduksjon til lxqt-notificationd

lxqt-notificationd pakken er LXQt varslingsnisse.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

lxqt-notificationd Avhengigheter

Påkrevd

liblxqt-1.3.0

Installasjon av lxqt-notificationd

Installer lxqt-notificationd ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_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-1.3.0

Introduksjon til pavucontrol-qt

pavucontrol-qt er Qt porten til volumkontrollverktøyet pavucontrol, som brukes til å justere lydnivåer i Pulsaudio. Det er skrivebordsmiljøagnostisk.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

pavucontrol-qt Avhengigheter

Påkrevd

liblxqt-1.3.0 og PulseAudio-16.1 (bygget med GLib-2.76.4 støtte)

Installasjon av pavucontrol-qt

Installer pavucontrol-qt ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_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: Ingen

Korte Beskrivelser

pavucontrol-qt

er et Qt basert GUI konfigurasjonsverktøy for lydinnstillinger ved hjelp av pulseaudio

qps-2.7.0

Introduksjon til qps

qps pakken inneholder en Qt prosessbehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

qps Avhengigheter

Påkrevd

liblxqt-1.3.0

Installasjon av qps

Installer qps ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      ..       &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har xdg-utils-1.1.3 installert, som root bruker, kjør xdg-icon-resource forceupdate --theme hicolor.

Innhold

Installert Program: qps
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

qps

er en Qt basert prosessbehandler

qtermwidget-1.3.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.0 plattform.

Pakkeinformasjon

qtermwidget Avhengigheter

Påkrevd

lxqt-build-tools-0.13.0

Brukernotater: https://wiki.linuxfromscratch.org/blfs/wiki/qtermwidget

Installasjon av qtermwidget

Installer qtermwidget ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      ..       &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: Ingen
Installerte Biblioteker: libqtermwidget5.so
Installerte Mapper: /usr/include/qtermwidget5, /usr/share/lib/cmake/qtermwidget5, og /usr/share/qtermwidget5

Korte Beskrivelser

libqtermwidget5.so

gir en terminalskjermelement for Qt5

qterminal-1.3.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.0 plattform.

Pakkeinformasjon

qterminal Avhengigheter

Påkrevd

qtermwidget-1.3.0

Installasjon av qterminal

Installer qterminal ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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.6.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.0 plattform.

Pakkeinformasjon

screengrab Avhengigheter

Påkrevd

(kwindowsystem-5.109.0 for lxqt eller KDE Frameworks-5.109.0), og libqtxdg-3.11.0

Installasjon av screengrab

Hvis KDE Frameworks-5.109.0 ikke ble installert i /usr, hjelp koden å finne noen deklarasjoner som den trenger:

export CXXFLAGS+="-I $KF5_PREFIX/include"
export CFLAGS+="-I $KF5_PREFIX/include"

Installer screengrab ved å kjøre følgende kommandoer:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      ..       &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Hvis du har xdg-utils-1.1.3 installert, som root bruker, kjør xdg-icon-resource forceupdate --theme hicolor.

Innhold

Installert Program: screengrab
Installerte Biblioteker: Ingen
Installert Mappe: Ingen

Korte Beskrivelser

screengrab

er et kryssplattformverktøy for å lage skjermbilder raskt

Part XII. X Programvare

Chapter 41. 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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

AbiWord Avhengigheter

Påkrevd

Boost-1.83.0, cURL-8.2.1, FriBidi-1.0.13, GOffice-0.10.55, og wv-1.2.9

Anbefalt
Valgfri

dbus-glib-0.112, evolution-data-server-3.48.4, gobject-introspection-1.76.1, libchamplain-0.12.21, libgcrypt-1.10.2, libical-3.0.16, libsoup-2.74.3, Redland-1.0.17, telepathy-glib-0.24.2, Valgrind-3.21.0. Aiksaurus, GtkMathView, libwmf, libwpd, libwpg, libwps, Link Grammar Parser, Loudmouth, OTS, og Psiconv

Note

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

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

Note

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:

Note

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.5.0.

--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.26 installert, bør du kjøre update-desktop-database kommandoen for å oppdatere mimeinfo hurtiglageret og la hjelpesystemet fungere.

Hvis du har xdg-utils-1.1.3 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.55

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.0 plattform.

Pakkeinformasjon

Gnumeric Avhengigheter

Påkrevd

GOffice-0.10.55 og itstool-2.0.7

Anbefalt Kjøretid
Valgfri

DConf-0.40.0 (for å forhindre noen testfeil), gobject-introspection-1.76.1, PyGObject-3.44.1, Valgrind-3.21.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. Tre tester er kjent for å mislykkes relatert til valgrind.

Parameterforklaringer

--enable-pdfdocs: Bruk denne bryteren hvis du har installert dblatex og ønsker å lage PDF dokumenter.

Innhold

Installerte Programmer: gnumeric (symbolkobling), gnumeric-1.12.55, 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.55

gnumeric-1.12.55

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-7.6.0

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.0 plattform.

Pakkeinformasjon

  • Kjernenedlasting: https://download.documentfoundation.org/libreoffice/src/7.6.0/libreoffice-7.6.0.3.tar.xz

  • Kjernenedlasting MD5 sum: b6994286fa3c274d1beac33aca80c442

  • Kjerne Nedlastingsstørrelse: 267 MB

  • Estimert diskplass som kreves: 10 GB inkludert tilleggsfilene hvis de ble lastet ned under byggingen (727 MB installert). Å installere hele settet med språk krever mer enn 25 GB (rundt 3 GB installert)

  • Estimert byggetid: 40 SBU med parallellitet=8 (vil variere på grunn av nedlastingstid)

Ytterligere Nedlastinger

Note

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 lastet ned en eller flere av følgende, vil de også bli lastet ned under byggingen.

LibreOffice Avhengigheter

Påkrevd

Archive-Zip-1.68, UnZip-6.0, Wget-1.21.4, Which-2.21, og Zip-3.0

Note

En Internett tilkobling er nødvendig for å bygge denne pakken.

Anbefalt

Note

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 bygget og installert diskplass og byggetid.

Valgfri

Avahi-0.8, BlueZ-5.68, DConf-0.40.0, desktop-file-utils-0.26, Doxygen-1.9.7 (ikke relevant ved bruk av --disable-odk), evolution-data-server-3.48.4, GDB-13.2, GnuTLS-3.8.1, KDE Frameworks-5.109.0, libpaper-2.1.1, MariaDB-10.11.4 eller MySQL, MIT Kerberos V5-1.21.2, NASM-2.16.01, (Qt-5.15.10 eller qt-alternate-5.15.10), SANE-1.0.32, telepathy-glib-0.24.2, Valgrind-3.21.0, VLC-3.0.18, Apache Commons Codec, Apache Commons HttpClient, Apache Commons Lang, Apache Commons Logging, BeanShell, box2d, CoinMP, Cppunit, Firebird, glyphy, Gnome VFS, hamcrest, Hunspell, Hyphen, iwyu, junit4, libabw, libcdr, libcmis, libebook, libepubgen, libetonyek, libexttextcat, 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 (kildemappen).

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/libreoffice

Installasjon av LibreOffice

Important

I motsetning til de andre pakkene, antar vi at du ennå ikke har pakket ut pakken. Dette er fordi --no-overwrite-dir bryteren er nødvendig i tilfelle du pakker ut som root bruker.

tar -xf libreoffice-7.6.0.3.tar.xz --no-overwrite-dir &&
cd libreoffice-7.6.0.3

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-7.6.0.3.tar.xz external/tarballs/ &&
ln -sv ../../../libreoffice-help-7.6.0.3.tar.xz         external/tarballs/ &&
ln -sv ../../../libreoffice-translations-7.6.0.3.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-7.6.0.3/helpcontent2/ &&
ln -sv src/libreoffice-dictionaries-7.6.0.3/dictionaries/ &&
ln -sv src/libreoffice-translations-7.6.0.3/translations/

Note

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-7.6.0.3:

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.

Note

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

Hvis du bestemmer deg for å sende --disable-java til configure, fikse et problem som får byggingen til å mislykkes:

sed -i '940i #if HAVE_FEATURE_JAVA' cui/source/options/optjava.cxx &&
sed -i '966i #endif'                cui/source/options/optjava.cxx

Forbered LibreOffice for kompilering ved å kjøre følgende kommandoer:

sed -e "/gzip -f/d"   \
    -e "s|.1.gz|.1|g" \
    -i bin/distro-install-desktop-integration &&

sed -e "/distro-install-file-lists/d" -i Makefile.in &&

./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               \
             --enable-release-build=yes  \
             --enable-python=system      \
             --with-jdk-home=/opt/jdk    \
             --with-system-clucene       \
             --with-system-curl          \
             --with-system-epoxy         \
             --with-system-expat         \
             --with-system-glm           \
             --with-system-gpgmepp       \
             --with-system-graphite      \
             --with-system-harfbuzz      \
             --with-system-icu           \
             --with-system-jpeg          \
             --with-system-lcms2         \
             --with-system-libatomic_ops \
             --with-system-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-zlib

Bygg pakken:

make build

Nå, som root bruker:

make distro-pack-install

Hvis installert i /opt/libreoffice-7.6.0.3 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 libreoffice-7.6.0.3 /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.26, 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

sed -e ...: Den første sed forhindrer komprimering av manualsider og den andre forhindrer at installasjonen mislykkes.

--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.

Note

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.

--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.

--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-*: 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.22.5.

--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.17.6 for gjengivelse i stedet for skia.

--enable-gtk3-kde5: Denne bryteren tillater Visual Class Bibliotek, som er ansvarlig for skjermelementer, skal bygges med KF5 fildialoger hvis GTK+-3, Qt5 og Plasma alle er tilgjengelige.

--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-kf5: Bygger med KDE/Plasma integrasjon. Hvis (Qt-5.15.10 eller qt-alternate-5.15.10) og/eller KDE Frameworks-5.109.0 ikke er installert i /usr, inkludere og bibliotek mapper må spesifiseres i QT5INC, QT5LIB, KF5INC, og KF5LIB, henholdsvis.

--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-qt5: Denne bryteren muliggjør støtte for integrasjon med Qt5 og Qt5 temamotoren. Hvis (Qt-5.15.10 eller qt-alternate-5.15.10) ikke er installert i /usr, include og biblioteker mapper må spesifiseres i QT5INC og QT5LIB miljøvariabler.

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

Chapter 42. 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-44.6

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.0 plattform.

Pakkeinformasjon

Epiphany Avhengigheter

Påkrevd

Gcr-4.1.0, gnome-desktop-44.0, ISO Codes-4.15.0, JSON-GLib-1.6.6, libadwaita-1.3.4, libportal-0.6, Nettle-3.9.1, og WebKitGTK-2.41.91 WebKitGTK-2.41.91 (bygget med GTK-4)

Valgfri

Appstream-Glib

Kjøretids Avhengigheter

gnome-keyring-42.1 (for lagring av passord) og Seahorse-43.0 (for administrere lagrede passord)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/epiphany

Installasjon av 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

Note

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 LC_ALL=en_US.UTF-8 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-23.08.0

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).

Warning

Falkon er avhengig av QtWebEngine. Som bruker en forgreningskopi av chromium, og er derfor sårbar for mange problemer som finnes der. Qt utviklerne har alltid foretrukket å lage utgivelser samtidig som resten av Qt (i stedet for å legge til nødrettinger). Nå som de er opptatt av å flytte til Qt6, 5.15.3 og senere Qt-5.15 utgivelser er i utgangspunktet bare tilgjengelige til betalende kunder. QtWebEngine er et unntak på grunn av LGPL lisensen sin, men å få git kildene (med forgrenet chromium undermodul) til et punkt hvor det med hell vil bygge på det nåværende BLFS systemet kan kreve mye innsats. Vær oppmerksom på at fremtidige rettelser for sårbarheter kan være svært forsinket, i den grad du bør vurdere å bruke en annen nettleser.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

falkon Avhengigheter

Påkrevd

extra-cmake-modules-5.109.0, KDE Frameworks-5.109.0 (for karchive), og qtwebengine-5.15.15

Note

Strengt tatt er det bare karchive som kreves for å bygge falkon, men flere andre pakker i KF5 kan brukes hvis de er tilstede. For å bygge kun karchive, last ned den pakken fra den spesifiserte mappen i KDE Frameworks-5.109.0 og bruk byggeinstruksjonene på den siden og endre $KF5_PREFIX til /usr.

Valgfri

gnome-keyring-42.1, 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 -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&

make

For å teste resultatene, kjør: make test. Alle tester skal bestå. Hvis noen mislykkes, vil de fullstendige resultatene være tilgjengelige i Testing/Temporary/LastTest.log.

Nå, som root bruker:

make install

Note

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.

Parameterforklaringer

-DBUILD_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-115.2.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.0 plattform.

Pakkeinformasjon

Note

Mappenavnet er firefox-115.2.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.24.3, dbus-glib-0.112, GTK+-3.24.38, libnotify-0.8.2, LLVM-16.0.5 (med clang, brukes til bindgen selv om man bruker gcc), nodejs-18.17.1, PulseAudio-16.1 (eller alsa-lib-1.2.9 hvis du redigerer mozconfig; nå avviklet av mozilla), i begge tilfeller vennligst les Konfigurasjonsinformasjon, Python-3.11.4 (gjenoppbygget etter installasjon SQLite-3.42.0), startup-notification-0.12, UnZip-6.0, yasm-1.3.0, og Zip-3.0

Anbefalt

Note

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.2.1, Doxygen-1.9.7, FFmpeg-6.0 (kjøretid, for å spille mov, mp3 eller mp4 files), liboauth-1.0.3, pciutils-3.10.0 (kjøretid), Valgrind-3.21.0, Wget-1.21.4, Wireless Tools-29, 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

# API Keys for geolocation APIs - necko-wifi (above) is required for MLS
# Uncomment the following line if you wish to use Mozilla Location Service
#ac_add_options --with-mozilla-api-keyfile=$PWD/mozilla-key

# Uncomment the following line if you wish to use Google's geolocation API
# (needed for use with saved maps with Google Maps)
#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

# Unlike with thunderbird, although using the gold linker can
# save four megabytes in the installed file it does not make
# the build faster.

# libdav1d (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. Note: This is
# required for compilation on i686.
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 - comment this if you know your machine is not affected.
ac_add_options --disable-elf-hack

# 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

# The default level of optimization again produces a working build with gcc.
ac_add_options --enable-optimize

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. If not on x86_64, e.g. i686, it is recommended to
# uncomment the following switch.
#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

Kompiler Firefox ved å kjøre følgende kommandoer:

Hvis geolokaliserings APIene er nødvendige:

Note

Google og Mozilla 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 og https://location.services.mozilla.com/api henholdsvis.

echo "AIzaSyDxKL42zsPjbke5O8_rPVpVrLrJ8aeE9rQ" > google-key
echo "613364a7-9418-4c86-bcee-57e32fd70c23" > mozilla-key

Note

Hvis du kompilerer denne pakken i chroot, må du gjøre to ting. 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. Kjør:

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm

For det andre, enten som root bruker eksporter $SHELL miljøvariabelen ved hjelp av export SHELL=/bin/sh ellers sett SHELL=/bin/sh foran når du kjører ./mach kommandoer.

Påkall nå Python mach skript for å kompilere pakken.

export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none &&
export MOZBUILD_STATE_PATH=${PWD}/mozbuild          &&
./mach configure                                    &&
./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:

MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install

Tøm miljøvariablene som ble angitt ovenfor:

unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH

Parameterforklaringer

export MOZBUILD_STATE_PATH=${PWD}/mozbuild: Bygget er nå ment å fortelle 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 dette i byggemappen, og slette det etter installasjon, hindrer den i bruk. Hvis du ønsker å delta telemetri, eksporter MOZBUILD_STATE_PATH for å peke til standardmappen og fjern oppføringen fra mozconfig.

MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none: Bruk system python for å lage et virtuelt miljø for mach uten å laste ned noen python wheels og ikke bruke system python modulene. Dette forhindrer versjonsfeil mellom systemmoduler og medfølgende moduler.

./mach configure: Dette validerer de medfølgende avhengigheter og mozconfig.

./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-16.1) 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.17

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-115.2.0 og Thunderbird-115.2.0.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Note

Tarballen seamonkey-2.53.17.source.tar.xz vil pakke ut i seamonkey-2.53.17 mappen.

SeaMonkey Avhengigheter

Påkrevd

Autoconf-2.13, Cbindgen-0.24.3, GTK+-3.24.38, nodejs-18.17.1, Python-2.7.18, UnZip-6.0, yasm-1.3.0, og Zip-3.0

Anbefalt

Note

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.9, dbus-glib-0.112, GConf-3.2.6, startup-notification-0.12, Valgrind-3.21.0, Wget-1.21.4, Wireless Tools-29, Hunspell, og Watchman

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/seamonkey

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 ./configure --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
#ac_add_options --enable-startup-notification

# Uncomment the following option if you have not installed PulseAudio
#ac_add_options --disable-pulseaudio
# and uncomment this if you installed alsa-lib instead of PulseAudio
#ac_add_options --enable-alsa

# Comment out following option if you have gconf installed
ac_add_options --disable-gconf

# 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. Note: This is
# required for compilation on i686.
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 - comment this if you know your machine is not affected.
ac_add_options --disable-elf-hack

# 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

# rust-simd does not compile with recent versions of rust.
# It is disabled in recent versions of firefox
ac_add_options --disable-rust-simd

ac_add_options --enable-optimize="-O2"
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-official-branding

# The option to use system cairo was removed in 2.53.9.
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman

ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
EOF

Note

Hvis du kompilerer denne pakken i chroot, må du gjøre to ting. 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. Kjør:

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm

For det andre, enten som root bruker eksporter $SHELL miljøvariabelen ved hjelp av export SHELL=/bin/sh ellers sett SHELL=/bin/sh foran når du kjører ./mach kommandoer.

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 CC=clang CXX=clang++          &&
./mach configure &&
./mach build

Denne pakken kommer ikke med en testpakke.

Installer SeaMonkey ved å utstede følgende kommandoer som root bruker:

./mach install                  &&
chown -R 0:0 /usr/lib/seamonkey &&

cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1

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 configure: Dette validerer de medfølgende avhengighetene og mozconfig.

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

Chapter 43. 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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Balsa Avhengigheter

Påkrevd

Aspell-0.60.8, enchant-2.5.0, GMime-3.2.7, GPGME-1.21.0, GTK+-3.24.38, og libnotify-0.8.2

Påkrevd (Kjøretid)

MTA (som gir en sendmail kommando)

Valgfri

Compface-1.5.2, Gcr-3.41.1, gtksourceview-3.24.11, libcanberra-0.30, libsecret-0.21.0, MIT Kerberos V5-1.21.2, OpenLDAP-2.6.6, Procmail-3.22, SQLite-3.42.0, WebKitGTK-2.41.91, 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.41.91 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

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://feh.finalrewind.org/feh-3.10.tar.bz2

  • Nedlasting MD5 sum: 8adf6db9c5b18816df5ce539244d2329

  • Nedlastingsstørrelse: 2.0 MB

  • Estimert diskplass som kreves: 5.7 MB (med tester)

  • Estimert byggetid: mindre enn 0.1 SBU (med tester)

feh Avhengigheter

Påkrevd

libpng-1.6.40 og imlib2-1.12.0 (bygget med giflib-5.2.1 støtte, for tester)

Anbefalt
Valgfri

libexif-0.6.24

Valgfri (kjøretid)

libjpeg-turbo-3.0.0 (for tapsfri bilderotasjon) og ImageMagick-7.1.1-15 (for å laste formater som ikke støttes)

Valgfri (testpakken)

Test-Command-0.11 (Påkrevd)

Installasjon av feh

Installer feh ved å kjøre følgende kommandoer:

sed -i "s:doc/feh:&-3.10:" 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:" 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 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.0 plattform.

Pakkeinformasjon

FontForge Avhengigheter

Påkrevd

libspiro-20220722 og libxml2-2.10.4

Anbefalt
Valgfri

giflib-5.2.1, git-2.41.0, libjpeg-turbo-3.0.0, libtiff-4.5.1, sphinx-7.1.2 (for å bygge html dokumentasjon), WOFF2-1.0.2, og

Installasjon av FontForge

Først fiks et problem med gamle oversettelser 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 -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -Wno-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

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes til å opprette en optimalisert utgivelse uten feilsøkingsinformasjon.

-Wno-dev: Denne bryteren brukes til å undertrykke advarsler beregnet på pakkens utviklere.

-DENABLE_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.11.4/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

Gimp-2.10.34

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gimp.org/pub/gimp/v2.10/gimp-2.10.34.tar.bz2

  • Nedlasting MD5 sum: 0dae3a42d261621d62a336ef2aee052a

  • Nedlastingsstørrelse: 30 MB

  • Estimert diskplass som kreves: 876 MB (195 MB installert, legg til 815 MB for tester)

  • Estimert byggetid: 2.0 SBU (Bruker parallellisme=4; legg til 1.4 SBU for tester)

Ytterligere Nedlastinger

  • Nedlasting (HTTP): https://download.gimp.org/pub/gimp/help/gimp-help-2.10.34.tar.bz2

  • Nedlastingsstørrelse: 158 MB

  • Nedlasting MD5 sum: 5e393d61c802e73ffe6c550759ed0853

  • Estimert diskplass som kreves: Fra 412 MB (bare en) til 1.8 GB (for alle språk)

  • Estimert byggetid: 2.1 SBU (bare en), 13 SBU, med parallellitet=4, for alle språk

Gimp Avhengigheter

Påkrevd

gegl-0.4.46, gexiv2-0.14.2, glib-networking-2.76.1, GTK+-2.24.33, HarfBuzz-8.1.1. libjpeg-turbo-3.0.0, libmypaint-1.6.1, librsvg-2.56.3, libtiff-4.5.1, libxml2-2.10.4 python2 module (for å bygge de oversatte hjelpefilene), Little CMS-2.14, mypaint-brushes-1.3.1, Poppler-23.08.0 (inkludert poppler-data) og et grafiske miljø

Anbefalt
Valgfri

AAlib-1.4rc5, alsa-lib-1.2.9, Gvfs-1.50.6 (for å få tilgang til hjelpen på nettet), libmng-2.0.3, libunwind-1.6.2, libwebp-1.3.1, OpenJPEG-2.5.0, en MTA (som gir et sendmail program), GTK-Doc-1.33.2, appstream-glib, libbacktrace, libheif med libde265 (begge trengtes for å lese macOS heic bilder), libwmf, og OpenEXR

Når du har kjørt configure, vil du se at WebKit ikke ble funnet - denne avhengigheten er for det eldre webkit-1.0 som aldri skal brukes på et moderne system eksponert mot internett.

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

Installer Gimp ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc &&
make

For å teste resultatene (krever en X-Vindu terminal) utsted: make check.

Nå, som root bruker:

make install

Note

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/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK+-2.24.33 eller GTK+-3.24.38 installert (for ikonbufferen) og desktop-file-utils-0.26 (for skrivebordsbufferen) og kjøre 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. På grunn av problemer nevnt i notatet ovenfor, anbefales du å bruke på nett hjelpen, enten ved å bygge mot Gvfs-1.50.6 slik at "help" kan åpne de nyeste XML filene i nettleseren din, ellers kan du manuelt åpne html i nettleseren din ved å gå til https://docs.gimp.org/2.10/en (endre språkkoden om ønskelig).

Hvis du likevel ønsker å installere lokale kopier av hjelpefilene for å lese uten nett, pakk ut gimp-help tarballen og endre til roten til det nyopprettede kildetreet. Forberede til å bygge med følgende kommando:

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" \
./autogen.sh --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/2.0/help

Parameterforklaringer

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.

--disable-python: Dette alternativet er nødvendig hvis du ikke har installert PyGTK.

--enable-gtk-doc: Bruk denne parameteren hvis GTK-Doc er installert og du ønsker å gjenoppbygge og installer API dokumentasjonen.

Konfigurere Gimp

Konfigurasjonsfiler

/etc/gimp/2.0/* og ~/.gimp-2.8/gimprc

Innhold

Installerte Programmer: gimp (symbolkobling), gimp-2.10, gimp-console (symbolkobling), gimp-console-2.10, gimp-test-clipboard-2.0, og gimptool-2.0
Installerte Biblioteker: libgimp-2.0.so, libgimpbase-2.0.so, libgimpcolor-2.0.so, libgimpconfig-2.0.so, libgimpmath-2.0.so, libgimpmodule-2.0.so, libgimpthumb-2.0.so, libgimpui-2.0.so, og libgimpwidgets-2.0.so
Installerte Mapper: /etc/gimp, /usr/include/gimp-2.0, /usr/{lib,share}/gimp, /usr/share/gtk-doc/html/libgimp{,base,color,config}, og /usr/share/gtk-doc/html/libgimp{math,module,thumb,widgets}

Korte Beskrivelser

gimp

er en symbolsk kobling til gimp-2.10

gimp-2.10

er Gnu Image Manipulation Program. Det fungerer med en rekke av bildeformater og gir et stort utvalg av verktøy

gimp-console

er en symbolsk kobling til gimp-console-2.10

gimp-console-2.10

er et konsollprogram som oppfører seg som om Gimp ble startet med --no-interface kommandolinjealternativet

gimptool-2.0

er et verktøy som kan bygge programtilleggeller skript og installere dem hvis de er distribuert i én kildefil. gimptool-2.0 kan også brukes av programmer som trenger å vite hvilke biblioteker og inkluder-stier Gimp ble kompilert med

libgimp-2.0.so

gir C bindinger for Gimp sin Procedural Database (PDB) som tilbyr et grensesnitt til kjernefunksjoner og til funksjonalitet levert av programtillegg

libgimpbase-2.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-2.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-2.0.so

inneholder C funksjoner for lesing og skriving av konfigurasjonsinformasjon

libgimpmath-2.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-2.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-2.0.so

gir C funksjonene for håndtering av Gimp sin miniatyrbildeobjekter

libgimpui-2.0.so

inneholder Gimp sin vanlig bruker grensesnittfunksjoner

libgimpwidgets-2.0.so

inneholder Gimp og GTK sin skjermelement oppretting og manipulasjonsfunksjoner

Gparted-1.5.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.0 plattform.

Pakkeinformasjon

Gparted Avhengigheter

Påkrevd

Gtkmm-3.24.8 og parted-3.6

Valgfri

btrfs-progs-6.3.3 (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.3.3, dosfstools-4.2, e2fsprogs (installert som del av LFS), jfsutils-1.1.15, reiserfsprogs-3.6.27, xfsprogs-6.4.0, mtools (nødvendig for å lese og skrive FAT16/32 volumetiketter og UUIDer), hfsutils, hfsprogs, nilfs-utils og Reiser4progs.

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.4p1.

ssh-askpass

Til valgfritt å bruke ssh-askpass-9.4p1 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

HexChat-2.16.1

Introduksjon til HexChat

HexChat er et IRC prateprogram. Det tillater å bli med i flere IRC kanaler (praterom) samtidig, snakke offentlig, ha private en-til-en-samtaler osv. Filoverføringer er også mulig.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

HexChat Avhengigheter

Påkrevd

dbus-glib-0.112, GLib-2.76.4, og libnotify-0.8.2

Anbefalt
Valgfri

dbus-glib-0.112, ISO Codes-4.15.0, libnotify-0.8.2, pciutils-3.10.0, libproxy, luajit, hvis python er aktivert cffi og pycparser.

Installasjon av HexChat

Installer HexChat ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..              \
      --prefix=/usr         \
      --buildtype=release   \
      -Dwith-lua=false      \
      -Dwith-python=false   &&
ninja

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dwith-lua=false: Som standard vil denne pakken se etter luajit. Imidlertid er støtten for Lua programtillegget for øyeblikket ødelagt og vil føre til at applikasjonen krasjer ved oppstart.

-Dwith-python=false: Hvis Python grensesnittet skal være aktivert, fjern denne bryteren eller sett den til true. Når du aktiverer Python, to tilleggsmoduler (cffi og pycparser) må installeres før installasjon av Hexchat.

-Dwith-libcanberra=false: Bruk denne bryteren hvis du ikke har libcanberra installert.

Innhold

Installert Program: hexchat
Installerte Biblioteker: Ingen
Installert Mappe: /usr/lib/hexchat

Korte Beskrivelser

hexchat

er en grafisk Internet Relay Chat (IRC) klient

Inkscape-1.3

Introduksjon til Inkscape

Inkscape er en det du ser er det du får Skalerbar vektorgrafikkredigerer. Det er nyttig for å lage, se og endre SVG bilder.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Note

Tarballen inkscape-1.3.tar.xz vil pakke ut til mappen inkscape-1.3_2023-07-21_0e150ed6c4/.

Inkscape Avhengigheter

Påkrevd

Boost-1.83.0, double-conversion-3.3.0, GC-8.2.4, Gsl-2.7.1, Gtkmm-3.24.8, libsoup-2.74.3, libxslt-1.1.38, Poppler-23.08.0, popt-1.19 og Wget-1.21.4 (for å laste ned testavhengighetene)

Anbefalt
Valgfri

Aspell-0.60.8, dbus-1.14.8 (for å kjøre inkscape fra skript), Doxygen-1.9.7, gspell-1.12.2, GraphicsMagick, libcdr, libvisio, libwpg (eller libwpd)

Installasjon av Inkscape

Installer Inkscape ved å kjøre følgende kommandoer:

mkdir build                       &&
cd    build                       &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      ..                          &&
make

Note

Denne pakken kan av og til mislykkes når det bygges med flere prosessorer. Se Using Multiple Processors for mer informasjon.

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

make install

Note

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/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK+-2.24.33 eller GTK+-3.24.38 installert (for ikonbufferen) og desktop-file-utils-0.26 (for skrivebordsbufferen) og kjøre følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

-DCMAKE_BUILD_TYPE=Release: Denne bryteren er brukt til å bygge utgivelsesbiblioteket uten noen feilsøkings 'assert' i koden.

-DWITH_DBUS=ON: bruk denne hvis du ønsker å bruke inkscape i interaktive skript som manipulerer bilder.

Innhold

Installerte Programmer: inkscape og inkview
Installert Bibliotek: lib2geom.so og libinkscape_base.so (i /usr/lib/inkscape)
Installerte Mapper: /usr/include/2geom-1.3.0, /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

Pidgin-2.14.12

Introduksjon til Pidgin

Pidgin er en Gtk+ 2 direktemeldingsklient som kan kobles til et bredt spekter av nettverk, inkludert Bonjour, ICQ, GroupWise, Jabber/XMPP, IRC, Gadu-Gadu, SILC, SIMPLE, og Zephyr.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Pidgin Avhengigheter

Påkrevd

GTK+-2.24.33

Anbefalt
Valgfri

Avahi-0.8 (påkrevd for Bonjour programtillegget), Cyrus SASL-2.1.28, dbus-1.14.8, Doxygen-1.9.7, evolution-data-server-3.48.4, GConf-3.2.6, Graphviz-8.1.0, libidn-1.41 (påkrevd, hvis du ønsker å kjøre testpakken), libnsl-2.0.0, NetworkManager-1.44.0, SQLite-3.42.0 (påkrevd for Contact Availability Prediction programtillegget), startup-notification-0.12, Tk-8.6.13, Farstream (påkrevd for video og stemme støtte), Gtkspell, libgadu, libgnt, Meanwhile (påkrevd for Sametime protokoll støtte), Mono, SILC Client, SILC Toolkit, Zephyr, og MIT Kerberos V5-1.21.2 (påkrevd for Kerberos støtte i Zephyr modulen)

Valgfri (kjøretid)

xdg-utils-1.1.3

Installasjon av Pidgin

Kompiler Pidgin ved å kjøre følgende kommandoer:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --with-gstreamer=1.0 \
            --disable-avahi      \
            --disable-gtkspell   \
            --disable-meanwhile  \
            --disable-idn        \
            --disable-nm         \
            --disable-tk         \
            --disable-vv         &&
make

Hvis du har Doxygen-1.9.7 installert (Graphviz-8.1.0 kan også brukes) og du ønsker å lage API dokumentasjon, kjør:

make docs

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install &&
mkdir -pv /usr/share/doc/pidgin-2.14.12 &&
cp -v README doc/gtkrc-2.0 /usr/share/doc/pidgin-2.14.12

Hvis du opprettet API dokumentasjonen, installer den ved å bruke følgende kommandoer som root bruker:

mkdir -pv /usr/share/doc/pidgin-2.14.12/api &&
cp -rv doc/html/* /usr/share/doc/pidgin-2.14.12/api

Note

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/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK+-2.24.33 eller GTK+-3.24.38 installert (for ikonbufferen) og desktop-file-utils-0.26 (for skrivebordsbufferen) og kjøre følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

--with-gstreamer=1.0: Fjern denne bryteren og legg til --disable-gstreamer hvis du ikke har installert gstreamer-1.22.5.

--disable-avahi: Fjern denne bryteren hvis du har installert Avahi-0.8.

--disable-gtkspell: Fjern denne bryteren hvis du har installert Gtkspell og ønsker å aktivere stavekontrollstøtte.

--disable-meanwhile: Fjern denne bryteren hvis du har installert Meanwhile.

--disable-idn: Fjern denne bryteren hvis du har installert libidn-1.41.

--disable-tk: Fjern denne bryteren hvis du har installert Tk-8.6.13 og du ønsker å bruke TCL bindingene.

--disable-nm: Fjern denne bryteren hvis du har installert NetworkManager-1.44.0.

--disable-vv: Fjerne denne bryteren hvis du har installert Farstream og ønsker å aktivere tale og video kommunikasjonsstøtte. Du bør også fjerne --disable-gstreamer flagget.

--enable-cyrus-sasl: Bruk denne bryteren hvis du har installert Cyrus SASL-2.1.28 og ønsker å bygge Pidgin med SASL støtte.

--disable-gnutls: Bruk denne bryteren hvis du har både GnuTLS-3.8.1 og nss-3.92 installert, men ønsker å bruke nss-3.92 for SSL støtte.

Konfigurere Pidgin

Konfigurasjonsfiler

~/.purple/* og ~/.gtkrc-2.0

Konfigurasjonsinformasjon

De fleste konfigurasjoner kan oppnås ved å bruke de forskjellige preferanse innstillinger inne i programmene. I tillegg kan du opprette en ~/.gtkrc-2.0 fil som kan lagre gtk+-2 tema innstillinger som påvirker Pidgin og andre Gtk+ 2 applikasjoner. Merk at en eksempel gtkrc-2.0 fil ble installert under pakkeinstallasjonen og kan brukes som et utgangspunkt eller referanse.

Innhold

Installerte Programmer: pidgin, purple-client-example, purple-remote, purple-send, purple-send-async, og purple-url-handler
Installert Bibliotek: libpurple.so, og libpurple-client.so
Installerte Mapper: /usr/include/libpurple, /usr/include/pidgin, /usr/lib/pidgin, /usr/lib/purple-2, /usr/share/doc/pidgin-2.14.12, /usr/share/pixmaps/pidgin, /usr/share/purple, og /usr/share/sounds/purple

Korte Beskrivelser

pidgin

er en GTK+ 2 direktemeldingsklient

purple-client-example

er et eksempel som viser hvordan du bruker libpurple klient biblioteket for å kommunisere med purple

purple-remote

sender fjernkommandoer til Pidgin/Finch

purple-send

kaller opp purple API funksjoner ved hjelp av DBus og skriver ut returverdien

purple-send-async

kaller opp purple API funksjoner ved hjelp av DBus. I motsetning til purple-send, den skriver ikke ut returverdien

purple-url-handler

er et python skript for å håndtere URLer med purple

Rox-Filer-2.11

Introduksjon til Rox-Filer

rox-filer er en rask, lett gtk2 filbehandler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

rox-filer Avhengigheter

Påkrevd

libglade-2.6.4 og shared-mime-info-2.2

Kjernekonfigurasjon

Hvis du vil ha rox-filer til å kunne oppdatere innholdet i en mappe når endringer gjøres i filene av andre applikasjoner (f.eks. hvis et skript kjører) må du aktivere dnotify støtte i kjernen din. I make menuconfig:

File systems --->
  [*] Dnotify support                                                  [DNOTIFY]

Lagre den nye .config og kompiler deretter kjernen.

Installasjon av Rox-Filer

Kompiler rox-filer med følgende kommandoer:

cd ROX-Filer                                                        &&
sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c &&
sed -i 's/gboolean/extern &/' src/session.h                     &&

mkdir build                        &&
pushd build                        &&
  ../src/configure LIBS="-lm -ldl" &&
  make                             &&
popd

Installer den nå som root bruker:

mkdir -p /usr/share/rox                              &&
cp -av Help Messages Options.xml ROX images style.css .DirIcon /usr/share/rox &&

cp -av ../rox.1 /usr/share/man/man1                  &&
cp -v  ROX-Filer /usr/bin/rox                        &&
chown -Rv root:root /usr/bin/rox /usr/share/rox      &&

cd /usr/share/rox/ROX/MIME                           &&
ln -sv text-x-{diff,patch}.png                       &&
ln -sv application-x-font-{afm,type1}.png            &&
ln -sv application-xml{,-dtd}.png                    &&
ln -sv application-xml{,-external-parsed-entity}.png &&
ln -sv application-{,rdf+}xml.png                    &&
ln -sv application-x{ml,-xbel}.png                   &&
ln -sv application-{x-shell,java}script.png          &&
ln -sv application-x-{bzip,xz}-compressed-tar.png    &&
ln -sv application-x-{bzip,lzma}-compressed-tar.png  &&
ln -sv application-x-{bzip-compressed-tar,lzo}.png   &&
ln -sv application-x-{bzip,xz}.png                   &&
ln -sv application-x-{gzip,lzma}.png                 &&
ln -sv application-{msword,rtf}.png

Parameterforklaringer

sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c: Denne kommandoen hardkoder /usr/share/rox som mappen for rox-filer sine private filer. Uten denne sed trenger rox miljøvariabelen ${APP_DIR} å bli satt.

sed -i 's/gboolean/extern &/' src/session.h: Denne kommandoen fikser en flere definisjoner flagget som en feil av GCC 10 og høyere.

ln -sv application-...: Disse kommandoene dupliserer ikoner for noen vanlige mimetyper. Uten disse lenkene rox-filer vil bare vise standard "unknown binary blob" ikon.

Konfigurere RoxFiler

Konfigurasjonsinformasjon

Det meste av konfigurasjonen av rox-filer blir oppnådd ved å høyreklikke på en rox-filer vindu og velge "Options" fra menyen. Den lagrer innstillingene i ~/.config/rox.sourceforge.net.

En rox-filer funksjonen er at hvis det er en kjørbar fil kalt AppRun i en mappe rox-filer vil først kjøre AppRun før den åpner mappen.

Som et eksempel på hvordan dette kan brukes, hvis du har ssh tilgang til en annen datamaskin (kanskje en annen datamaskin på ditt lokale nettverk) med ssh konfigurert for passordløse pålogginger og du har sshfs-3.7.3 installert kan du bruke AppRun til å montere den eksterne datamaskin i en lokal mappe ved hjelp av sshfs. For dette eksempelet AppRun skriptet for å fungere må mappen ha samme navn som vertsnavnet til den eksterne datamaskinen:

cat > /path/to/hostname/AppRun << "HERE_DOC"
#!/bin/bash

MOUNT_PATH="${0%/*}"
HOST=${MOUNT_PATH##*/}
export MOUNT_PATH HOST
sshfs -o nonempty ${HOST}:/ ${MOUNT_PATH}
rox -x ${MOUNT_PATH}
HERE_DOC

chmod 755 /path/to/hostname/AppRun

Det fungerer fint for montering, men for å demontere det kommandoen fusermount -u ${MOUNTPOINT} må kjøres. Du kunne sette det som standard umount kommando i dine rox preferanser, men du ville da ikke være i stand til å demontere noen normale monteringspunkter (som trenger umount). Et skript er nødvendig som vil demontere et Fuse monteringspunkt med fusermount -u ${MOUNTPOINT} og alt annet med umount. Som root bruker:

cat > /usr/bin/myumount << "HERE_DOC" &&
#!/bin/bash
sync
if mount | grep "${@}" | grep -q fuse
then fusermount -u "${@}"
else umount "${@}"
fi
HERE_DOC

chmod 755 /usr/bin/myumount

Nå, for å få Rox til å bruke dette enkle skriptet, åpne et Rox vindu, høyreklikk på den og velg Alternativer fra menyen. Velg i venstre liste "Action windows" og så på høyre side, hvor det står "Unmount command" forandre umount til myumount.

Hvis du bruker et skrivebordsmiljø som Gnome eller KDE kan du lage en rox.desktop fil slik at rox-filer vises i panelets menyer. Som root bruker:

ln -s ../rox/.DirIcon /usr/share/pixmaps/rox.png &&
mkdir -p /usr/share/applications &&

cat > /usr/share/applications/rox.desktop << "HERE_DOC"
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Rox
Comment=The Rox File Manager
Icon=rox
Exec=rox
Categories=GTK;Utility;Application;System;Core;
StartupNotify=true
Terminal=false
HERE_DOC

Innhold

Installerte Programmer: rox
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/share/rox

Korte Beskrivelser

rox

er rox filbehandler

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.0 plattform.

Note

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.10 (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.26 og minst en av gnome-icon-theme-3.12.0, oxygen-icons5-5.109.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-115.2.0

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.0 plattform.

Pakkeinformasjon

Thunderbird Avhengigheter

Påkrevd

Cbindgen-0.24.3, dbus-glib-0.112, GTK+-3.24.38, LLVM-16.0.5 inkludert clang, nodejs-18.17.1, PulseAudio-16.1 (or alsa-lib-1.2.9 hvis du redigerer mozconfig; selv om det nå er avviklet av mozilla), Python-3.11.4 (gjenoppbygd med sqlite modulen), startup-notification-0.12, Zip-3.0, og UnZip-6.0

Anbefalt

Note

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.10.0 (kjøretid), Wget-1.21.4, Wireless Tools-29, og watchman

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Thunderbird

Installasjon av Thunderbird

Note

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

# The elf-hack causes failed installs on some machines.
# It is supposed to improve startup time and it shrinks libxul.so
# by a few MB - comment this if you know your machine is not affected.
ac_add_options --disable-elf-hack

# 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

ac_add_options --enable-optimize=-O2
ac_add_options --enable-linker=gold
ac_add_options --enable-strip
ac_add_options --enable-install-strip

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

Løs et problem som oppstår når du bygger med GCC-13:

sed -e '/<exception>/i#include <cstdint>' \
    -i comm/third_party/rnp/src/libsexp/include/sexp/sexp-error.h

Påkall nå Python mach skriptet for å kompilere Thunderbird:

Note

Hvis du kompilerer denne pakken i chroot, må du gjøre to ting. 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. Kjør:

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm

For det andre, enten som root bruker eksporter $SHELL miljøvariabelen ved hjelp av export SHELL=/bin/sh ellers sett SHELL=/bin/sh foran når du kjører ./mach kommandoer.

export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none &&
export MOZBUILD_STATE_PATH=./mozbuild               &&
./mach configure                                    &&
./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 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 configure: Dette validerer de medfølgende avhengigheter og mozconfig.

./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 Preferences 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.

Konfigurasjons preferanseelementet du må sjekke slik at Thunderbird bruker en spesifisert nettleser er network.protocol-handler.app.http som bør settes til banen til ønsket nettleser, f.eks. /usr/bin/firefox.

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 /usr/lib/thunderbird mappen
Installert Mappe: /usr/lib/thunderbird

Korte Beskrivelser

thunderbird

er Mozilla sin e-post og nyhetsgruppe klient

Tigervnc-1.13.1

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Note

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.27.2, FLTK-1.3.8, GnuTLS-3.8.1, libgcrypt-1.10.2, libjpeg-turbo-3.0.0, Pixman-0.42.2, Systemd-254 (med Linux-PAM-1.5.3), Xorg Applikasjoner, xinit-1.4.2, 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.13.1-configuration_fixes-1.patch

Installer tigervnc ved å kjøre følgende kommandoer:

# Put code in place
mkdir -p unix/xserver &&
tar -xf ../xorg-server-21.1.6.tar.xz \
    --strip-components=1              \
    -C unix/xserver                   &&
( cd unix/xserver &&
  patch -Np1 -i ../xserver21.1.1.patch ) &&

# Build viewer
cmake -G "Unix Makefiles"         \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -Wno-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 &&

#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=LXDE
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.13.1

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.3

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.0 plattform.

Pakkeinformasjon

Transmission Avhengigheter

Påkrevd

cURL-8.2.1

Anbefalt
Anbefalt (for å bygge en GUI)
Valgfri

nodejs-18.17.1 (for å bygge nettklienten, ikke nødvendig under kjøring), appindicator, dht, libb64, libdeflate, libnatpmp, libutp, og miniupnp

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/transmission

Installasjon av Transmission

Installer Transmission ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/transmission-4.0.3 \
      .. &&

make

Nå, som root bruker:

make install

Siden transmission.png ser ut til å mangle, opprett den fra svg::

rsvg-convert                                               \
   /usr/share/icons/hicolor/scalable/apps/transmission.svg \
   -o /usr/share/pixmaps/transmission.png

Parameterforklaringer

-DENABLE_QT=OFF: Denne bryteren deaktiverer bygging av Qt5 klienten. Standard er å bygge den hvis (Qt-5.15.10 eller qt-alternate-5.15.10) er installert.

-DENABLE_GTK=OFF: Denne bryteren deaktiverer bygging av GTK+-3 cli klienten. Standard er å bygge den hvis Gtkmm-3.24.8 er installert.

-DENABLE_WEB=OFF: Denne bryteren deaktiverer bygging av nettklienten. Standard er å bygge den hvis nodejs-18.17.1 er installert.

-DREBUILD_WEB=ON: Denne bryteren tvinger ombygging av nettklienten. Trenger nodejs-18.17.1 og en nettverkstilkobling. Standard er å ikke gjenoppbygge.

Innhold

Installerte Programmer: transmission-cli, transmission-create, transmission-daemon, transmission-edit, transmission-gtk or transmission-qt, transmission-remote, og transmission-show
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/transmission (inneholder nettklienten, valgfri) og /usr/share/doc/transmission-4.0.3

Korte Beskrivelser

transmission-cli

er en lettvekts, kommandolinje BitTorrent klient med skripting muligheter

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 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.21

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.0 plattform.

Note

xarchiver er bare en kommandolinje eller grafikk grensesnitt til arkiveringsverktøy som f.eks tar og zip.

Pakkeinformasjon

xarchiver Avhengigheter

Påkrevd

GTK+-2.24.33 eller GTK+-3.24.38

Valgfri (Kjøretid)

cpio-2.14, LZO-2.10, p7zip-17.04, UnRar-6.2.10, UnZip-6.0, og Zip-3.0

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/xarchiver

Installasjon av xarchiver

Installer xarchiver ved å kjøre følgende kommandoer:

./configure  --prefix=/usr               \
             --libexecdir=/usr/lib/xfce4 \
             --docdir=/usr/share/doc/xarchiver-0.5.4.21 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Note

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/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK+-2.24.33 eller GTK+-3.24.38 installert (for ikonbufferen) og desktop-file-utils-0.26 (for skrivebordsbufferen) og kjøre 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.18.6 er installert.

--disable-gtk3: Denne bryteren tillater bygging mot GTK+2 eller bruk --disable-gtk2 å tvinge bygging mot GTK+3 når GTK+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.21, og /usr/share/pixmaps/xarchiver

Korte Beskrivelser

xarchiver

er en GTK+ arkivbehandler

xdg-utils-1.1.3

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).

Warning

En sikkerhetssårbarhet finnes i alle versjoner av xdg-utils fra versjon 1.1.0rc1 ved håndtering av mailto: URIer. En angriper kan potensielt sende et offer en URI som automatisk legger ved en sensitiv fil til en ny e-post. Hvis en offerbruker ikke legger merke til at et vedlegg ble lagt til og sender e-posten, dette kan føre til utlevering av sensitiv informasjon.

For å redusere denne feilen, bruk enten ikke mailto lenker i det hele tatt, eller alltid dobbeltsjekk i brukergrensesnittet at det ikke finnes uønskede vedlegg før du sender e-post, spesielt når e-posten kommer fra klikking på en mailto lenke.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

xdg-utils Avhengigheter

Påkrevd

xmlto-0.0.28 med en av Lynx-2.8.9rel.1, Links-2.29, eller W3m

Påkrevd (kjøretid)

Xorg Applikasjoner

Valgfri (kjøretid)

dbus-1.14.8

Installasjon av xdg-utils

Kompiler xdg-utils med følgende kommandoer:

./configure --prefix=/usr --mandir=/usr/share/man &&
make

Caution

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.06

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.0 plattform.

Pakkeinformasjon

XSkjermsparer Avhengigheter

Påkrevd

GTK+-3.24.38, libglade-2.6.4, og Xorg Applikasjoner

Anbefalt
Valgfri

GDM-44.1, Linux-PAM-1.5.3, MIT Kerberos V5-1.21.2, 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

Part XIII. Multimedia

Chapter 44. 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-1.2.7

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 og OSS kompatibilitetsbibliotekene.

alsa-lib-1.2.9

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.0 plattform.

Pakkeinformasjon

ALSA Bibliotekets Avhengigheter

Anbefalt (Kjøretid)

Systemd-254

Note

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.9.7, Python-2.7.18, og alsa-ucm-conf

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 Library

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, kjør: make check.

Nå, som root bruker:

make install

For å installere API dokumentasjonen, kjør følgende kommando som root bruker:

install -v -d -m755 /usr/share/doc/alsa-lib-1.2.9/html/search &&
install -v -m644 doc/doxygen/html/*.* \
                /usr/share/doc/alsa-lib-1.2.9/html &&
install -v -m644 doc/doxygen/html/search/* \
                /usr/share/doc/alsa-lib-1.2.9/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.9

Korte Beskrivelser

aserver

er ALSA serveren

libasound.so

inneholder ALSA API funksjoner

libatopology.so

inneholder API funksjoner for ALSA topologier

alsa-plugins-1.2.7.1

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.0 plattform.

Pakkeinformasjon

ALSA Plugins Avhengigheter

Påkrevd

alsa-lib-1.2.9

Valgfri

FFmpeg-6.0, libsamplerate-0.2.2, PulseAudio-16.1, 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.9

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.0 plattform.

Pakkeinformasjon

ALSA Verktøy Avhengigheter

Påkrevd

alsa-lib-1.2.9

Valgfri

docutils-0.20.1, fftw-3.3.10, libsamplerate-0.2.2, xmlto-0.0.28, og Dialog

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/alsa-utils

Installasjon av ALSA Verktøy

Denne pakken gir sin egen implementering av strlcpy og strlcat funksjoner. Men de leveres av Glibc-2.38 nå, så vi må fjerne tilpasset implementering for å unngå konflikt med Glibc deklarasjonene:

echo '' > alsactl/init_sysdeps.c

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.28 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:

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.5

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.0 plattform.

Pakkeinformasjon

ALSA Verktøy Avhengigheter

Påkrevd

alsa-lib-1.2.9

Anbefalt

GTK+-2.24.33 (for å bygge echomixer, envy24control og rmedigicontrol), GTK+-3.24.38 (to build hdajackretask) og FLTK-1.3.8 (to build hdspconf og hdspmixer)

Installasjon av ALSA Verktøy

Note

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.14p3 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å et verktøy som trenger Qt2 eller 3 og to unødvendige filer (for BLFS instruksjonene nedenfor):

rm -rf qlo10k1 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, echomixer, envy24control, hda-verb, hdajackretask, hdajacksensetest, hdspconf, hdsploader, hdspmixer, hwmixvolume, init_audigy, init_audigy_eq10, init_live, lo10k1, ld10k1, ld10k1d, mixartloader, pcxhrloader, rmedigicontrol, 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

echomixer

er Linux ekvivalenten til Echoaudio konsollapplikasjonen fra Echoaudio. Det er et verktøy for å kontrollere alle funksjonene til enhver Echoaudio lydkort. Dette inkluderer klokkekilder, inngang og utgang gains, miksere osv

envy24control

er et kontrollverktøy for Envy24 (ice1712) baserte lydkort

hdajackretask

er en GUI for å gjøre det enkelt å prøve kontaktene dine på nytt - for eksempel snu mikrofonen plugg inn i en ekstra hodetelefon, eller hvorfor ikke lage 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. Følgende moduler krever dette programmet: snd-mixart. Disse driverne fungerer ikke riktig i det hele tatt til de enkelte fastvarefilene er lastet inn, dvs. ingen PCM eller mikserenheter vises

pcxhrloader

er et hjelpeprogram for å laste fastvarebinærfilene inn på Digigrams pcxhr kompatible brettlyddrivere. Følgende moduler krever dette programmet: snd-pcxhr. Disse driverne fungerer ikke riktig i det hele tatt til de enkelte fastvarefilene er lastet inn, dvs. ingen PCM heller ingen mikserenheter vises

rmedigicontrol

er et kontrollverktøy for RME Digi32 og RME Digi96 lydkort. Det gir en grafisk grenseflate for alle lydkortkontrollene og brytere

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. Følgende moduler krever dette programmet: snd-vx222, snd-vxpocket, snd-vxp440. Disse driverne fungerer ikke ordentlig i det hele tatt før den enkelte fastvarefilen er lastet inn, dvs. ingen PCM eller mikserenheter vil 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.0 plattform.

Pakkeinformasjon

ALSA Firmware Avhengigheter

Påkrevd

alsa-tools-1.2.5

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

alsa-oss-1.1.8

Introduksjon til alsa-oss

alsa-oss pakken inneholder alsa-oss kompatibilitetsbiblioteket. Dette brukes av programmer som ønsker å bruke alsa-oss lydgrensesnittet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

ALSA OSS Avhengigheter

Påkrevd

alsa-lib-1.2.9

Installasjon av ALSA OSS

Installer ALSA OSS ved å kjøre følgende kommandoer:

./configure --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: aoss
Installerte Biblioteker: libalsatoss.so, libaoss.so, og libossredir.a
Installerte Mapper: Ingen

Korte Beskrivelser

aoss

er et enkelt innpakningsskript som letter bruken av ALSA oss kompatibilitetsbibliotek. Det setter bare riktig LD_PRELOAD bane og kjører deretter kommandoen

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

AudioFile Avhengigheter

Påkrevd

alsa-lib-1.2.9

Anbefalt
Valgfri

asciidoc-10.2.0 og Valgrind-3.21.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_30

Introduksjon til FAAC

FAAC 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 i videofiler.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

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.9 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.10.1 pakken og spill av den dekodede filen (krever aplay programmet fra alsa-utils-1.2.9 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. Det er følgende alternative programmer for å produsere AAC- og HE-AAC-strømmer:

  • Nero AAC Codec: bare tilgjengelig i binær form, kommandolinjen AAC og HE-AAC kodere for Linux er i samme arkiv som Windows applikasjon.

  • 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 iPod kun støtter Low Complexity AAC-profil, som er standard i FAAC, men er kanskje ikke standard i Nero AAC Encoder og er helt utilgjengelig i 3GPP-koderen.

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.10.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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Installasjon av FAAD2

Installer FAAD2 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 å dekode AAC eksempelfilen:

./frontend/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.9 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

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

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.2

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.0 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.4.3

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://downloads.xiph.org/releases/flac/flac-1.4.3.tar.xz

  • Nedlasting MD5 sum: 7cab20b46e0bc859234bf5ba7da81625

  • Nedlastingsstørrelse: 1.0 MB

  • Estimert diskplass som kreves: 22 MB (ytterligere 163 MB for å kjøre testpakken)

  • Estimert byggetid: 0.2 SBU (ytterligere 0.6 SBU to for å kjøre testpakken)

FLAC Avhengigheter

Valgfri

libogg-1.3.5, DocBook-utils-0.6.14, Doxygen-1.9.7, og Valgrind-3.21.0

Installasjon av FLAC

Installer FLAC ved å kjøre følgende kommandoer:

./configure --prefix=/usr                                \
            --disable-thorough-tests                     \
            --docdir=/usr/share/doc/flac-1.4.3          &&
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.4.3

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.0 plattform.

Pakkeinformasjon

Frei0r-plugins Avhengigheter

Anbefalt

gavl-1.4.0

Valgfri

Doxygen-1.9.7 og opencv-4.8.0

Installasjon av Frei0r-plugins

Installer Frei0r ved å kjøre følgende kommandoer:

mkdir -vp build &&
cd        build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -Wno-dev ..                 &&

make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

-DWITHOUT_OPENCV=TRUE: Dette alternativet instruerer make prosedyren å deaktivere bygging av programtillegg avhengig av opencv.

-DWITHOUT_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.0 plattform.

Pakkeinformasjon

Gavl Avhengigheter

Påkrevd

libpng-1.6.40

Valgfri

Doxygen-1.9.7

Installasjon av Gavl

Installer Gavl ved å kjøre følgende kommandoer:

LIBS=-lm                      \
./configure --prefix=/usr     \
            --without-doxygen \
            --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.

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.22.5

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.22.5 og en av God, Dårlig, Stygg eller Libav programtillegg.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

gstreamer Avhengigheter

Påkrevd

GLib-2.76.4

Anbefalt
Valgfri

GTK+-3.24.38 (for eksempler), Gsl-2.7.1 (brukes av en test hvis installert), libunwind-1.6.2, Valgrind-3.21.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 \
       -Dgst_debug=false   \
       -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/12.0-systemd/ \
       -Dpackage-name="GStreamer 1.22.5 BLFS" &&
ninja

For å teste resultatene, kjør: ninja test.

Caution

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.22.5

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.0 plattform.

Pakkeinformasjon

GStreamer Grunnleggende Programtillegg Avhengigheter

Påkrevd

gstreamer-1.22.5

Anbefalt
Valgfri

graphene-1.10.8, GTK+-3.24.38 (for eksempler), Opus-1.3.1, (Qt-5.15.10 eller qt-alternate-5.15.10) (for eksempler), SDL2-2.28.2, Valgrind-3.21.0, hotdoc, libvisual, Orc, og Tremor

Installasjon av GStreamer Grunnleggende Programtillegg

Note

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 \
       -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/12.0-systemd/ \
       -Dpackage-name="GStreamer 1.22.5 BLFS"    &&
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.

Note

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.22.5

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.0 plattform.

Pakkeinformasjon

GStreamer Gode Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.22.5

Anbefalt
Valgfri

AAlib-1.4rc5, ALSA OSS-1.1.8, GTK+-3.24.38 (for eksempler), libdv-1.0.0, (Qt-5.15.10 eller qt-alternate-5.15.10), Speex-1.2.1, taglib-1.13.1, Valgrind-3.21.0, v4l-utils-1.24.1, Wayland-1.22.0, hotdoc, JACK, libcaca, libavc1394, libiec61883, libraw1394, libshout, Orc, TwoLame, og WavPack

Installasjon av GStreamer Gode Programtillegg

Note

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 \
      -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/12.0-systemd/ \
      -Dpackage-name="GStreamer 1.22.5 BLFS" &&
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: Flere programtillegg under /usr/lib/gstreamer-1.0
Installerte Mapper: /usr/share/gstreamer-1.0/presets

gst-plugins-bad-1.22.5

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.0 plattform.

Pakkeinformasjon

GStreamer Dårlige Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.22.5

Anbefalt
Valgfri

BlueZ-5.68, cURL-8.2.1, FAAC-1_30, FAAD2-2.10.1, fdk-aac-2.0.2, GTK+-3.24.38 (for eksempler), gst-plugins-good-1.22.5 (for en test), JSON-GLib-1.6.6, Little CMS-2.14, libaom-3.6.1, libass-0.17.1, libexif-0.6.24 (for en test), librsvg-2.56.3, libsoup-2.74.3 (for en test), libsndfile-1.2.2, libssh2-1.11.0, libusb-1.0.26, libva-2.19.0, libwebp-1.3.1, libxkbcommon-1.5.0, neon-0.32.5, Nettle-3.9.1 eller libgcrypt-1.10.2 (for SSL støtte i hls programtillegget, hvis begge ikke er installert vil OpenSSL brukes i stedet), opencv-4.8.0 (med tilleggsmoduler), OpenJPEG-2.5.0, Opus-1.3.1, qrencode-4.1.1, SBC-2.0, sdl12-compat-1.2.64, Valgrind-3.21.0, Wayland-1.22.0 (GTK+-3.24.38 må bli kompilert med wayland støtte), wpebackend-fdo-1.14.2, x265-20230215, bs2b, Chromaprint, dssim, Flite, FluidSynth, Game Music Emu, GSM, hotdoc, LADSPA, ldacBT, 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, Vulkan, WildMidi, WPE-WebKit, ZBAR, ZVBI, og zxing

Installasjon av GStreamer Dårlige Programtillegg

Note

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 \
       -Dgpl=enabled       \
       -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/12.0-systemd/ \
       -Dpackage-name="GStreamer 1.22.5 BLFS" &&
ninja

For å teste resultatene, kjør: ninja test. Flere tester trenger en terminalemulator i en grafisk sesjon. En test, elements_vacompositor er kjent for å mislykkes. Hvis gst-plugins-good-1.22.5 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.

-Dgpl=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, libgstbadaudio-1.0.so, libgstbasecamerabinsrc-1.0.so, libgstcuda-1.0.so, libgstcodecparsers-1.0.so, libgstcodecs-1.0.so, libgstinsertbin-1.0.so, libgstisoff-1.0.so, libgstmpegts-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.22.5

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.0 plattform.

Pakkeinformasjon

GStreamer Stygge Programtillegg Avhengigheter

Påkrevd

gst-plugins-base-1.22.5

Anbefalt
Valgfri

libmpeg2-0.5.1, libcdio-2.1.0 (for CD-ROM tilgang til stasjonen), Valgrind-3.21.0, hotdoc, libsidplay, OpenCore AMR, Orc, og TwoLame

Installasjon av GStreamer Stygge Programtillegg

Note

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 \
       -Dgpl=enabled       \
       -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/12.0-systemd/ \
       -Dpackage-name="GStreamer 1.22.5 BLFS" &&
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.

-Dgpl=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.22.5

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.0 plattform.

Pakkeinformasjon

GStreamer Libav Avhengigheter

Påkrevd

FFmpeg-6.0 og gst-plugins-base-1.22.5

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 \
       -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/12.0-systemd/ \
       -Dpackage-name="GStreamer 1.22.5 BLFS" &&
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 i /usr/lib/gstreamer-1.0 mappen
Installert Mappe: Ingen

gstreamer-vaapi-1.22.5

Introduksjon til gstreamer-vaapi

gstreamer-vaapi pakken inneholder en gstreamer programtillegg for maskinvareakselerert video dekoding/koding for de gjeldende kodingsstandardene i dag (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264 og VC-1/VMW3).

Note

På systemer uten maskinvareakselerasjon (spesielt virtuelle maskiner under qemu-8.1.0), denne pakken kan forårsake at X serveren kræsjer. BLFS teamet anbefaler å ikke installere denne pakken i dette tilfellet.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

gstreamer-vaapi Avhengigheter

Påkrevd

GTK+-3.24.38, gstreamer-1.22.5, gst-plugins-base-1.22.5, gst-plugins-bad-1.22.5, og libva-2.19.0

Valgfri

hotdoc

Installasjon av gstreamer-vaapi

Installer gstreamer-vaapi ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/12.0-systemd/ &&
ninja

Denne pakken kommer ikke med en fungerende testpakke.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libgstvaapi.so i /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.0 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-23.3.2

Introduksjon til intel-media

intel-media 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.0 plattform.

Pakkeinformasjon

Note

Tarballen intel-media-23.3.2.tar.gz vil pakke ut til mappen media-driver-intel-media-23.3.2.

intel-media Avhengigheter

Påkrevd

CMake-3.27.2, Intel-gmmlib-22.3.10, libva-2.19.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

Note

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,10,11,12},MTL}=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,10,12},MTL}=OFF alternativet kan brukes så koden som er spesifikk for de andre generasjonene av Intel GPUer ikke vil bygges.

Installer intel-media ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$XORG_PREFIX \
      -DINSTALL_DRIVER_SYSCONF=OFF        \
      -DBUILD_TYPE=Release                \
      -Wno-dev ..                   &&
make

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.0 plattform.

Pakkeinformasjon

intel-vaapi-driver Avhengigheter

Påkrevd

libva-2.19.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.7.4

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.0 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 -O2} $([ $(uname -m) = x86_64 ] && echo -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.7.4/liba52.txt

Parameterforklaringer

CFLAGS="-g -O2 ...: Dette setter CFLAGS til -g -O2 (som er standard), men legger til -fPIC på x86_64. Dette er nødvendig for å kompilere liba52 på x86_64.

--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.7.4

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.0 plattform.

Pakkeinformasjon

Libao Avhengigheter

Valgfri

et grafiske miljø, ALSA-1.2.7, og PulseAudio-16.1

Installasjon av Libao

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.6.1

Introduksjon til libaom

libaom pakken inneholder en referanse versjon av Alliance for Open Media videokodeken. Denne kodeken er et patentfritt alternativ til H.265, og begynner å bli brukt rundt hele internett.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libaom Avhengigheter

Anbefalt
Valgfri

Doxygen-1.9.7

Installasjon av libaom

Installer libaom ved å kjøre følgende kommandoer:

mkdir aom-build &&
cd    aom-build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_SHARED_LIBS=1       \
      -DENABLE_DOCS=no            \
      -G Ninja .. &&
ninja

For å teste resultatene, utsted: ninja runtests. Merk at testene tar ekstremt lang tid å kjøre.

Nå, som root bruker:

ninja install &&
rm -v /usr/lib/libaom.a

Parameterforklaringer

-DBUILD_SHARED_LIBS=1: Denne bryteren bygger delte versjoner av bibliotekene.

-DENABLE_DOCS=no: Denne bryteren deaktiverer bygging av dokumentasjonen fordi den mislykkes på grunn av en inkompatibilitet med siste versjon av Doxygen-1.9.7.

-DENABLE_NASM=yes: Bruk denne bryteren hvis du har NASM-2.16.01 installert og ønsker å bruke den 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.1

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.0 plattform.

Pakkeinformasjon

libass Avhengigheter

Påkrevd

FreeType-2.13.1, FriBidi-1.0.13, og NASM-2.16.01

Anbefalt
Valgfri

HarfBuzz-8.1.1 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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

libcanberra Avhengigheter

Påkrevd

libvorbis-1.3.7

Anbefalt
Valgfri

GTK+-2.24.33, PulseAudio-16.1, og tdb

Anbefalt Lydtema (Kjøretid)

Installasjon av libcanberra

Først bruker du 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-gtk: deaktiver valgfritt GTK+ 2 støtte

--disable-gtk3: deaktiver valgfritt GTK+ 3 støtte

Innhold

Installerte Programmer: canberra-boot og canberra-gtk-play
Installerte Biblioteker: libcanberra-gtk.so, 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-gtk.so

inneholder libcanberra bindinger for GTK+ 2

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.0 plattform.

Pakkeinformasjon

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

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.0 plattform.

Pakkeinformasjon

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.1.tar.bz2 &&
cd libcdio-paranoia-10.2+2.0.1 &&

./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.0 plattform.

Pakkeinformasjon

libdvdcss Avhengigheter

Valgfri (for å lage dokumentasjon)

Doxygen-1.9.7

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.0 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 som 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.0 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.0 plattform.

Pakkeinformasjon

Libdv Avhengigheter

Valgfri

popt-1.19, sdl12-compat-1.2.64, 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

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.0 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.0 plattform.

Pakkeinformasjon

libmpeg2 Avhengigheter

Valgfri

et grafiske miljø og sdl12-compat-1.2.64

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-2.1.5

Introduksjon til libmusicbrainz

libmusicbrainz pakken inneholder et bibliotek som lar deg få tilgang til dataene på MusicBrainz serveren. Dette er nyttig for å legge til MusicBrainz oppslagsfunksjoner til andre applikasjoner.

MusicBrainz er en fellesskaps metadatabase for musikk som prøver å lage et omfattende nettsted for musikkinformasjon. Du kan bruke MusicBrainz dataene enten ved å surfe på nettstedet, eller du kan få tilgang til dataene fra et klientprogram — for eksempel kan et CD spillerprogram bruke MusicBrainz til å identifisere CD-er og gi informasjon om CD-en, om artisten eller annen relatert informasjon.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

libmusicbrainz Avhengigheter

Valgfri for å bygge Python bindinger

Python-2.7.18

Installasjon av libmusicbrainz

Installer libmusicbrainz ved å kjøre følgende kommandoer:

patch -Np1 -i ../libmusicbrainz-2.1.5-missing-includes-1.patch &&

CXXFLAGS="${CXXFLAGS:--O2 -g} -std=c++98" \
./configure --prefix=/usr --disable-static &&
make

Hvis Python er installert, bygg bindingene med følgende kommandoer:

(cd python && python2 setup.py build)

Denne pakken kommer ikke med en frittstående testpakke (for å teste må du ha Python installert og utføre testene etter at pakken er installert).

Nå, som root bruker:

make install &&
install -v -m644 -D docs/mb_howto.txt \
    /usr/share/doc/libmusicbrainz-2.1.5/mb_howto.txt

For å teste Python bindingene, utsted følgende: (cd python && python2 setup.py test).

Hvis du bygde Python bindingene, utfør følgende kommandoer som root bruker for å installere dem:

(cd python && python2 setup.py install)

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen
Installert Bibliotek: libmusicbrainz.so
Installerte Mapper: /usr/include/musicbrainz og /usr/share/doc/libmusicbrainz-2.1.5

Korte Beskrivelser

libmusicbrainz.so

inneholder API funksjoner for å få tilgang til MusicBrainz databasen, både for å slå opp data og også for å sende inn ny data

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

libmusicbrainz Avhengigheter

Påkrevd

CMake-3.27.2, libxml2-2.10.4 og neon-0.32.5

Valgfri

Doxygen-1.9.7

Installasjon av libmusicbrainz

Først, fiks et problem forårsaket av CMake-3.18.0:

patch -Np1 -i ../libmusicbrainz-5.1.0-cmake_fixes-1.patch

Installer libmusicbrainz ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. &&
make

Hvis du har installert Doxygen-1.9.7, 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.0 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

libquicktime-1.2.4

Introduksjon til libquicktime

libquicktime pakken inneholder libquicktime biblioteket, diverse programtillegg og kodeker, sammen med grafiske og kommandolinjeverktøy som brukes for koding og dekoding av QuickTime filer. Dette er nyttig for å lese og skrive filer i QuickTime formatet. Målet med prosjektet er å forbedre, samtidig som det gir kompatibilitet med Quicktime 4 Linux bibliotek.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libquicktime Avhengigheter

Valgfri

alsa-lib-1.2.9, Doxygen-1.9.7, FAAC-1_30, FAAD2-2.10.1, GTK+-2.24.33, LAME-3.100, libdv-1.0.0, libjpeg-turbo-3.0.0, libpng-1.6.40, libvorbis-1.3.7, x264-20230215, Xorg Biblioteker, og Schroedinger

Installasjon av libquicktime

Installer libquicktime ved å kjøre følgende kommandoer:

./configure --prefix=/usr     \
            --enable-gpl      \
            --without-doxygen \
            --without-ffmpeg  \
            --docdir=/usr/share/doc/libquicktime-1.2.4
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&

install -v -m755 -d /usr/share/doc/libquicktime-1.2.4 &&
install -v -m644    README doc/{*.txt,*.html,mainpage.incl} \
                    /usr/share/doc/libquicktime-1.2.4

Parameterforklaringer

--enable-gpl: Endrer lisensen til GPL. Dette aktiverer noen ekstra programtillegg, for eksempel FAAC, FAAD2 og x264.

--without-doxygen: Dette er nødvendig hvis du ikke har Doxygen, utelat dette hvis det er installert og du ønsker API dokumentasjonen installert.

--without-ffmpeg: Denne bryteren deaktiverer ffmpeg støtte fordi den er uforenlig med ffmpeg-5.

--with-libdv: Bygg med libdv støtte. Ikke aktivert som standard.

Innhold

Installerte Programmer: libquicktime_config, lqtplay, lqtremux, lqt_transcode, qt2text, qtdechunk, qtdump, qtinfo, qtrechunk, qtstreamize, og qtyuv4toyuv
Installerte Biblioteker: libquicktime.so og flere programtillegg kodekbiblioteker
Installerte Mapper: /usr/include/lqt, /usr/lib/libquicktime, og /usr/share/doc/libquicktime-1.2.4

Korte Beskrivelser

libquicktime_config

er et grafisk grensesnitt for å undersøke og konfigurere de tilgjengelige libquicktime lyd og video kodeker

lqtplay

er en enkel QuickTime filmspiller for X Window System

lqt_transcode

er et kommandolinjeprogram som brukes til å kode video og/eller lyd filer fra ett format til et annet

qt2text

brukes til å dumpe alle tekststrenger fra en quicktime fil

qtdechunk

kan ta filmer som inneholder rgb rammer og skrive dem ut som ppm bilder

qtdump

viser det analyserte innholdet i den angitte filen

qtinfo

skriver ut ulike deler av metadata analysert av libquicktime biblioteket for den angitte filen

qtrechunk

setter sammen inndatarammer til en QuickTime film

qtstreamize

brukes til å gjøre en fil strømbar ved å plassere moov deklarasjonen ved begynnelsen av filen

qtyuv4toyuv

brukes til å skrive en YUV4 kodet film som en planar YUV 4:2:0 fil

libquicktime.so

er et bibliotek for lesing og skriving av QuickTime filer. Det gir enkel tilgang til QuickTime filer med en rekke støttede kodeker. Biblioteket inneholder nye funksjoner integrert med alle originale QuickTime 4 Linux biblioteksfunksjoner som brukes til å kode og dekode QuickTime filer

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.0 plattform.

Pakkeinformasjon

libsamplerate Avhengigheter

Valgfri

alsa-lib-1.2.9, 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.0 plattform.

Pakkeinformasjon

libsndfile Avhengigheter

Anbefalt
Valgfri

alsa-lib-1.2.9, LAME-3.100, mpg123-1.31.3, Speex-1.2.1, og SQLite-3.42.0

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 4G i størrelse

libsndfile.so

inneholder libsndfile API funksjoner

libtheora-1.1.1

Introduksjon til libtheora

libtheora er en referanseimplementering av Theora videokomprimeringsformat som utvikles av Xiph.Org Foundation.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libtheora Avhengigheter

Påkrevd

libogg-1.3.5

Anbefalt
Valgfri

sdl12-compat-1.2.64 og libpng-1.6.40 (begge for å bygge eksempelspillerne), Doxygen-1.9.7, texlive-20230313 (eller install-tl-unx), BibTex, og Transfig (alle fire for å bygge API dokumentasjonen), og Valgrind-3.21.0

Installasjon av libtheora

Installer libtheora ved å kjøre følgende kommandoer:

sed -i 's/png_\(sizeof\)/\1/g' examples/png2theora.c &&
./configure --prefix=/usr --disable-static &&
make

Hvis du ønsker å kjøre testene, kjør: make check.

Nå, som root bruker:

make install

Hvis du ønsker å installere eksemplene (slik at du kan hacke theora), installer dem som root bruker:

cd examples/.libs &&
for E in *; do
  install -v -m755 $E /usr/bin/theora_${E}
done

Parameterforklaringer

sed -i 's/png_\(sizeof\)/\1/g' examples/png2theora.c: Dette sed fikser bygging med libpng 1.6.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

Innhold

Installerte Programmer: Ingen, med mindre du har installert eksemplene
Installerte Biblioteker: libtheora.so, libtheoraenc.so, og libtheoradec.so
Installerte Mapper: /usr/include/theora og /usr/share/doc/libtheora-1.1.1

Korte Beskrivelser

libtheora*.so

inneholder funksjonene for å lese og skrive videofiler

libva-2.19.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.0 plattform.

Pakkeinformasjon

libva Avhengigheter

Påkrevd

Xorg build environment og libdrm-2.4.115

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-23.3.2 (for Intel GPUer som følger med Broadwell CPUer og senere), og Mesa-23.1.6 (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.9.7, Wayland-1.22.0, og intel-gpu-tools

Installasjon av libva

Installer libva 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

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 Nvidias GeForce grafikkbehandlingsenheter) eller nyere GPU maskinvare er nødvendig.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.0 (for Intel GPUer) og Mesa-23.1.6 (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.9.7, Graphviz-8.1.0, og texlive-20230313 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.0

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.0 plattform.

Pakkeinformasjon

libvdpau-va-gl Avhengigheter

Påkrevd

CMake-3.27.2, libvdpau-1.5, og libva-2.19.0

Valgfri

Doxygen-1.9.7, Graphviz-8.1.0, og texlive-20230313 eller install-tl-unx

Kjøretid Avhengighet

Mesa-23.1.6

Installasjon av libvdpau-va-gl

Installer libvdpau-va-gl ved å kjøre følgende kommandoer:

sed -e '/#include <stdlib.h>/a #include <string>' -i src/api-device.cc &&

mkdir build &&
cd    build &&

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_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

Parameterforklaringer

sed -e '/#include <stdlib.h>/a #include <string>' ...: fikse byggingen for C++ Standard Bibliotek Deklarasjoner endringene i gcc-13.

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.0 plattform.

Pakkeinformasjon

libvorbis Avhengigheter

Påkrevd

libogg-1.3.5

Valgfri

Doxygen-1.9.7 og texlive-20230313 (eller install-tl-unx (spesifikt pdflatex og htlatex) for å bygge PDF dokumentasjonen)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Libvorbis

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.13.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.0 plattform.

Pakkeinformasjon

libvpx Avhengigheter

Anbefalt
Valgfri

cURL-8.2.1 (for å laste ned testfiler) og Doxygen-1.9.7 (for å bygge dokumentasjon)

Note

En Internett tilkobling er nødvendig for noen tester av 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 forhindrer bygging av VP8 kodek støtte.

--disable-vp9: Denne bryteren forhindrer bygging av VP9 kodek støtte.

--target=generic-gnu: Denne bryteren deaktiverer optimaliseringer spesifikke for 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.18.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.0 plattform.

Pakkeinformasjon

MLT Avhengigheter

Påkrevd

frei0r-plugins-1.8.0 og (Qt-5.15.10 eller qt-alternate-5.15.10)

Valgfri

Doxygen-1.9.7, fftw-3.3.10, libexif-0.6.24, SDL2-2.28.2, JACK, MOVEit, SoX, og vid.stab

Installasjon av MLT

Installer MLT ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -Wno-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.

Note

Denne applikasjonen bruker avanserte grafiske funksjoner. I noen tilfeller kan det være nødvendig med fastvare for din spesifikke grafikkadapter. Se the section called “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.3.1

Introduksjon til Opus

Opus er et lydkomprimeringsformat med tap utviklet av Internet Engineering Task Force (IETF), dvs spesielt egnet for interaktiv tale og lydoverføring over internettet. Denne pakken gir Opus utviklingsbibliotek og deklarasjoner.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Valgfri

Doxygen-1.9.7 og texlive-20230313 (eller install-tl-unx)

Installasjon av Opus

Installer Opus ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/opus-1.3.1 &&
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: libopus.so
Installert Mappe: /usr/include/opus og /usr/share/doc/opus-1.3.1

Korte Beskrivelser

libopus.so

gir funksjonene som brukes til å lese og skrive Opus formatet

Pipewire-0.3.77

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.0 plattform.

Pakkeinformasjon

Pipewire Avhengigheter

Anbefalt
Valgfri

alsa-lib-1.2.9, Avahi-0.8, BlueZ-5.68, fdk-aac-2.0.2, FFmpeg-6.0, libcanberra-0.30, libdrm-2.4.115 (for ett eksempel og libcamera støtte), libxcb-1.16, libsndfile-1.2.2, libusb-1.0.26, Opus-1.3.1, SDL2-2.28.2 (for noen eksempler), Valgrind-3.21.0, Xorg Biblioteker, Doxygen-1.9.7 og Graphviz-8.1.0 (for dokumentasjon), JACK, ldacBT, libcamera, libmysofa, Vulkan, WirePlumber (kjøretid, for kjøring av Pipewire nissen), 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     \
      -Dsession-managers="[]" &&
ninja

For å teste resultatene, kjør: ninja test.

Hvis du oppgraderer fra en tidligere versjon av Pipewire, er det nødvendig å fjerne alle gamle binære kjørbare filer som forstyrrer installasjon. Som root bruker:

rm -vf /usr/bin/pipewire-*

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.

-Dsession-managers=[]: Denne bryteren lar deg spesifisere øktbehandlere som skal bygges som underprosjekter. Siden den anbefalte øktbehandlere ( WirePlumber) er tilgjengelig som et frittstående prosjekt, ikke spesifiser noe her. Dette forhindrer nedlasting av eksterne avhengigheter under meson trinnet.

-Ddocs=true: Denne bryteren aktiverer generering av HTML dokumentasjon. De valgfrie avhengighetene for dokumentasjon må være installert for at dette skal fungere.

-Dman=true: Denne bryteren aktiverer generering av manualsider. De valgfrie avhengighetene for dokumentasjon må installeres for at dette skal fungere.

-Dffmpeg=enabled: Denne bryteren aktiverer bruk av ffmpeg for lydkonvertering 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 58 modules below /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-16.1

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. Ting som å overføre lyden til en annen maskin, endre prøveformatet eller kanaltellingen og mikse flere lyder til en oppnås enkelt ved hjelp av en lydserver.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

PulseAudio Avhengigheter

Påkrevd

libsndfile-1.2.2

Anbefalt
Valgfri

Avahi-0.8, BlueZ-5.68, Doxygen-1.9.7 (for dokumentasjon), fftw-3.3.10, GTK+-3.24.38, libsamplerate-0.2.2, SBC-2.0 (Bluetooth støtte), Valgrind-3.21.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 \
            -Ddatabase=gdbm     \
            -Ddoxygen=false     \
            -Dbluez5=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 -fv /etc/dbus-1/system.d/pulseaudio-system.conf

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-Dbluez5=disabled: Denne bryteren forhindrer en kjøretidsfeil hvis dbus-1.14.8 og SBC-2.0 er begge installert men BlueZ-5.68 ikke er installert. Fjern dette hvis du har installert alle tre pakkene.

-Ddoxygen=false: Dette gjør at pakken kan kompilere hvis Doxygen-1.9.7 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-16.1.so, libpulsecore-16.1.so, og libpulsedsp.so
Installerte Mapper: /etc/pulse, /usr/include/pulse, /usr/lib/cmake/PulseAudio, /usr/lib/{pulseaudio,pulse-16.1}, /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 for å tillate 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 er en digital lydkoder og dekoder som brukes til å overføre data til Bluetooth lydenheter som hodetelefoner eller høyttalere.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 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.64

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.0 plattform.

Pakkeinformasjon

SDL Avhengigheter

Påkrevd

CMake-3.27.2, GLU-9.0.3, og SDL2-2.28.2

Installasjon av sdl12-compat

Installer sdl12-compat ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&
 
cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_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.28.2

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.libsdl.org/release/SDL2-2.28.2.tar.gz

  • Nedlasting MD5 sum: 06ff379c406cd8318d18f0de81ee2709

  • Nedlastingsstørrelse: 7.0 MB

  • Estimert diskplass som kreves: 162 MB (med dokumenter)

  • Estimert byggetid: 0.4 SBU (bruker parallellisme=4; med dokumenter)

SDL2 Avhengigheter

Anbefalt
Valgfri

ALSA-1.2.7, Doxygen-1.9.7 (å lage dokumentasjon), ibus-1.5.28, libsamplerate-0.2.2, NASM-2.16.01, pipewire-0.3.77, PulseAudio-16.1, 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.9.7 installert og ønsker å bygge html dokumentasjon, kjør følgende kommandoer:

pushd docs  &&
  doxygen   &&
popd

Note

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.28.2/html &&
cp -Rv  docs/output/html/* /usr/share/doc/SDL2-2.28.2/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.

--disable-alsa-shared: Denne bryteren deaktiverer at ALSA laster delte biblioteker dynamisk.

--disable-sdl-dlopen: Denne bryteren deaktiverer bruk av dlopen for lasting av delt objekt. Å laste bilde bakstykkebiblioteker som libpng dynamisk fortløpende fungerer ikke.

--disable-x11-shared: Denne bryteren deaktiverer dynamisk lasting av X11 delte biblioteker.

Konfigurere SDL2

Konfigurasjonsinformasjon

Som med de fleste biblioteker, er det ingen konfigurasjon å gjøre, bortsett fra at biblioteksmappen, dvs. /opt/lib eller /usr/local/lib skal vises i /etc/ld.so.conf sånn at ldd kan finne de delte bibliotekene. Etter å ha sjekket at dette er tilfelle, /sbin/ldconfig skal kjøres mens du er logget på som root.

Innhold

Installert Program: sdl2-config
Installerte Biblioteker: libSDL2.so
Installerte Mapper: /usr/include/SDL2, /usr/lib/cmake/SDL2, og /usr/share/doc/SDL-2.28.2

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.0 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.2

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.0 plattform.

Pakkeinformasjon

Installasjon av SoundTouch

Note

Tarballen utvider seg til 'soundtouch' i stedet for det forventede 'soundtouch-2.3.2'

Installer SoundTouch ved å kjøre følgende kommandoer:

Caution

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.2 &&
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.2

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Speex Avhengigheter

Påkrevd

libogg-1.3.5

Valgfri

Valgrind-3.21.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-1.13.1

Introduksjon til Taglib

Taglib er et bibliotek som brukes til å lese, skrive og manipulere lydfil tagger og brukes av applikasjoner som for eksempel Amarok og VLC.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Taglib Avhengigheter

Påkrevd

CMake-3.27.2

Vakgfri (for tester)

Cppunit

Installasjon av Taglib

Installer Taglib ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_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.24.1

Introduksjon til v4l-utils

v4l-utils gir en rekke verktøy for medieenheter, som gjør det mulig å håndtere de proprietære formatene som er tilgjengelige på 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.0 plattform.

Pakkeinformasjon

v4l-utils Avhengigheter

Påkrevd

LLVM-16.0.5 (med mål BPF)

Anbefalt
Valgfri

Doxygen-1.9.7 og SDL2-2.28.2

Installasjon av v4l-utils

Installer v4l-utils 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 -j1 install

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, 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

v4l2-sysfs-path

sjekker medieenhetene som er installert på en maskin og tilsvarende enhetsnoder

x264-20230215

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.0 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-20230215

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.0 plattform.

Pakkeinformasjon

x265 Avhengigheter

Påkrevd

CMake-3.27.2

Anbefalt
Valgfri

numactl

Installasjon av x265

Installer x265 ved å kjøre følgende kommandoer:

mkdir bld &&
cd    bld &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DGIT_ARCHETYPE=1           \
      -Wno-dev ../source          &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
rm -vf /usr/lib/libx265.a 

Parameterforklaringer

-DGIT_ARCHETYPE=1: Upstream gir ikke lenger utgivelser. BLFS bruker et git øyeblikksbilde, men hvis byggeren ikke har installert git bygget vil ikke installere det delte biblioteket eller pkgconfig filen uten denne bryteren.

-Wno-dev: Denne bryteren brukes til å undertrykke advarsler beregnet på pakkens utviklere.

rm -vf /usr/lib/libx265.a: BLFS anbefaler ikke bruk av statiske biblioteker.

Innhold

Installert Program: x265
Installert Bibliotek: libx265.so
Installerte Mapper: Ingen

Korte Beskrivelser

libx265.so

gir funksjonene som brukes til å kode videostrømmer til H.265/HEVC formatet

xine-lib-1.2.13

Introduksjon til Xine Biblioteker

Xine Bibliotek pakken inneholder xine biblioteker. Disse er nyttige for grensesnitt med eksterne programtillegg som tillater flyt av informasjon fra kilden til lyd og video maskinvare.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Xine Biblioteker Avhengigheter

Påkrevd

et grafiske miljø, FFmpeg-6.0, og minst en av: ALSA-1.2.7, PulseAudio-16.1, eller JACK

Anbefalt
Valgfri

AAlib-1.4rc5, FAAD2-2.10.1, FLAC-1.4.3, gdk-pixbuf-2.42.10, GLU-9.0.3, ImageMagick-7.1.1-15, liba52-0.7.4, libdvdcss-1.4.3, libmad-0.15.1b, libmng-2.0.3, libnsl-2.0.0, libtheora-1.1.1, libva-2.19.0 (krever GLU-9.0.3), libvdpau-1.5, libvorbis-1.3.7, libvpx-1.13.0, Mesa-23.1.6, Samba-4.18.6, sdl12-compat-1.2.64, Speex-1.2.1, Doxygen-1.9.7 (for å lage API dokumentasjonen), v4l-utils-1.24.1 DirectFB, libbluray, libcaca, libdca, libFAME, libmodplug, musepack, VCDImager, og WavPack,

Installasjon av Xine Biblioteker

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

Note

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.19.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.0 plattform.

Pakkeinformasjon

XviD Avhengigheter

Valgfri

yasm-1.3.0 eller NASM-2.16.01

Installasjon av XviD

Note

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

Chapter 45. 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.3.1

Introduksjon til Audacious

Audacious er en lydspiller.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Nødvendige programtillegg

Audacious Avhengigheter

Påkrevd

GTK+-2.24.33 eller GTK+-3.24.38 eller (Qt-5.15.10 eller qt-components-5.15.10 med qtmultimedia)

Anbefalt

libarchive-3.7.1

Valgfri

Valgrind-3.21.0

Anbefalt (for programtillegg)
Valgfri (for programtillegg)

ALSA-1.2.7, cURL-8.2.1, FAAD2-2.10.1, FLAC-1.4.3, LAME-3.100, libxml2-2.10.4, libcdio-2.1.0 (for å identifisere og spille av CDer), libnotify-0.8.2, libsndfile-1.2.2, libvorbis-1.3.7, pipewire-0.3.77, PulseAudio-16.1, SDL2-2.28.2, 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

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/audacious

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 \
            -Dgtk3=true         \
            -Dbuildstamp=BLFS   \
            -Dlibarchive=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.3.1.tar.bz2 &&
cd audacious-plugins-4.3.1                    &&

mkdir build &&
cd    build &&

meson setup           \
  --prefix=/usr       \
  --buildtype=release \
  -Dgtk3=true         \
  ..                  &&

+ninja

Nå, som root bruker:

ninja install

Parameterforklaringer

-Dbuildstamp=BLFS: Denne bryteren legger til den gitte teksten til versjonsstrengen.

-Dgtk3=true: Dette alternativet setter standard grafisk brukergrensesnitt.

-Dvalgrind=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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/cdparanoia

Installasjon av CDParanoia

Note

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-23.08.0

Introduksjon til KWave

KWave pakken inneholder en KF5 basert lyd redigeringsapplikasjon.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

KWave Avhengigheter

Påkrevd

AudioFile-0.3.6, fftw-3.3.10, id3lib-3.8.3, og KDE Frameworks-5.109.0

Anbefalt
Valgfri

Doxygen-1.9.7

Installasjon av KWave

Installer KWave ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
      -DCMAKE_BUILD_TYPE=Release         \
      -DBUILD_TESTING=OFF                \
      -Wno-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 29 programtillegg
Installerte Mapper: $KF5_PREFIX/lib/plugins/kwave, $KF5_PREFIX/share/kwave, $KF5_PREFIX/share/doc/HTML/*/kwave

Korte Beskrivelser

kwave

er et lydredigeringsprogram bygget på KDE Frameworks 5

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.0 plattform.

Pakkeinformasjon

LAME Avhengigheter

Valgfri

Dmalloc, Electric Fence, libsndfile-1.2.2 og NASM-2.16.01

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/lame

Installasjon av LAME

Installer LAME ved å kjøre følgende kommandoer:

./configure --prefix=/usr --enable-mp3rtp --disable-static &&
make

For å teste resultatene, kjør: 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: Aktiver bruk av NASM-2.16.01 å kompilere optimaliserte monteringsrutiner for 32-bit x86. Dette alternativet 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

biblioteker gir de nødvendige funksjonene for å konvertere rå PCM og WAV filer til MP3 filer

mpg123-1.31.3

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.0 plattform.

Pakkeinformasjon

mpg123 Avhengigheter

Anbefalt
Valgfri

PulseAudio-16.1, sdl12-compat-1.2.64, JACK, OpenAL og PortAudio

Installasjon av mpg123

Installer mpg123 ved å kjøre følgende kommandoer:

./configure --prefix=/usr &&
make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make install

Innhold

Installerte Programmer: mpg123, mpg123-id3dump, mpg123-strip, og out123
Installerte Biblioteker: libmpg123.so, libout123.so, og libsyn123.so
Installert Mappe: /usr/lib/mpg123

Korte Beskrivelser

mpg123

brukes til å spille av MP3 filer via konsollen

mpg123-id3dump

er et verktøy for å dumpe ID3 metadata fra MPEG lydfiler ved bruk av libmpg123

mpg123-strip

trekker bare ut MPEG rammer fra en strøm ved å bruke libmpg123 (stdin til stdout)

out123

spiller rå PCM lyd til en utgangsenhet

libmpg123.so

inneholder mpg123 API funksjoner

libout123.so

inneholder out123 API funksjoner

libsyn123.so

inneholder litt lydsignalsyntese og formatkonverterings funksjoner

pavucontrol-5.0

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.0 plattform.

Pakkeinformasjon

pavucontrol Avhengigheter

Påkrevd

Gtkmm-3.24.8, JSON-GLib-1.6.6, libcanberra-0.30, libsigc++-2.12.0, og PulseAudio-16.1

Installasjon av pavucontrol

Installer pavucontrol ved å kjøre følgende kommandoer:

./configure --prefix=/usr --docdir=/usr/share/doc/pavucontrol-5.0 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Innhold

Installert Program: pavucontrol
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/pavucontrol og /usr/share/doc/pavucontrol-5.0

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.0 plattform.

Pakkeinformasjon

Pnmixer Avhengigheter

Påkrevd

alsa-utils-1.2.9, GTK+-3.24.38, og libnotify-0.8.2

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/pnmixer

Installasjon av Pnmixer

Installer Pnmixer ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

cmake -DCMAKE_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.0 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.2.1, FLAC-1.4.3, Speex-1.2.1, og libkate

Installasjon av Vorbis Tools

Installer Vorbis Tools ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --enable-vcut \
            --without-curl &&
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.

--without-curl: Denne parameteren deaktiverer HTTP strømming i ogg123. Fjern denne parameteren hvis du har cURL installert.

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

Chapter 46. 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-6.0

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.0 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ffmpeg.org/releases/ffmpeg-6.0.tar.xz

  • Nedlasting MD5 sum: 47b6c5d930937413c3e308e2fdb3dfb5

  • Nedlastingsstørrelse: 9.8 MB

  • Estimert diskplass som kreves: 187 MB (legg til 1,5 GB for FATE-pakke/testene, legg til 786 MB for dokumentasjon)

  • Estimert byggetid: 1.3 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,3 SBU for doxygen dokumenter)

Ytterligere Nedlastinger

FFmpeg Avhengigheter

Anbefalt
Anbefalt for skrivebordsbruk
Valgfri

Doxygen-1.9.7, Fontconfig-2.14.2, FriBidi-1.0.13, frei0r-plugins-1.8.0, libcdio-2.1.0 (å identifisere og spille av CDer), libdrm-2.4.115 (for kmsgrab inndata), libwebp-1.3.1, opencv-4.8.0, OpenJPEG-2.5.0, GnuTLS-3.8.1, PulseAudio-16.1, Samba-4.18.6, Speex-1.2.1, texlive-20230313 (eller install-tl-unx) for PDF og PS dokumentasjon, v4l-utils-1.24.1, XviD-1.3.7, et grafiske miljø, Flite, GSM, libaacplus, libbluray, libcaca, libcelt, libdc1394, libdca, libiec61883, libilbc, libmodplug, libnut (Git checkout), librtmp, libssh, OpenAL, OpenCore AMR, Srt, Schroedinger, TwoLAME, vo-aaenc, vo-amrwbenc, og ZVBI

Installasjon av FFmpeg

Note

Noen ufarlige advarsler kan gis av byggeprosessen vedrørende HTML dokumentasjonen. Dette skyldes en inkompatibilitet med Texinfo-7.0 og høyere.

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-6.0-chromium_method-1.patch

Bruk nå en oppdatering som lar pakken bygge med binutils-2.41:

patch -Np1 -i ../ffmpeg-6.0-binutils_2.41-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     \
            --docdir=/usr/share/doc/ffmpeg-6.0 &&

make &&

gcc tools/qt-faststart.c -o tools/qt-faststart

HTML dokumentasjon ble bygget i forrige trinn. Hvis du har texlive-20230313 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.9.7 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-6.0 &&
install -v -m644    doc/*.txt /usr/share/doc/ffmpeg-6.0

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-6.0 &&
install -v -m644 doc/*.ps  /usr/share/doc/ffmpeg-6.0

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-6.0/api                     &&
cp -vr doc/doxy/html/* /usr/share/doc/ffmpeg-6.0/api                  &&
find /usr/share/doc/ffmpeg-6.0/api -type f -exec chmod -c 0644 \{} \; &&
find /usr/share/doc/ffmpeg-6.0/api -type d -exec chmod -c 0755 \{} \;

For å teste installasjonen riktig må du ha rsync-3.2.7 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

sed -i ... configure: Denne kommandoen legger til ALSA biblioteket til Flite LDFLAGS variabelen og aktiverer oppdagelse av Flite.

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.115 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-libtheora: Aktiverer Theora videokoding via libvorbis og libtheora.

--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.

--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.9.7 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.

Note

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-6.0, 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

MPlayer-1.5

Introduksjon til MPlayer

MPlayer er en kraftig lyd/videospiller kontrollert via kommandolinjen eller et grafisk grensesnitt som er i stand til spille av nesten alle populære lyd og video filformater. Med støttet videomaskinvare og tilleggsdrivere, kan MPlayer spille av videofiler uten et X Window System installert.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Skinn

Note

Skinn er kun nødvendig for å bruke Gtk+ 2 brukergrensesnitt.

MPlayer Avhengigheter

Påkrevd

yasm-1.3.0

Anbefalt
Valgfrie inndatadrivere og biblioteker

CDParanoia-III-10.2, libcdio-2.1.0 (å identifisere og spille av CDer), libdvdread-6.1.3, libdvdnav-6.1.1, libdvdcss-1.4.3, Samba-4.18.6, libbluray, LIVE555 Streaming Media, RTMPDump, TiVo vstream client, og XMMS

Valgfrie lydutdatadrivere og biblioteker

ALSA-1.2.7, PulseAudio-16.1, sdl12-compat-1.2.64, JACK, NAS, og OpenAL

Valgfrie videoutdatadrivere og biblioteker

AAlib-1.4rc5, giflib-5.2.1, libjpeg-turbo-3.0.0, libmng-2.0.3, libpng-1.6.40, OpenJPEG1 DirectFB, libcaca, og SVGAlib

Valgfrie KODEK-er

FAAC-1_30, FAAD2-2.10.1, LAME-3.100, liba52-0.7.4, libdv-1.0.0, libmad-0.15.1b, libmpeg2-0.5.1, libtheora-1.1.1, libvpx-1.13.0, LZO-2.10, mpg123-1.31.3, Speex-1.2.1, XviD-1.3.7, x264-20230215, CrystalHD, Dirac, GSM, iLBC, libdca, libnut, libmpcdec, OpenCore Adaptive Multi Rate, Schroedinger, Tremor, og TwoLAME

Valgfrie diverse avhengigheter

Fontconfig-2.14.2, FreeType-2.13.1, FriBidi-1.0.13, GnuTLS-3.8.1, Opus-1.3.1, og UnRar-6.2.10; libxslt-1.1.38, docbook-xml-4.5 og docbook-xsl-nons-1.79.2 (alle tre kreves for å bygge HTML dokumentasjonen); og Enca, libbs2b, og LIRC (og LIRC Client Daemon)

Installasjon av MPlayer

Hoved MPlayer Installasjon

Det er to oppdateringer knyttet til FFmpeg-6.0 som må brukes. Gjør det nå:

patch -Np1 -i ../MPlayer-1.5-upstream_ffmpg6_fixes-1.patch &&
patch -Np1 -d ffmpeg -i ../ffmpeg-6.0-binutils_2.41-1.patch

Note

Pakkevedlikeholderne anbefaler å bygge uten noen optimaliseringer.

Du bør undersøke resultatet fra ./configure --help for å finne ut hvilke tilleggsparametere til configure er nødvendig for å inkludere avhengigheter du har installert på systemet ditt.

Installer MPlayer ved å kjøre følgende kommandoer:

./configure --prefix=/usr                 \
            --confdir=/etc/mplayer        \
            --enable-dynamic-plugins      \
            --disable-libmpeg2-internal   \
            --enable-menu                 \
            --enable-runtime-cpudetection \
            --enable-gui                  &&
make

Hvis du ønsker å bygge HTML-dokumentasjonen, utsted følgende kommando:

make doc

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install  &&
ln -svf ../icons/hicolor/48x48/apps/mplayer.png \
        /usr/share/pixmaps/mplayer.png

For å installere HTML dokumentasjonen, utfør følgende kommandoer som root bruker:

install -v -m755 -d /usr/share/doc/mplayer-1.5 &&
install -v -m644    DOCS/HTML/en/* \
                    /usr/share/doc/mplayer-1.5

Du trenger bare codecs.conf hvis du vil endre egenskapene, da hovedbinæren inneholder en intern kopi av den. Sørg for at eventuelle endringer du gjør i codecs.conf oppnår de ønskede resultatene, siden feil oppføringer i denne filen har vært kjent for å forårsake feil og gjøre spilleren ubrukelig. Hvis nødvendig, opprett filen som root bruker:

install -v -m644 etc/codecs.conf /etc/mplayer

Alternativt kan du kopiere alle standard konfigurasjonsfilene til /etc/mplayer for fremtidig referanse eller mer tilpasningsevne. Som root bruker:

install -v -m644 etc/*.conf /etc/mplayer

Skinn Installasjon (Valgfri)

For å aktivere Gtk+ 2 grensesnittet til MPlayer, du må installere minst ett skinn. Trekk ut ønsket skinn og opprett standardplasseringen (som root bruker):

tar -xvf  ../Clearlooks-2.0.tar.bz2 \
    -C    /usr/share/mplayer/skins &&
ln  -sfvn Clearlooks /usr/share/mplayer/skins/default

Note

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/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK+-2.24.33 eller GTK+-3.24.38 installert (for ikonbufferen) og desktop-file-utils-0.26 (for skrivebordsbufferen) og kjøre følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

--enable-gui: Dette alternativet bygger GUI grensesnittet inn i mplayer.

--enable-menu: Dette alternativet er satt for å aktivere skjermvisning.

--enable-runtime-cpudetection: Dette alternativet gjør at MPlayer kjøres med en generisk CPU type, og forhindrer optimaliseringer som evt forårsake kjøretidsproblemer.

--disable-ffmpeg_a: Du kan bruke dette alternativet hvis du installerte en versjon av ffmpeg før ffmpeg-6.0. Denne versjonen av MPlayer er inkompatibel med den nyeste versjonen av ffmpeg. MPlayer inkluderer en kopi av FFmpeg kilde og uten dette alternativet vil den statisk kompilere den inkluderte versjon av FFmpeg i seg selv. Dynamisk kobling til et installert system FFmpeg gjør MPlayer og Mencoder omtrent 9MB mindre.

--disable-libmpeg2-internal: Dette alternativet gjør at MPlayer kjøres med en systemversjon av libmpeg2.

--language-doc="<lang>": Denne bryteren angir språket som brukes for dokumentasjonen. Bruk ./configure --help for mer informasjon.

--language-man="<lang>": Denne bryteren angir språket som brukes for mansidene. Bruk ./configure --help for mer informasjon.

--language-msg="<lang>": Denne bryteren angir språket som brukes for meldinger og GUI. Bruk ./configure --help for mer informasjon

--language="<lang>": Denne bryteren angir standardspråket som brukes. Bruk ./configure --help for mer informasjon.

Note

Spesifikke alternativer overstyrer --language. Du kan sende en liste over språk atskilt med mellomrom eller komma i stedet for ett enkelt språk. Ikke-eksisterende oversettelser vil bli slettet fra hver liste. All dokumentasjon og mansideoversettelser tilgjengelig i listen vil bli installert, for meldingene den første tilgjengelige oversettelsen vil bli brukt. Verdien "alle" vil aktivere alle oversettelser. LINGUAS miljøvariabel er hedret. I alle tilfeller er fallback Engelsk. Verdier oppført etter ./configure --help er ikke alle tilgjengelige, som normalt ville vært forventet. Du må bygge test.

Konfigurere MPlayer

Konfigurasjonsfiler

/etc/mplayer/* og ~/.mplayer/*

Note

For å spille av en DVD kan det være nyttig å sørge for at en /dev/dvd enhet er opprettet. Du må kanskje sette opp dette som beskrevet i the section called “Devices for DVD Drives”.

Konfigurasjonsinformasjon

Vanligvis er det ikke nødvendig med konfigurasjon for systemfilene i /etc/mplayer (faktisk denne mappen er tom med mindre du kopierte standardfilene som nevnt ovenfor). Konfigurasjon kan utføres ved å velge konfigurasjon knappen plassert på MPlayer GUI. Alle konfigurasjonsendringer gjort i GUI vil bli lagret i brukerens ~/.mplayer mappe.

Innhold

Installerte Programmer: gmplayer, mplayer og mencoder
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/mplayer, /usr/share/doc/mplayer-1.5 og /usr/share/mplayer

Korte Beskrivelser

gmplayer

er en symbolkobling til mplayer som bringer opp GTK+ 2-grensesnittet til MPlayer

mplayer

er hoved MPlayer videospiller

mencoder

er en kraftig kommandolinje for videodekoding, koding og filtrering verktøy som er nyttig for (blant annet) å rippe DVDer til filer på harddisken (se /usr/share/doc/mplayer-1.5/mencoder.html)

Transcode-1.1.7

Introduksjon til Transcode

Transcode var en rask, allsidig og kommandolinjebasert lyd/video alt til alt konvertering primært fokusert på å produsere AVI videofiler med MP3 lyd, men også inkludert et program for å lese alle video og lyd strømmene fra en DVD.

Selv om den er utdatert og ikke lenger vedlikeholdes, kan den fortsatt brukes til trekke ut elementer fra en DVD ved å bruke bare de nødvendige og anbefalte avhengigheter, eller å omkode til AVI filer.

Subjects to the comments below, this package is known to build and minimally work using the current LFS platform.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Transcode Avhengigheter

Anbefalt
Valgfri

FAAC-1_30, FreeType-2.13.1, ImageMagick-6, liba52-0.7.4, libdv-1.0.0, libjpeg-turbo-3.0.0, libogg-1.3.5, libquicktime-1.2.4, libtheora-1.1.1, libvorbis-1.3.7, libxml2-2.10.4, LZO-2.10, sdl12-compat-1.2.64, v4l-utils-1.24.1, x264-20230215, XviD-1.3.7 MJPEG Tools, og PVM3,

Valgfri (ved kjøretid)

lsdvd

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/transcode

Installasjon av Transcode

Note

Støtte for de fleste av avhengighetspakkene krever bruk av alternativer sendt til configure skriptet. Se på INSTALL filen og utdata fra ./configure --help for fullstendig informasjon om å aktivere avhengighetspakker.

Installer Transcode ved å kjøre følgende kommandoer:

sed -i 's|doc/transcode|&-$(PACKAGE_VERSION)|' \
       $(find . -name Makefile.in -exec grep -l 'docsdir =' {} \;) &&

patch -Np1 -i ../transcode-1.1.7-gcc10_fix-1.patch &&

./configure --prefix=/usr     \
            --enable-alsa     \
            --enable-libmpeg2 \
            --disable-ffmpeg  &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Parameterforklaringer

sed -i ...: Retter installasjonssted for dokumentasjon.

--disable-ffmpeg: Denne bryteren deaktiverer støtte for ffmpeg fordi libavresample ble fjernet i ffmpeg-5.x.

Innhold

Installerte Programmer: avifix, aviindex, avimerge, avisplit, avisync, tccat, tcdecode, tcdemux, tcextract, tcmodinfo, tcmp3cut, tcprobe, tcscan, tcxmlcheck, tcxpm2rgb, tcyait, og transcode
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/lib/transcode og /usr/share/doc/transcode-1.1.7

Korte Beskrivelser

avifix

fikser deklarasjonene til en AVI fil

aviindex

skriver en tekstfil som beskriver indeksen til en AVI fil

avimerge

slår sammen AVI filer med samme format. Ikke prøv å slå sammen AVI filer i forskjellige formater, vil det mest sannsynlig resultere i feil (og format betyr samme bithastigheter også!)

avisplit

deler AVI filer i flere filer

avisync

kan skifte lyd i AVI filer for bedre synkronisering av lyd og video datasignalet

tccat

setter sammen inndatafiler ved å bruke input-programtillegget til Transcode. Dette er nyttig for å pakke ut VOB filer (Video OBject), enten for en hel DVD eller for utvalgte titler eller kapitler, som kan deretter spilles av eller omkodes

tcdecode

brukes til å dekode inndatafiler til råvideo og PCM lydstrømmer

tcdemux

demultiplekser (separerer) lyd/video inndata som inneholder flere strømmer, f.eks. VOB-filer

tcextract

henter enkeltstrømmer fra en fil som inneholder flere strømmer

tcmodinfo

laster en levert Transcode filter modul og skriver ut parameterne

tcmp3cut

er et verktøy som kan kutte MP3 strømmer på millisekunder stillinger

tcprobe

skriver ut informasjon om inndatafilformatet

tcscan

utfører flere målinger på de gitte inndataene

tcxmlcheck

sjekker informasjon i en SMIL inndatafil

transcode

er koderens brukergrensesnitt som håndterer programtillegg og andre programmer, som er limet mellom modulene. Det er flere godt dokumenterte brukseksempler på både hjemmesiden og dokumentasjon inkludert i pakken

VLC-3.0.18

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.0 plattform.

Pakkeinformasjon

VLC Avhengigheter

Anbefalt
Valgfrie funksjoner og pakker

dbus-1.14.8, libidn-1.41, og libssh2-1.11.0

Valgfrie inndata programtillegg

libarchive-3.7.1, libcddb-1.3.2, libdv-1.0.0, libdvdcss-1.4.3, libdvdread-6.1.3, libdvdnav-6.1.1, opencv-4.8.0, Samba-4.18.6, v4l-utils-1.24.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.10.1, FLAC-1.4.3, libaom-3.6.1, libass-0.17.1, libmpeg2-0.5.1, libpng-1.6.40, libtheora-1.1.1, libva-2.19.0, libvorbis-1.3.7, Opus-1.3.1, Speex-1.2.1, libvpx-1.13.0, x264-20230215, aribb24, dav1d, Dirac, FluidLite, FluidSynth, libdca, libkate, OpenMAX, Schroedinger, Shine, SoX, Tremor, Twolame, og Zapping VBI

Valgfrie video programtillegg

AAlib-1.4rc5, Fontconfig-2.14.2, FreeType-2.13.1, FriBidi-1.0.13, librsvg-2.56.3, libvdpau-1.5, sdl12-compat-1.2.64, libcaca, og libmfx

Valgfrie lyd programtillegg

PulseAudio-16.1, libsamplerate-0.2.2, spatialaudio, og JACK

Valgfrie grensesnitt programtillegg

(Qt-5.15.10 eller qt-alternate-5.15.10) (kreves for det grafiske brukergrensesnittet), libtar, libvncclient, LIRC, og freerdp

Valgfrie visualiseringer og video filter programtillegg

Goom, libvsxu, og projectM

Valgfrie tjenesteoppdagelse programtillegg

Avahi-0.8, libmtp og libupnp

Diverse alternativer

GnuTLS-3.8.1, libnotify-0.8.2, libxml2-2.10.4, taglib-1.13.1, xdg-utils-1.1.3 (kjøretid), AtmoLight, libmicrodns, protobuf, og Srt

Installasjon av VLC

Installer VLC ved å kjøre følgende kommandoer:

export LUAC=/usr/bin/luac5.2                          &&
export LUA_LIBS="$(pkg-config --libs lua52)"          &&
export CPPFLAGS="$(pkg-config --cflags lua52)"        &&

BUILDCC=gcc ./configure --prefix=/usr --disable-libva &&

make

For å teste resultatene, kjør: make check.

Nå, som root bruker:

make docdir=/usr/share/doc/vlc-3.0.18 install

Note

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/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK+-2.24.33 eller GTK+-3.24.38 installert (for ikonbufferen) og desktop-file-utils-0.26 (for skrivebordsbufferen) og kjøre følgende kommandoer som root bruker:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Parameterforklaringer

export ...: Disse kommandoene sikrer bygging med Lua-5.2.4. Oppstrøm støtter ikke lua 5.4 ennå.

--disable-libva: Denne bryteren er nødvendig for å deaktivere videoakselerasjon i VLC siden den er inkompatibel med ffmpeg-5, og oppstrøm har ingen planer om å portere den på grunn av kompleksiteten.

--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.0 er installert. Bruk denne bryteren hvis du ikke ønsker å bygge denne modulen.

Note

Det er mange alternativer til VLC sin configure kommando. Undersøk configure --help utdata for en fullstendig liste.

Innhold

Installerte Programmer: cvlc, nvlc, qvlc, rvlc, 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.18

Korte Beskrivelser

cvlc

er et skript for å kjøre VLC med dummy grensesnittet

nvlc

er et skript for å kjøre VLC med ncurses grensesnittet

qvlc

er et skript for å kjøre VLC med Qt grensesnittet

rvlc

er et skript for å kjøre VLC med en kommandolinje grensesnitt

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.0 plattform.

Note

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.2

Valgfri

cURL-8.2.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

Note

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/index.theme og /usr/share/applications/mimeinfo.cache. For å utføre oppdateringen må du ha GTK+-2.24.33 eller GTK+-3.24.38 installert (for ikonbufferen) og desktop-file-utils-0.26 (for skrivebordsbufferen) og kjøre 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

Chapter 47. 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.0 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.0 plattform.

Pakkeinformasjon

Cdrtools Avhengigheter

Påkrevd

alsa-lib-1.2.9

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Cdrtools

Installasjon av Cdrtools

Note

Denne pakken støtter ikke parallellbygging.

Installer Cdrtools ved å kjøre følgende kommandoer:

export GMAKE_NOWARN=true &&
make -j1 INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

export GMAKE_NOWARN=true &&
make INS_BASE=/usr MANSUFF_LIB=3cdr DEFINSUSR=root DEFINSGRP=root 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 opptaker. Vær forsiktig med dette programmet

cdda2wav

konverterer Compact Disc lyd til WAV lydfiler

cdrecord

tar opp lyd- eller data-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.0 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.0 plattform.

Pakkeinformasjon

libburn Avhengigheter

Valgfri

Doxygen-1.9.7 (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 bibliotekene libburn og libisofs som muliggjør opprettelse og utvidelse av ISO-9660 filsystemer på alle CD/DVD/BD medier støttet av libburn. Dette inkluderer medier som DVD+RW, som ikke støtter flerøkt administrasjon på medienivå og til og med vanlige diskfiler eller blokkenheter.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

libisoburn Avhengigheter

Påkrevd

libburn-1.5.6 og libisofs-1.5.6

Valgfri

Doxygen-1.9.7 (for å generere HTML dokumentasjonen), Tk-8.6.13 (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: Aktiver pkg-config sjekk for libburn og libisofs.

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.0 plattform.

Pakkeinformasjon

libisofs Avhengigheter

Valgfri

Doxygen-1.9.7 (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

Part XIV. Utskrift, Skanning og Skriftsetting

Chapter 48. Printing

Dette kapittelet inneholder styringssystemer for utskriftskø og ghostscript applikasjoner for å gjengi PostScript for visning på terminaler eller papir.

Cups-2.4.6

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.0 plattform.

Pakkeinformasjon

Cups Avhengigheter

Påkrevd

GnuTLS-3.8.1

Anbefalt
Valgfri

Avahi-0.8, libpaper-2.1.1, MIT Kerberos V5-1.21.2, PHP-8.2.9, og Python-2.7.18

Påkrevd (Etterinstallasjon)

cups-filters-1.28.16

Valgfri (Etterinstallasjon)

Gutenprint-5.3.4 og hplip (HP skrivere)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/cups

Kjernekonfigurasjon

Note

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.1.3, 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.6 &&
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 ikke en annen forekomst av Cups kjører, ellers vil minst 4 tester mislykkes med "address in use".

Nå, som root bruker:

make install &&
ln -svnf ../cups/doc-2.4.6 /usr/share/doc/cups-2.4.6

Opprett et grunnleggende Cups klientkonfigurasjonsfil ved å kjøre følgende kommando som root bruker:

echo "ServerName /run/cups/cups.sock" > /etc/cups/client.conf

Note

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+-2.24.33 eller GTK+-3.24.38 installert og utfør 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.26, 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.01.2 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.01.2 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.6, og /var/{cache,log,run,spool}/cups

Korte Beskrivelser

cancel

kansellerer eksisterende utskriftsjobber fra utskriftskøene

cupsaccept

godta 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

stoppe 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

avvise 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-filters-1.28.16

Introduksjon til CUPS Filtre

CUPS Filtre pakken inneholder bakstykker, filtre og annen programvare som en gang var en del av kjerne CUPS distribusjon, men er ikke lenger vedlikeholdt av Apple Inc.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

CUPS Filtre Avhengigheter

Påkrevd

Cups-2.4.6, GLib-2.76.4, ghostscript-10.01.2, Little CMS-2.14, Poppler-23.08.0, og Qpdf-11.5.0

Anbefalt
Valgfri

Avahi-0.8 (kreves for å bygge DNSSD bakstykket av cups-browsed nissen, som er nødvendig for drift av noen nettverksskrivere), OpenLDAP-2.6.6, PHP-8.2.9 (bruken av dette kan være ødelagt), Liblouis (Braille), og Liblouisutdml (Braille)

Valgfrie skriverdrivere (kjøretid)

Gutenprint-5.3.4 (for støttede skrivere), eller andre skriverdrivere, for eksempel hplip

Installasjon av CUPS Filtre

Først må du fikse et sikkerhetsproblem som kan tillate ekstern kjøring av kode med 'beh' skriverens bakstykke:

patch -Np1 -i ../cups-filters-1.28.16-security_fix-1.patch

Installer CUPS Filtre ved å kjøre følgende kommandoer:

CXXFLAGS="$CXXFLAGS -std=c++17"  \
./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --without-rcdir      \
            --disable-static     \
            --disable-avahi      \
            --docdir=/usr/share/doc/cups-filters-1.28.16 &&
make

For å teste resultatene, kjør: make check. DejaVu fonter er nødvendig for testene.

Nå, som root bruker:

make install

Installer systemd enheten ved å kjøre følgende kommando som root bruker:

install -v -m644 utils/cups-browsed.service /lib/systemd/system/cups-browsed.service

Parameterforklaringer

CXXFLAGS="$CXXFLAGS -std=c++17": Denne miljøvariabelen er nødvendig for å fikse et problem introdusert av qpdf-11.3.0.

--disable-avahi: Denne bryteren er nødvendig hvis det valgfrie Avahi-0.8 ikke er installert. Fjern det hvis avahi er installert og du trenger nettverksskriveroppdagelse evner.

--without-rcdir: Denne bryteren deaktiverer installasjon av det medfølgende oppstartsskriptet som ikke er kompatibelt med BLFS.

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-test-font-path=VALUE: Hvis du ønsker å kjøre testene, men du har ikke standard /usr/share/fonts/dejavu/DejaVuSans.ttf bruk denne bryteren for å angi hvor DejaVuSans.ttf (eller kanskje en annen tekst TTF-font - ikke testet) er plassert.

Konfigurere CUPS Filtre

Systemd Enheter

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, driverless, driverless-fax, og foomatic-rip
Installerte Biblioteker: libcupsfilters.so og libfontembed.so
Installerte Mapper: /usr/include/{cupsfilters,fontembed}, /usr/lib/cups/{backend,driver,filter}, /usr/share/cups/{braille,charsets}, /usr/share/doc/cups-filters-1.28.16, og /usr/share/ppd/cupsfilters

Korte Beskrivelser

cups-browsed

er en nisse for å bla gjennom Bonjour og CUPS sendingene av delte, eksterne CUPS skrivere

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

libcupsfilters.so

inneholder CUPS Filters API funksjoner

ghostscript-10.01.2

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Hvis du ønsker det, kan du laste ned flere fonter.

Standard Fonter

Andre Fonter

Ghostscript Avhengigheter

Anbefalt
Valgfri

Cairo-1.17.6, GTK+-3.24.38, libidn-1.41, libpaper-2.1.1, og et grafiske miljø

Installasjon av Ghostscript

Note

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

Note

Det delte biblioteket avhenger av GTK+-3.24.38. Den brukes kun av eksterne programmer som asymptote-2.86, dvisvgm-3.1, og ImageMagick-7.1.1-15.

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.01.2 /usr/share/doc/ghostscript-10.01.2  &&
rm -rfv /usr/share/doc/ghostscript &&
cp -r examples/ /usr/share/ghostscript/10.01.2/

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.01.2/examples . For å gjøre dette, kjør følgende kommando (i en X Windows-skjerm):

gs -q -dBATCH /usr/share/ghostscript/10.01.2/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.5.1.

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.01.2 /usr/share/doc/ghostscript-10.01.2: Dette flytter dokumentasjon hvor det forventes å bli funnet.

--disable-cups: dette alternativet vil spare en liten mengde plass ved ikke å koble gs og libgs.so til Cups-2.4.6 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.01.2

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.6 oge GIMP-2.0. 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.0 plattform.

Pakkeinformasjon

Gutenprint Avhengigheter

Anbefalt
Anbefalt (ved kjøretid)
Valgfri (å regenerere dokumentasjonen)

ImageMagick-7.1.1-15, texlive-20230313 (eller install-tl-unx), Doxygen-1.9.7, 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 &&
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.

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

Chapter 49. Skanning

Dette kapittelet inneholder skanneapplikasjoner som lar deg konvertere trykte dokumenter til formaterte dokumenter som kan leses av andre applikasjoner.

SANE-1.0.32

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.0 plattform.

Bakstykkenes Pakkeinformasjon

Ytterligere Nedlastinger (Grensesnittene)

Note

Oppstrømsplasseringen for disse filene er på https://gitlab.com/sane-project men fil URLene bruker innebygde md5sums. For enkelhets skyld, pakkene er kopiert til stedet ovenfor.

SANE Avhengigheter

Valgfri (Bakstykker)

Avahi-0.8, Cups-2.4.6, libjpeg-turbo-3.0.0, libtiff-4.5.1, libusb-1.0.26, v4l-utils-1.24.1, Net-SNMP, libieee1284, libgphoto2, og texlive-20230313 (eller install-tl-unx)

Valgfri (Grensesnittene)

et grafiske miljø, GTK+-2.24.33, og Gimp-2.10.34

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.26 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 kommandoer som root bruker:

groupadd -g 70 scanner

Note

configure forutsetter at brukeren som bygger SANE-bakstykker er medlem av scanner gruppen for å teste eksistensen av denne gruppen. Så brukeren som bygger pakken burde legges til scanner gruppen. 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.26, inkludere konfigureringsbryteren --enable-libusb_1_0. Installer SANE-bakstykker ved å kjøre følgende kommandoer:

sg scanner -c "                  \
./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --with-group=scanner \
            --with-lockdir=/run/lock \
            --docdir=/usr/share/doc/sane-backends-1.0.32" &&
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.

Installasjon av SANE Grensesnitt

SANE-grensesnitt pakken inkluderer de grafiske grensesnittene xscanimage og xcam, og et kommandolinjegrensesnitt scanadf. Du trenger ikke denne pakken hvis du har tenkt å bruke en av de mer avanserte grafiske grensesnittene som XSane-0.999. For en liste over grensesnittpakker, se http://www.sane-project.org/sane-frontends.html.

For å installere SANE-grensesnitt, bruk følgende kommandoer:

tar -xf ../sane-frontends-1.0.14.tar.gz &&
cd sane-frontends-1.0.14                &&

sed -i -e "/SANE_CAP_ALWAYS_SETTABLE/d" src/gtkglue.c &&
./configure --prefix=/usr --mandir=/usr/share/man &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install &&
install -v -m644 doc/sane.png xscanimage-icon-48x48-2.png \
    /usr/share/sane

Hvis GIMP ble koblet inn i bygget og du ønsker GIMP å bruke xscanimage som en skanneprogramtillegg, utsted følgende kommando som root bruker:

ln -v -s ../../../../bin/xscanimage /usr/lib/gimp/2.0/plug-ins

Note

Hvis programtillegget xscanimage er deaktivert i GIMP sin meny, for å aktivere det, "lag" et tomt bilde ved å bruke menyen eller Ctrl-N. Etter det er det aktivert.

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.

--sysconfdir=/etc: Denne bryteren installerer konfigurasjonsfiler i /etc/sane.d i stedet for /usr/etc/sane.d.

--with-group=scanner: Denne parameteren gjør at mappen som er opprettet for låsefilene skal eies av gruppen scanner i stedet for standard uucp gruppe.

exit: Denne kommandoen brukes til å gå ut av skallet opprettet av su kommandoen.

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 ønskede brukere 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, nedenfor):

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.

Grensesnitt Konfigurasjons

Hvis du bruker et skrivebordsmiljø som Gnome eller KDE du ønsker kanskje å lage en xscanimage.desktop fil slik at xscanimage vises i panelets menyer. Som root bruker:

mkdir -pv /usr/share/{applications,pixmaps}               &&

cat > /usr/share/applications/xscanimage.desktop << "EOF" &&
[Desktop Entry]
Encoding=UTF-8
Name=XScanImage - Scanning
Comment=Acquire images from a scanner
Exec=xscanimage
Icon=xscanimage
Terminal=false
Type=Application
Categories=Application;Graphics
EOF

ln -svf ../sane/xscanimage-icon-48x48-2.png /usr/share/pixmaps/xscanimage.png
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, og scanimage
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.0.32
Grensesnitt:
Installerte Programmer: scanadf, xcam, og xscanimage
Installert Bibliotek: GIMP programtillegg innebygd i xscanimage
Installerte Mapper: Ingen

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

scanadf

er et kommandolinjegrensesnitt for å kontrollere bildeinnhenting enheter som er utstyrt med en automatisk dokumentmater (ADF)

scanimage

er et kommandolinjegrensesnitt for skanning fra bildeinnhenting enheter som planskannere eller kameraer. Det er også brukt til å liste de tilgjengelige bakstykke enhetene

xcam

er et grafisk kamera grensesnitt for SANE

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

XSane-0.999

Introduksjon til XSane

XSane er et annen grensesnitt for SANE-1.0.32. Den har tilleggsfunksjoner for å forbedre bildekvalitet og brukervennlighet i forhold til xscanimage.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

XSane Avhengigheter

Påkrevd

GTK+-2.24.33 og SANE-1.0.32 (bakstykker)

Valgfri

Little CMS-1.19 og Gimp-2.10.34

Installasjon av XSane

Installer XSane ved å kjøre følgende kommandoer:

sed -i -e 's/png_ptr->jmpbuf/png_jmpbuf(png_ptr)/' src/xsane-save.c &&
./configure --prefix=/usr                                           &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make xsanedocdir=/usr/share/doc/xsane-0.999 install &&
ln -v -s ../../doc/xsane-0.999 /usr/share/sane/xsane/doc

En nettleser etter eget valg kan brukes til å få innebygd hjelp ved å bruke følgende kommando, som root bruker:

ln -v -s <browser> /usr/bin/netscape

Note

Pass på å bytte ut <browser> med nettleseren du vil bruke på systemet ditt.

Alternativt, hvis miljøvariabelen BROWSER er satt til nettleseren du vil bruke, f.eks. BROWSER="/usr/bin/firefox", første gang du kjører xsane, det vil bli tatt opp i ~/.sane/xsane/xsane.rc. Hvis du ønsker å endre det, rediger denne filen, eller fjern den, og bruk instruksjonene ovenfor, slik at en ny blir opprettet.

Hvis GIMP er installert, utsted følgende kommando som root bruker:

ln -v -s /usr/bin/xsane /usr/lib/gimp/2.0/plug-ins/

Parameterforklaringer

ln -v -s ../../doc/xsane-0.999 /usr/share/sane/xsane/doc: Denne symbolkoblingen er laget for å sikre at ethvert program som ser etter XSane dokumentasjon på standardplasseringen vil finne den, siden dokumentasjonen er installert på et alternativt sted spesifisert i make install kommandoen.

ln -v -s /usr/bin/xsane /usr/lib/gimp/2.0/plug-ins/: Dette skaper en kobling i systembrede GIMP plug-ins mappen slik at brukere kan få tilgang til XSane direkte fra GIMP. GIMP må være tilgjengelig før bygging av XSane for at dette skal virke. Alternativt kan du opprette lenken i ~/.gimp-2.0/plug-ins/ for å gi individuell brukertilgang. man xsane for ytterligere informasjon.

Innhold

Installert Program: xsane
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/doc/xsane-0.999 og /usr/share/sane/xsane

Korte Beskrivelser

xsane

er et grafisk brukergrensesnitt for å kontrollere en bildeinnhentings enhet som en planskanner

Chapter 50. 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.0 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.0 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

sgml-common-0.6.3 og UnZip-6.0 (eller libarchive-3.7.1)

Installasjon av DocBook-3.1 SGML DTD

Note

Pakkekilden er distribuert i zip format og krever unzip (eller 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.0 plattform.

Pakkeinformasjon

DocBook-4.5 SGML DTD Avhengigheter

Påkrevd

sgml-common-0.6.3 og UnZip-6.0 (eller libarchive-3.7.1)

Installasjon av DocBook-4.5 SGML DTD

Note

Pakkekilden er distribuert i zip format og krever unzip (eller 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.0 plattform.

Pakkeinformasjon

OpenSP Avhengigheter

Påkrevd

sgml-common-0.6.3

Valgfri

libnsl-2.0.0 og xmlto-0.0.28

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/opensp

Installasjon av OpenSP

Installer OpenSP ved å kjøre følgende kommandoer:

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.0 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.0 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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

DocBook-utils Avhengigheter

Påkrevd

OpenJade-1.3.2, docbook-dsssl-1.79, og docbook-3.1-dtd

Valgfri (Kun kjøretidsavhengigheter)

SGMLSpm-1.1 (for konvertering til man og texinfo), og Lynx-2.8.9rel.1 eller Links-2.29 eller W3m (for konvertering til ASCII text)

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

Note

jw skriptet bruker which kommando for å finne nødvendige verktøy. Du må installere Which-2.21 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 linje fordi det 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

Chapter 51. 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.0 plattform.

Pakkeinformasjon

DocBook-4.5 XML DTD Avhengigheter

Påkrevd

libxml2-2.10.4, sgml-common-0.6.3, og UnZip-6.0 (eller libarchive-3.7.1)

Installasjon av DocBook-4.5 XML DTD

Note

Pakkekilden er distribuert i zip format og krever unzip (eller 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

Caution

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.0 plattform.

Pakkeinformasjon

DocBook XML DTD og skjemaer 5.0 Avhengigheter

Påkrevd

libxml2-2.10.4, sgml-common-0.6.3, og UnZip-6.0

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

Opprett (eller oppdater) og fyll ut /etc/xml/docbook-5.0 katalogfilen ved å kjøre følgende kommandoer som root bruker:

if [ ! -e /etc/xml/docbook-5.0 ]; then
    xmlcatalog --noout --create /etc/xml/docbook-5.0
fi &&

xmlcatalog --noout --add "public" \
  "-//OASIS//DTD DocBook XML 5.0//EN" \
  "file:///usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "system" \
  "http://www.oasis-open.org/docbook/xml/5.0/dtd/docbook.dtd" \
  "file:///usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "system" \
  "http://docbook.org/xml/5.0/dtd/docbook.dtd" \
  "file:///usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" \
  /etc/xml/docbook-5.0 &&

xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" \
  "file:///usr/share/xml/docbook/schema/rng/5.0/docbook.rng" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/rng/docbook.rng" \
  "file:///usr/share/xml/docbook/schema/rng/5.0/docbook.rng" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" \
  "file:///usr/share/xml/docbook/schema/rng/5.0/docbookxi.rng" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/rng/docbookxi.rng" \
  "file:///usr/share/xml/docbook/schema/rng/5.0/docbookxi.rng" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/rnc/docbook.rnc" \
  "file:///usr/share/xml/docbook/schema/rng/5.0/docbook.rnc" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/rng/docbook.rnc" \
  "file:///usr/share/xml/docbook/schema/rng/5.0/docbook.rnc" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/rnc/docbookxi.rnc" \
  "file:///usr/share/xml/docbook/schema/rng/5.0/docbookxi.rnc" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/rng/docbookxi.rnc" \
  "file:///usr/share/xml/docbook/schema/rng/5.0/docbookxi.rnc" \
  /etc/xml/docbook-5.0 &&

xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/xsd/docbook.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/xsd/docbook.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/xsd/docbookxi.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/docbookxi.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/xsd/docbookxi.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/docbookxi.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/xsd/xi.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/xi.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/xsd/xi.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/xi.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/xsd/xlink.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/xlink.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/xsd/xlink.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/xlink.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/xsd/xml.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/xml.xsd" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/xsd/xml.xsd" \
  "file:///usr/share/xml/docbook/schema/xsd/5.0/xml.xsd" \
  /etc/xml/docbook-5.0 &&

xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.0/sch/docbook.sch" \
  "file:///usr/share/xml/docbook/schema/sch/5.0/docbook.sch" \
  /etc/xml/docbook-5.0 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.0/sch/docbook.sch" \
  "file:///usr/share/xml/docbook/schema/sch/5.0/docbook.sch" \
  /etc/xml/docbook-5.0

Mens igjen som root bruker, lag de individuelle katalogene:

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
    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-xml-5.1

Introduksjon til DocBook XML Skjemaer 5.1

DocBook XML Skjemaer-5.1 pakken inneholder skjemafiler og Schematron regler for verifisering av XML data filer mot DocBook regelsettet. Disse er nyttige for å strukturere 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.0 plattform.

Pakkeinformasjon

DocBook XML Skjemaer 5.1 Avhengigheter

Påkrevd

libxml2-2.10.4, sgml-common-0.6.3, og UnZip-6.0 (eller libarchive-3.7.1)

Installasjon av DocBook XML Skjemaer 5.1

Note

Pakkekilden er distribuert i zip format og krever unzip (eller 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 Schemas ved å kjøre følgende kommandoer som root bruker:

install -vdm755 /usr/share/xml/docbook/schema/{rng,sch}/5.1         &&
install -m644   schemas/rng/* /usr/share/xml/docbook/schema/rng/5.1 &&
install -m644   schemas/sch/* /usr/share/xml/docbook/schema/sch/5.1 &&
install -m755   tools/db4-entities.pl /usr/bin                      &&
install -vdm755 /usr/share/xml/docbook/stylesheet/docbook5          &&
install -m644   tools/db4-upgrade.xsl \
                /usr/share/xml/docbook/stylesheet/docbook5

Opprett (eller oppdater) og fyll ut /etc/xml/docbook-5.1 katalogfilen ved å kjøre følgende kommandoer som root bruker:

if [ ! -e /etc/xml/docbook-5.1 ]; then
  xmlcatalog --noout --create /etc/xml/docbook-5.1
fi &&

xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/rng/docbook.rng" \
  "file:///usr/share/xml/docbook/schema/rng/5.1/docbook.rng" \
  /etc/xml/docbook-5.1 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/rng/docbook.rng" \
  "file:///usr/share/xml/docbook/schema/rng/5.1/docbook.rng" \
  /etc/xml/docbook-5.1 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/rng/docbookxi.rng" \
  "file:///usr/share/xml/docbook/schema/rng/5.1/docbookxi.rng" \
  /etc/xml/docbook-5.1 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/rng/docbookxi.rng" \
  "file:///usr/share/xml/docbook/schema/rng/5.1/docbookxi.rng" \
  /etc/xml/docbook-5.1 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/rnc/docbook.rnc" \
  "file:///usr/share/xml/docbook/schema/rng/5.1/docbook.rnc" \
  /etc/xml/docbook-5.1 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/rng/docbook.rnc" \
  "file:///usr/share/xml/docbook/schema/rng/5.1/docbook.rnc" \
  /etc/xml/docbook-5.1 &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/rnc/docbookxi.rnc" \
  "file:///usr/share/xml/docbook/schema/rng/5.1/docbookxi.rnc" \
  /etc/xml/docbook-5.1 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/rng/docbookxi.rnc" \
  "file:///usr/share/xml/docbook/schema/rng/5.1/docbookxi.rnc" \
  /etc/xml/docbook-5.1 &&

xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/sch/docbook.sch" \
  "file:///usr/share/xml/docbook/schema/sch/5.1/docbook.sch" \
  /etc/xml/docbook-5.1 &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/sch/docbook.sch" \
  "file:///usr/share/xml/docbook/schema/sch/5.1/docbook.sch" \
  /etc/xml/docbook-5.1

Mens igjen som root bruker, lag de individuelle katalogene:

xmlcatalog --noout --create /usr/share/xml/docbook/schema/rng/5.1/catalog.xml &&

xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/schemas/rng/docbook.schemas/rng" \
  "docbook.schemas/rng" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/schemas/rng/docbook.schemas/rng" \
  "docbook.schemas/rng" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/schemas/rng/docbookxi.schemas/rng" \
  "docbookxi.schemas/rng" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/schemas/rng/docbookxi.schemas/rng" \
  "docbookxi.schemas/rng" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/schemas/rng/docbook.rnc" \
  "docbook.rnc" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/schemas/rng/docbook.rnc" \
  "docbook.rnc" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/schemas/rng/docbookxi.rnc" \
  "docbookxi.rnc" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/schemas/rng/docbookxi.rnc" \
  "docbookxi.rnc" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml
xmlcatalog --noout --create /usr/share/xml/docbook/schema/sch/5.1/catalog.xml &&

xmlcatalog --noout --add "uri" \
  "http://docbook.org/xml/5.1/schemas/sch/docbook.schemas/sch" \
  "docbook.schemas/sch" /usr/share/xml/docbook/schema/sch/5.1/catalog.xml &&
xmlcatalog --noout --add "uri" \
  "http://www.oasis-open.org/docbook/xml/5.1/schemas/sch/docbook.schemas/sch" \
  "docbook.schemas/sch" /usr/share/xml/docbook/schema/sch/5.1/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
  xmlcatalog --noout --create /etc/xml/catalog
fi &&
xmlcatalog --noout --add "delegatePublic" \
  "-//OASIS//DTD DocBook XML 5.1//EN" \
  "file:///usr/share/xml/docbook/schema/dtd/5.1/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateSystem" \
  "http://docbook.org/xml/5.1/dtd/" \
  "file:///usr/share/xml/docbook/schema/dtd/5.1/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
  "http://docbook.org/xml/5.1/dtd/" \
  "file:///usr/share/xml/docbook/schema/dtd/5.1/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
  "http://docbook.org/xml/5.1/rng/"  \
  "file:///usr/share/xml/docbook/schema/rng/5.1/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
  "http://docbook.org/xml/5.1/sch/"  \
  "file:///usr/share/xml/docbook/schema/sch/5.1/catalog.xml" \
  /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
  "http://docbook.org/xml/5.1/xsd/"  \
  "file:///usr/share/xml/docbook/schema/xsd/5.1/catalog.xml" \
  /etc/xml/catalog

Konfigurere DocBook XML Skjemaer 5.1

Konfigurasjonsfiler

/etc/xml/catalog og /etc/xml/docbook-5.1

Innhold

Installerte Programmer: db4-entities.pl
Installerte Filer: RNC, RNG, SCH, og XSL filer
Installerte Mapper: /etc/xml, /usr/share/xml/docbook/stylesheets, og /usr/share/xml/docbook/schema/{rng,sch}/5.1

Korte Beskrivelser

db4-entities.pl

er et skript for å konvertere DocBook 4.x arkiver til DocBook 5.1

RNC, RNG, and SCH files

inneholder Docbook 5.1 RelaxNG, RelaxNG Compact og Schematron skjemadefinisjoner

db4-upgrade.xsl

er et XSL stilark for å hjelpe til med konvertering fra DocBook 4.x-filer til DocBook 5.1

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Valgfri dokumentasjon

DocBook XSL Stilark Avhengigheter

Anbefalt (ved kjøretid)
Valgfri (alle brukt under kjøring)

apache-ant-1.10.14 (å produsere webhelp dokumenter), libxslt-1.1.38 (eller en hvilken som helst annen XSLT prosessor), for å behandle Docbook dokumenter - Python2 modulene libxml2 og libxslt kan bli brukt, Python-2.7.18 (ved kjøretid), Ruby-3.2.2 (for å bruke epub stilark), Zip-3.0 (for å produsere epub3 dokumenter), og Saxon6 og Xerces2 Java (brukt med apache-ant-1.10.14 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

Note

Hvis du installerer gjeldende versjon av docbook-xsl-nons over en tidligere versjon av docbook-xsl, fjern da de gamle omskriv oppføringer i katalogen som root bruker:

sed -i '/rewrite/d' /etc/xml/catalog

Opprett (eller legg til) og fyll ut XML katalogfilen ved å bruke følgende kommandoer som root bruker:

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" \
           "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" \
           "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" \
           "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" \
           "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

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.0 plattform.

Pakkeinformasjon

Itstool Avhengigheter

Påkrevd

docbook-xml-4.5

Installasjon av itstool

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.28

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.0 plattform.

Pakkeinformasjon

xmlto Avhengigheter

Påkrevd

docbook-xml-4.5, docbook-xsl-nons-1.79.2, og libxslt-1.1.38

Valgfri (for DVI, PDF, og postscript bakstykke etterbehandling)

fop-2.9, dblatex, og PassiveTeX

Valgfri (for text bakstykke etterbehandling)

En av Links-2.29, Lynx-2.8.9rel.1, W3m, eller ELinks

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/xmlto

Installasjon av xmlto

Installer xmlto ved å kjøre følgende kommandoer:

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 ikke er installert, med mindre du har ELinks installert, og ønsker å bruke den til etterbehandling av tekst bakstykke, i så fall fjern det.

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

Chapter 52. 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.0 plattform.

Caution

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.7.1, i stedet for Enscript, for å konvertere UTF-8 kodet tekst til PostScript.

Pakkeinformasjon

Enscript Avhengigheter

Valgfri

texlive-20230313 (eller install-tl-unx)

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Enscript

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-20230313 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-0.1.8

Introduksjon til ePDFView

ePDFView er en gratis frittstående lettvekts PDF dokumentviser som brukerPoppler og GTK+ biblioteker. Det er en god erstatning for Evince siden den ikke er avhengig av GNOME biblioteker.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

ePDFView Avhengigheter

Påkrevd

GTK+-2.24.33 og Poppler-23.08.0

Anbefalt (hovedsakelig for skrivebordsmiljøer)
Valgfri

Cups-2.4.6

Installasjon av ePDFView

Installer ePDFView ved å kjøre følgende kommandoer:

patch -Np1 -i ../epdfview-0.1.8-fixes-2.patch &&
./configure --prefix=/usr &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

For brukere av skrivebordsmiljø er ytterligere (valgfri) instruksjoner nødvendig for riktig visning av epdfview.desktop i menyen. Som root bruker:

for size in 24 32 48; do
  ln -svf ../../../../epdfview/pixmaps/icon_epdfview-$size.png \
          /usr/share/icons/hicolor/${size}x${size}/apps
done &&
unset size &&

update-desktop-database &&
gtk-update-icon-cache -t -f --include-image-data /usr/share/icons/hicolor

Parameterforklaringer

patch -Np1 -i ../epdfview-0.1.8-fixes-2.patch Oppdateringen gjør fire ting: fikser kompilering med glib-2.32 eller nyere, korrigerer rødt som vises som blå med nyere versjoner av poppler, muliggjør applikasjonen for å kompilere når Cups-2.4.6 er installert, og fikser visningen av innebygde png bilder.

Innhold

Installert Program: epdfview
Installerte Biblioteker: Ingen
Installert Mappe: /usr/share/epdfview

Korte Beskrivelser

epdfview

er et Gtk+-2 program for å se PDF dokumenter

fop-2.9

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

Påkrevd Ytterligere Nedlastinger:

Anbefalte pakker

fop Avhengigheter

Påkrevd

apache-ant-1.10.14

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

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 all 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.9 &&
cp -vR build conf examples fop* javadocs lib /opt/fop-2.9 &&
chmod a+x /opt/fop-2.9/fop                                &&
ln -v -sfn fop-2.9 /opt/fop

Den siste tingen å gjøre er å rydde det vi har gjort:

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.9 /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

Note

Å 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.9

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.22.2

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.0 plattform.

Pakkeinformasjon

MuPDF Avhengigheter

Påkrevd

GLU-9.0.3 og Xorg Biblioteker

Anbefalt
Valgfri

xdg-utils-1.1.3 (kjøretid), jbig2dec, og MuJS

Påkrevd (kjøretid)

et grafiske miljø

Installasjon av MuPDF

Først må du fikse Makefilen slik at den kobles riktig med det delte biblioteket:

sed -i '/MU.*_EXE. :/{
        s/\(.(MUPDF_LIB)\)\(.*\)$/\2 | \1/
        N
        s/$/ -lmupdf -L$(OUT)/
        }' Makefile

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                      &&
unset XCFLAGS

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make prefix=/usr                        \
     shared=yes                         \
     docdir=/usr/share/doc/mupdf-1.22.2 \
     install                            &&

chmod 755 /usr/lib/libmupdf.so          &&
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.22.2

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.7.1

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.0 plattform.

Pakkeinformasjon

paps Avhengigheter

Påkrevd

Pango-1.50.14

Valgfri

Doxygen-1.9.7

Installasjon av paps

Installer paps 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

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

Chapter 53. 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-20230313 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-2.86, biber-2.19 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/2023.

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

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:

Note

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/2023
export TEXLIVE_PREFIX

pathappend \$TEXLIVE_PREFIX/texmf-dist/doc/man  MANPATH
pathappend \$TEXLIVE_PREFIX/texmf-dist/doc/info INFOPATH
pathappend \$TEXLIVE_PREFIX/bin/$TEXARCH

# End texlive setup
EOF

unset TEXARCH

Note

Standard MANPATH og INFOPATH banen er spesifisert ovenfor vil sørge for at de er inkludert. Hvis de allerede er satt i oppstartsskript prosedyren, vil pathappend funksjonen sikre at duplikater er fjernet, så å inkludere dem her vil ikke skade.

Note

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

De delte bibliotekene vil bli installert i en texlive mappe. Som root bruker, legg den til din /etc/ld.so.conf:

cat >> /etc/ld.so.conf << EOF
# Begin texlive addition

$TEXLIVE_PREFIX/lib

# End texlive addition
EOF

Du bør nå fortsette enten til install-tl-unx for en binær installasjon av texlive, eller til texlive-20230313 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, ConTeXt, 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 2023/ 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 LaTeX2e, ConTeXt, etc), eller du ønsker å bruke tlmgr til å få oppdateringer mens denne versjonen støttes (vanligvis frem til april å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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.

Pakkeinformasjon

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-23.1.6. Omgå det ved å lage en symbolkobling som root bruker:

ln -sv libGL.so.1 /usr/lib/libGLX.so.0

Note

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.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/tl-installer

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.

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.

Warning

Hvis du har installert noen av luatex programmene (luatex, luahbtex, luajitex, luajithbtex) eller ConTeXt med luametatex bakstykket det var et sikkerhetsproblem løst ved introduksjonen av luatex v1.17.0. Du bør sjekke versjonen med 'luatex --version' og om den er mindre enn 1.17.0 kan du bruke tlmgr for å oppdatere.

Note

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. Det fullstendige installasjons skjemaet vil kreve omtrent 4,9 gigabyte diskplass. Tiden til å fullføre nedlastingen vil avhenge av hastigheten på Internetttilkoblingen din og antall valgte pakker.

Det har blitt fastslått av Debian at python skriptet i latex-make vil virke med python3, så oppdater dem for å påkalle det ved å kjøre følgende kommando som root bruker:

for F in /opt/texlive/2023/texmf-dist/scripts/latex-make/*.py ; do
  test -f $F && sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F || true
done

Parameterforklaringer

test -f $F && sed ...: i en liten installer disse filene er kanskje ikke tilstede, så test om de eksisterer og hvis ikke returner "true" for å unngå feil hvis denne kommandoen har blitt kopiert inn i et av dine egne installasjonsskript.

./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 2023/texmf-dist/. Ved bruk av texdoc pdflatex ( erstatt pdflatex med kommandonavnet ) kan også være nyttig

texlive-20230313-source

Introduksjon til TeX Live fra kilden

Note

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/2023 eller systems/texlive/2023 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.0 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. I tilfelle problemer, gå til http://www.ctan.org/mirrors/ for å finne et mer tilgjengelig speil.

Fra året 2019 er tlpdb databasen over pakkene i texlive ikke lenger installert med kilden. Men texdoc trenger en cache-fil avledet fra denne (og vil lage cachen på sin 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

Installasjon av TeX Live

Installer TeX Live ved å kjøre følgende kommandoer:

Caution

Hvis du ønsker å oppgradere til gjeldende texlive på et eldre system hvor ekstrapakker (asymptote, biber, dvisvgm, eller xindy) har blitt installert, må du installer disse på nytt i tillegg til å fikse opp PATH for $TEXLIVE_PREFIX.

Note

En vellykket installasjon krever litt texlive kommandoer skal kjøres som root bruker, så vi eksporterer TEXARCH variabel for å la root bruke det.

Nå, som en vanlig bruker:

export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

patch -Np1 -i ../texlive-20230313-source-security_fix-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. To tester, psutils.test og eptexdir/wcfname er kjent for å mislykkes.

Nå, som root bruker:

make install-strip &&
/sbin/ldconfig     &&
make texlinks      &&
mkdir -pv                                $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
tar -xf ../../texlive-20230311-tlpdb-full.tar.gz -C $TEXLIVE_PREFIX/tlpkg

Note

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-20230313-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1

Det har blitt fastslått av Debian at python skriptet i l\atex-make vil fungere med python3, så oppdater dem for å påkalle det ved å kjøre følgende kommando som root bruker:

for F in $TEXLIVE_PREFIX/texmf-dist/scripts/latex-make/*.py ; do
  sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F
done

Fortsatt som root bruker, initialiser det nye systemet (kommandoen fmtutil-sys --all vil produsere masse utdata):

mktexlsr &&
fmtutil-sys --all

For å tillate Evince-44.3 or dvisvgm-3.1 å lenke til libkpathsea.so, som root bruker (gjen)opprette en symbolkobling fra /usr/lib:

ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so /usr/lib

Note

TeXLive inkluderer noen filer for ConTeXt, men kilden til det er separert og har gått videre fra å bruke luatex i forrige 'mkiv' versjon til å bruke luametatex som kan hentes med git fra github luametatex. LuaMetaTeX bruker meson og ninja, men det passer ikke lett inn i BLFS oppsettet til TeXLive.

Men med litt ekstra arbeid kan 'mkiv' filer fortsatt behandles ved å bruke filene som ble sendt i texmf.

Rettelser for å bruke ConTeXt vil bli fjernet neste gang texlive kilden må oppdateres enten for en sårbarhetsretting som krever tilbakeportering luatex endringer, eller for TeXLive 2024. Hvis du er en BLFS bruker av ConTeXt bør du være forberedt på å bruke den siste taggen fra github (lenken er i første ledd i denne merknaden). Bygge og installere det for å jobbe med en BLFS installasjon av TeXLive vil ikke være en triviell øvelse.

Følgende trinn, kjør som root bruker, vil opprette mtxrun og context.

sed -e '/local template=\[\[--ini/s/\(primaryflags%\)\(.*\)/\1 --socket --shell-escape \2/' \
 -e '/local template=\[\[%primaryflags%/s/\(primaryflags%\)\(.*\)/\1 --socket --shell-escape \2/' \
  -i $TEXLIVE_PREFIX/texmf-dist/scripts/context/lua/mtxrun.lua &&

mkdir -pv $TEXLIVE_PREFIX/texmf-var/luatex-cache/context/ &&

ln -sfv /$TEXLIVE_PREFIX/texmf-dist/scripts/context/lua/mtxrun.lua \
        /$TEXLIVE_PREFIX/bin/$TEXARCH/mtxrun &&

cat > $TEXLIVE_PREFIX/bin/$TEXARCH/context << EOF
#!/bin/sh
export TEXMF=$TEXLIVE_PREFIX/texmf-dist;
export TEXMFCNF=$TEXLIVE_PREFIX/texmf-dist/web2c;
export TEXMFCACHE=$TEXLIVE_PREFIX/texmf-var/luatex-cache/context/;
$TEXLIVE_PREFIX/bin/$TEXARCH/mtxrun --script context "\$@"
EOF
chmod -v 0755 $TEXLIVE_PREFIX/bin/$TEXARCH/context

Du kan nå gå videre til asymptote-2.86, biber-2.19, dvisvgm-3.1 og / eller xindy-2.5.1 hvis du ønsker å installere dem.

Parameterforklaringer

patch -Np1 -i ../texlive-20230313-source-security_fix-1.patch: dette oppdaterer luatex kilden til v1.17.0 for å fikse sikkerhetsproblemer.

sed -e '/local template (...)' (...)mtxrun.lua: dette gjør en endring i et texmf-dist skript slik at ConTeXt nå kan kjøres med luatex-v1.17.0.

-C: opprette config.cache, dette sparer betydelig tid i et parallellbygg.

--prefix=, --bindir=, --datarootdir=, --infodir=, --mandir= ... : disse bryterne sikrer at filene som er 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.

/sbin/ldconfig: dette må kjøres her slik at make texlinks kan bruke kpsewhich.

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-20230313-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.

mkdir -pv $TEXLIVE_PREFIX/texmf-var/luatex-cache/context/: kontekstskriptet opprettet etter dette vil ikke kjøre riktig hvis denne mappen ikke er til stede.

--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 2023/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-2.86

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.0 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

asymptote Avhengigheter

Påkrevd

ghostscript-10.01.2 og texlive-20230313

Anbefalt
Anbefalt ved kjøring
Valgfri

fftw-3.3.10, Gsl-2.7.1, libsigsegv-2.14, både Boost-1.83.0 og rapidjson for å bruke LSP som kan brukes med emacs, og eigen

Valgfri (ved kjøring)

ImageMagick-7.1.1-15 å konvertere utdata til andre formater som f.eks JPEG eller for å lage animerte GIFer, PyQt5 (ikke testet, har en byggeavhengighet av (Qt-5.15.10 eller qt-alternate-5.15.10)) for å bruke xasy.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/asymptote

Installasjon av asymptote

Note

Enkelte 3D PDF skript fungerer kanskje ikke når de påkalles fra pdflatex på noen zen+ amdgpu APU maskiner.

Bruk først en oppdatering for å fikse kjøretidsproblemer på enkelte maskiner:

patch -Np1 -i ../asymptote-2.86-build_fix-1.patch

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=, --infodir=, --mandir= ... : disse bryterne sikrer at filene som er 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 repidjson 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, xasy
Installerte Biblioteker: Ingen
Installert Mappe: $TEXLIVE_PREFIX/texmf-dist/asymptote, $TEXLIVE_PREFIX/doc/asymptote, $TEXLIVE_PREFIX/info/asymptote

Korte Beskrivelser

asy

er et vektorgrafikkprogram

xasy

er et Python3 skript som gir et Qt5 GUI for asy

biber-2.19

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.0 plattform.

Pakkeinformasjon

Note

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/2023 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.008 Business-ISMN-1.203 Business-ISSN-1.005 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.03 File-Slurper-0.014 IO-String-1.08 IPC-Run3-0.048 Lingua-Translit-0.29 List-AllUtils-0.19 List-MoreUtils-0.430 Log-Log4perl-1.57 LWP-Protocol-https-6.11 Module-Build-0.4232 Parse-RecDescent-1.967015 PerlIO-utf8_strict-0.010 Regexp-Common-2017060201 Sort-Key-1.33 Text-BibTeX-0.89 Text-CSV-2.03 Text-Roman-3.5 Unicode-Collate-1.31 Unicode-LineBreak-2019.001 XML-LibXML-Simple-1.01 XML-LibXSLT-2.002001 XML-Writer-0.900

Anbefalt (kreves for testpakken)

Note

Det er mulig å installere alle manglende avhengigheter automatisk. Du må først installere Module-Build-0.4232 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.

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/biber

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.1

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.0 plattform.

Pakkeinformasjon

dvisvgm Avhengigheter

Påkrevd

Brotli-1.0.9, ghostscript-10.01.2, og Potrace-1.16

Anbefalt
Valgfri

asciidoc-10.2.0 med xmlto-0.0.28 og libxslt-1.1.38 (se parameterforklaringer), 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.0 plattform.

Pakkeinformasjon

Påkrevd Ytterligere Nedlastinger

Xindy Avhengigheter

Påkrevd

Clisp-2.49 og texlive-20230313

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=, --infodir=, --mandir= ... : disse bryterne sikrer at filene som er 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-20230313 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

Appendix A. Creative Commons License

Creative Commons Legal Code

Attribution-NonCommercial-ShareAlike 2.0

Important

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.

Important

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

Appendix B. The MIT License

Copyright © 1999-2023 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

See Also 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

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

See Also 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

See Also 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

Punkt til punkt protokoll

PPPoE

Punkt til punkt 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

Index

Packages

Programs

Libraries

Kernel Configuration

Configuration Files

Bootscripts

Others