SUSE heeft de tweede prototype van het ALP-platform "Punta Baretti" (Adaptable Linux Platform) uitgebracht, gepositioneerd als een voortzetting van de ontwikkeling van de SUSE Linux Enterprise-distributie. Het belangrijkste verschil van ALP is de splitsing van de basis van de distributie in twee delen: een beperkte "host OS" voor werking bovenop de hardware en een laag ter ondersteuning van applicaties, gericht op uitvoering in containers en virtuele machines. De builds zijn voorbereid voor de x86_64-architectuur. ALP wordt aanvankelijk ontwikkeld met behulp van een open ontwikkelingsproces, waarbij tussentijdse builds en testresultaten openbaar beschikbaar zijn voor geïnteresseerden.
De architectuur van ALP is gebaseerd op de ontwikkeling van een "host OS"-omgeving, minimaal nodig om de hardware te ondersteunen en te beheren. Alle toepassingen en componenten van de gebruikersruimte worden voorgesteld om niet in een gemengde omgeving te draaien, maar in afzonderlijke containers of in virtuele machines, uitgevoerd bovenop de "host OS" en van elkaar geïsoleerd. Deze organisatie stelt gebruikers in staat zich te concentreren op toepassingen en de werkprocessen te abstraheren, door deze te scheiden van de low-level systeemomgeving en hardware.
Als basis voor 'host OS' wordt het product SLE Micro gebruikt, gebaseerd op de ervaringen van het MicroOS-project. Voor gecentraliseerd beheer worden configuratiebeheersystemen aangeboden zoals Salt (vooraf geïnstalleerd) en Ansible (optie). Voor het draaien van geïsoleerde containers zijn de tools Podman en K3s (Kubernetes) beschikbaar. Onder de systeemcomponenten die in containers zijn geplaatst, bevinden zich yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) en KVM.
Onder de kenmerken van de systeemomgeving wordt het standaard gebruik van schijfversleuteling (FDE, Full Disk Encryption) genoemd, met de mogelijkheid om sleutels in TPM op te slaan. De root-partitie wordt gemonteerd in alleen-lezen modus en verandert niet tijdens het draaien. In de omgeving wordt een mechanisme voor atomair installatie van updates toegepast. In tegenstelling tot atomische updates op basis van ostree en snap, gebruikt in Fedora en Ubuntu, maakt ALP gebruik van een standaard pakketbeheerder en snapshots in het Btrfs-bestandssysteem.
Er is een configureerbare modus voor automatische updates, waarmee je bijvoorbeeld alleen de automatische installatie van kritieke beveiligingspatches kunt inschakelen of terug kunt schakelen naar handmatige bevestiging van de installatie van updates. Voor het bijwerken van de Linux-kernel zonder herstart en onderbreking van de werking worden live patches ondersteund. Om de veerkracht van het systeem (self-healing) te waarborgen, wordt de laatste stabiele staat vastgelegd met behulp van Btrfs-snapshots (wanneer anomaliën worden ontdekt na het toepassen van updates of wijzigingen in de instellingen, wordt het systeem automatisch teruggezet naar de vorige staat).
Op het platform wordt een multi-versie softwarestack toegepast - dankzij het gebruik van containers kunnen verschillende versies van tools en applicaties tegelijk worden gebruikt. U kunt bijvoorbeeld applicaties uitvoeren die verschillende versies van Python, Java en Node.js in hun afhankelijkheden gebruiken, waarbij incompatibele afhankelijkheden worden gescheiden. De basisafhankelijkheden worden geleverd in de vorm van BCI-kits (Base Container Images). De gebruiker kan softwarestacks maken, bijwerken en verwijderen zonder andere omgevingen te beïnvloeden.
Belangrijke wijzigingen in de tweede prototype van ALP:
- De D-Installer is gebruikt, waarbij de gebruikersinterface is gescheiden van de interne componenten van YaST en de mogelijkheid biedt om verschillende frontends te gebruiken, inclusief een frontend voor installatiebeheer via een webinterface. De basisinterface voor installatiebeheer is gebouwd met webtechnologieën en omvat een handler die toegang biedt tot D-Bus-aanroepen via HTTP, evenals de webinterface zelf. De webinterface is geschreven in JavaScript met behulp van het React-framework en PatternFly-componenten. Om de veiligheid te waarborgen ondersteunt D-Installer installatie op versleutelde partities en maakt het gebruik van TPM (Trusted Platform Module) mogelijk voor het ontsleutelen van de opstartpartitie, waarbij in plaats van wachtwoorden sleutels worden gebruikt die zijn opgeslagen in de TPM-chip.
- Er is ervoor gezorgd dat enkele YaST-clients (bootloader, iSCSIClient, Kdump, firewall, enz.) worden uitgevoerd in afzonderlijke containers. Twee soorten containers zijn geïmplementeerd: bestuurlijke containers voor het werken met YaST in tekstmodus, GUI en via de webinterface, en testcontainers voor het uitvoeren van geautomatiseerde teksttests. Een aantal modules is ook aangepast voor gebruik in systemen met transacties bij updates. Voor integratie met openQA is de bibliotheek libyui-rest-api aangeboden met de implementatie van REST API.
- De uitvoering in een container van het Cockpit-platform is gerealiseerd, waarboven de webinterface van de configurator en de installateur is gebouwd.
- De mogelijkheid van volledige schijfversleuteling (FDE, Full Disk Encryption) is geboden in installaties bovenop gewone hardware, en niet alleen in virtualisatiesystemen en cloudomgevingen.
- GRUB2 is als de primaire bootloader gebruikt.
- Configuraties toegevoegd voor het implementeren van containers voor het opzetten van een firewall (firewalld-container) en voor het centraal beheren van systemen en clusters (warewulf-container).
Bron: opennet.ru
