Efter tre mÄnaders utveckling har systemhanteraren systemd 249 slÀppts. I den nya versionen har möjligheten att definiera anvÀndare/grupper i JSON-format sÀkrats, Journal-protokollet har stabiliserats, organisationen av laddningen av vÀxlande diskpartitioner har förenklats, möjligheten att koppla BPF-program till tjÀnster har lagts till, kartlÀggning av anvÀndaridentifierare i monterade partitioner har implementerats, och en stor mÀngd nya nÀtverksinstÀllningar och funktioner för att köra containrar har introducerats.
Huvudsakliga förÀndringar:
- Journal-protokollet har dokumenterats, vilket kan anvÀndas i klienter istÀllet för syslog-protokollet för lokal leverans av loggar. Journal-protokollet har funnits lÀnge och anvÀnds redan i vissa klientbibliotek, men dess officiella stöd har endast annonserats nu.
- I userdb och nss-systemd har lÀsning av ytterligare anvÀndardefinitioner frÄn katalogerna /etc/userdb/, /run/userdb/, /run/host/userdb/ och /usr/lib/userdb/ i JSON-format möjliggjorts. Det pÄpekas att denna funktionalitet kommer att ge en extra mekanism för att skapa anvÀndare i systemet, vilket ger full integration med NSS och /etc/shadow. Stöd för JSON-formatet för anvÀndar/gruppregister kommer ocksÄ att möjliggöra koppling av olika resurskontrollparameterar och andra instÀllningar som pam_systemd och systemd-logind kÀnner igen.
- I nss-systemd har syntesen av anvÀndar-/gruppregister i /etc/shadow med hjÀlp av hashade lösenord frÄn systemd-homed implementerats.
- En mekanism har genomförts som förenklar organisationen av uppdateringen med hjĂ€lp av vĂ€xlande diskpartitioner (en partition aktiv och en annan som reserv â uppdateringen kopieras till reservpartitionen som sedan blir aktiv). Om diskavbilden har tvĂ„ rot- eller /usr-partitioner, och udev inte har identifierat Ă„tagandet 'root=' eller om diskavbilder beskrivs via alternativet 'âimage' i systemd-nspawn och systemd-dissect, kan partitionen för laddning berĂ€knas genom att jĂ€mföra GPT-mĂ€rkena (det antas att GPT-mĂ€rket nĂ€mner versionsnumret för partitionens innehĂ„ll och systemd vĂ€ljer partitionen med de nyare Ă€ndringarna).
- I tjÀnsterna har en instÀllning för BPFProgram lagts till, vilket gör det möjligt att organisera inlÀsning av BPF-program i kÀrnan och hantera dem med koppling till specifika systemd-tjÀnster.
- I systemd-fstab-generator och systemd-repart har möjligheten till inlÀsning frÄn diskar lagts till, dÀr endast en partition för /usr finns och det saknas en rotpartition (rotpartitionen kommer att genereras av verktyget systemd-repart vid första inlÀsningen).
- I systemd-nspawn har alternativet "âprivate-user-chown" ersatts med den mer universella varianten "âprivate-user-ownership", som kan ta vĂ€rdena "chown" som motsvarighet till "âprivate-user-chown", "off" för att inaktivera den gamla instĂ€llningen, "map" för att mappa anvĂ€ndaridentifierare i monterade filsystem och "auto" för att vĂ€lja "map" om nödvĂ€ndig funktionalitet finns i kĂ€rnan (5.12+) eller att utföra en rekursiv "chown" i motsatt fall. Genom mappning kan filer frĂ„n en anvĂ€ndare pĂ„ monterad frĂ€mmande partition kopplas till en annan anvĂ€ndare i det aktuella systemet, vilket gör det enklare att dela filer mellan olika anvĂ€ndare. I systemd-homed:s mekanism för bĂ€rbara hemkataloger gör mappning det möjligt för anvĂ€ndare att flytta sina hemkataloger till externa lagringsenheter och anvĂ€nda dessa pĂ„ olika datorer dĂ€r mappning av anvĂ€ndaridentifierare inte stĂ€mmer överens.
- I systemd-nspawn kan alternativet "âprivate-user" nu anvĂ€nda vĂ€rdet "identity" för att direkt spegla anvĂ€ndaridentifierare vid instĂ€llning av anvĂ€ndarnamnrymden, det vill sĂ€ga UID 0 och UID 1 i containern kommer att speglas som UID 0 och UID 1 pĂ„ vĂ€rdsidan, för att minska angreppsvektorer (containern kommer att fĂ„ processens möjligheter endast i sin egen anvĂ€ndarnamnrymd).
- I systemd-nspawn har alternativet "âbind-user" lagts till för att vidarebefordra en anvĂ€ndarkonto som finns i vĂ€rdmiljön till containern (hemkatalogen monteras i containern, en anvĂ€ndar-/grupppost lĂ€ggs till och UID-mappning mellan containern och vĂ€rdmiljön utförs).
- I systemd-ask-password och systemd-sysusers har stöd lagts till för att begÀra inloggningslösenord (passwd.hashed-password. och passwd.plaintext-password.) genom den mekanism för sÀker överföring av konfidentiella data som introducerades i systemd version 247, vilken anvÀnder mellanliggande filer i en separat katalog. Som standard accepteras autentiseringsuppgifterna frÄn processen med PID1, som till exempel fÄr dem frÄn en containermanager, vilket möjliggör instÀllning av anvÀndarlösenord vid första uppstarten.
- I systemd-firstboot har stöd lagts till för att anvÀnda mekanismen för sÀker överföring av konfidentiella data för att begÀra olika systemparametrar, vilket kan tillÀmpas för att initiera systeminstÀllningar vid första uppstarten av en containerbild som inte har nödvÀndiga instÀllningar i katalogen /etc.
- Under uppstart disponerar processen PID 1 över visning av bÄde enhetens namn och beskrivning. Utmatningen kan Àndras genom parametern 'StatusUnitFormat=combined' i system.conf eller genom systemd-status-enhetsformat=combined i kÀrnans kommandoradsalternativ.
- I verktygen systemd-machine-id-setup och systemd-repart har alternativet '--image' lagts till för att överföra en fil med maskinidentifieraren till diskbilder eller för att öka storleken pÄ en diskbild.
- I konfigurationsfilen för partitioner, som anvÀnds av verktyget systemd-repart, har parametern MakeDirectories lagts till, vilket kan anvÀndas för att skapa godtyckliga kataloger i det skapade filsystemet innan det Äterspeglas i partitions tabellen (till exempel för att skapa kataloger för monteringspunkter i rotpartitionen, sÄ att det möjligt att omedelbart montera partitionen i skrivskyddat lÀge). För att hantera GPT-flaggor i de skapade partitionerna har motsvarande parametrar Flags, ReadOnly och NoAuto lagts till. I parametern CopyBlocks har vÀrdet 'auto' implementerats för att automatiskt vÀlja den aktuella startpartitionen som kÀlla vid kopiering av block (till exempel nÀr det Àr nödvÀndigt att överföra den egna rotpartitionen till en ny lagringsanordning).
- I GPT har flaggan "grow-file-system" implementerats, vilket motsvarar alternativet för monteringen x-systemd.growfs och möjliggör automatisk utvidgning av filsystemets storlek upp till grÀnserna för blockenheten, om filsystemets storlek Àr mindre Àn partitionen. Flaggan kan tillÀmpas pÄ filsystemen Ext3, XFS och Btrfs, och kan anvÀndas pÄ automatiskt identifierade partitioner. Flaggan aktiveras som standard för skrivbara partitioner som automatiskt skapas via systemd-repart. I systemd-repart har alternativet GrowFileSystem lagts till för att konfigurera flaggan.
- I filen /etc/os-release har stöd för nya variabler IMAGE_VERSION och IMAGE_ID implementerats för att definiera version och ID för atomÀrt uppdaterade bilder. Specifikationerna %M och %A föreslÄs för att infoga angivna vÀrden i olika kommandon.
- Parametern "âextension" har lagts till i verktyget portablectl för att aktivera bĂ€rbara bilder av systemutvidgningar (till exempel kan de anvĂ€ndas för att distribuera bilder med ytterligare tjĂ€nster som integreras i rotpartitionen).
- I verktyget systemd-coredump har extraktionen av ELF-informationen build-id sÀkerstÀllts vid skapandet av en core-dump av en process, vilket kan vara anvÀndbart för att avgöra vilken paket den kraschade processen tillhör, om information om namn och version av deb- eller rpm-paket har integrerats i ELF-filerna.
- I udev har en ny databas för FireWire-enheter (IEEE 1394) lagts till.
- Tre Àndringar har lagts till i urvalsschemat för namn pÄ nÀtverksgrÀnssnitt i udev "net_id", vilket bryter bakÄtkompatibiliteten: ogiltiga tecken i namn pÄ grÀnssnitt ersÀtts nu med "_"; PCI hotplug-slotnamn för s390-system behandlas som hexadecimala tal; anvÀndningen av upp till 65535 inbyggda PCI-enheter har tillÄtits (tidigare blockerades nummer över 16383).
- I systemd-resolved har domÀnen "home.arpa" lagts till i listan över NTA (Negative Trust Anchors), rekommenderad för lokala hemmannÀt, men som inte anvÀnds i DNSSEC.
- I parametern CPUAffinity har tolkning av specifikationer "%" sÀkerstÀllts.
- I filer med " .network" har parametern ManageForeignRoutingPolicyRules lagts till, vilket kan anvÀndas för att undanta behandling av externa routingpolicyer i systemd-networkd.
- I filer med " .network" har parametern RequiredFamilyForOnline lagts till för att avgöra nÀrvaro av en IPv4- eller IPv6-adress som ett tecken pÄ att nÀtverksgrÀnssnittet Àr i "online"-lÀge. I networkctl har visningen av "online"-status sÀkerstÀllts för varje lÀnk.
- I filerna «.network» har parametern OutgoingInterface lagts till för att definiera utgÄende grÀnssnitt vid konfigurering av nÀtverksbroar.
- I filerna «.network» har parametern Group lagts till, vilket möjliggör konfiguration av Multipath-gruppen för poster i sektionen «[NextHop]».
- I systemd-network-wait-online har alternativen «-4» och «-6» lagts till för att begrÀnsa vÀntan pÄ anslutning endast till IPv4 eller IPv6.
- I DHCP-serverns instÀllningar har parametern RelayTarget lagts till, vilket sÀtter servern i DHCP Relay-lÀge. För ytterligare konfiguration av DHCP-relÀet har alternativen RelayAgentCircuitId och RelayAgentRemoteId föreslagits.
- I DHCP-servern har parametern ServerAddress lagts till, vilket möjliggör att stÀlla in IP-adressen för servern explicit (annars vÀljs adressen automatiskt).
- I DHCP-servern har sektionen [DHCPServerStaticLease] implementerats, vilket gör det möjligt att konfigurera statiska adresstilldelningar (DHCP leases) genom att ange bindningar av fasta IP-adresser till MAC-adresser och vice versa.
- I instÀllningen RestrictAddressFamilies har stöd för vÀrdet «none» implementerats, vilket innebÀr att tjÀnsten inte fÄr tillgÄng till sockets av nÄgot adresstyp.
- I filerna «.network» i sektionerna [Address], [DHCPv6PrefixDelegation] och [IPv6Prefix] har stöd för instÀllning av RouteMetric implementerats, vilket gör att man kan ange en mÀtare för den ruttprefix som skapats för den angivna adressen.
- I nss-myhostname och systemd-resolved har syntesen av DNS-poster med adresser för vÀrdar med det specialnamnet «_outbound» sÀkerstÀllts, för vilka en lokal IP alltid tilldelas pÄ basis av de standardrutter som anvÀnds för utgÄende anslutningar.
- I filerna .network har den aktivt standardinstÀllda konfigurationen RoutesToNTP lagts till i sektionen «[DHCPv4]», vilket ÄlÀgger tillÀgg av en separat rutt genom det aktuella nÀtverksgrÀnssnittet för att fÄ tillgÄng till adressen för NTP-servern som erhÄllits för detta grÀnssnitt via DHCP (pÄ liknande sÀtt som DNS-konfigurationen garanterar att trafiken till NTP-servern dirigeras genom det grÀnssnitt som den adressen erhölls frÄn).
- InstÀllningarna SocketBindAllow och SocketBindDeny har lagts till för att styra Ätkomsten till sockets som Àr bundna till den aktuella tjÀnsten.
- För enhetsfiler har den villkorsbundna konfigurationen ConditionFirmware implementerats, vilket gör det möjligt att skapa kontroller som utvÀrderar funktioner hos firmware, sÄsom drift pÄ UEFI-system och device.tree, samt att kontrollera kompatibilitet med vissa möjligheter hos device-tree.
- Funktionen ConditionOSRelease har implementerats för att kontrollera fĂ€lten i filen /etc/os-release. Vid bestĂ€mning av villkoren för att kontrollera vĂ€rdena Ă€r operatorerna â=â, â!=â, â<â, â=â, â>â tillĂ„tna.
- I verktyget hostnamectl har kommandon av typen âget-xyzâ och âset-xyzâ tagits bort frĂ„n prefixen âgetâ och âsetâ, till exempel kan istĂ€llet för âhostnamectl get-hostnameâ och âhostnamectl set-hostnameâ kommandot âhostnamectl hostnameâ anvĂ€ndas, dĂ€r tilldelningen av vĂ€rdet bestĂ€ms genom att ange ett extra argument (âhostnamectl hostname valueâ). Stödet för gamla kommandon har bevarats för att sĂ€kerstĂ€lla kompatibilitet.
- I verktyget systemd-detect-virt och instÀllningen ConditionVirtualization har korrekt identifiering av Amazon EC2-miljöer sÀkerstÀllts.
- InstÀllningen LogLevelMax i enhetsfiler tillÀmpas nu inte bara pÄ loggmeddelanden som skapats av tjÀnsten, utan ocksÄ pÄ meddelanden frÄn process PID 1, dÀr tjÀnsten nÀmns.
- Möjligheten att aktivera SBAT-data (UEFI Secure Boot Advanced Targeting) i systemd-boot EFI PE-filer har tillhandahÄllits.
- Nya alternativ âheadlessâ och âpassword-echoâ har implementerats i /etc/crypttab â det första tillĂ„ter att hoppa över alla Ă„tgĂ€rder som rör interaktiv begĂ€ran om lösenord och PIN frĂ„n anvĂ€ndaren, och det andra ger möjlighet att konfigurera metoden för visning av inmatningslösenord (ingenting visas, visas tecken för tecken och visar stjĂ€rnor). I systemd-ask-password har alternativet ââechoâ lagts till för liknande syften.
- I systemd-cryptenroll, systemd-cryptsetup och systemd-homed har stödet för att lĂ„sa upp krypterade LUKS2-partitioner med hjĂ€lp av FIDO2-token utökats. Nya alternativ ââfido2-with-user-presenceâ, ââfido2-with-user-verificationâ och ââfido2-with-client-pinâ har lagts till för att hantera kontroll av fysisk nĂ€rvaro av anvĂ€ndaren, verifiering och behov av att ange PIN-kod.
- I systemd-journal-gatewayd har alternativen ââuserâ, ââsystemâ, ââmergeâ och ââfileâ lagts till, motsvarande sĂ„dana som journalctl.
- Utöver direkta beroenden mellan enheter, som anges via parametrarna OnFailure och Slice, har stöd för implicita omvÀnda beroenden OnFailureOf och SliceOf lagts till, vilket kan vara anvÀndbart, till exempel för att identifiera alla enheter som ingÄr i en slice.
- Nya typer av beroenden mellan enheter har lagts till: OnSuccess och OnSuccessOf (motsatsen till OnFailure, som aktiveras vid framgÄngsrik avslutning); PropagatesStopTo och StopPropagatedFrom (Äterkommande av stopp-hÀndelsen för en enhet till en annan enhet); Upholds och UpheldBy (alternativ till Restart).
- I verktyget systemd-ask-password har alternativet ââemojiâ lagts till för att hantera visningen av lĂ„sikonen (đ) i inmatningsfĂ€ltet för lösenord.
- Dokumentation om strukturen för kÀllkodstrÀdet för systemd har lagts till.
- För enheterna har egenskapen MemoryAvailable lagts till, vilken visar hur mycket minne enheten har kvar innan den nÄr grÀnsen som anges via parametrarna MemoryMax, MemoryHigh eller MemoryAvailable.
KĂ€lla: opennet.ru
