Efter tvÄ mÄnaders utveckling har systemhanteraren systemd 242 slÀppts. Bland nyheterna kan man nÀmna stöd för L2TP-tunnlar, möjlighet att styra systemd-loginds beteende vid omstart genom miljövariabler, stöd för utökade startpartitioner XBOOTLDR för montering av /boot, möjlighet att starta med rotpartitionen i overlayfs, samt ett stort antal nya instÀllningar för olika typer av enheter.
Huvudsakliga förÀndringar:
- I systemd-networkd har stöd för L2TP-tunnlar lagts till;
- I sd-boot och bootctl har stöd för XBOOTLDR-partitioner (Extended Boot Loader) implementerats, som Àr avsedda för montering i /boot, utöver ESP-partitioner som monteras i /efi eller /boot/efi. KÀrnor, instÀllningar, initrd-avbilder och EFI kan nu laddas bÄde frÄn ESP-partitioner och frÄn XBOOTLDR-partitioner. Denna förÀndring tillÄter anvÀndning av laddaren sd-boot i mer konservativa scenarier dÀr sjÀlva laddaren Àr placerad i ESP och de laddade kÀrnorna och deras metadata Àr placerade i en separat partition;
- Möjlighet att starta med vidarebefordran av alternativet "systemd.volatile=overlay" har lagts till, vilket möjliggör att placera rotpartitionen i overlayfs och organisera arbetet ovanför en skrivskyddad bild av rotkatalogen med skrivning av Àndringar till en separat katalog i tmpfs (Àndringar i en sÄdan konfiguration gÄr förlorade efter omstart). PÄ liknande sÀtt har en "--volatile=overlay"-parameter lagts till i systemd-nspawn för att anvÀnda liknande funktionalitet i containrar;
- I systemd-nspawn har en "--oci-bundle"-parameter lagts till, vilket möjliggör anvÀndning av runtime-paket för att sÀkerstÀlla isolerad körning av containrar som uppfyller kraven i Open Container Initiative (OCI) specifikationen. För anvÀndning i kommandoraden och nspawn-enheter har stöd för olika alternativ föreslagits, beskrivna i OCI-specifikationen, till exempel för att utesluta delar av filsystemet kan instÀllningarna "--inaccessible" och "Inaccessible" anvÀndas, och för att stÀlla in standardutgÄngar har alternativ som "--console" och "--pipe" lagts till;
- Möjlighet att styra systemd-loginds beteende genom miljövariabler har lagts till: $SYSTEMD_REBOOT_TO_FIRMWARE_SETUP,
$SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU och
$SYSTEMD_REBOOT_TO_BOOT_LOADER_ENTRY. Genom dessa variabler kan man ansluta sina egna hanterare för omstartsprocessen (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu och
/run/systemd/reboot-to-boot-loader-entry) ОлО ĐČĐŸĐŸĐ±ŃĐ” ĐŸŃĐșĐ»ŃŃĐžŃŃ ĐžŃ (ĐżŃĐž ĐČŃŃŃаĐČĐ»Đ”ĐœĐžĐž Đ·ĐœĐ°ŃĐ”ĐœĐžŃ ĐČ false); - I kommandot "systemctl reboot" har alternativ som "--boot-load-menu=" lagts till.
«âboot-loader-entry=», vilket möjliggör att vĂ€lja ett specifikt alternativ frĂ„n startmenyn eller startlĂ€ge efter omstart; - En ny sandlĂ„da-isoleringskommando «RestrictSUIDSGID=» har lagts till, som anvĂ€nder seccomp för att förbjuda skapandet av filer med SUID/SGID-flaggor;
- StandardbegrÀnsningarna «NoNewPrivileges» och «RestrictSUIDSGID» tillÀmpas nu som standard i tjÀnster som har aktiverad dynamisk anvÀndargenerering («DynamicUser»);
- Den standardkonfiguration som anvÀnds i .link-filerna, MACAddressPolicy=persistent, har Àndrats för att tÀcka fler enheter. GrÀnssnitten för nÀtverksbryggor, tunnlar (tun, tap) och aggregerade lÀnkar (bond) identifierar sig inte annat Àn med sitt nÀtverksgrÀnssnittnamn, sÄ detta namn anvÀnds nu som bas för bindning av MAC- och IPv4-adresser. Dessutom har instÀllningen «MACAddressPolicy=random» lagts till, vilket kan anvÀndas för att binda MAC- och IPv4-adresser till enheter i slumpmÀssig ordning;
- De enhetsfiler «.device» som genereras via systemd-fstab-generator inkluderar nu inte motsvarande «.mount»-enheter som beroenden i avsnittet «Wants=». En enkel anslutning av en enhet resulterar nu inte i en automatisk start av enhet för montering, men sÄdana enheter kan fortfarande startas av andra anledningar, till exempel som en del av local-fs.target eller som beroende av andra enheter som Àr beroende av local-fs.target;
- Stöd för maskeringar («*» osv.) har lagts till i kommandona «networkctl list/status/lldp» för att filtrera specifika grupper av nÀtverksgrÀnssnitt baserat pÄ deras namn;
- Miljövaret $PIDFILE stÀlls nu in med en absolut sökvÀg, konfigurerad i tjÀnsterna via parametern «PIDFile=;
- Offentliga DNS-servrar har lagts till i antalet reserv DNS-servrar som anvÀnds om ingen huvud-DNS definieras explicit; servrar Cloudflare (1.1.1.1). För att ÄsidosÀtta listan av reserv DNS-servrar kan alternativet «-Ddns-servers=» anvÀndas;
- Vid upptÀckten av en USB-enhetskontroller (USB Device Controller) sÀkerstÀlls automatisk start av den nya hanteraren usb-gadget.target (nÀr systemet körs pÄ en USB-periferienhet);
- För enhetsfilerna har instÀllningen «CPUQuotaPeriodSec=» implementerats, vilket definierar en tidsperiod som mÀts i förhÄllande till den processortidskvot som anges via instÀllningen «CPUQuota=»;
- För unit-filer har instÀllningen «ProtectHostname=» implementerats, vilket förhindrar tjÀnster frÄn att Àndra vÀrdnamnsinformationen, Àven om de har de nödvÀndiga behörigheterna;
- För unit-filer har instÀllningen «NetworkNamespacePath=» implementerats, vilket gör det möjligt att koppla namnrymden till tjÀnster eller socket-enheter genom att ange sökvÀgen till namnrymdens fil i den pseudofilsystemet /proc;
- Möjligheten att inaktivera substitution av miljövariabler för processer som startas med instÀllningen «ExecStart=» har lagts till genom att lÀgga till symbolen «:» före startkommandot;
- För timerar (enheter .timer) har nya flaggor «OnClockChange=» och
«OnTimezoneChange=» erbjudits, vilka gör det möjligt att styra anropet av enheten vid Àndring av systemtiden eller tidszon; - Nya instÀllningar «ConditionMemory=» och «ConditionCPUs=» har lagts till, som definierar villkor för att anropa enheten beroende pÄ minnesstorlek och antal CPU-kÀrnor (till exempel kan resurskrÀvande tjÀnster startas endast om den nödvÀndiga mÀngden RAM finns);
- En ny enhet time-set.target har lagts till, som tar det lokalt instÀllda systemtiden, utan att anvÀnda synkronisering med externa tidsserverar genom enheten time-sync.target. Den nya enheten kan anvÀndas av tjÀnster som klarar av att anvÀnda osynkroniserade lokala klockor;
- I «systemctl start» och liknande kommandon har alternativet «âshow-transaction» lagts till, vilket visar en sammanstĂ€llning av alla arbeten som lagts till i kön pĂ„ grund av den begĂ€rda operationen;
- I systemd-networkd har en ny status âenslavedâ definierats, som anvĂ€nds istĂ€llet för âdegradedâ eller âcarrierâ för nĂ€tverksgrĂ€nssnitt som ingĂ„r i aggregerade lĂ€nkar eller nĂ€tverksbroar. För primĂ€ra grĂ€nssnitt har tillstĂ„ndet âdegraded-carrierâ lagts till i fall av problem med en av de sammansatta lĂ€nkarna;
- I .network-enheter har alternativet «IgnoreCarrierLoss=» lagts till för att bevara nÀtverksinstÀllningar vid förlust av anslutning;
- Genom instÀllningen «RequiredForOnline=» i .network-enheter kan nu det minimi tillÄtna tillstÄndet för lÀnken definieras, vilket Àr nödvÀndigt för att överföra nÀtverksgrÀnssnittet till «online» och aktivera systemd-networkd-wait-online-handlaren;
- I systemd-networkd-wait-online har alternativet «âany» lagts till för att vĂ€nta pĂ„ att vilken som helst av de angivna nĂ€tverksgrĂ€nssnitten ska bli redo istĂ€llet för alla, samt alternativet «âoperational-state=» för att definiera lĂ€nktillstĂ„ndet som indikerar beredskap;
- I .network-enheter har instÀllningarna «UseAutonomousPrefix=» och «UseOnLinkPrefix=» lagts till, som kan anvÀndas för att ignorera prefixes vid mottagning
av IPv6-routerannonser (RA, Router Advertisement); - I .network-enheter har instÀllningarna «MulticastFlood=», «NeighborSuppression=» och «Learning=» lagts till för att Àndra parametrarna för nÀtverksbroarbete, samt instÀllningen «TripleSampling=» för att Àndra TRIPLE-SAMPLING-lÀget för virtuella CAN-grÀnssnitt;
- I .netdev-enheter har instÀllningarna «PrivateKeyFile=» och «PresharedKeyFile=» lagts till, genom vilka man kan ange privata och delade (PSK) nycklar för WireGuard-grÀnssnitt; VPN;
- I /etc/crypttab har alternativen same-cpu-crypt och submit-from-crypt-cpus lagts till, som styr planerarens beteende vid migration mellan CPU-kÀrnor av arbeten relaterade till kryptering;
- I systemd-tmpfiles har bearbetning av lÄsfilen sÀkerstÀllts före utförande av operationer i kataloger med temporÀra filer, vilket gör att uppgifterna kan pausas för rensning av gamla filer (t.ex. kan mycket gamla filer avtÀcka vid uppackning av en tar-arkiv i /tmp, som inte fÄr tas bort förrÀn ÄtgÀrderna Àr avslutade);
- I kommandot «systemd-analyze cat-config» har möjlighet till analys av konfiguration som Àr uppdelad pÄ flera filer sÀkerstÀllts, till exempel anvÀndar- och systemförinstÀllningar, innehÄllet i tmpfiles.d och sysusers.d, udev-regler och sÄ vidare.
- I «journalctl» har alternativet «âcursor-file=» lagts till för att ange en fil för att lĂ€sa till och spara positionspekarens position;
- I systemd-detect-virt har identifiering av hypervisor ACRN och WSL (Windows Subsystem for Linux) lagts till för efterföljande gren av senare med hjÀlp av villkorsoperatorn «ConditionVirtualization»;
- Vid installation av systemd (vid körning av «ninja install») har skapandet av symboliska lÀnkar i katalogen /etc tillfÀlligt stoppats för filerna systemd-networkd.service, systemd-networkd.socket,
systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
systemd-networkd-wait-online.service och systemd-timesyncd.service. För att skapa dessa filer mÄste kommandot «systemctl preset-all» nu utföras.
KĂ€lla: opennet.ru
