systemd system manager version 242

[:ru]

Efter två månaders utveckling presenteras systemhanterarens release systemd 242. Bland innovationerna kan vi notera stöd för L2TP-tunnlar, möjligheten att styra beteendet hos systemd-login vid omstart genom miljövariabler, stöd för utökade XBOOTLDR-startpartitioner för montering /boot, möjligheten att starta upp med en rotpartition i overlayfs, samt ett stort antal nya inställningar för olika typer av enheter.

Huvudändringar:

  • systemd-networkd ger stöd för L2TP-tunnlar;
  • sd-boot och bootctl ger stöd för XBOOTLDR (Extended Boot Loader)-partitioner utformade för att monteras på /boot, förutom ESP-partitioner monterade på /efi eller /boot/efi. Kärnor, inställningar, initrd och EFI-bilder kan nu startas från både ESP- och XBOOTLDR-partitioner. Denna ändring tillåter användningen av sd-boot-starthanteraren i mer konservativa scenarier, när själva starthanteraren är placerad i ESP, och de inlästa kärnorna och tillhörande metadata placeras i en separat sektion;
  • Lade till möjligheten att starta upp med alternativet "systemd.volatile=overlay" som skickats till kärnan, vilket låter dig placera rotpartitionen i överlägg och organisera arbetet ovanpå en skrivskyddad bild av rotkatalogen med ändringar skrivna till en separat katalog i tmpfs (ändringar i denna konfiguration går förlorade efter en omstart) . I analogi har systemd-nspawn lagt till alternativet "--volatile=overlay" för att använda liknande funktionalitet i behållare;
  • systemd-nspawn har lagt till alternativet "--oci-bundle" för att tillåta användning av runtime-buntar för att tillhandahålla isolerad lansering av containrar som överensstämmer med Open Container Initiative (OCI)-specifikationen. För användning i kommandoraden och nspawn-enheterna föreslås stöd för olika alternativ som beskrivs i OCI-specifikationen, till exempel kan alternativen "--otillgänglig" och "Otillgänglig" användas för att utesluta delar av filsystemet, och " --console”-alternativ har lagts till för att konfigurera standardutgångsströmmar och "-pipe";
  • Lade till möjligheten att kontrollera beteendet hos systemd-login genom miljövariabler: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU och
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Med hjälp av dessa variabler kan du ansluta dina egna omstartsprocesshanterare (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu och
    /run/systemd/reboot-to-boot-loader-entry) eller inaktivera dem helt (om värdet är inställt på false);

  • Lade till alternativ "-boot-load-menu=" och
    “—boot-loader-entry=”, som låter dig välja ett specifikt startmenyalternativ eller startläge efter en omstart;

  • Lade till ett nytt sandlådeisoleringskommando "RestrictSUIDSGID=", som använder seccomp för att förbjuda skapandet av filer med SUID/SGID-flaggor;
  • Säkerställt att begränsningarna "NoNewPrivileges" och "RestrictSUIDSGID" tillämpas som standard i tjänster med det dynamiska användar-ID-genereringsläget ("DynamicUser" aktiverat);
  • Standardinställningen för MACAddressPolicy=beständig i .link-filer 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 utom genom namnet på nätverksgränssnittet, så detta namn används nu som grund för att binda MAC- och IPv4-adresser. Dessutom har inställningen "MACAddressPolicy=random" lagts till, som kan användas för att binda MAC- och IPv4-adresser till enheter i slumpmässig ordning;
  • ".device"-enhetsfiler som genereras via systemd-fstab-generator inkluderar inte längre motsvarande ".mount"-enheter som beroenden i avsnittet "Wants=". Att bara koppla in en enhet startar inte längre automatiskt en enhet att montera, men sådana enheter kan fortfarande startas av andra skäl, till exempel som en del av local-fs.target eller som ett beroende av andra enheter som är beroende av local-fs.target ;
  • Lade till stöd för masker ("*", etc.) till kommandona "networkctl list/status/lldp" för att filtrera bort vissa grupper av nätverksgränssnitt efter en del av deras namn;
  • Miljövariabeln $PIDFILE är nu inställd med den absoluta sökvägen som konfigurerats i tjänster via parametern "PIDFile=;".
  • Public Cloudflare-servrar (1.1.1.1) har lagts till antalet backup-DNS-servrar som används om huvud-DNS inte är explicit definierad. För att omdefiniera listan över backup-DNS-servrar kan du använda alternativet "-Ddns-servers=";
  • När närvaron av en USB Device Controller upptäcks, startas en ny usb-gadget.target-hanterare automatiskt (när systemet körs på en USB-kringutrustning);
  • För enhetsfiler har inställningen “CPUQuotaPeriodSec=” implementerats, som bestämmer den tidsperiod som processortidens kvot mäts till, inställd med inställningen “CPUQuota=”;
  • För enhetsfiler har inställningen “ProtectHostname=” implementerats, som förbjuder tjänster från att ändra information om värdnamnet, även om de har lämpliga behörigheter;
  • För enhetsfiler har inställningen “NetworkNamespacePath=” implementerats, vilket gör att du kan binda ett namnområde till tjänster eller socketenheter genom att ange sökvägen till namnområdesfilen i pseudo-FS /proc;
  • Lade till möjligheten att inaktivera ersättning av miljövariabler för processer som startas med inställningen "ExecStart=" genom att lägga till ett ":"-tecken före startkommandot;
  • För timers (.timer-enheter) nya flaggor “OnClockChange=” och
    “OnTimezoneChange=”, med vilken du kan styra enhetsanropet när systemets tid eller tidszon ändras;

  • Lade till nya inställningar "ConditionMemory=" och "ConditionCPUs=", som bestämmer villkoren för att anropa en enhet beroende på minnesstorleken och antalet CPU-kärnor (till exempel kan en resurskrävande tjänst endast startas om den nödvändiga mängden RAM är tillgängligt);
  • Lade till en ny time-set.target-enhet som accepterar den lokalt inställda systemtiden, utan att använda avstämning med externa tidsservrar som använder time-sync.target-enheten. Den nya enheten kan användas av tjänster som behöver noggrannheten hos osynkroniserade lokala klockor;
  • Alternativet "--show-transaction" har lagts till i "systemctl start" och liknande kommandon, när det anges, visas en sammanfattning av alla jobb som lagts till i kön på grund av den begärda operationen;
  • systemd-networkd implementerar definitionen av ett nytt "förslavat" tillstånd, som används istället för "degraderat" eller "bärare" för nätverksgränssnitt som är en del av aggregerade länkar eller nätverksbryggor. För primära gränssnitt, i händelse av problem med en av de sammansatta länkarna, har "degraded-carrier"-tillståndet lagts till;
  • Lade till alternativet "IgnoreCarrierLoss=" till .network-enheter för att spara nätverksinställningar i händelse av anslutningsbortfall;
  • Genom inställningen “RequiredForOnline=” i .network-enheter kan du nu ställa in det lägsta acceptabla länktillståndet som krävs för att överföra nätverksgränssnittet till “online” och utlösa systemd-networkd-wait-online-hanteraren;
  • Lade till alternativet "--any" till systemd-networkd-wait-online för att vänta på beredskap för något av de angivna nätverksgränssnitten istället för alla, samt alternativet "--operational-state=" för att bestämma tillståndet för länken som indikerar beredskap;
  • Lade till inställningarna "UseAutonomousPrefix=" och "UseOnLinkPrefix=" till .network-enheter, som kan användas för att ignorera prefix vid mottagning
    meddelande från en IPv6-router (RA, Router Advertisement);

  • I .network-enheter har inställningarna "MulticastFlood=", "NeighborSuppression=" och "Learning=" lagts till för att ändra driftsparametrarna för nätverksbryggan, samt inställningen "TripleSampling=" för att ändra TRIPLE-SAMPLING-läget av virtuella CAN-gränssnitt;
  • Inställningarna “PrivateKeyFile=” och “PresharedKeyFile=” har lagts till i .netdev-enheter, med vilka du kan ange privata och delade (PSK) nycklar för WireGuard VPN-gränssnitt;
  • Lade till same-cpu-crypt och submit-from-crypt-cpus alternativ till /etc/crypttab, som kontrollerar schemaläggarens beteende vid migrering av krypteringsrelaterat arbete mellan CPU-kärnor;
  • systemd-tmpfiles tillhandahåller bearbetning av låsfiler innan du utför operationer i kataloger med temporära filer, vilket gör att du kan inaktivera arbete med att rensa föråldrade filer under vissa åtgärder (till exempel när du packar upp ett tar-arkiv i /tmp kan mycket gamla filer vara öppnas som inte kan raderas innan åtgärden är slut med dem);
  • Kommandot "systemd-analyze cat-config" ger möjlighet att analysera en konfiguration uppdelad i flera filer, till exempel användar- och systemförinställningar, innehållet i tmpfiles.d och sysusers.d, udev-regler, etc.
  • Lade till alternativet "--cursor-file=" till "journalctl" för att ange en fil som ska laddas och spara positionsmarkören;
  • Lade till definition av ACRN-hypervisor och WSL-undersystem (Windows Subsystem för Linux) till systemd-detect-virt för efterföljande förgrening med den villkorliga operatorn "ConditionVirtualization";
  • Under systemd-installation (när du kör "ninja install"), skapas symboliska länkar till 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 du nu köra kommandot "systemctl preset-all".

Källaopennet.ru

[: En]

Efter två månaders utveckling presenteras systemhanterarens release systemd 242. Bland innovationerna kan vi notera stöd för L2TP-tunnlar, möjligheten att styra beteendet hos systemd-login vid omstart genom miljövariabler, stöd för utökade XBOOTLDR-startpartitioner för montering /boot, möjligheten att starta upp med en rotpartition i overlayfs, samt ett stort antal nya inställningar för olika typer av enheter.

Huvudändringar:

  • systemd-networkd ger stöd för L2TP-tunnlar;
  • sd-boot och bootctl ger stöd för XBOOTLDR (Extended Boot Loader)-partitioner utformade för att monteras på /boot, förutom ESP-partitioner monterade på /efi eller /boot/efi. Kärnor, inställningar, initrd och EFI-bilder kan nu startas från både ESP- och XBOOTLDR-partitioner. Denna ändring tillåter användningen av sd-boot-starthanteraren i mer konservativa scenarier, när själva starthanteraren är placerad i ESP, och de inlästa kärnorna och tillhörande metadata placeras i en separat sektion;
  • Lade till möjligheten att starta upp med alternativet "systemd.volatile=overlay" som skickats till kärnan, vilket låter dig placera rotpartitionen i överlägg och organisera arbetet ovanpå en skrivskyddad bild av rotkatalogen med ändringar skrivna till en separat katalog i tmpfs (ändringar i denna konfiguration går förlorade efter en omstart) . I analogi har systemd-nspawn lagt till alternativet "--volatile=overlay" för att använda liknande funktionalitet i behållare;
  • systemd-nspawn har lagt till alternativet "--oci-bundle" för att tillåta användning av runtime-buntar för att tillhandahålla isolerad lansering av containrar som överensstämmer med Open Container Initiative (OCI)-specifikationen. För användning i kommandoraden och nspawn-enheterna föreslås stöd för olika alternativ som beskrivs i OCI-specifikationen, till exempel kan alternativen "--otillgänglig" och "Otillgänglig" användas för att utesluta delar av filsystemet, och " --console”-alternativ har lagts till för att konfigurera standardutgångsströmmar och "-pipe";
  • Lade till möjligheten att kontrollera beteendet hos systemd-login genom miljövariabler: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU och
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Med hjälp av dessa variabler kan du ansluta dina egna omstartsprocesshanterare (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu och
    /run/systemd/reboot-to-boot-loader-entry) eller inaktivera dem helt (om värdet är inställt på false);

  • Lade till alternativ "-boot-load-menu=" och
    “—boot-loader-entry=”, som låter dig välja ett specifikt startmenyalternativ eller startläge efter en omstart;

  • Lade till ett nytt sandlådeisoleringskommando "RestrictSUIDSGID=", som använder seccomp för att förbjuda skapandet av filer med SUID/SGID-flaggor;
  • Säkerställt att begränsningarna "NoNewPrivileges" och "RestrictSUIDSGID" tillämpas som standard i tjänster med det dynamiska användar-ID-genereringsläget ("DynamicUser" aktiverat);
  • Standardinställningen för MACAddressPolicy=beständig i .link-filer 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 utom genom namnet på nätverksgränssnittet, så detta namn används nu som grund för att binda MAC- och IPv4-adresser. Dessutom har inställningen "MACAddressPolicy=random" lagts till, som kan användas för att binda MAC- och IPv4-adresser till enheter i slumpmässig ordning;
  • ".device"-enhetsfiler som genereras via systemd-fstab-generator inkluderar inte längre motsvarande ".mount"-enheter som beroenden i avsnittet "Wants=". Att bara koppla in en enhet startar inte längre automatiskt en enhet att montera, men sådana enheter kan fortfarande startas av andra skäl, till exempel som en del av local-fs.target eller som ett beroende av andra enheter som är beroende av local-fs.target ;
  • Lade till stöd för masker ("*", etc.) till kommandona "networkctl list/status/lldp" för att filtrera bort vissa grupper av nätverksgränssnitt efter en del av deras namn;
  • Miljövariabeln $PIDFILE är nu inställd med den absoluta sökvägen som konfigurerats i tjänster via parametern "PIDFile=;".
  • Public Cloudflare-servrar (1.1.1.1) har lagts till antalet backup-DNS-servrar som används om huvud-DNS inte är explicit definierad. För att omdefiniera listan över backup-DNS-servrar kan du använda alternativet "-Ddns-servers=";
  • När närvaron av en USB Device Controller upptäcks, startas en ny usb-gadget.target-hanterare automatiskt (när systemet körs på en USB-kringutrustning);
  • För enhetsfiler har inställningen “CPUQuotaPeriodSec=” implementerats, som bestämmer den tidsperiod som processortidens kvot mäts till, inställd med inställningen “CPUQuota=”;
  • För enhetsfiler har inställningen “ProtectHostname=” implementerats, som förbjuder tjänster från att ändra information om värdnamnet, även om de har lämpliga behörigheter;
  • För enhetsfiler har inställningen “NetworkNamespacePath=” implementerats, vilket gör att du kan binda ett namnområde till tjänster eller socketenheter genom att ange sökvägen till namnområdesfilen i pseudo-FS /proc;
  • Lade till möjligheten att inaktivera ersättning av miljövariabler för processer som startas med inställningen "ExecStart=" genom att lägga till ett ":"-tecken före startkommandot;
  • För timers (.timer-enheter) nya flaggor “OnClockChange=” och
    “OnTimezoneChange=”, med vilken du kan styra enhetsanropet när systemets tid eller tidszon ändras;

  • Lade till nya inställningar "ConditionMemory=" och "ConditionCPUs=", som bestämmer villkoren för att anropa en enhet beroende på minnesstorleken och antalet CPU-kärnor (till exempel kan en resurskrävande tjänst endast startas om den nödvändiga mängden RAM är tillgängligt);
  • Lade till en ny time-set.target-enhet som accepterar den lokalt inställda systemtiden, utan att använda avstämning med externa tidsservrar som använder time-sync.target-enheten. Den nya enheten kan användas av tjänster som behöver noggrannheten hos osynkroniserade lokala klockor;
  • Alternativet "--show-transaction" har lagts till i "systemctl start" och liknande kommandon, när det anges, visas en sammanfattning av alla jobb som lagts till i kön på grund av den begärda operationen;
  • systemd-networkd implementerar definitionen av ett nytt "förslavat" tillstånd, som används istället för "degraderat" eller "bärare" för nätverksgränssnitt som är en del av aggregerade länkar eller nätverksbryggor. För primära gränssnitt, i händelse av problem med en av de sammansatta länkarna, har "degraded-carrier"-tillståndet lagts till;
  • Lade till alternativet "IgnoreCarrierLoss=" till .network-enheter för att spara nätverksinställningar i händelse av anslutningsbortfall;
  • Genom inställningen “RequiredForOnline=” i .network-enheter kan du nu ställa in det lägsta acceptabla länktillståndet som krävs för att överföra nätverksgränssnittet till “online” och utlösa systemd-networkd-wait-online-hanteraren;
  • Lade till alternativet "--any" till systemd-networkd-wait-online för att vänta på beredskap för något av de angivna nätverksgränssnitten istället för alla, samt alternativet "--operational-state=" för att bestämma tillståndet för länken som indikerar beredskap;
  • Lade till inställningarna "UseAutonomousPrefix=" och "UseOnLinkPrefix=" till .network-enheter, som kan användas för att ignorera prefix vid mottagning
    meddelande från en IPv6-router (RA, Router Advertisement);

  • I .network-enheter har inställningarna "MulticastFlood=", "NeighborSuppression=" och "Learning=" lagts till för att ändra driftsparametrarna för nätverksbryggan, samt inställningen "TripleSampling=" för att ändra TRIPLE-SAMPLING-läget av virtuella CAN-gränssnitt;
  • Inställningarna “PrivateKeyFile=” och “PresharedKeyFile=” har lagts till i .netdev-enheter, med vilka du kan ange privata och delade (PSK) nycklar för WireGuard VPN-gränssnitt;
  • Lade till same-cpu-crypt och submit-from-crypt-cpus alternativ till /etc/crypttab, som kontrollerar schemaläggarens beteende vid migrering av krypteringsrelaterat arbete mellan CPU-kärnor;
  • systemd-tmpfiles tillhandahåller bearbetning av låsfiler innan du utför operationer i kataloger med temporära filer, vilket gör att du kan inaktivera arbete med att rensa föråldrade filer under vissa åtgärder (till exempel när du packar upp ett tar-arkiv i /tmp kan mycket gamla filer vara öppnas som inte kan raderas innan åtgärden är slut med dem);
  • Kommandot "systemd-analyze cat-config" ger möjlighet att analysera en konfiguration uppdelad i flera filer, till exempel användar- och systemförinställningar, innehållet i tmpfiles.d och sysusers.d, udev-regler, etc.
  • Lade till alternativet "--cursor-file=" till "journalctl" för att ange en fil som ska laddas och spara positionsmarkören;
  • Lade till definition av ACRN-hypervisor och WSL-undersystem (Windows Subsystem för Linux) till systemd-detect-virt för efterföljande förgrening med den villkorliga operatorn "ConditionVirtualization";
  • Under systemd-installation (när du kör "ninja install"), skapas symboliska länkar till 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 du nu köra kommandot "systemctl preset-all".

Källa: opennet.ru

[:]

Lägg en kommentar