Efter ett halvt Ärs utveckling har systemhanteraren systemd 257 slÀppts. NyckelÀndringar: nya verktyg systemd-sbsign och systemd-keyutil, stöd för MPTCP vid aktivering via socket, inledande stöd för byggande med C-biblioteket Musl, verktyget updatectl för hantering av installationen av uppdateringar via systemd-sysupdate, möjlighet att köra tjÀnster i separata PID-namnrymder, skydd mot oavsiktlig borttagning av filer vid anvÀndning av "systemd-tmpfiles --purge".
Bland förÀndringarna i den nya versionen:
- Ett nytt verktyg, systemd-sbsign, har lagts till för att signera exekverbara filer i formatet PE (Portable Executable) med digital signatur, avsett för anvÀndning vid uppstart i lÀge för EFI Secure Boot. För att bilda signaturen kan motorer och leverantörer som tillhandahÄlls av OpenSSL-biblioteket anvÀndas. Systemd-sbsign kan anvÀndas som ett alternativ till programmen sbsigntool och pesign i verktyget ukify vid skapandet av universella kÀrnbilder UKI (Unified Kernel Image), som kombinerar en bootloader för UEFI (UEFI boot stub), Linux-kÀrnbilden och det initrd-systemomgivande minnet.
- Ett nytt verktyg, systemd-keyutil, har lagts till och implementerar olika operationer för privata nycklar och X.509-certifikat. Till exempel kan systemd-keyutil anvÀndas för att kontrollera möjligheten att ladda privata nycklar och certifikat, samt extrahera deras offentliga nycklar i PEM-format.
- I enheterna " .socket ", som anvÀnds för att sÀkerstÀlla att aktiveringsmekanismen via socket fungerar (starta processer vid försök att etablera en nÀtverksanslutning), har stöd för MPTCP (Multipath TCP) implementerats, ett tillÀgg till TCP-protokollet för att möjliggöra en TCP-anslutning med paketleverans samtidigt över flera vÀgar via olika nÀtverksgrÀnssnitt kopplade till olika. IP-adresser.
- Ăndringar som behövs för byggande med standard C-biblioteket Musl har lagts till.
- I olika komponenter av systemd, som visar progressindikatorer för operationer (t.ex. systemd-repart, systemd-sysupdate/updatectl och importctl), har möjligheten att anvÀnda ANSI-sekvenser för att animera progressvisningen lagts till. SÄdana sekvenser stöds för nÀrvarande endast i Windows Terminal (det förvÀntas att denna funktion sÄ smÄningom kommer att överföras till terminalemulerare för Linux).
- Möjligheterna för systemd-sysupdate-komponenten, som anvÀnds för automatisk identifiering, nedladdning och installation av uppdateringar med hjÀlp av en atomÀr mekanism för byte av partitioner, filer eller kataloger, har utvidgats. (TvÄ oberoende partitioner/filer/kataloger anvÀnds, dÀr den aktuella resursen finns pÄ en och den kommande uppdateringen installeras pÄ den andra, varefter partitionerna/filerna/katalogerna byts ut). I praktiken anvÀnds systemd-sysupdate redan i GNOME OS.
Utöver systemd-sysupdate-processen har en namngiven tjÀnst lagts till för att möjliggöra anvÀndning av D-Bus för att hantera systemuppdateringar av icke-privilegierade anvÀndare. En ny utility, updatectl, har ocksÄ inkluderats för att hantera tjÀnsten. En flagga "--offline" har lagts till i systemd-sysupdate för att förbjuda nedladdning av metadata frÄn nÀtet och anvÀnda endast versioner som redan har laddats ner till det lokala systemet. Stöd för utdata i JSON-format har lagts till för alla kommandon.
- Nya egenskapen "PrivatePIDs" har implementerats för tjÀnster, vilket gör det möjligt att köra processer med PID 1 (init-processen) i ett separat process-ID-namnrum (PID namespace). I den miljö som skapas för den körda processen kommer endast processerna frÄn det skapade namnet att vara synliga.
- Reglerna för udev har lagts till stöd för matchningar utan hÀnsyn till teckens stora och smÄ bokstÀver (t.ex. 'ATTR{foo}=="abcd"'). Genom udev ges icke-privilegierade lokala anvÀndare tillgÄng ("uaccess") till enheten /dev/udmabuf, som behövs för att arbeta med IPMI-kameror via libcamera. I udev sÀkerstÀlls igenkÀnning av olika hÄrdvarukryptovaluta-plÄnböcker med USB-grÀnssnitt och egenskapen ID_HARDWARE_WALLET tillÀmpas pÄ dem för att möjliggöra "uaccess"-Ätkomst för icke-privilegierade anvÀndare.
- Nya fÀlt RELEASE_TYPE, EXPERIMENT och EXPERIMENT_URL har lagts till filen /etc/os-release. "RELEASE_TYPE" kan anta vÀrdena "experimental", "development", "stable" och "lts" för att sÀrskilja stabila versioner frÄn de som Àr under utveckling och experimentella byggen. Parametrarna EXPERIMENT och EXPERIMENT_URL Àr avsedda att förklara syftet med den experimentella byggen.
- I verktyget run0, som utvecklas som en ersĂ€ttning för sudo-programmet, har alternativet "âshell-prompt-prefix" lagts till, vilket definierar en prefixrad för kommandoprompten. Som standard visas emoji "đŠž" som prefix för att visuellt markera sessionen med förhöjda rĂ€ttigheter.
- I systemd-tmpfiles tillĂ€mpas alternativet "âpurge" nu endast pĂ„ instĂ€llningar i tmpfiles.d/ dĂ€r flaggan "$" uttryckligen har angivits, för att förhindra oavsiktlig borttagning av fel filer. Dessutom krĂ€vs nu minst en fil frĂ„n katalogen tmpfiles.d/ för att utföra "âpurge"-operationen. För rader av typ 'L' har en flagga '?' lagts till; nĂ€r den anges skapas en symbolisk lĂ€nk endast om mĂ„lfilen finns.
- I tjÀnstehanteraren och relaterade verktyg fortsÀtter övergÄngen av processövervakningskoden att anvÀnda PIDFD istÀllet för PID. PIDFD-identifieraren Àr kopplad till en specifik process och Àndras inte, medan PID kan kopplas till en annan process efter att den nuvarande processen som Àr associerad med PID har avslutats.
- För tjÀnster har möjligheten att ange vÀrdet "debug" i parametern "RestartMode" implementerats, dÀr omstart av en misslyckad tjÀnst utförs med debug-lÀget aktiverat (miljövariabeln DEBUG_INVOCATION=1 sÀtts) och vÀrdet LogLevelMax tillfÀlligt höjs till debug-nivÄ.
- I PID 1-hanteraren har möjligheten att ladda regler för LSM-modulen IPE (Integrity Policy Enforcement) implementerats, vilket definierar en policy för att sÀkerstÀlla integriteten för hela systemet (vilka operationer som Àr tillÄtna och hur Àktheten av komponenter ska verifieras).
- I enhetsfilerna "*.timer" har alternativet "DeferReactivation" lagts till, vilket gör att nÀsta aktivering via timer kan hoppas över om tjÀnsten Ànnu inte har avslutat sin körning sedan föregÄende aktivering.
- I parametern i enhetsfilerna PrivateUsers har vÀrdet "identity" implementerats för att aktivera mappning av anvÀndaridentiteter nÀr ett anvÀndarnamnsskapande (user namespace) skapas.
- I parametern i enhetsfilerna PrivateTmp har stöd för vÀrdet "disconnected" lagts till, dÀr separata instanser av tmpfs anvÀnds för katalogerna /tmp/ och /var/tmp/.
- I parameteret för enhet-filer till ProtectControlGroups har stöd för nya lÀgen "private" och "strict" lagts till, dÀr ett nytt namnrum för cgroup (cgroup namespace) skapas och cgroupfs monteras. NÀr alternativet "strict" stÀlls in, monteras cgroupfs i skrivskyddat lÀge.
- I parametrarna StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory och ConfigurationDirectory har möjligheten att anvĂ€nda flaggan â:roâ lagts till för att begrĂ€nsa Ă„tkomst till motsvarande kataloger i skrivskyddat lĂ€ge.
- Till kommandoradsparametern för kĂ€rnan âsystemd.machine_idâ har stöd för vĂ€rdet âfirmwareâ lagts till, vilket gör att systemidentifieraren (machine ID) berĂ€knas baserat pĂ„ UUID frĂ„n SMBIOS/DeviceTree.
- Stöd för systemanropen mseal(), listmount() och statmount(), som kommit i senaste versionerna av Linux-kÀrnan, har lagts till.
- I verktygen resolvectl, timedatectl och systemd-inhibit har stöd för interaktiv godkÀnnande genom Polkit lagts till.
- I verktyget systemctl har möjligheten att anvĂ€nda flaggan "ânow" i kommandot "reenable" lagts till.
- I verktyget systemd-mount har alternativet "âjson" lagts till för att ge utdata i JSON-format (till exempel vid angivande tillsammans med "âlist-devices" kommer en lista över enheter att visas i JSON-format).
- I verktyget "localectl" har alternativen â-lâ och ââfullâ lagts till för att inaktivera avskĂ€rning av lĂ„nga rader vid utdata.
- I sleep.conf har alternativet HibernateOnACPower lagts till, vilket möjliggör att fördröja övergÄngen till vilolÀge tills enheten kopplas bort frÄn den stationÀra strömkÀllan.
- I systemd-sysusers har modifieraren â!â lagts till i raderna âuâ, vilket gör det möjligt att skapa helt lĂ„sta anvĂ€ndarkonton (tidigare anvĂ€ndes en felaktig lösenord för att lĂ„sa en anvĂ€ndare, vilket till exempel inte ledde till lĂ„sning vid autentisering med nycklar i SSH).
- I systemd-coredump har alternativet âEnterNamespaceâ lagts till, vilket ger Ă„tkomst till monteringsutrymmet för alla kraschade processer för att fĂ„ deras felsökningssymboler. I praktiken kan alternativet vara anvĂ€ndbart för att organisera bakspĂ„rning (backtrace) av core-filer frĂ„n applikationer som körs i isolerade containrar.
- I systemd-logind har stöd för kombinationen Ctrl-Alt-Shift-Esc aktiverats för att skicka signalen org.freedesktop.login1.SecureAttentionKey till komponenterna i anvÀndarmiljön med begÀran om att visa dialogrutan för sÀker inloggning. InstÀllningen "DesignatedMaintenanceTime" har införts för att automatiskt schemalÀgga avstÀngning vid angiven tid. PÄ liknande sÀtt som med DRM-enheter och evdev har stöd för instÀllningar för obehöriga anvÀndares Ätkomst till hidraw-enheter (spelkontroller och joysticks) lagts till.
- I systemd-machined har stöd för registrering av obehöriga klienter virtuella maskiner och containrar lagts till. Funktionaliteten i systemd-machined har gjorts tillgÀnglig genom API:et Varlink, förutom D-Bus.
- En ny sektion "[IPv6AddressLabel]" har lagts till i konfigurationsfilen networkd.conf för att konfigurera etiketter och prefix för IPv6-adresser.
- Alternativet "--stdin" har lagts till i kommandot 'networkctl edit' för att hÀmta filinnehÄllet frÄn standardströmmen. Kommandona 'networkctl edit' och 'networkctl cat' har fÄtt stöd för att redigera och visa .netdev-filer genom att ange nÀtverksgrÀnssnittet. Alternativet "--no-ask-password" har lagts till för att inaktivera interaktiv autentisering.
- Verktygen ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart och systemd-sbsign har fÄtt alternativet "--certificate-source" för att ladda ett X.509-certifikat via OpenSSL-leverantören istÀllet för direkt frÄn fil.
- I systemd-boot har möjligheten att anvĂ€nda volymknappar för att navigera upp och ner i startmenyn lagts till, vilket kan vara anvĂ€ndbart pĂ„ enheter som smartphones. Verktyget bootctl har fĂ„tt stöd för att installera UEFI Secure Boot-databaser i ESL-format (db/dbx/âŠ) för systemd-boot.
- I journalctl har alternativet "--list-invocation" lagts till för att visa en lista med enhetsanrop och alternativet "--invocation" ("-I") för att visa loggar kopplade till ett specifikt anrop.
- I systemd-nspawn har stöd för obehörig anvÀndning av FUSE (Filesystem in Userspace) i containrar lagts till. Vid anvÀndning av alternativet "--bind-user" görs anvÀndarens SSH-nycklar tillgÀngliga i containern, vilket Àr nödvÀndigt för SSH-Ätkomst.
- I libsystemd har ett nytt grÀnssnitt "sd-json" lagts till som anvÀnder JSON-formatet, samt grÀnssnittet "sd-varlink" som anvÀnder IPC Varlink.
- Den rekommenderade grundversionen av kÀrnan har uppdaterats till version 5.4 som slÀpptes 2019. Under det kommande Äret planeras det att avsluta stödet för Àldre kÀrnor och att version 5.4 kommer att markeras som den minimi stödda grundversionen.
- Stödet för cgroups v1 har bedömts som förÄldrat och Àr som standard avstÀngt (för att aktivera det i kommandoraden för kÀrnan mÄste SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 anges utöver aktiveringen i systemd-instÀllningarna). I nÀsta version av systemd 258 planeras det att helt ta bort koden relaterad till cgroups v1. I version 258 av systemd planeras det Àven att ta bort stödet för System V service-skript.
KĂ€lla: opennet.ru
