• Microsoft bygger om Azure Linux – version 4 tar steget mot Fedora

    Microsoft tar nästa steg i sin Linuxsatsning. Den kommande Azure Linux 4 får en tydligare Fedora-baserad grund, med standardiserade RPM-verktyg och paketkällor hämtade från Fedora-ekosystemet. För Microsoft innebär det en mer etablerad byggmodell för molnplattformen Azure – samtidigt som distributionen fortsatt anpassas för säkerhet, drift och storskaliga arbetslaster i Microsofts egen infrastruktur.

    Microsofts egen Linuxdistribution Azure Linux är på väg in i en ny fas. I utvecklingsgrenen för Azure Linux 4 bekräftas nu att distributionen får en tydligare koppling till Fedora. Det innebär inte att Azure Linux blir en vanlig Fedora-installation, men grunden för pakethantering, byggsystem och källkod hämtas nu i större utsträckning från Fedora-ekosystemet.

    Azure Linux, som tidigare hette CBL-Mariner, används av Microsoft för molnrelaterade arbetslaster i Azure. Det handlar bland annat om virtuella maskiner, containrar och system som körs direkt på fysisk hårdvara. Distributionen är alltså inte i första hand tänkt som ett vanligt skrivbords-Linux för hemmabruk, utan som ett specialiserat operativsystem för Microsofts molninfrastruktur.

    Den stora nyheten i Azure Linux 4 är att Microsoft beskriver systemet som en öppen Linuxdistribution byggd och optimerad för Azure, med källor hämtade från Fedora Linux. Det är ett tydligt teknikskifte jämfört med tidigare versioner.

    Vad betyder Fedora-baserad?

    När man säger att Azure Linux 4 blir Fedora-baserad betyder det inte nödvändigtvis att den blir identisk med Fedora. Fedora är en välkänd Linuxdistribution som fungerar som teknisk föregångare till Red Hat Enterprise Linux. Den använder RPM-paket och verktyg som rpmbuild, mock och Koji för att bygga och hantera programvara.

    Microsoft verkar nu vilja använda samma typ av paketeringsmodell och byggkedja. Det gör att Azure Linux 4 får en mer standardiserad grund, samtidigt som Microsoft kan lägga till egna anpassningar för Azure.

    Man kan se det som att Microsoft bygger ett specialfordon på en redan etablerad teknisk plattform. Motorn och många grundkomponenter kommer från Fedora-världen, men fordonet trimmas och anpassas för Microsofts egna molnvägar.

    RPM fortsätter vara grunden

    Azure Linux 4 fortsätter att vara en RPM-baserad distribution. RPM är ett paketformat som används av bland annat Fedora, Red Hat Enterprise Linux, AlmaLinux, Rocky Linux och openSUSE.

    Det betyder att Azure Linux ligger närmare Red Hat/Fedora-världen än Debian/Ubuntu-världen. Där Ubuntu använder DEB-paket och verktyg som apt, använder Fedora- och RHEL-familjen RPM-paket och verktyg som dnf, rpm och olika byggsystem för RPM-paket.

    För Microsoft innebär det här sannolikt en enklare väg till ett moget ekosystem för paketering, säkerhetsuppdateringar och automatiserade byggen.

    TOML-filer och överlagringar

    I utvecklingsmodellen för Azure Linux 4 används TOML-filer för att beskriva systemets konfiguration. TOML är ett textbaserat format som ofta används för inställningsfiler eftersom det är relativt lättläst både för människor och program.

    Microsoft använder också så kallade overlays, eller överlagringar, ovanpå Fedoras paketeringskällor. Det betyder att man utgår från Fedoras befintliga paketbeskrivningar och sedan lägger till Azure-specifika ändringar där det behövs.

    En viktig poäng är att Microsoft säger sig vilja hålla dessa ändringar begränsade. Det minskar risken för att Azure Linux glider för långt bort från Fedora och blir svår att underhålla.

    Mer öppenhet i byggprocessen

    En annan intressant detalj är att RPM-specfiler genereras automatiskt genom att Azure Linux överlagringar appliceras på Fedoras paketeringskällor. Dessa filer checkas sedan in i arkivet för transparens och granskning.

    Det är viktigt ur ett säkerhets- och revisionsperspektiv. När en distribution används i molninfrastruktur måste det gå att förstå exakt hur paket har byggts, vilka ändringar som gjorts och var koden kommer ifrån.

    Genom att använda etablerade verktyg som mock, rpmbuild och Koji får Microsoft också en byggmiljö som många Linuxutvecklare redan känner igen.

    Varför gör Microsoft detta?

    Det finns flera tänkbara skäl. Ett är att Fedora redan har ett stort och aktivt paketeringsekosystem. Genom att bygga närmare Fedora kan Microsoft dra nytta av befintligt arbete i stället för att underhålla allt själv.

    Ett annat skäl är standardisering. Om Azure Linux använder mer välkända RPM-verktyg blir det lättare för utvecklare, säkerhetsgranskare och drifttekniker att förstå hur systemet fungerar.

    Samtidigt vill Microsoft behålla kontroll över sådant som är särskilt viktigt för Azure: säkerhet, efterlevnad av regler, molnintegration, kärnutveckling, livscykelhantering och drift i stor skala.

    Inte färdig för nedladdning ännu

    Azure Linux 4 är fortfarande under utveckling och är ännu inte tillgänglig som färdig nedladdning. Microsoft rekommenderar därför användare att fortsätta använda Azure Linux 3 tills vidare.

    Det innebär att Azure Linux 4 just nu främst är intressant för utvecklare, systemadministratörer och andra som följer Microsofts Linuxarbete på nära håll.

    Microsoft och Linux – från motståndare till storanvändare

    Att Microsoft utvecklar en egen Linuxdistribution är i sig ett tydligt tecken på hur mycket teknikvärlden har förändrats. För många år sedan sågs Microsoft och Linux ofta som motpoler. I dag använder Microsoft Linux i stor skala i sin molnplattform, bidrar till öppen källkod och utvecklar egna Linuxbaserade system.

    Azure Linux 4 visar att Microsoft inte bara använder Linux, utan också arbetar allt mer systematiskt med Linux som en central del av sin infrastruktur.

    Sammanfattning

    Azure Linux 4 markerar ett viktigt steg för Microsofts Linuxstrategi. Genom att bygga närmare Fedora får distributionen en mer etablerad RPM-baserad grund, samtidigt som Microsoft behåller möjligheten att göra egna Azure-anpassningar.

    För vanliga användare märks förändringen kanske inte direkt. Men för utvecklare, molnarkitekter och Linuxadministratörer är det en tydlig signal: Microsoft fortsätter att satsa tungt på Linux, men vill göra det med mer standardiserade verktyg och närmare koppling till ett stort öppet ekosystem.

    https://pagure.io/fesco/issue/3409

    Teknisk faktaruta: Azure Linux 4

    Namn: Azure Linux 4

    Utvecklare: Microsoft

    Tidigare namn: CBL-Mariner

    Typ: Linuxdistribution optimerad för Microsoft Azure

    Ny grund: Källor hämtade från Fedora Linux

    Paketformat: RPM

    Byggverktyg: mock, rpmbuild och Koji

    Konfiguration: TOML-filer och Azure-specifika overlays

    Målområde: Virtuella maskiner, containrar, bare-metal och molndrift

    Status: Under utveckling, inte färdig för vanlig nedladdning

    Rekommenderad version tills vidare: Azure Linux 3

  • Rust 1.94 gör språket mer uttrycksfullt och kraftfullt

    Programmeringsspråket Rust fortsätter att utvecklas i snabb takt. Den nya versionen Rust 1.94 introducerar flera förbättringar som gör språket både mer ergonomiskt och mer kraftfullt. Bland nyheterna finns en ny iterator för slice-data, förbättrad konfigurationshantering i Cargo, stöd för den senaste versionen av TOML-formatet och flera stabiliserade API:er i standardbiblioteket.

    Tillsammans innebär förändringarna att utvecklare kan skriva mer tydlig kod, organisera projekt bättre och dra nytta av nya funktioner i både språket och verktygskedjan.

    Ny iterator för slices: array_windows

    En av de mest uppmärksammade nyheterna är metoden array_windows för slices. Den fungerar på liknande sätt som den befintliga metoden windows, men med en viktig skillnad: den returnerar arrayer med fast storlek i stället för dynamiska slices.

    Detta gör att kompilatorn kan veta storleken på varje fönster redan vid kompilering, vilket förenklar kod och kan ge bättre optimeringar.

    En praktisk användning är när man vill analysera mönster i en dataström. Ett klassiskt exempel är att leta efter så kallade ABBA-mönster, där två olika tecken följs av samma två tecken i omvänd ordning, exempelvis abba eller xyyx.

    Med array_windows kan en sådan kontroll skrivas mycket kompakt:

    Här kan kompilatorn automatiskt förstå att varje fönster ska bestå av fyra element eftersom de destruktureras till fyra variabler.

    Cargo får bättre stöd för modulär konfiguration

    Rusts byggverktyg Cargo får i version 1.94 en ny funktion: möjligheten att inkludera konfigurationsfiler i andra konfigurationsfiler.

    Detta gör att större projekt kan dela upp sin konfiguration i flera mindre filer, vilket gör dem enklare att underhålla och återanvända mellan olika projekt eller utvecklingsmiljöer.

    Ett exempel är:

    Det går även att ange mer avancerade alternativ via så kallade inline-tabeller, exempelvis om en konfigurationsfil är valfri:

    Detta gör det möjligt att skapa konfigurationer som fungerar både lokalt och i olika utvecklingsmiljöer utan att alla filer behöver finnas överallt.

    Stöd för TOML 1.1

    Cargo kan nu också läsa TOML 1.1, den senaste versionen av konfigurationsformatet som används i Rust-projekt.

    Bland förbättringarna i TOML 1.1 finns:

    • inline-tabeller som kan skrivas över flera rader
    • stöd för fler escape-sekvenser i strängar
    • möjlighet att utelämna sekunder i tidsangivelser
    • trailing commas i vissa strukturer

    Det innebär exempelvis att beroenden i Cargo.toml kan skrivas mer läsbart:

    Om man använder dessa nya funktioner höjs dock projektets MSRV (Minimum Supported Rust Version), eftersom äldre Cargo-versioner inte kan tolka den nya syntaxen. Samtidigt hanterar Cargo detta automatiskt vid publicering genom att skriva om manifestfiler så att de förblir kompatibla med äldre verktyg.

    Nya matematiska konstanter i standardbiblioteket

    Rusts standardbibliotek har också utökats med några klassiska matematiska konstanter. Bland de nya konstanterna finns:

    • Euler–Mascheroni-konstanten (EULER_GAMMA)
    • det gyllene snittet (GOLDEN_RATIO)

    De finns tillgängliga för både f32 och f64 och kan användas direkt i numeriska beräkningar utan att utvecklare behöver definiera dem själva.

    Fler stabiliserade API:er

    Som i varje Rust-release har även flera tidigare experimentella funktioner nu blivit stabila API:er. Bland dessa finns bland annat:

    • array_windows och element_offset för slices
    • nya metoder för LazyCell och LazyLock
    • nya metoder i iteratorn Peekable
    • hårdvaruintrinsics för AVX-512 FP16 på x86 och NEON FP16 på AArch64

    Dessutom kan vissa funktioner, som mul_add för flyttal, nu användas i konstanta uttryck.

    Fortsatt snabb utveckling av Rust

    Rust 1.94 visar tydligt hur språket fortsätter att utvecklas i både små och stora steg. Förbättringar som array_windows gör koden mer uttrycksfull, medan förändringar i Cargo och TOML gör projekthanteringen mer flexibel.

    Utvecklare som redan använder Rust kan uppdatera till den nya versionen med kommandot:

    Den nya versionen är resultatet av arbete från ett stort antal bidragsgivare i Rust-communityt – ett exempel på hur ett modernt open source-projekt fortsätter att förbättras genom globalt samarbete.

    C vs Rust

    C

    C är ett klassiskt programspråk som har använts i årtionden för operativsystem, drivrutiner, inbyggda system och annan prestandakritisk programvara.

    Språket ger programmeraren mycket direkt kontroll över minne och hårdvara, vilket gör det snabbt och flexibelt.

    Nackdelen är att C saknar inbyggt skydd mot många vanliga minnesfel, vilket kan leda till buggar, krascher och säkerhetsproblem.

    Rust

    Rust är ett modernare systemspråk som också fokuserar på hög prestanda, men samtidigt vill minska risken för minnesfel och osäker kod.

    Genom sitt ägarskapssystem och sina kompilatorkontroller kan Rust förhindra många problem redan innan programmet körs.

    Det gör språket särskilt intressant för säkerhetskritiska system, servrar, verktyg och ny systemprogrammering.

    https://blog.rust-lang.org/2026/03/05/Rust-1.94.0

    Teknisk fakta: Rust 1.94

    Version: Rust 1.94.0

    Typ av uppdatering: Stabil utgåva

    Viktig nyhet: array_windows för slices

    Ny Cargo-funktion: stöd för include i konfigurationsfiler

    Manifestformat: Cargo kan nu tolka TOML 1.1

    Nya matematiska konstanter: EULER_GAMMA och GOLDEN_RATIO

    Fler förbättringar: stabiliserade API:er i standardbiblioteket och fler funktioner tillgängliga i const-kontext

    Uppdateringskommando:

    rustup update stable

Etikett: TOML

  • Microsoft bygger om Azure Linux – version 4 tar steget mot Fedora

    Microsoft tar nästa steg i sin Linuxsatsning. Den kommande Azure Linux 4 får en tydligare Fedora-baserad grund, med standardiserade RPM-verktyg och paketkällor hämtade från Fedora-ekosystemet. För Microsoft innebär det en mer etablerad byggmodell för molnplattformen Azure – samtidigt som distributionen fortsatt anpassas för säkerhet, drift och storskaliga arbetslaster i Microsofts egen infrastruktur. Microsofts egen Linuxdistribution…

  • Rust 1.94 gör språket mer uttrycksfullt och kraftfullt

    Programmeringsspråket Rust fortsätter att utvecklas i snabb takt. Den nya versionen Rust 1.94 introducerar flera förbättringar som gör språket både mer ergonomiskt och mer kraftfullt. Bland nyheterna finns en ny iterator för slice-data, förbättrad konfigurationshantering i Cargo, stöd för den senaste versionen av TOML-formatet och flera stabiliserade API:er i standardbiblioteket. Tillsammans innebär förändringarna att utvecklare…