Efter nio mÄnaders utveckling har systemhanteraren systemd 258 slÀppts. NyckelÀndringar: upphörande av stöd för cgroups v1 och systemkomponenter i stil med System V, nya verktyg systemd-factory-reset och systemd-pty-forward, konceptet med hemmomrÄden, stöd för att starta frÄn en diskavbild som erhÄllits via HTTP.
Bland förÀndringarna i den nya versionen:
- Verktyget systemd-factory-reset har lagts till för att initiera eller avbryta ÄterstÀllning till fabriksinstÀllningar vid nÀsta start. För omedelbar ÄterstÀllning har enheten factory-reset-now.target lagts till. För ÄterstÀllning under uppstart har en kÀrnkommandoradsparameter 'systemd.factory_reset' lagts till.
- Ett koncept för hemmomrÄden (home area) har lagts till, vilket möjliggör att stÀlla in underkataloger inom den huvudsakliga hemmakatalogen ($HOME), som anvÀndaren kan logga in i separat för att arbeta i olika arbetsutrymmen. Till exempel kan separata omrÄden för testinstÀllningar och utveckling skapas för en anvÀndare (~\/Areas\/foo och ~\/Areas\/bar). För att ansluta till ett ytterligare omrÄde vid inloggning mÄste namnet pÄ omrÄdet anges i inloggningen, separerat med symbolen '%' ('username%foo') eller anvÀnda verktyget run0 med alternativet '--area'. Stöd för hemmomrÄden Àr för nÀrvarande endast implementerat i systemd-homed och Àr inte tillgÀngligt för fullstÀndiga grafiska sessioner.
- Till kÀrnkommandoradsparametrarna 'systemd.pull' och 'rd.systemd.pull', som anvÀnds för automatisk uppstart virtuella maskiner, av containrar eller bildtillÀgg (sysext, confext), har en flagga 'blockdev' lagts till. NÀr denna flagga anges, kopplas den laddade bilden till en loopback-enhet, vilket möjliggör direkt uppstart frÄn en diskavbild som erhÄllits via HTTP. Exempelvis: rd.systemd.pull=raw,machine,verify=no,blockdev:image:https:\/\/192.168.100.1:8081\/image.raw \\ root=\/dev\/disk\/by-loop-ref\/image.raw-part2
- Verktyget systemd-pty-forward har lagts till, vilket gör det möjligt att skapa en pseudoterminal ('PTY') och köra en process dÀr, med hjÀlp av omdirigering av all utdata till den ursprungliga terminal dÀr verktyget kördes.
- Koden som sÀkerstÀllde stöd för cgroups v1 har tagits bort.
- Systemkomponenter i stil med System V har tagits bort, sÄsom verktygen itctl, runlevel och telinit, enhet /dev/initctl, konceptet med körnivÄer (runlevel), enhetsfiler runlevel[0-6].target och möjligheten att styra tillstÄndet via kommandot init. Borttagning av stöd för System V-tjÀnstscript Àr planerat till nÀsta utgÄva.
- Minimikraven för Linux-kÀrnversionen har höjts till version 5.4 (version 5.7 rekommenderas).
- Behörigheterna för tty/pts-enheterna har Ă€ndrats frĂ„n 0620 (-rwâwâ-) till 0600 (-rwââ-) för att förhindra att andra anvĂ€ndare i samma grupp kan skriva till andras terminaler. För att Ă„terfĂ„ det gamla beteendet vid kompilering kan alternativet '-Dtty-mode=0620' anvĂ€ndas.
- I systemd-resolved och systemd-importd har stödet för GnuTLS- och libgcrypt-biblioteken upphört, endast OpenSSL har kvarstÄtt som kryptobackend.
- Stödet för villkoret "ConditionKernelModuleLoaded" har lagts till i unit-filer för att kontrollera lastningen av en specifik kÀrnmodul. Villkoret "ConditionKernelVersion" har ersatts av en mer generell konstruktion "ConditionVersion", som kan kontrolleras för bÄde kÀrnan samt versioner av systemd och glibc.
- Stödet för anvÀndarkvoter för /tmp/-delen, som Àr placerad i tmpfs, och för /dev/shm/ har lagts till.
- För slice-enheter, som anvÀnds för att dela upp systemet i sektioner (app.slice, background.slice, session.slice) med syfte att isolera resurser mellan olika anvÀndartjÀnster, har instÀllningarna ConcurrencySoftMax och ConcurrencyHardMax införts för att hantera antalet aktiva enheter samtidigt. De tillagda funktionerna kan anvÀndas som en mekanism för att styra utförandet av arbeten med avseende pÄ resursförbrukning och stödjer hierarkiska arbetspooler.
- Stödet för prefixet â|â har lagts till i ExecStart-instĂ€llningen för att definiera körning genom kommandotolk.
- Ett API baserat pÄ Varlink-protokollet har implementerats, vilket kan anvÀndas för att bestÀmma det aktuella tillstÄndet, listan över enheter och tillstÄnden för enheterna.
- En extra katalog med förinstÀllningar ('preset') för systemtjÀnster, som körs i initrd, har lagts till, vilket möjliggör uppdelning av aktiveringen av systemtjÀnster för vÀrden och initrd.
- Möjligheten att knyta kvoter till specifika tjÀnster har lagts till, genom att anvÀnda instÀllningar som StateDirectoryQuota, StateDirectoryAccounting, CacheDirectoryQuota, CacheDirectoryAccounting, LogsDirectoryQuota och LogsDirectoryAccounting.
- I systemd-udevd har stöd lagts till för egenskaperna ID_NET_BRING_UP_BEFORE_JOINING_BRIDGE, ID_NET_NAME_INCLUDE_DOMAIN, ID_AV_LIGHTS. En parameter "udev.trace" har lagts till i kommandoraden för kĂ€rnbyggnad och alternativet "âtraceu" i verktyget devadm för att spĂ„ra udev:s logik under uppstart och drift. Kommandot "cat" har lagts till i verktyget udevadm för att visa innehĂ„llet i installerade regelverk. Automatisk mĂ€rkning av debug USB-grĂ€nssnitt för Android (ADB DbC, ADB, Fastboot) har sĂ€kerstĂ€llts för obehöriga anvĂ€ndare.
- I systemd-networkd har instÀllningarna IPv4DuplicateAddressDetectionTimeoutSec, UseSIP lagts till i sektionen "[DHCPv6]", MPLSRouting i sektionen "[Network]", Preference i sektionen "[IPv6RoutePrefix]", LinkLocalLearning, Locked, MACAuthenticationBypass och VLANTunnel i sektionen "[Bridge]". Klienten för DHCPv4 har fÄtt stöd för BOOTP-protokollet.
- I systemd-logind har nya sessionsklasser lagts till: "none" för att inaktivera session skapande; "user-light" och "user-early-light" för att skapa anvÀndarsessioner utan att aktivera tjÀnstehanteraren för anvÀndaren (för icke-interaktiva sessioner).
- I systemd-resolved har stöd lagts till för delegerade zoner ("delegate zone"), vilket möjliggör routing av DNS-förfrÄgningar för specifika domÀner genom angivna. servrar DNS. Parallella förfrÄgningar av DNS-poster A och AAAA för en domÀn har sÀkerstÀllts. I resolved.conf har instÀllningen RefuseRecordTypes lagts till för att definiera blockerade posttyper, till exempel för att blockera "A"-poster pÄ vÀrdar med endast IPv6.
- Ett alternativ "âverbose" har lagts till i kommandot "systemctl start" för att visa loggar frĂ„n enheter dĂ€r operationen utförs.
- I systemd-boot har stöd lagts till för tvĂ„ nya specifikationer av bootloaders â "uki" och "uki-url". I det andra fallet har möjlighet att ladda UKI-avbildningar frĂ„n externa vĂ€rdar via HTTP implementerats. Möjlighet till inbĂ€ddning av UEFI-firmwareavbildningar i UKI-avbildningar (Unified Kernel Image) har lagts till. I loader.conf har instĂ€llningen "reboot-on-error" lagts till för att definiera Ă„tgĂ€rder (starta om eller visa bootmenyn) vid fel pĂ„ den valda bootpositionen.
- I systemd-nspawn har stöd lagts till för otillÄten körning av containeravbildningar som lagras i vanliga kataloger.
- I systemd-importd har stöd lagts till för avbildningar som komprimerats med zstd-algoritmen (utöver .xz, .gz och .bz2).
- Flagg för kommandoraden "systemd.break" och "rd.systemd.break" har lagts till, vilket gör att interaktiva stopppunkter kan infogas som pausar starten vid angivna tidpunkter. Fyra stopppunkter Àr tillgÀngliga: "pre-udev", "pre-basic", "pre-mount" och "pre-switch-root".
- I nÀsta version planeras stöd för katalogen /run/lock/ och paketfiltren iptables att avvecklas (endast stöd för nftables kvarstÄr i systemd-networkd och systemd-nspawn). Dessutom planeras en ökning av minimikrav pÄ versioner: Linux-kÀrna 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0.
KĂ€lla: opennet.ru
