• Linux From Scratch 13.1 släppt – bygg ditt Linux-system från grunden

    Linux From Scratch 13.1 har släppts med en rejält uppdaterad grund, bland annat GCC 16.2, Binutils 2.47, Glibc 2.44 och Linuxkärnan 7.1.8. För den som verkligen vill förstå hur ett Linuxsystem byggs upp från grunden är LFS fortfarande ett av de mest lärorika projekten i Linuxvärlden.

    Att installera Linux brukar i dag vara ganska enkelt. Man laddar ner Ubuntu, Fedora, Linux Mint eller någon annan distribution, skriver den till ett USB-minne och följer installationsprogrammet.

    Men vad händer egentligen bakom kulisserna? Hur byggs ett Linux-system upp från de allra första komponenterna?

    Det är precis den frågan som Linux From Scratch, förkortat LFS, försöker besvara. Nu har projektet släppt Linux From Scratch 13.1, med en kraftigt uppdaterad verktygskedja, ny Linuxkärna och ett stort antal uppdaterade systemkomponenter.

    Linux – utan färdig distribution

    Linux From Scratch är egentligen inte en Linuxdistribution i traditionell mening.

    I stället är det en omfattande handbok som steg för steg beskriver hur man själv bygger ett komplett Linux-system från källkod.

    Man börjar alltså inte med ett färdigt Ubuntu- eller Debian-system som ska installeras. I stället kompilerar man själv de program och bibliotek som tillsammans bildar grunden för ett fungerande Linux-system.

    Det gör LFS till något av en praktisk utbildning i hur Linux fungerar.

    Under arbetets gång får man bland annat lära sig hur kompilatorn, standardbiblioteket, skalet, systemverktygen och Linuxkärnan hänger ihop.

    Stor uppdatering av verktygskedjan

    Den kanske viktigaste förändringen i Linux From Scratch 13.1 är uppdateringen av den så kallade toolchain, alltså den grundläggande verktygskedja som används för att bygga resten av systemet.

    Den består bland annat av:

    • GCC 16.2.0
    • GNU Binutils 2.47
    • Glibc 2.44

    GCC är GNU-projektets kompilatorsamling och används för att översätta exempelvis C- och C++-kod till körbara program.

    Binutils innehåller flera grundläggande verktyg som används vid kompilering och länkning av program, medan Glibc är GNU:s implementation av det standardbibliotek som stora delar av ett vanligt Linux-system använder.

    Tillsammans utgör dessa komponenter en central del av grunden för Linuxsystemet.

    När de uppdateras påverkar det därför i praktiken nästan allt som byggs senare i processen.

    Linux 7.1.8 används som kärna

    Även Linuxkärnan har fått en ordentlig uppdatering.

    Linux From Scratch 13.1 använder Linux 7.1.8.

    Kärnan är den del av operativsystemet som bland annat sköter kommunikationen mellan program och hårdvara. Den hanterar exempelvis minne, processer, lagringsenheter, nätverk och drivrutiner.

    I ett vanligt Linuxsystem märker användaren sällan kärnan direkt, men utan den fungerar ingenting annat.

    För den som bygger Linux From Scratch blir kärnans roll betydligt tydligare eftersom man själv måste konfigurera och bygga den.

    46 paket har uppdaterats eller lagts till

    Sedan den föregående stabila versionen har totalt 46 paket uppdaterats eller lagts till.

    Utvecklarna uppger också att mer än 200 ändringar har skickats in till LFS-boken sedan den förra stabila utgåvan.

    Det handlar inte bara om nya programversioner.

    Instruktioner, förklaringar och korrigeringar har också arbetats in i dokumentationen.

    Det är en viktig del av Linux From Scratch eftersom själva dokumentationen i praktiken är projektets produkt.

    Flera säkerhetsuppdateringar

    Version 13.1 innehåller även uppdateringar av ett antal paket där säkerhetsproblem har åtgärdats.

    Bland komponenterna finns:

    • Glibc
    • Coreutils
    • Expat
    • Perl
    • Python
    • systemd
    • XZ
    • Vim

    Det visar också varför nya LFS-versioner behövs trots att grundprinciperna bakom projektet förändras ganska långsamt.

    Ett modernt Linuxsystem består av mängder av komponenter som kontinuerligt behöver uppdateras på grund av nya funktioner, kompatibilitetsproblem och säkerhetsbrister.

    Vad lär man sig av Linux From Scratch?

    Den stora poängen med Linux From Scratch är egentligen inte att skapa den mest praktiska Linuxdistributionen för vardagsanvändning.

    Det finns betydligt enklare sätt att få en fungerande Linuxdator.

    Värdet ligger i stället i själva byggprocessen.

    När man följer LFS får man en betydligt djupare förståelse för exempelvis:

    • hur ett Linuxsystem startar,
    • hur program kompileras och länkas,
    • vilka bibliotek ett grundsystem behöver,
    • hur katalogstrukturen i Linux är uppbyggd,
    • hur användare och rättigheter fungerar,
    • hur kärnan byggs,
    • och hur systemets olika verktyg är beroende av varandra.

    Det gör projektet särskilt intressant för systemadministratörer, utvecklare, Linuxentusiaster och andra som vill förstå operativsystemet på en lägre nivå.

    Man bygger först ett tillfälligt system

    En av de mer intressanta delarna av Linux From Scratch är att man inte bara börjar kompilera program direkt till det slutliga systemet.

    Först byggs en tillfällig verktygskedja.

    Anledningen är att man vill separera det nya Linuxsystemet från den Linuxdistribution som används för att bygga det.

    När den tillfälliga miljön är färdig används den sedan för att bygga de slutliga komponenterna.

    Resultatet blir ett system som i så stor utsträckning som möjligt är byggt av sina egna verktyg och bibliotek.

    Det är också här Linux From Scratch blir betydligt mer avancerat än att bara kompilera några program från källkod.

    BLFS 13.1 kommer senare

    Den här gången släpps dock inte Beyond Linux From Scratch 13.1, BLFS, samtidigt som grundsystemet.

    BLFS är fortsättningen på Linux From Scratch.

    Medan LFS koncentrerar sig på att bygga ett grundläggande Linuxsystem beskriver BLFS hur man installerar mycket av den programvara som krävs för att göra systemet mer användbart i praktiken.

    Det kan exempelvis handla om nätverksprogram, grafiska bibliotek, skrivbordsmiljöer och vanliga användarprogram.

    Utvecklarna uppger dock att BLFS 13.1 är mycket nära färdigställande.

    Av de mer än 1 000 paket som finns med i BLFS har över 99 procent byggts och testats tillsammans med Linux From Scratch 13.1.

    En slutlig version väntas därför följa inom kort.

    Linux som byggsats

    Linux From Scratch kan beskrivas som en avancerad byggsats för den som vill förstå hur Linux faktiskt är konstruerat.

    För vanliga användare är det knappast ett alternativ till exempelvis Linux Mint, Ubuntu eller Fedora. Att bygga systemet kräver både tid, tålamod och en hel del tekniskt arbete.

    Men för den som vill gå från att bara använda Linux till att faktiskt förstå hur ett Linuxsystem byggs upp är LFS fortfarande ett av de mest intressanta projekten inom Linuxvärlden.

    Med Linux From Scratch 13.1 har byggsatsen nu fått en moderniserad grund med GCC 16.2, Binutils 2.47, Glibc 2.44 och Linuxkärnan 7.1.8.

    Och för den riktigt nyfikne återstår egentligen bara en fråga:

    Hur långt ner i Linux kan man gå innan man till slut måste bygga allting själv?

    https://linuxiac.com/linux-from-scratch-13-1-is-out-with-major-toolchain-updates/

    $ Linux From Scratch 13.1

    > Vad är LFS?
    Linux From Scratch är en handbok för den som vill bygga ett komplett Linux-system manuellt från källkod.

    > Version: 13.1

    > Linuxkärna: 7.1.8

    > GCC: 16.2.0

    > Binutils: 2.47

    > Glibc: 2.44

    > Uppdateringar: 46 paket har uppdaterats eller lagts till.

    > Utveckling: Över 200 ändringar har gjorts sedan föregående stabila version.

    > Säkerhet:
    Bland annat Glibc, Coreutils, Expat, Perl, Python, systemd, XZ och Vim har fått säkerhetsrelaterade uppdateringar.

    > BLFS 13.1:
    Beyond Linux From Scratch är ännu inte släppt, men över 99 procent av dess drygt 1 000 paket har byggts och testats mot LFS 13.1.

    root@linux:~# build-linux-from-scratch █

  • Perl 5.44 släppt – får namngivna parametrar, bättre prestanda och Unicode 17

    Perl 5.44 har släppts med experimentellt stöd för namngivna parametrar, förbättrad prestanda och stöd för Unicode 17. Den nya versionen innehåller även flera säkerhetsrättningar, strängare regler för Unicode-tecken och uppdateringar av språkets reguljära uttryck.

    Programmeringsspråket Perl har fått en ny stabil version. Perl 5.44 innehåller bland annat experimentellt stöd för namngivna parametrar, bättre Unicode-hantering, flera prestandaförbättringar och rättningar av tre säkerhetsproblem.

    Perl har funnits sedan slutet av 1980-talet och används fortfarande för bland annat systemadministration, textbearbetning, webbapplikationer och automatisering. Språket är särskilt känt för sina kraftfulla funktioner för att söka, tolka och förändra text.

    Den nya versionen är den första stabila utgåvan i Perl 5.44-serien och kommer ungefär ett år efter Perl 5.42.

    Funktioner kan få namngivna parametrar

    En av de största nyheterna är experimentellt stöd för namngivna parametrar i funktioners signaturer.

    Traditionellt skickas argument till Perl-funktioner i en bestämd ordning. Funktionen måste alltså veta att det första värdet betyder en viss sak och att det andra värdet betyder något annat.

    Med namngivna parametrar kan anroparen i stället ange vad varje värde representerar. Det kan göra koden tydligare, särskilt i funktioner som tar emot många argument.

    I stället för att bara skicka flera värden efter varandra kan programmeraren exempelvis ange namn som name, age eller address.

    Funktionen är fortfarande experimentell. Det innebär att syntaxen och beteendet kan förändras i framtida Perl-versioner.

    Flera variabler i samma loop

    Perl 5.44 kombinerar även två andra experimentella funktioner: loopar med flera variabler och referensalias.

    Det gör det möjligt att behandla flera relaterade värden under varje varv i en loop. En variabel kan samtidigt fungera som ett direkt alias till den ursprungliga informationen.

    Det kan vara praktiskt när ett program exempelvis går igenom par bestående av en nyckel och en arrayreferens. Ändringar som görs genom aliaset kan då påverka den ursprungliga datastrukturen direkt.

    De funktioner som krävs, refaliasing och declared_refs, är fortfarande experimentella och måste aktiveras uttryckligen.

    Tydligare reguljära uttryck

    Reguljära uttryck är mönster som används för att söka efter eller bearbeta text. De är en central del av Perl och används ofta för exempelvis loggfiler, konfigurationsfiler och automatiserad textanalys.

    Perl har sedan tidigare modifieraren /xx, som gör det möjligt att formatera reguljära uttryck över flera rader och lägga till kommentarer.

    I Perl 5.44 har denna funktion byggts ut genom det experimentella tillägget enhanced_xx. Teckenklasser inom hakparenteser kan nu delas upp på flera rader och innehålla kommentarer.

    Perl kan också varna när delar av ett reguljärt uttryck verkar ha tolkats som en kommentar av misstag.

    Samtidigt införs strängare regler. Ett #-tecken som inte föregås av ett omvänt snedstreck, eller radbrytningar som skrivs direkt inne i en teckenklass, betraktas nu som föråldrad syntax.

    Äldre uttryck fortsätter tills vidare att fungera, men ger varningar. De bör uppdateras genom att exempelvis skriva \# eller använda en särskild sekvens som \n.

    Stöd för Unicode 17

    Perl 5.44 uppdaterar sitt stöd till Unicode 17.0.

    Unicode är den internationella standard som gör det möjligt för datorer att hantera bokstäver, symboler och skriftsystem från stora delar av världen. Den omfattar allt från svenska tecken till arabiska, kinesiska, matematiska symboler och emoji.

    Den nya Perl-versionen följer Unicode-reglerna mer strikt när tecken används i namn på variabler, funktioner, paket och namngivna grupper i reguljära uttryck.

    Omkring 160 ovanliga tecken som tidigare accepterades av Perls bredare tolkning av \w får inte längre användas i sådana namn. Anledningen är att de inte uppfyller Unicode-egenskaperna XID_Start och XID_Continue, som definierar vilka tecken som bör få inleda eller fortsätta ett programmeringsnamn.

    För de flesta programmerare får ändringen ingen märkbar effekt. Program som använder mycket ovanliga Unicode-tecken i namn kan däremot behöva ändras före en uppgradering.

    Tre säkerhetsproblem har rättats

    Perl 5.44 innehåller rättningar för tre rapporterade sårbarheter.

    Den första, CVE-2026-8376, berör en felaktig beräkning av buffertstorlek i funktionen Perl_study_chunk. På 32-bitarsystem kunde felet orsaka heltalsöverflöde och leda till att data skrevs utanför det avsedda minnesområdet.

    Den andra sårbarheten, CVE-2026-57432, påverkar hanteringen av mycket stora datastrukturer i funktionerna pack och unpack. Ett extremt stort repetitionsvärde kunde orsaka heltalsöverflöde och därefter buffertöverflöde.

    Det tredje problemet, CVE-2026-13221, finns i reguljära uttrycksmotorns optimering av stora alternativlistor. Reguljära uttryck med fler än ungefär 65 000 alternativa grenar kunde fylla ett 16-bitarsfält och i vissa fall ge felaktiga matchningar.

    Slumptalen får bättre startvärden

    Perl ändrar även hur språkets interna slumptalsgenerator startas.

    På Linux, BSD och macOS försöker Perl nu i första hand använda systemanropet getentropy(). Om det inte är tillgängligt används /dev/urandom. Som sista reserv används ett hashvärde som bygger på programmets interna tillstånd.

    Detta ger bättre och mer oförutsägbara startvärden än tidigare lösningar.

    Perl-utvecklarna betonar dock att funktionen rand fortfarande inte är avsedd för kryptografi, lösenord, säkerhetstokens eller andra säkerhetskritiska ändamål. Sådana program bör använda en särskild kryptografiskt säker slumptalsgenerator.

    Vissa operationer går snabbare

    Perl 5.44 innehåller flera mindre prestandaförbättringar.

    Heltalsaddition, subtraktion och multiplikation kan nu utföras något snabbare på system där kompilatorn har stöd för de optimeringar som behövs.

    Det har även blivit snabbare att skapa hash-tabeller från listor där nycklarna består av konstanta textsträngar som redan är kända när programmet kompileras.

    Behandlingen av funktionssignaturer har också optimerats. Funktioner som använder signaturer får därför något lägre belastning när de anropas.

    Varje enskild förbättring är relativt liten, men tillsammans kan de ge märkbara vinster i större program eller kod som körs mycket ofta.

    Gammalt beteende tas bort

    Perl 5.44 tar även bort ett beteende som varit markerat som föråldrat sedan Perl 5.12.

    Det är inte längre tillåtet att använda goto för att hoppa direkt in i en loop eller ett kodblock från utsidan.

    Sådana hopp kan göra ett programs körning svår att förutsäga eftersom de kringgår den normala vägen in i kodblocket. Förändringen gör språket mer konsekvent och minskar risken för svårfunna fel.

    Perl 5.40 har nått slutet av sin supportperiod

    I samband med att Perl 5.44 släpps avslutas den officiella supporten för Perl 5.40-serien.

    Den som fortfarande använder Perl 5.40 bör därför planera en uppgradering. Äldre Perl-program bör testas noggrant, särskilt om de använder experimentella funktioner, ovanliga Unicode-tecken eller avancerade reguljära uttryck.

    Nästa utvecklingsversion väntas bli Perl 5.45.1. Den kommer att ligga till grund för nästa stabila huvudversion, som enligt planerna ska släppas under första halvåret 2027.

    Perl 5.44 är ingen dramatisk ombyggnad av språket, men versionen moderniserar flera viktiga delar. Namngivna parametrar kan göra funktioner enklare att förstå, Unicode-stödet blir mer korrekt och flera vanliga operationer har effektiviserats.

    Samtidigt visar säkerhetsrättningarna varför det är viktigt att hålla även mogna och väletablerade programmeringsspråk uppdaterade.

    https://www.nntp.perl.org/group/perl.perl5.porters/2026/07/msg271063.html

    $ teknisk_fakta –perl-5.44
    Version: Perl 5.44
    Typ: Stabil produktionsversion
    Licens: Artistic License eller GNU GPL
    Unicode: Unicode 17.0
    Viktig nyhet: Experimentellt stöd för namngivna parametrar i funktionssignaturer
    Reguljära uttryck: Utökat stöd för läsbara uttryck med /xx och enhanced_xx
    Prestanda: Snabbare heltalsoperationer, hash-skapande och behandling av signaturer
    Säkerhet: Tre säkerhetsproblem har rättats
    Slumptal: Förbättrad initiering via getentropy() och /dev/urandom
    Support: Perl 5.40-serien har nått slutet av sin supportperiod
    Webbplats: perl.org
    root@linux:~$ perl -v

Etikett: Perl

  • Linux From Scratch 13.1 släppt – bygg ditt Linux-system från grunden

    Linux From Scratch 13.1 har släppts med en rejält uppdaterad grund, bland annat GCC 16.2, Binutils 2.47, Glibc 2.44 och Linuxkärnan 7.1.8. För den som verkligen vill förstå hur ett Linuxsystem byggs upp från grunden är LFS fortfarande ett av de mest lärorika projekten i Linuxvärlden. Att installera Linux brukar i dag vara ganska enkelt.…

  • Perl 5.44 släppt – får namngivna parametrar, bättre prestanda och Unicode 17

    Perl 5.44 har släppts med experimentellt stöd för namngivna parametrar, förbättrad prestanda och stöd för Unicode 17. Den nya versionen innehåller även flera säkerhetsrättningar, strängare regler för Unicode-tecken och uppdateringar av språkets reguljära uttryck. Programmeringsspråket Perl har fått en ny stabil version. Perl 5.44 innehåller bland annat experimentellt stöd för namngivna parametrar, bättre Unicode-hantering, flera…